tr8n_client_sdk 1.1.1 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (485) hide show
  1. checksums.yaml +4 -4
  2. data/MIT-LICENSE +2 -2
  3. data/README.md +10 -1
  4. data/Rakefile +0 -16
  5. data/app/views/tr8n_client_sdk/tags/_language_selector.html.erb +5 -0
  6. data/app/views/tr8n_client_sdk/tags/_language_strip.html.erb +10 -10
  7. data/app/views/tr8n_client_sdk/tags/_powered_by_tr8n.html.erb +1 -1
  8. data/app/views/tr8n_client_sdk/tags/_scripts.html.erb +75 -20
  9. data/lib/tasks/tr8n_client_sdk.rake +10 -2
  10. data/lib/tr8n_client_sdk/engine.rb +9 -1
  11. data/lib/tr8n_client_sdk/extensions/action_common_methods.rb +31 -22
  12. data/lib/tr8n_client_sdk/extensions/action_controller_extension.rb +30 -32
  13. data/lib/tr8n_client_sdk/extensions/action_view_extension.rb +64 -97
  14. data/lib/{generators/tr8n_client_sdk/tr8n_client_sdk_generator.rb → tr8n_client_sdk/extensions/string.rb} +17 -10
  15. data/lib/tr8n_client_sdk/railtie.rb +12 -12
  16. data/lib/tr8n_client_sdk/version.rb +1 -2
  17. data/lib/tr8n_client_sdk.rb +1 -0
  18. metadata +21 -962
  19. data/app/assets/images/tr8n/tr8n_logo.png +0 -0
  20. data/lib/generators/tr8n_client_sdk/templates/config/tr8n/config.yml +0 -53
  21. data/lib/generators/tr8n_client_sdk/templates/config/tr8n/tokens/data.yml +0 -45
  22. data/lib/generators/tr8n_client_sdk/templates/config/tr8n/tokens/decorations.yml +0 -37
  23. data/lib/tr8n_client_sdk/config.rb +0 -197
  24. data/test/dummy/README.rdoc +0 -261
  25. data/test/dummy/Rakefile +0 -7
  26. data/test/dummy/app/assets/images/bg-pattern.png +0 -0
  27. data/test/dummy/app/assets/images/facebook.png +0 -0
  28. data/test/dummy/app/assets/images/github.png +0 -0
  29. data/test/dummy/app/assets/images/glyphicons-halflings-white.png +0 -0
  30. data/test/dummy/app/assets/images/glyphicons-halflings.png +0 -0
  31. data/test/dummy/app/assets/images/how_it_works_1.gif +0 -0
  32. data/test/dummy/app/assets/images/how_it_works_2.gif +0 -0
  33. data/test/dummy/app/assets/images/how_it_works_3.gif +0 -0
  34. data/test/dummy/app/assets/images/hr.png +0 -0
  35. data/test/dummy/app/assets/images/linkedin.png +0 -0
  36. data/test/dummy/app/assets/images/silhouette.gif +0 -0
  37. data/test/dummy/app/assets/images/twitter.png +0 -0
  38. data/test/dummy/app/assets/images/wordpress.png +0 -0
  39. data/test/dummy/app/assets/images/youtube.png +0 -0
  40. data/test/dummy/app/assets/javascripts/ace/ace.js +0 -11
  41. data/test/dummy/app/assets/javascripts/ace/ext-static_highlight.js +0 -1
  42. data/test/dummy/app/assets/javascripts/ace/ext-textarea.js +0 -1
  43. data/test/dummy/app/assets/javascripts/ace/keybinding-emacs.js +0 -1
  44. data/test/dummy/app/assets/javascripts/ace/keybinding-vim.js +0 -1
  45. data/test/dummy/app/assets/javascripts/ace/mode-abap.js +0 -1
  46. data/test/dummy/app/assets/javascripts/ace/mode-asciidoc.js +0 -1
  47. data/test/dummy/app/assets/javascripts/ace/mode-c9search.js +0 -1
  48. data/test/dummy/app/assets/javascripts/ace/mode-c_cpp.js +0 -1
  49. data/test/dummy/app/assets/javascripts/ace/mode-clojure.js +0 -1
  50. data/test/dummy/app/assets/javascripts/ace/mode-coffee.js +0 -1
  51. data/test/dummy/app/assets/javascripts/ace/mode-coldfusion.js +0 -1
  52. data/test/dummy/app/assets/javascripts/ace/mode-csharp.js +0 -1
  53. data/test/dummy/app/assets/javascripts/ace/mode-css.js +0 -1
  54. data/test/dummy/app/assets/javascripts/ace/mode-dart.js +0 -1
  55. data/test/dummy/app/assets/javascripts/ace/mode-diff.js +0 -1
  56. data/test/dummy/app/assets/javascripts/ace/mode-dot.js +0 -1
  57. data/test/dummy/app/assets/javascripts/ace/mode-glsl.js +0 -1
  58. data/test/dummy/app/assets/javascripts/ace/mode-golang.js +0 -1
  59. data/test/dummy/app/assets/javascripts/ace/mode-groovy.js +0 -1
  60. data/test/dummy/app/assets/javascripts/ace/mode-haml.js +0 -1
  61. data/test/dummy/app/assets/javascripts/ace/mode-haxe.js +0 -1
  62. data/test/dummy/app/assets/javascripts/ace/mode-html.js +0 -1
  63. data/test/dummy/app/assets/javascripts/ace/mode-jade.js +0 -1
  64. data/test/dummy/app/assets/javascripts/ace/mode-java.js +0 -1
  65. data/test/dummy/app/assets/javascripts/ace/mode-javascript.js +0 -1
  66. data/test/dummy/app/assets/javascripts/ace/mode-json.js +0 -1
  67. data/test/dummy/app/assets/javascripts/ace/mode-jsp.js +0 -1
  68. data/test/dummy/app/assets/javascripts/ace/mode-jsx.js +0 -1
  69. data/test/dummy/app/assets/javascripts/ace/mode-latex.js +0 -1
  70. data/test/dummy/app/assets/javascripts/ace/mode-less.js +0 -1
  71. data/test/dummy/app/assets/javascripts/ace/mode-liquid.js +0 -1
  72. data/test/dummy/app/assets/javascripts/ace/mode-lisp.js +0 -1
  73. data/test/dummy/app/assets/javascripts/ace/mode-lua.js +0 -1
  74. data/test/dummy/app/assets/javascripts/ace/mode-luapage.js +0 -1
  75. data/test/dummy/app/assets/javascripts/ace/mode-lucene.js +0 -1
  76. data/test/dummy/app/assets/javascripts/ace/mode-makefile.js +0 -1
  77. data/test/dummy/app/assets/javascripts/ace/mode-markdown.js +0 -1
  78. data/test/dummy/app/assets/javascripts/ace/mode-objectivec.js +0 -1
  79. data/test/dummy/app/assets/javascripts/ace/mode-ocaml.js +0 -1
  80. data/test/dummy/app/assets/javascripts/ace/mode-perl.js +0 -1
  81. data/test/dummy/app/assets/javascripts/ace/mode-pgsql.js +0 -1
  82. data/test/dummy/app/assets/javascripts/ace/mode-php.js +0 -1
  83. data/test/dummy/app/assets/javascripts/ace/mode-powershell.js +0 -1
  84. data/test/dummy/app/assets/javascripts/ace/mode-python.js +0 -1
  85. data/test/dummy/app/assets/javascripts/ace/mode-r.js +0 -1
  86. data/test/dummy/app/assets/javascripts/ace/mode-rdoc.js +0 -1
  87. data/test/dummy/app/assets/javascripts/ace/mode-rhtml.js +0 -1
  88. data/test/dummy/app/assets/javascripts/ace/mode-ruby.js +0 -1
  89. data/test/dummy/app/assets/javascripts/ace/mode-scad.js +0 -1
  90. data/test/dummy/app/assets/javascripts/ace/mode-scala.js +0 -1
  91. data/test/dummy/app/assets/javascripts/ace/mode-scss.js +0 -1
  92. data/test/dummy/app/assets/javascripts/ace/mode-sh.js +0 -1
  93. data/test/dummy/app/assets/javascripts/ace/mode-sql.js +0 -1
  94. data/test/dummy/app/assets/javascripts/ace/mode-stylus.js +0 -1
  95. data/test/dummy/app/assets/javascripts/ace/mode-svg.js +0 -1
  96. data/test/dummy/app/assets/javascripts/ace/mode-tcl.js +0 -1
  97. data/test/dummy/app/assets/javascripts/ace/mode-tex.js +0 -1
  98. data/test/dummy/app/assets/javascripts/ace/mode-text.js +0 -0
  99. data/test/dummy/app/assets/javascripts/ace/mode-textile.js +0 -1
  100. data/test/dummy/app/assets/javascripts/ace/mode-typescript.js +0 -1
  101. data/test/dummy/app/assets/javascripts/ace/mode-xml.js +0 -1
  102. data/test/dummy/app/assets/javascripts/ace/mode-xquery.js +0 -1
  103. data/test/dummy/app/assets/javascripts/ace/mode-yaml.js +0 -1
  104. data/test/dummy/app/assets/javascripts/ace/theme-ambiance.js +0 -1
  105. data/test/dummy/app/assets/javascripts/ace/theme-chaos.js +0 -1
  106. data/test/dummy/app/assets/javascripts/ace/theme-chrome.js +0 -1
  107. data/test/dummy/app/assets/javascripts/ace/theme-clouds.js +0 -1
  108. data/test/dummy/app/assets/javascripts/ace/theme-clouds_midnight.js +0 -1
  109. data/test/dummy/app/assets/javascripts/ace/theme-cobalt.js +0 -1
  110. data/test/dummy/app/assets/javascripts/ace/theme-crimson_editor.js +0 -1
  111. data/test/dummy/app/assets/javascripts/ace/theme-dawn.js +0 -1
  112. data/test/dummy/app/assets/javascripts/ace/theme-dreamweaver.js +0 -1
  113. data/test/dummy/app/assets/javascripts/ace/theme-eclipse.js +0 -1
  114. data/test/dummy/app/assets/javascripts/ace/theme-github.js +0 -1
  115. data/test/dummy/app/assets/javascripts/ace/theme-idle_fingers.js +0 -1
  116. data/test/dummy/app/assets/javascripts/ace/theme-kr.js +0 -1
  117. data/test/dummy/app/assets/javascripts/ace/theme-merbivore.js +0 -1
  118. data/test/dummy/app/assets/javascripts/ace/theme-merbivore_soft.js +0 -1
  119. data/test/dummy/app/assets/javascripts/ace/theme-mono_industrial.js +0 -1
  120. data/test/dummy/app/assets/javascripts/ace/theme-monokai.js +0 -1
  121. data/test/dummy/app/assets/javascripts/ace/theme-pastel_on_dark.js +0 -1
  122. data/test/dummy/app/assets/javascripts/ace/theme-solarized_dark.js +0 -1
  123. data/test/dummy/app/assets/javascripts/ace/theme-solarized_light.js +0 -1
  124. data/test/dummy/app/assets/javascripts/ace/theme-textmate.js +0 -1
  125. data/test/dummy/app/assets/javascripts/ace/theme-tomorrow.js +0 -1
  126. data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night.js +0 -1
  127. data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night_blue.js +0 -1
  128. data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night_bright.js +0 -1
  129. data/test/dummy/app/assets/javascripts/ace/theme-tomorrow_night_eighties.js +0 -1
  130. data/test/dummy/app/assets/javascripts/ace/theme-twilight.js +0 -1
  131. data/test/dummy/app/assets/javascripts/ace/theme-vibrant_ink.js +0 -1
  132. data/test/dummy/app/assets/javascripts/ace/theme-xcode.js +0 -1
  133. data/test/dummy/app/assets/javascripts/ace/worker-coffee.js +0 -1
  134. data/test/dummy/app/assets/javascripts/ace/worker-css.js +0 -1
  135. data/test/dummy/app/assets/javascripts/ace/worker-javascript.js +0 -1
  136. data/test/dummy/app/assets/javascripts/ace/worker-json.js +0 -1
  137. data/test/dummy/app/assets/javascripts/ace/worker-xquery.js +0 -1
  138. data/test/dummy/app/assets/javascripts/application.js +0 -15
  139. data/test/dummy/app/assets/javascripts/bootstrap.js +0 -2291
  140. data/test/dummy/app/assets/javascripts/bootstrap.min.js +0 -7
  141. data/test/dummy/app/assets/javascripts/jquery-ace.js +0 -195
  142. data/test/dummy/app/assets/javascripts/jquery-ui-1.10.3.custom.min.js +0 -7
  143. data/test/dummy/app/assets/javascripts/jquery.tocify.min.js +0 -4
  144. data/test/dummy/app/assets/javascripts/jquery191.js +0 -16
  145. data/test/dummy/app/assets/javascripts/prism.js +0 -20
  146. data/test/dummy/app/assets/javascripts/prism_rails.js +0 -49
  147. data/test/dummy/app/assets/javascripts/sh.js +0 -573
  148. data/test/dummy/app/assets/stylesheets/application.css +0 -8
  149. data/test/dummy/app/assets/stylesheets/bootstrap/bootstrap.css +0 -6315
  150. data/test/dummy/app/assets/stylesheets/bootstrap/bootstrap.min.css +0 -874
  151. data/test/dummy/app/assets/stylesheets/bootstrap/bootstrap_and_overrides.css.scss +0 -16
  152. data/test/dummy/app/assets/stylesheets/jquery.tocify.css +0 -62
  153. data/test/dummy/app/assets/stylesheets/prism.css +0 -108
  154. data/test/dummy/app/assets/stylesheets/prism_rails.css.scss +0 -42
  155. data/test/dummy/app/assets/stylesheets/sh.css +0 -193
  156. data/test/dummy/app/controllers/application_controller.rb +0 -82
  157. data/test/dummy/app/controllers/docs_controller.rb +0 -42
  158. data/test/dummy/app/controllers/home_controller.rb +0 -34
  159. data/test/dummy/app/controllers/login_controller.rb +0 -55
  160. data/test/dummy/app/controllers/signup_controller.rb +0 -58
  161. data/test/dummy/app/controllers/welcome_controller.rb +0 -30
  162. data/test/dummy/app/helpers/application_helper.rb +0 -26
  163. data/test/dummy/app/mailers/request_mailer.rb +0 -38
  164. data/test/dummy/app/models/user.rb +0 -48
  165. data/test/dummy/app/views/docs/index.html.erb +0 -591
  166. data/test/dummy/app/views/docs/installation.html.erb +0 -59
  167. data/test/dummy/app/views/docs/test.html.erb +0 -17
  168. data/test/dummy/app/views/docs/tml.html.erb +0 -176
  169. data/test/dummy/app/views/docs/tml_content.html.erb +0 -33
  170. data/test/dummy/app/views/home/index.html.erb +0 -107
  171. data/test/dummy/app/views/layouts/_flashes.html.erb +0 -35
  172. data/test/dummy/app/views/layouts/_footer.html.erb +0 -31
  173. data/test/dummy/app/views/layouts/_head.html.erb +0 -8
  174. data/test/dummy/app/views/layouts/_header.html.erb +0 -73
  175. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  176. data/test/dummy/app/views/login/_common.html.erb +0 -29
  177. data/test/dummy/app/views/login/cookies.html.erb +0 -20
  178. data/test/dummy/app/views/login/index.html.erb +0 -1
  179. data/test/dummy/app/views/login/out.html.erb +0 -1
  180. data/test/dummy/app/views/signup/index.html.erb +0 -22
  181. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/a@_[6b714be8673fcc4a3].json +0 -69
  182. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[de].json +0 -290
  183. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[en-US].json +0 -1435
  184. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[en].json +0 -1424
  185. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[fr].json +0 -298
  186. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[ru].json +0 -550
  187. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/l@_[zh].json +0 -272
  188. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-].json +0 -6
  189. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-docs-index].json +0 -1150
  190. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-docs-installation].json +0 -422
  191. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-docs-tml].json +0 -445
  192. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-docs-tml_content].json +0 -40
  193. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-docs].json +0 -6
  194. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-home-index].json +0 -746
  195. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-home-upgrade_cache].json +0 -6
  196. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-home].json +0 -6
  197. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[de]_[-login-cookies].json +0 -6
  198. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-].json +0 -6
  199. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-docs-index].json +0 -1135
  200. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-docs-installation].json +0 -389
  201. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-docs-tml].json +0 -413
  202. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-docs-tml_content].json +0 -41
  203. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-docs].json +0 -6
  204. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-home-index].json +0 -689
  205. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-home-upgrade_cache].json +0 -6
  206. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-home].json +0 -6
  207. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en-US]_[-login-cookies].json +0 -6
  208. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-].json +0 -6
  209. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-docs-index].json +0 -1041
  210. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-docs-installation].json +0 -357
  211. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-docs-tml].json +0 -379
  212. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-docs-tml_content].json +0 -38
  213. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-docs].json +0 -6
  214. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-home-index].json +0 -632
  215. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-home-upgrade_cache].json +0 -6
  216. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-home].json +0 -6
  217. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[en]_[-login-cookies].json +0 -6
  218. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-].json +0 -6
  219. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-docs-index].json +0 -1165
  220. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-docs-installation].json +0 -434
  221. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-docs-tml].json +0 -476
  222. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-docs-tml_content].json +0 -40
  223. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-docs].json +0 -6
  224. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-home-index].json +0 -742
  225. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-home-upgrade_cache].json +0 -6
  226. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-home].json +0 -6
  227. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[fr]_[-login-cookies].json +0 -6
  228. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-].json +0 -6
  229. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-docs-index].json +0 -1251
  230. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-docs-installation].json +0 -457
  231. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-docs-tml].json +0 -521
  232. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-docs-tml_content].json +0 -45
  233. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-docs].json +0 -6
  234. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-home-index].json +0 -809
  235. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-home-upgrade_cache].json +0 -6
  236. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-home].json +0 -6
  237. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[ru]_[-login-cookies].json +0 -6
  238. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-].json +0 -6
  239. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-docs-index].json +0 -1135
  240. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-docs-installation].json +0 -391
  241. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-docs-tml].json +0 -415
  242. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-docs-tml_content].json +0 -41
  243. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-docs].json +0 -6
  244. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-home-index].json +0 -693
  245. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-home-upgrade_cache].json +0 -6
  246. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-home].json +0 -6
  247. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_48_20/s@_[zh]_[-login-cookies].json +0 -6
  248. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/a@_[6b714be8673fcc4a3].json +0 -69
  249. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[de].json +0 -290
  250. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[en-US].json +0 -1435
  251. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[en].json +0 -1424
  252. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[fr].json +0 -298
  253. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[ru].json +0 -550
  254. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/l@_[zh].json +0 -272
  255. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-].json +0 -6
  256. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-docs-index].json +0 -1150
  257. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-docs-installation].json +0 -422
  258. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-docs-tml].json +0 -445
  259. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-docs-tml_content].json +0 -40
  260. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-docs].json +0 -6
  261. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-home-index].json +0 -746
  262. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-home-upgrade_cache].json +0 -6
  263. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-home].json +0 -6
  264. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[de]_[-login-cookies].json +0 -6
  265. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-].json +0 -6
  266. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-docs-index].json +0 -1135
  267. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-docs-installation].json +0 -389
  268. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-docs-tml].json +0 -413
  269. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-docs-tml_content].json +0 -41
  270. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-docs].json +0 -6
  271. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-home-index].json +0 -689
  272. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-home-upgrade_cache].json +0 -6
  273. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-home].json +0 -6
  274. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en-US]_[-login-cookies].json +0 -6
  275. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-].json +0 -6
  276. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-docs-index].json +0 -1041
  277. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-docs-installation].json +0 -357
  278. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-docs-tml].json +0 -379
  279. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-docs-tml_content].json +0 -38
  280. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-docs].json +0 -6
  281. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-home-index].json +0 -632
  282. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-home-upgrade_cache].json +0 -6
  283. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-home].json +0 -6
  284. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[en]_[-login-cookies].json +0 -6
  285. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-].json +0 -6
  286. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-docs-index].json +0 -1165
  287. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-docs-installation].json +0 -434
  288. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-docs-tml].json +0 -476
  289. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-docs-tml_content].json +0 -40
  290. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-docs].json +0 -6
  291. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-home-index].json +0 -742
  292. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-home-upgrade_cache].json +0 -6
  293. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-home].json +0 -6
  294. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[fr]_[-login-cookies].json +0 -6
  295. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-].json +0 -6
  296. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-docs-index].json +0 -1251
  297. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-docs-installation].json +0 -457
  298. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-docs-tml].json +0 -521
  299. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-docs-tml_content].json +0 -45
  300. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-docs].json +0 -6
  301. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-home-index].json +0 -809
  302. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-home-upgrade_cache].json +0 -6
  303. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-home].json +0 -6
  304. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[ru]_[-login-cookies].json +0 -6
  305. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-].json +0 -6
  306. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-docs-index].json +0 -1135
  307. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-docs-installation].json +0 -391
  308. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-docs-tml].json +0 -415
  309. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-docs-tml_content].json +0 -41
  310. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-docs].json +0 -6
  311. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-home-index].json +0 -693
  312. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-home-upgrade_cache].json +0 -6
  313. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-home].json +0 -6
  314. data/test/dummy/cache/files/tr8n_6b714be8673fcc4a3_2013_12_30_00_52_41/s@_[zh]_[-login-cookies].json +0 -6
  315. data/test/dummy/config/application.rb +0 -59
  316. data/test/dummy/config/boot.rb +0 -10
  317. data/test/dummy/config/database.yml +0 -25
  318. data/test/dummy/config/environment.rb +0 -5
  319. data/test/dummy/config/environments/development.rb +0 -39
  320. data/test/dummy/config/environments/production.rb +0 -67
  321. data/test/dummy/config/environments/test.rb +0 -37
  322. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  323. data/test/dummy/config/initializers/inflections.rb +0 -15
  324. data/test/dummy/config/initializers/mail.rb +0 -14
  325. data/test/dummy/config/initializers/mime_types.rb +0 -5
  326. data/test/dummy/config/initializers/secret_token.rb +0 -7
  327. data/test/dummy/config/initializers/session_store.rb +0 -8
  328. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  329. data/test/dummy/config/locales/en.yml +0 -5
  330. data/test/dummy/config/routes.rb +0 -8
  331. data/test/dummy/config/tr8n/config.yml +0 -55
  332. data/test/dummy/config/tr8n/tokens/data.yml +0 -45
  333. data/test/dummy/config/tr8n/tokens/decorations.yml +0 -37
  334. data/test/dummy/config.ru +0 -4
  335. data/test/dummy/db/development.sqlite3 +0 -0
  336. data/test/dummy/db/migrate/20130506202619_create_users.rb +0 -16
  337. data/test/dummy/db/schema.rb +0 -29
  338. data/test/dummy/log/development.log +0 -64950
  339. data/test/dummy/log/tr8n.log +0 -19947
  340. data/test/dummy/public/404.html +0 -26
  341. data/test/dummy/public/422.html +0 -26
  342. data/test/dummy/public/500.html +0 -25
  343. data/test/dummy/public/favicon.ico +0 -0
  344. data/test/dummy/script/rails +0 -6
  345. data/test/dummy/spec/models/request_spec.rb +0 -5
  346. data/test/dummy/spec/models/user_spec.rb +0 -5
  347. data/test/dummy/tmp/cache/assets/BCA/680/sprockets%2F0e766e5046b2556242937265334a7776 +0 -0
  348. data/test/dummy/tmp/cache/assets/C41/5A0/sprockets%2Ff3979161c897640872293fb74f7e4185 +0 -0
  349. data/test/dummy/tmp/cache/assets/C69/980/sprockets%2F1289412d200b47c7f5ba1714da031188 +0 -0
  350. data/test/dummy/tmp/cache/assets/C80/840/sprockets%2F562c2d168da585f80579347d10790a0a +0 -0
  351. data/test/dummy/tmp/cache/assets/C85/8C0/sprockets%2F262c6124c54467ed84e71473a5748a2f +0 -0
  352. data/test/dummy/tmp/cache/assets/C9B/B70/sprockets%2F3c5f068b5a07f9215020042ed660bb45 +0 -0
  353. data/test/dummy/tmp/cache/assets/CAC/8A0/sprockets%2Fb3da0b5a24a9277687d1b973d1638126 +0 -0
  354. data/test/dummy/tmp/cache/assets/CB0/D20/sprockets%2F0850d836310c2fc600217ce3f894f9c8 +0 -0
  355. data/test/dummy/tmp/cache/assets/CB1/E50/sprockets%2Fea7a0c10450c627f752b87495d915b66 +0 -0
  356. data/test/dummy/tmp/cache/assets/CBF/A00/sprockets%2F82c0bd0c273938e78e80698057bf165e +0 -0
  357. data/test/dummy/tmp/cache/assets/CC3/730/sprockets%2F730877507dec32fd7d2e038899bb8067 +0 -0
  358. data/test/dummy/tmp/cache/assets/CC6/350/sprockets%2F7486d25d54ef6d9548205d5a17ff3468 +0 -0
  359. data/test/dummy/tmp/cache/assets/CC7/620/sprockets%2F395359137b16e965efa7fa58db855904 +0 -0
  360. data/test/dummy/tmp/cache/assets/CC7/A90/sprockets%2F77713cc98a179981d615f84f952add24 +0 -0
  361. data/test/dummy/tmp/cache/assets/CD5/2C0/sprockets%2F166c056119ebdfb8b7104c97b424b423 +0 -0
  362. data/test/dummy/tmp/cache/assets/CD6/450/sprockets%2Ff0c4fb28a62f912b5542965358a10a1f +0 -0
  363. data/test/dummy/tmp/cache/assets/CD6/C30/sprockets%2Fe15182011d74255aa67fde5a783dd612 +0 -0
  364. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  365. data/test/dummy/tmp/cache/assets/CD8/F00/sprockets%2F2344b925523c2c28a3fd1e73ad5f9181 +0 -0
  366. data/test/dummy/tmp/cache/assets/CD9/BA0/sprockets%2Fb9fa8aa2057e7d8702f10317694a8c10 +0 -0
  367. data/test/dummy/tmp/cache/assets/CE2/720/sprockets%2F922b15b49871931e5df1d0a2be4826f8 +0 -0
  368. data/test/dummy/tmp/cache/assets/CE3/EB0/sprockets%2F28ee30e42c7c583083e76a377df3035d +0 -0
  369. data/test/dummy/tmp/cache/assets/CE5/650/sprockets%2F8ab512c9b33ac90e699b73469d71f061 +0 -0
  370. data/test/dummy/tmp/cache/assets/CE8/2F0/sprockets%2Fb74ee6e80ba2911167d148d791d6728c +0 -0
  371. data/test/dummy/tmp/cache/assets/CEE/D60/sprockets%2F7b699b03f091fe228759da88a323a56f +0 -0
  372. data/test/dummy/tmp/cache/assets/CF0/450/sprockets%2F65704938b67ef6b06e386cea3c1848b6 +0 -0
  373. data/test/dummy/tmp/cache/assets/CF1/5A0/sprockets%2Fec49552e4a6b67bee359e0485610d887 +0 -0
  374. data/test/dummy/tmp/cache/assets/CFC/880/sprockets%2Fd89c211d7a3dc2a94a7625d7155000ab +0 -0
  375. data/test/dummy/tmp/cache/assets/D05/210/sprockets%2F5d0d1d45d694d6d4f803a9a1340b741c +0 -0
  376. data/test/dummy/tmp/cache/assets/D05/820/sprockets%2Fee427231dd340c1b50573f187a8a6d5d +0 -0
  377. data/test/dummy/tmp/cache/assets/D09/6F0/sprockets%2F0f69fe87b4b574153bdc60711a6ca208 +0 -0
  378. data/test/dummy/tmp/cache/assets/D0A/C20/sprockets%2Fd177dbfcd8235d07a0072c4d9c307385 +0 -0
  379. data/test/dummy/tmp/cache/assets/D0C/820/sprockets%2F1002e68d7cf06571cb63a864f93bb4e3 +0 -0
  380. data/test/dummy/tmp/cache/assets/D0E/A30/sprockets%2F71398e105f60c431f86d78e3abbbf125 +0 -0
  381. data/test/dummy/tmp/cache/assets/D0E/FF0/sprockets%2F2c4cc11f6c24fbb41d97713864854d1f +0 -0
  382. data/test/dummy/tmp/cache/assets/D18/E00/sprockets%2Ff017e80af40be5c829882bd1885a38f4 +0 -0
  383. data/test/dummy/tmp/cache/assets/D19/120/sprockets%2F69f0907662f738cd217edca24ef2328d +0 -0
  384. data/test/dummy/tmp/cache/assets/D25/FD0/sprockets%2F03006f6bba722ebc14ceac8221b81917 +0 -0
  385. data/test/dummy/tmp/cache/assets/D26/7C0/sprockets%2F771cba4a2e4f22141377c4eccc1065c0 +0 -0
  386. data/test/dummy/tmp/cache/assets/D28/B20/sprockets%2Fbd19c0bc42912a8ba7c5c3b100f71592 +0 -0
  387. data/test/dummy/tmp/cache/assets/D29/280/sprockets%2F04fd073ef39e04ced71111a204cb70e6 +0 -0
  388. data/test/dummy/tmp/cache/assets/D29/320/sprockets%2Feb3792401fd26ebf610c8531b0a4bd32 +0 -0
  389. data/test/dummy/tmp/cache/assets/D29/AF0/sprockets%2F841d8c0c4ba32a5e25aa41b7069ba581 +0 -0
  390. data/test/dummy/tmp/cache/assets/D32/4F0/sprockets%2Fb8023435d8d01feca8fd3a1ce9144181 +0 -0
  391. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  392. data/test/dummy/tmp/cache/assets/D38/DB0/sprockets%2Fe848eed2f10d359a60040b50d486b3fd +0 -0
  393. data/test/dummy/tmp/cache/assets/D39/6E0/sprockets%2F4d3170e44fdaa2f62cc266b62e5925e4 +0 -0
  394. data/test/dummy/tmp/cache/assets/D3C/2C0/sprockets%2F9c4d26aabdb46cc90d0228c79344950e +0 -0
  395. data/test/dummy/tmp/cache/assets/D3D/2D0/sprockets%2Fc83c38e1374d350196211ce9ffed3aa6 +0 -0
  396. data/test/dummy/tmp/cache/assets/D3D/970/sprockets%2F23fb0067086af38f593481abd034deff +0 -0
  397. data/test/dummy/tmp/cache/assets/D41/C20/sprockets%2F5b768ca318275843ae6b901bb9cca29e +0 -0
  398. data/test/dummy/tmp/cache/assets/D42/030/sprockets%2Ff991fbde306579de4c94d611ced13023 +0 -0
  399. data/test/dummy/tmp/cache/assets/D47/A20/sprockets%2F9f6654abeaa85f117a98806392ac2a8d +0 -0
  400. data/test/dummy/tmp/cache/assets/D47/D00/sprockets%2Fd76fe4489f3b7f2cd62450204cef631f +0 -0
  401. data/test/dummy/tmp/cache/assets/D4A/640/sprockets%2F94ec7bb9872d4b005d267d56cb80f7e4 +0 -0
  402. data/test/dummy/tmp/cache/assets/D4C/020/sprockets%2F2c26fac647b394d5f49b2743950aefe9 +0 -0
  403. data/test/dummy/tmp/cache/assets/D4D/A20/sprockets%2F0de50df58d85f5cce135f460979bd472 +0 -0
  404. data/test/dummy/tmp/cache/assets/D4D/E30/sprockets%2F828b744b9a72d6b05ace77264f878bdb +0 -0
  405. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  406. data/test/dummy/tmp/cache/assets/D53/1E0/sprockets%2F6d4776ffd4fc7486550b6508cb2dd57e +0 -0
  407. data/test/dummy/tmp/cache/assets/D5A/B70/sprockets%2F7b76786736bb5e9eeb4887dd32c83ec2 +0 -0
  408. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  409. data/test/dummy/tmp/cache/assets/D62/720/sprockets%2F34a95b2bb07a4fbd408c81f1c37bd860 +0 -0
  410. data/test/dummy/tmp/cache/assets/D69/B50/sprockets%2F1c7aa58ab12825ccfb465ca5e7c77551 +0 -0
  411. data/test/dummy/tmp/cache/assets/D6F/220/sprockets%2F99d4cd656c271484bee1a14ac84e5ad2 +0 -0
  412. data/test/dummy/tmp/cache/assets/D74/280/sprockets%2F049b078c38d43fbe7e6b1eb49da1b775 +0 -0
  413. data/test/dummy/tmp/cache/assets/D74/9A0/sprockets%2F049cf32cc869e7138b76f1bb04ae78ad +0 -0
  414. data/test/dummy/tmp/cache/assets/D77/770/sprockets%2F67b869074d0a5b5bb8698e55ccca47aa +0 -0
  415. data/test/dummy/tmp/cache/assets/D7A/290/sprockets%2F5acdbbb05bd53866c8225e95f8e805e8 +0 -0
  416. data/test/dummy/tmp/cache/assets/D7A/2A0/sprockets%2F91a461699d36fdd71c4cec0a8d737cf4 +0 -0
  417. data/test/dummy/tmp/cache/assets/D7C/5B0/sprockets%2F2b864c6eb9b8d679b2716db1a1e93c8f +0 -0
  418. data/test/dummy/tmp/cache/assets/D82/930/sprockets%2Fecdc4c7caa1aa683b13d14a91234b452 +0 -0
  419. data/test/dummy/tmp/cache/assets/D8D/610/sprockets%2Ffb7e1b81f737cb510ac8166a241bbc4c +0 -0
  420. data/test/dummy/tmp/cache/assets/D91/080/sprockets%2Fbcca522c6302f184f12fe0e8a7d7e71a +0 -0
  421. data/test/dummy/tmp/cache/assets/D91/2B0/sprockets%2F354460cd2db93ca02614a4bb76ffde3e +0 -0
  422. data/test/dummy/tmp/cache/assets/D96/DA0/sprockets%2F55af2375310fff6b9706cbacfb2ec540 +0 -0
  423. data/test/dummy/tmp/cache/assets/D9E/F30/sprockets%2Fc32ceef2bde9f93b4c5b866c8200371c +0 -0
  424. data/test/dummy/tmp/cache/assets/D9F/300/sprockets%2Fc13fc73ceafa45876a901b3e775b83ae +0 -0
  425. data/test/dummy/tmp/cache/assets/D9F/390/sprockets%2Fe2fc3cc13d4d3677be6574e0fd2732cf +0 -0
  426. data/test/dummy/tmp/cache/assets/DAA/A50/sprockets%2F231c56d70690f8b4f8f6fea2cea9d39b +0 -0
  427. data/test/dummy/tmp/cache/assets/DB5/350/sprockets%2F3b5ebcf21def6fff9868a18e239495f1 +0 -0
  428. data/test/dummy/tmp/cache/assets/DB9/150/sprockets%2Fdaff6d12c8afc96d0c91d77e91d79966 +0 -0
  429. data/test/dummy/tmp/cache/assets/DC9/DB0/sprockets%2F43a2aed943cbb05dcc84468c73ddea55 +0 -0
  430. data/test/dummy/tmp/cache/assets/DCE/310/sprockets%2F2f221a6c5ffcaf07ef30f4ee9a793b44 +0 -0
  431. data/test/dummy/tmp/cache/assets/DD2/750/sprockets%2Ff70dee8c3d675153ad76abe3f730dc4f +0 -0
  432. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +0 -0
  433. data/test/dummy/tmp/cache/assets/DFF/270/sprockets%2Fb84f2daecc65ed711132bff2d8f5fe08 +0 -0
  434. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  435. data/test/dummy/tmp/cache/assets/E13/010/sprockets%2Feecfc58398a4d26289a5e0fe9ecd09ec +0 -0
  436. data/test/dummy/tmp/cache/assets/E23/880/sprockets%2F436adfe0b6333bf5af1eaaf3ea4e919b +0 -0
  437. data/test/dummy/tmp/cache/assets/E25/4F0/sprockets%2Fa24db6eec8d3a80f7fe3a50b4cdd243f +0 -0
  438. data/test/dummy/tmp/cache/assets/E2C/210/sprockets%2Fdd7b14fc1e5b2b7dcdac381cc7f9c267 +0 -0
  439. data/test/dummy/tmp/cache/assets/E3A/950/sprockets%2F8a6c7c212feec8ae888ad7e7fa50a3ff +0 -0
  440. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_accordion.scssc +0 -0
  441. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_alerts.scssc +0 -0
  442. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_breadcrumbs.scssc +0 -0
  443. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_button-groups.scssc +0 -0
  444. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_buttons.scssc +0 -0
  445. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_carousel.scssc +0 -0
  446. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_close.scssc +0 -0
  447. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_code.scssc +0 -0
  448. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_component-animations.scssc +0 -0
  449. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_dropdowns.scssc +0 -0
  450. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_forms.scssc +0 -0
  451. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_grid.scssc +0 -0
  452. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_hero-unit.scssc +0 -0
  453. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_labels-badges.scssc +0 -0
  454. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_layouts.scssc +0 -0
  455. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_media.scssc +0 -0
  456. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_mixins.scssc +0 -0
  457. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_modals.scssc +0 -0
  458. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_navbar.scssc +0 -0
  459. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_navs.scssc +0 -0
  460. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_pager.scssc +0 -0
  461. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_pagination.scssc +0 -0
  462. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_popovers.scssc +0 -0
  463. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_progress-bars.scssc +0 -0
  464. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_reset.scssc +0 -0
  465. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-1200px-min.scssc +0 -0
  466. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-767px-max.scssc +0 -0
  467. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-768px-979px.scssc +0 -0
  468. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-navbar.scssc +0 -0
  469. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_responsive-utilities.scssc +0 -0
  470. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_scaffolding.scssc +0 -0
  471. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_sprites.scssc +0 -0
  472. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_tables.scssc +0 -0
  473. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_thumbnails.scssc +0 -0
  474. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_tooltip.scssc +0 -0
  475. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_type.scssc +0 -0
  476. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_utilities.scssc +0 -0
  477. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_variables.scssc +0 -0
  478. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/_wells.scssc +0 -0
  479. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/bootstrap.scssc +0 -0
  480. data/test/dummy/tmp/cache/sass/076477e2114ee474e8df1a7a673f9162f60724cc/responsive.scssc +0 -0
  481. data/test/dummy/tmp/cache/sass/2a9f8d893763e4aeafa77aedd38023c2d92257b4/bootstrap-responsive.scssc +0 -0
  482. data/test/dummy/tmp/cache/sass/2bca5584fcb1177ad07e4f21325c39e4eda592bf/bootstrap_and_overrides.css.scssc +0 -0
  483. data/test/integration/navigation_test.rb +0 -10
  484. data/test/test_helper.rb +0 -15
  485. data/test/tr8n_client_sdk_test.rb +0 -7
@@ -1,2291 +0,0 @@
1
- /* ===================================================
2
- * bootstrap-transition.js v2.3.2
3
- * http://twitter.github.com/bootstrap/javascript.html#transitions
4
- * ===================================================
5
- * Copyright 2012 Twitter, Inc.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the "License");
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- * ========================================================== */
19
-
20
-
21
- !function ($) {
22
-
23
- "use strict"; // jshint ;_;
24
-
25
-
26
- /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
27
- * ======================================================= */
28
-
29
- $(function () {
30
-
31
- $.support.transition = (function () {
32
-
33
- var transitionEnd = (function () {
34
-
35
- var el = document.createElement('bootstrap')
36
- , transEndEventNames = {
37
- 'WebkitTransition' : 'webkitTransitionEnd'
38
- , 'MozTransition' : 'transitionend'
39
- , 'OTransition' : 'oTransitionEnd otransitionend'
40
- , 'transition' : 'transitionend'
41
- }
42
- , name
43
-
44
- for (name in transEndEventNames){
45
- if (el.style[name] !== undefined) {
46
- return transEndEventNames[name]
47
- }
48
- }
49
-
50
- }())
51
-
52
- return transitionEnd && {
53
- end: transitionEnd
54
- }
55
-
56
- })()
57
-
58
- })
59
-
60
- }(window.jQuery);
61
- /* =========================================================
62
- * bootstrap-modal.js v2.3.2
63
- * http://twitter.github.com/bootstrap/javascript.html#modals
64
- * =========================================================
65
- * Copyright 2012 Twitter, Inc.
66
- *
67
- * Licensed under the Apache License, Version 2.0 (the "License");
68
- * you may not use this file except in compliance with the License.
69
- * You may obtain a copy of the License at
70
- *
71
- * http://www.apache.org/licenses/LICENSE-2.0
72
- *
73
- * Unless required by applicable law or agreed to in writing, software
74
- * distributed under the License is distributed on an "AS IS" BASIS,
75
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
76
- * See the License for the specific language governing permissions and
77
- * limitations under the License.
78
- * ========================================================= */
79
-
80
-
81
- !function ($) {
82
-
83
- "use strict"; // jshint ;_;
84
-
85
-
86
- /* MODAL CLASS DEFINITION
87
- * ====================== */
88
-
89
- var Modal = function (element, options) {
90
- this.options = options
91
- this.$element = $(element)
92
- .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
93
- this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
94
- }
95
-
96
- Modal.prototype = {
97
-
98
- constructor: Modal
99
-
100
- , toggle: function () {
101
- return this[!this.isShown ? 'show' : 'hide']()
102
- }
103
-
104
- , show: function () {
105
- var that = this
106
- , e = $.Event('show')
107
-
108
- this.$element.trigger(e)
109
-
110
- if (this.isShown || e.isDefaultPrevented()) return
111
-
112
- this.isShown = true
113
-
114
- this.escape()
115
-
116
- this.backdrop(function () {
117
- var transition = $.support.transition && that.$element.hasClass('fade')
118
-
119
- if (!that.$element.parent().length) {
120
- that.$element.appendTo(document.body) //don't move modals dom position
121
- }
122
-
123
- that.$element.show()
124
-
125
- if (transition) {
126
- that.$element[0].offsetWidth // force reflow
127
- }
128
-
129
- that.$element
130
- .addClass('in')
131
- .attr('aria-hidden', false)
132
-
133
- that.enforceFocus()
134
-
135
- transition ?
136
- that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
137
- that.$element.focus().trigger('shown')
138
-
139
- })
140
- }
141
-
142
- , hide: function (e) {
143
- e && e.preventDefault()
144
-
145
- var that = this
146
-
147
- e = $.Event('hide')
148
-
149
- this.$element.trigger(e)
150
-
151
- if (!this.isShown || e.isDefaultPrevented()) return
152
-
153
- this.isShown = false
154
-
155
- this.escape()
156
-
157
- $(document).off('focusin.modal')
158
-
159
- this.$element
160
- .removeClass('in')
161
- .attr('aria-hidden', true)
162
-
163
- $.support.transition && this.$element.hasClass('fade') ?
164
- this.hideWithTransition() :
165
- this.hideModal()
166
- }
167
-
168
- , enforceFocus: function () {
169
- var that = this
170
- $(document).on('focusin.modal', function (e) {
171
- if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
172
- that.$element.focus()
173
- }
174
- })
175
- }
176
-
177
- , escape: function () {
178
- var that = this
179
- if (this.isShown && this.options.keyboard) {
180
- this.$element.on('keyup.dismiss.modal', function ( e ) {
181
- e.which == 27 && that.hide()
182
- })
183
- } else if (!this.isShown) {
184
- this.$element.off('keyup.dismiss.modal')
185
- }
186
- }
187
-
188
- , hideWithTransition: function () {
189
- var that = this
190
- , timeout = setTimeout(function () {
191
- that.$element.off($.support.transition.end)
192
- that.hideModal()
193
- }, 500)
194
-
195
- this.$element.one($.support.transition.end, function () {
196
- clearTimeout(timeout)
197
- that.hideModal()
198
- })
199
- }
200
-
201
- , hideModal: function () {
202
- var that = this
203
- this.$element.hide()
204
- this.backdrop(function () {
205
- that.removeBackdrop()
206
- that.$element.trigger('hidden')
207
- })
208
- }
209
-
210
- , removeBackdrop: function () {
211
- this.$backdrop && this.$backdrop.remove()
212
- this.$backdrop = null
213
- }
214
-
215
- , backdrop: function (callback) {
216
- var that = this
217
- , animate = this.$element.hasClass('fade') ? 'fade' : ''
218
-
219
- if (this.isShown && this.options.backdrop) {
220
- var doAnimate = $.support.transition && animate
221
-
222
- this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
223
- .appendTo(document.body)
224
-
225
- this.$backdrop.click(
226
- this.options.backdrop == 'static' ?
227
- $.proxy(this.$element[0].focus, this.$element[0])
228
- : $.proxy(this.hide, this)
229
- )
230
-
231
- if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
232
-
233
- this.$backdrop.addClass('in')
234
-
235
- if (!callback) return
236
-
237
- doAnimate ?
238
- this.$backdrop.one($.support.transition.end, callback) :
239
- callback()
240
-
241
- } else if (!this.isShown && this.$backdrop) {
242
- this.$backdrop.removeClass('in')
243
-
244
- $.support.transition && this.$element.hasClass('fade')?
245
- this.$backdrop.one($.support.transition.end, callback) :
246
- callback()
247
-
248
- } else if (callback) {
249
- callback()
250
- }
251
- }
252
- }
253
-
254
-
255
- /* MODAL PLUGIN DEFINITION
256
- * ======================= */
257
-
258
- var old = $.fn.modal
259
-
260
- $.fn.modal = function (option) {
261
- return this.each(function () {
262
- var $this = $(this)
263
- , data = $this.data('modal')
264
- , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
265
- if (!data) $this.data('modal', (data = new Modal(this, options)))
266
- if (typeof option == 'string') data[option]()
267
- else if (options.show) data.show()
268
- })
269
- }
270
-
271
- $.fn.modal.defaults = {
272
- backdrop: true
273
- , keyboard: true
274
- , show: true
275
- }
276
-
277
- $.fn.modal.Constructor = Modal
278
-
279
-
280
- /* MODAL NO CONFLICT
281
- * ================= */
282
-
283
- $.fn.modal.noConflict = function () {
284
- $.fn.modal = old
285
- return this
286
- }
287
-
288
-
289
- /* MODAL DATA-API
290
- * ============== */
291
-
292
- $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
293
- var $this = $(this)
294
- , href = $this.attr('href')
295
- , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
296
- , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
297
-
298
- e.preventDefault()
299
-
300
- $target
301
- .modal(option)
302
- .one('hide', function () {
303
- $this.focus()
304
- })
305
- })
306
-
307
- }(window.jQuery);
308
-
309
- /* ============================================================
310
- * bootstrap-dropdown.js v2.3.2
311
- * http://twitter.github.com/bootstrap/javascript.html#dropdowns
312
- * ============================================================
313
- * Copyright 2012 Twitter, Inc.
314
- *
315
- * Licensed under the Apache License, Version 2.0 (the "License");
316
- * you may not use this file except in compliance with the License.
317
- * You may obtain a copy of the License at
318
- *
319
- * http://www.apache.org/licenses/LICENSE-2.0
320
- *
321
- * Unless required by applicable law or agreed to in writing, software
322
- * distributed under the License is distributed on an "AS IS" BASIS,
323
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
324
- * See the License for the specific language governing permissions and
325
- * limitations under the License.
326
- * ============================================================ */
327
-
328
-
329
- !function ($) {
330
-
331
- "use strict"; // jshint ;_;
332
-
333
-
334
- /* DROPDOWN CLASS DEFINITION
335
- * ========================= */
336
-
337
- var toggle = '[data-toggle=dropdown]'
338
- , Dropdown = function (element) {
339
- var $el = $(element).on('click.dropdown.data-api', this.toggle)
340
- $('html').on('click.dropdown.data-api', function () {
341
- $el.parent().removeClass('open')
342
- })
343
- }
344
-
345
- Dropdown.prototype = {
346
-
347
- constructor: Dropdown
348
-
349
- , toggle: function (e) {
350
- var $this = $(this)
351
- , $parent
352
- , isActive
353
-
354
- if ($this.is('.disabled, :disabled')) return
355
-
356
- $parent = getParent($this)
357
-
358
- isActive = $parent.hasClass('open')
359
-
360
- clearMenus()
361
-
362
- if (!isActive) {
363
- if ('ontouchstart' in document.documentElement) {
364
- // if mobile we we use a backdrop because click events don't delegate
365
- $('<div class="dropdown-backdrop"/>').insertBefore($(this)).on('click', clearMenus)
366
- }
367
- $parent.toggleClass('open')
368
- }
369
-
370
- $this.focus()
371
-
372
- return false
373
- }
374
-
375
- , keydown: function (e) {
376
- var $this
377
- , $items
378
- , $active
379
- , $parent
380
- , isActive
381
- , index
382
-
383
- if (!/(38|40|27)/.test(e.keyCode)) return
384
-
385
- $this = $(this)
386
-
387
- e.preventDefault()
388
- e.stopPropagation()
389
-
390
- if ($this.is('.disabled, :disabled')) return
391
-
392
- $parent = getParent($this)
393
-
394
- isActive = $parent.hasClass('open')
395
-
396
- if (!isActive || (isActive && e.keyCode == 27)) {
397
- if (e.which == 27) $parent.find(toggle).focus()
398
- return $this.click()
399
- }
400
-
401
- $items = $('[role=menu] li:not(.divider):visible a', $parent)
402
-
403
- if (!$items.length) return
404
-
405
- index = $items.index($items.filter(':focus'))
406
-
407
- if (e.keyCode == 38 && index > 0) index-- // up
408
- if (e.keyCode == 40 && index < $items.length - 1) index++ // down
409
- if (!~index) index = 0
410
-
411
- $items
412
- .eq(index)
413
- .focus()
414
- }
415
-
416
- }
417
-
418
- function clearMenus() {
419
- $('.dropdown-backdrop').remove()
420
- $(toggle).each(function () {
421
- getParent($(this)).removeClass('open')
422
- })
423
- }
424
-
425
- function getParent($this) {
426
- var selector = $this.attr('data-target')
427
- , $parent
428
-
429
- if (!selector) {
430
- selector = $this.attr('href')
431
- selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
432
- }
433
-
434
- $parent = selector && $(selector)
435
-
436
- if (!$parent || !$parent.length) $parent = $this.parent()
437
-
438
- return $parent
439
- }
440
-
441
-
442
- /* DROPDOWN PLUGIN DEFINITION
443
- * ========================== */
444
-
445
- var old = $.fn.dropdown
446
-
447
- $.fn.dropdown = function (option) {
448
- return this.each(function () {
449
- var $this = $(this)
450
- , data = $this.data('dropdown')
451
- if (!data) $this.data('dropdown', (data = new Dropdown(this)))
452
- if (typeof option == 'string') data[option].call($this)
453
- })
454
- }
455
-
456
- $.fn.dropdown.Constructor = Dropdown
457
-
458
-
459
- /* DROPDOWN NO CONFLICT
460
- * ==================== */
461
-
462
- $.fn.dropdown.noConflict = function () {
463
- $.fn.dropdown = old
464
- return this
465
- }
466
-
467
-
468
- /* APPLY TO STANDARD DROPDOWN ELEMENTS
469
- * =================================== */
470
-
471
- $(document)
472
- .on('click.dropdown.data-api', clearMenus)
473
- .on('click.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
474
- .on('click.dropdown.data-api' , toggle, Dropdown.prototype.toggle)
475
- .on('keydown.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
476
-
477
- }(window.jQuery);
478
-
479
- /* =============================================================
480
- * bootstrap-scrollspy.js v2.3.2
481
- * http://twitter.github.com/bootstrap/javascript.html#scrollspy
482
- * =============================================================
483
- * Copyright 2012 Twitter, Inc.
484
- *
485
- * Licensed under the Apache License, Version 2.0 (the "License");
486
- * you may not use this file except in compliance with the License.
487
- * You may obtain a copy of the License at
488
- *
489
- * http://www.apache.org/licenses/LICENSE-2.0
490
- *
491
- * Unless required by applicable law or agreed to in writing, software
492
- * distributed under the License is distributed on an "AS IS" BASIS,
493
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
494
- * See the License for the specific language governing permissions and
495
- * limitations under the License.
496
- * ============================================================== */
497
-
498
-
499
- !function ($) {
500
-
501
- "use strict"; // jshint ;_;
502
-
503
-
504
- /* SCROLLSPY CLASS DEFINITION
505
- * ========================== */
506
-
507
- function ScrollSpy(element, options) {
508
- var process = $.proxy(this.process, this)
509
- , $element = $(element).is('body') ? $(window) : $(element)
510
- , href
511
- this.options = $.extend({}, $.fn.scrollspy.defaults, options)
512
- this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
513
- this.selector = (this.options.target
514
- || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
515
- || '') + ' .nav li > a'
516
- this.$body = $('body')
517
- this.refresh()
518
- this.process()
519
- }
520
-
521
- ScrollSpy.prototype = {
522
-
523
- constructor: ScrollSpy
524
-
525
- , refresh: function () {
526
- var self = this
527
- , $targets
528
-
529
- this.offsets = $([])
530
- this.targets = $([])
531
-
532
- $targets = this.$body
533
- .find(this.selector)
534
- .map(function () {
535
- var $el = $(this)
536
- , href = $el.data('target') || $el.attr('href')
537
- , $href = /^#\w/.test(href) && $(href)
538
- return ( $href
539
- && $href.length
540
- && [[ $href.position().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]] ) || null
541
- })
542
- .sort(function (a, b) { return a[0] - b[0] })
543
- .each(function () {
544
- self.offsets.push(this[0])
545
- self.targets.push(this[1])
546
- })
547
- }
548
-
549
- , process: function () {
550
- var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
551
- , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
552
- , maxScroll = scrollHeight - this.$scrollElement.height()
553
- , offsets = this.offsets
554
- , targets = this.targets
555
- , activeTarget = this.activeTarget
556
- , i
557
-
558
- if (scrollTop >= maxScroll) {
559
- return activeTarget != (i = targets.last()[0])
560
- && this.activate ( i )
561
- }
562
-
563
- for (i = offsets.length; i--;) {
564
- activeTarget != targets[i]
565
- && scrollTop >= offsets[i]
566
- && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
567
- && this.activate( targets[i] )
568
- }
569
- }
570
-
571
- , activate: function (target) {
572
- var active
573
- , selector
574
-
575
- this.activeTarget = target
576
-
577
- $(this.selector)
578
- .parent('.active')
579
- .removeClass('active')
580
-
581
- selector = this.selector
582
- + '[data-target="' + target + '"],'
583
- + this.selector + '[href="' + target + '"]'
584
-
585
- active = $(selector)
586
- .parent('li')
587
- .addClass('active')
588
-
589
- if (active.parent('.dropdown-menu').length) {
590
- active = active.closest('li.dropdown').addClass('active')
591
- }
592
-
593
- active.trigger('activate')
594
- }
595
-
596
- }
597
-
598
-
599
- /* SCROLLSPY PLUGIN DEFINITION
600
- * =========================== */
601
-
602
- var old = $.fn.scrollspy
603
-
604
- $.fn.scrollspy = function (option) {
605
- return this.each(function () {
606
- var $this = $(this)
607
- , data = $this.data('scrollspy')
608
- , options = typeof option == 'object' && option
609
- if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
610
- if (typeof option == 'string') data[option]()
611
- })
612
- }
613
-
614
- $.fn.scrollspy.Constructor = ScrollSpy
615
-
616
- $.fn.scrollspy.defaults = {
617
- offset: 10
618
- }
619
-
620
-
621
- /* SCROLLSPY NO CONFLICT
622
- * ===================== */
623
-
624
- $.fn.scrollspy.noConflict = function () {
625
- $.fn.scrollspy = old
626
- return this
627
- }
628
-
629
-
630
- /* SCROLLSPY DATA-API
631
- * ================== */
632
-
633
- $(window).on('load', function () {
634
- $('[data-spy="scroll"]').each(function () {
635
- var $spy = $(this)
636
- $spy.scrollspy($spy.data())
637
- })
638
- })
639
-
640
- }(window.jQuery);
641
- /* ========================================================
642
- * bootstrap-tab.js v2.3.2
643
- * http://twitter.github.com/bootstrap/javascript.html#tabs
644
- * ========================================================
645
- * Copyright 2012 Twitter, Inc.
646
- *
647
- * Licensed under the Apache License, Version 2.0 (the "License");
648
- * you may not use this file except in compliance with the License.
649
- * You may obtain a copy of the License at
650
- *
651
- * http://www.apache.org/licenses/LICENSE-2.0
652
- *
653
- * Unless required by applicable law or agreed to in writing, software
654
- * distributed under the License is distributed on an "AS IS" BASIS,
655
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
656
- * See the License for the specific language governing permissions and
657
- * limitations under the License.
658
- * ======================================================== */
659
-
660
-
661
- !function ($) {
662
-
663
- "use strict"; // jshint ;_;
664
-
665
-
666
- /* TAB CLASS DEFINITION
667
- * ==================== */
668
-
669
- var Tab = function (element) {
670
- this.element = $(element)
671
- }
672
-
673
- Tab.prototype = {
674
-
675
- constructor: Tab
676
-
677
- , show: function () {
678
- var $this = this.element
679
- , $ul = $this.closest('ul:not(.dropdown-menu)')
680
- , selector = $this.attr('data-target')
681
- , previous
682
- , $target
683
- , e
684
-
685
- if (!selector) {
686
- selector = $this.attr('href')
687
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
688
- }
689
-
690
- if ( $this.parent('li').hasClass('active') ) return
691
-
692
- previous = $ul.find('.active:last a')[0]
693
-
694
- e = $.Event('show', {
695
- relatedTarget: previous
696
- })
697
-
698
- $this.trigger(e)
699
-
700
- if (e.isDefaultPrevented()) return
701
-
702
- $target = $(selector)
703
-
704
- this.activate($this.parent('li'), $ul)
705
- this.activate($target, $target.parent(), function () {
706
- $this.trigger({
707
- type: 'shown'
708
- , relatedTarget: previous
709
- })
710
- })
711
- }
712
-
713
- , activate: function ( element, container, callback) {
714
- var $active = container.find('> .active')
715
- , transition = callback
716
- && $.support.transition
717
- && $active.hasClass('fade')
718
-
719
- function next() {
720
- $active
721
- .removeClass('active')
722
- .find('> .dropdown-menu > .active')
723
- .removeClass('active')
724
-
725
- element.addClass('active')
726
-
727
- if (transition) {
728
- element[0].offsetWidth // reflow for transition
729
- element.addClass('in')
730
- } else {
731
- element.removeClass('fade')
732
- }
733
-
734
- if ( element.parent('.dropdown-menu') ) {
735
- element.closest('li.dropdown').addClass('active')
736
- }
737
-
738
- callback && callback()
739
- }
740
-
741
- transition ?
742
- $active.one($.support.transition.end, next) :
743
- next()
744
-
745
- $active.removeClass('in')
746
- }
747
- }
748
-
749
-
750
- /* TAB PLUGIN DEFINITION
751
- * ===================== */
752
-
753
- var old = $.fn.tab
754
-
755
- $.fn.tab = function ( option ) {
756
- return this.each(function () {
757
- var $this = $(this)
758
- , data = $this.data('tab')
759
- if (!data) $this.data('tab', (data = new Tab(this)))
760
- if (typeof option == 'string') data[option]()
761
- })
762
- }
763
-
764
- $.fn.tab.Constructor = Tab
765
-
766
-
767
- /* TAB NO CONFLICT
768
- * =============== */
769
-
770
- $.fn.tab.noConflict = function () {
771
- $.fn.tab = old
772
- return this
773
- }
774
-
775
-
776
- /* TAB DATA-API
777
- * ============ */
778
-
779
- $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
780
- e.preventDefault()
781
- $(this).tab('show')
782
- })
783
-
784
- }(window.jQuery);
785
- /* ===========================================================
786
- * bootstrap-tooltip.js v2.3.2
787
- * http://twitter.github.com/bootstrap/javascript.html#tooltips
788
- * Inspired by the original jQuery.tipsy by Jason Frame
789
- * ===========================================================
790
- * Copyright 2012 Twitter, Inc.
791
- *
792
- * Licensed under the Apache License, Version 2.0 (the "License");
793
- * you may not use this file except in compliance with the License.
794
- * You may obtain a copy of the License at
795
- *
796
- * http://www.apache.org/licenses/LICENSE-2.0
797
- *
798
- * Unless required by applicable law or agreed to in writing, software
799
- * distributed under the License is distributed on an "AS IS" BASIS,
800
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
801
- * See the License for the specific language governing permissions and
802
- * limitations under the License.
803
- * ========================================================== */
804
-
805
-
806
- !function ($) {
807
-
808
- "use strict"; // jshint ;_;
809
-
810
-
811
- /* TOOLTIP PUBLIC CLASS DEFINITION
812
- * =============================== */
813
-
814
- var Tooltip = function (element, options) {
815
- this.init('tooltip', element, options)
816
- }
817
-
818
- Tooltip.prototype = {
819
-
820
- constructor: Tooltip
821
-
822
- , init: function (type, element, options) {
823
- var eventIn
824
- , eventOut
825
- , triggers
826
- , trigger
827
- , i
828
-
829
- this.type = type
830
- this.$element = $(element)
831
- this.options = this.getOptions(options)
832
- this.enabled = true
833
-
834
- triggers = this.options.trigger.split(' ')
835
-
836
- for (i = triggers.length; i--;) {
837
- trigger = triggers[i]
838
- if (trigger == 'click') {
839
- this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
840
- } else if (trigger != 'manual') {
841
- eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
842
- eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
843
- this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
844
- this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
845
- }
846
- }
847
-
848
- this.options.selector ?
849
- (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
850
- this.fixTitle()
851
- }
852
-
853
- , getOptions: function (options) {
854
- options = $.extend({}, $.fn[this.type].defaults, this.$element.data(), options)
855
-
856
- if (options.delay && typeof options.delay == 'number') {
857
- options.delay = {
858
- show: options.delay
859
- , hide: options.delay
860
- }
861
- }
862
-
863
- return options
864
- }
865
-
866
- , enter: function (e) {
867
- var defaults = $.fn[this.type].defaults
868
- , options = {}
869
- , self
870
-
871
- this._options && $.each(this._options, function (key, value) {
872
- if (defaults[key] != value) options[key] = value
873
- }, this)
874
-
875
- self = $(e.currentTarget)[this.type](options).data(this.type)
876
-
877
- if (!self.options.delay || !self.options.delay.show) return self.show()
878
-
879
- clearTimeout(this.timeout)
880
- self.hoverState = 'in'
881
- this.timeout = setTimeout(function() {
882
- if (self.hoverState == 'in') self.show()
883
- }, self.options.delay.show)
884
- }
885
-
886
- , leave: function (e) {
887
- var self = $(e.currentTarget)[this.type](this._options).data(this.type)
888
-
889
- if (this.timeout) clearTimeout(this.timeout)
890
- if (!self.options.delay || !self.options.delay.hide) return self.hide()
891
-
892
- self.hoverState = 'out'
893
- this.timeout = setTimeout(function() {
894
- if (self.hoverState == 'out') self.hide()
895
- }, self.options.delay.hide)
896
- }
897
-
898
- , show: function () {
899
- var $tip
900
- , pos
901
- , actualWidth
902
- , actualHeight
903
- , placement
904
- , tp
905
- , e = $.Event('show')
906
-
907
- if (this.hasContent() && this.enabled) {
908
- this.$element.trigger(e)
909
- if (e.isDefaultPrevented()) return
910
- $tip = this.tip()
911
- this.setContent()
912
-
913
- if (this.options.animation) {
914
- $tip.addClass('fade')
915
- }
916
-
917
- placement = typeof this.options.placement == 'function' ?
918
- this.options.placement.call(this, $tip[0], this.$element[0]) :
919
- this.options.placement
920
-
921
- $tip
922
- .detach()
923
- .css({ top: 0, left: 0, display: 'block' })
924
-
925
- this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
926
-
927
- pos = this.getPosition()
928
-
929
- actualWidth = $tip[0].offsetWidth
930
- actualHeight = $tip[0].offsetHeight
931
-
932
- switch (placement) {
933
- case 'bottom':
934
- tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
935
- break
936
- case 'top':
937
- tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
938
- break
939
- case 'left':
940
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
941
- break
942
- case 'right':
943
- tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
944
- break
945
- }
946
-
947
- this.applyPlacement(tp, placement)
948
- this.$element.trigger('shown')
949
- }
950
- }
951
-
952
- , applyPlacement: function(offset, placement){
953
- var $tip = this.tip()
954
- , width = $tip[0].offsetWidth
955
- , height = $tip[0].offsetHeight
956
- , actualWidth
957
- , actualHeight
958
- , delta
959
- , replace
960
-
961
- $tip
962
- .offset(offset)
963
- .addClass(placement)
964
- .addClass('in')
965
-
966
- actualWidth = $tip[0].offsetWidth
967
- actualHeight = $tip[0].offsetHeight
968
-
969
- if (placement == 'top' && actualHeight != height) {
970
- offset.top = offset.top + height - actualHeight
971
- replace = true
972
- }
973
-
974
- if (placement == 'bottom' || placement == 'top') {
975
- delta = 0
976
-
977
- if (offset.left < 0){
978
- delta = offset.left * -2
979
- offset.left = 0
980
- $tip.offset(offset)
981
- actualWidth = $tip[0].offsetWidth
982
- actualHeight = $tip[0].offsetHeight
983
- }
984
-
985
- this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
986
- } else {
987
- this.replaceArrow(actualHeight - height, actualHeight, 'top')
988
- }
989
-
990
- if (replace) $tip.offset(offset)
991
- }
992
-
993
- , replaceArrow: function(delta, dimension, position){
994
- this
995
- .arrow()
996
- .css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
997
- }
998
-
999
- , setContent: function () {
1000
- var $tip = this.tip()
1001
- , title = this.getTitle()
1002
-
1003
- $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
1004
- $tip.removeClass('fade in top bottom left right')
1005
- }
1006
-
1007
- , hide: function () {
1008
- var that = this
1009
- , $tip = this.tip()
1010
- , e = $.Event('hide')
1011
-
1012
- this.$element.trigger(e)
1013
- if (e.isDefaultPrevented()) return
1014
-
1015
- $tip.removeClass('in')
1016
-
1017
- function removeWithAnimation() {
1018
- var timeout = setTimeout(function () {
1019
- $tip.off($.support.transition.end).detach()
1020
- }, 500)
1021
-
1022
- $tip.one($.support.transition.end, function () {
1023
- clearTimeout(timeout)
1024
- $tip.detach()
1025
- })
1026
- }
1027
-
1028
- $.support.transition && this.$tip.hasClass('fade') ?
1029
- removeWithAnimation() :
1030
- $tip.detach()
1031
-
1032
- this.$element.trigger('hidden')
1033
-
1034
- return this
1035
- }
1036
-
1037
- , fixTitle: function () {
1038
- var $e = this.$element
1039
- if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
1040
- $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
1041
- }
1042
- }
1043
-
1044
- , hasContent: function () {
1045
- return this.getTitle()
1046
- }
1047
-
1048
- , getPosition: function () {
1049
- var el = this.$element[0]
1050
- return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
1051
- width: el.offsetWidth
1052
- , height: el.offsetHeight
1053
- }, this.$element.offset())
1054
- }
1055
-
1056
- , getTitle: function () {
1057
- var title
1058
- , $e = this.$element
1059
- , o = this.options
1060
-
1061
- title = $e.attr('data-original-title')
1062
- || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
1063
-
1064
- return title
1065
- }
1066
-
1067
- , tip: function () {
1068
- return this.$tip = this.$tip || $(this.options.template)
1069
- }
1070
-
1071
- , arrow: function(){
1072
- return this.$arrow = this.$arrow || this.tip().find(".tooltip-arrow")
1073
- }
1074
-
1075
- , validate: function () {
1076
- if (!this.$element[0].parentNode) {
1077
- this.hide()
1078
- this.$element = null
1079
- this.options = null
1080
- }
1081
- }
1082
-
1083
- , enable: function () {
1084
- this.enabled = true
1085
- }
1086
-
1087
- , disable: function () {
1088
- this.enabled = false
1089
- }
1090
-
1091
- , toggleEnabled: function () {
1092
- this.enabled = !this.enabled
1093
- }
1094
-
1095
- , toggle: function (e) {
1096
- var self = e ? $(e.currentTarget)[this.type](this._options).data(this.type) : this
1097
- self.tip().hasClass('in') ? self.hide() : self.show()
1098
- }
1099
-
1100
- , destroy: function () {
1101
- this.hide().$element.off('.' + this.type).removeData(this.type)
1102
- }
1103
-
1104
- }
1105
-
1106
-
1107
- /* TOOLTIP PLUGIN DEFINITION
1108
- * ========================= */
1109
-
1110
- var old = $.fn.tooltip
1111
-
1112
- $.fn.tooltip = function ( option ) {
1113
- return this.each(function () {
1114
- var $this = $(this)
1115
- , data = $this.data('tooltip')
1116
- , options = typeof option == 'object' && option
1117
- if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
1118
- if (typeof option == 'string') data[option]()
1119
- })
1120
- }
1121
-
1122
- $.fn.tooltip.Constructor = Tooltip
1123
-
1124
- $.fn.tooltip.defaults = {
1125
- animation: true
1126
- , placement: 'top'
1127
- , selector: false
1128
- , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
1129
- , trigger: 'hover focus'
1130
- , title: ''
1131
- , delay: 0
1132
- , html: false
1133
- , container: false
1134
- }
1135
-
1136
-
1137
- /* TOOLTIP NO CONFLICT
1138
- * =================== */
1139
-
1140
- $.fn.tooltip.noConflict = function () {
1141
- $.fn.tooltip = old
1142
- return this
1143
- }
1144
-
1145
- }(window.jQuery);
1146
-
1147
- /* ===========================================================
1148
- * bootstrap-popover.js v2.3.2
1149
- * http://twitter.github.com/bootstrap/javascript.html#popovers
1150
- * ===========================================================
1151
- * Copyright 2012 Twitter, Inc.
1152
- *
1153
- * Licensed under the Apache License, Version 2.0 (the "License");
1154
- * you may not use this file except in compliance with the License.
1155
- * You may obtain a copy of the License at
1156
- *
1157
- * http://www.apache.org/licenses/LICENSE-2.0
1158
- *
1159
- * Unless required by applicable law or agreed to in writing, software
1160
- * distributed under the License is distributed on an "AS IS" BASIS,
1161
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1162
- * See the License for the specific language governing permissions and
1163
- * limitations under the License.
1164
- * =========================================================== */
1165
-
1166
-
1167
- !function ($) {
1168
-
1169
- "use strict"; // jshint ;_;
1170
-
1171
-
1172
- /* POPOVER PUBLIC CLASS DEFINITION
1173
- * =============================== */
1174
-
1175
- var Popover = function (element, options) {
1176
- this.init('popover', element, options)
1177
- }
1178
-
1179
-
1180
- /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
1181
- ========================================== */
1182
-
1183
- Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
1184
-
1185
- constructor: Popover
1186
-
1187
- , setContent: function () {
1188
- var $tip = this.tip()
1189
- , title = this.getTitle()
1190
- , content = this.getContent()
1191
-
1192
- $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
1193
- $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
1194
-
1195
- $tip.removeClass('fade top bottom left right in')
1196
- }
1197
-
1198
- , hasContent: function () {
1199
- return this.getTitle() || this.getContent()
1200
- }
1201
-
1202
- , getContent: function () {
1203
- var content
1204
- , $e = this.$element
1205
- , o = this.options
1206
-
1207
- content = (typeof o.content == 'function' ? o.content.call($e[0]) : o.content)
1208
- || $e.attr('data-content')
1209
-
1210
- return content
1211
- }
1212
-
1213
- , tip: function () {
1214
- if (!this.$tip) {
1215
- this.$tip = $(this.options.template)
1216
- }
1217
- return this.$tip
1218
- }
1219
-
1220
- , destroy: function () {
1221
- this.hide().$element.off('.' + this.type).removeData(this.type)
1222
- }
1223
-
1224
- })
1225
-
1226
-
1227
- /* POPOVER PLUGIN DEFINITION
1228
- * ======================= */
1229
-
1230
- var old = $.fn.popover
1231
-
1232
- $.fn.popover = function (option) {
1233
- return this.each(function () {
1234
- var $this = $(this)
1235
- , data = $this.data('popover')
1236
- , options = typeof option == 'object' && option
1237
- if (!data) $this.data('popover', (data = new Popover(this, options)))
1238
- if (typeof option == 'string') data[option]()
1239
- })
1240
- }
1241
-
1242
- $.fn.popover.Constructor = Popover
1243
-
1244
- $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
1245
- placement: 'right'
1246
- , trigger: 'click'
1247
- , content: ''
1248
- , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
1249
- })
1250
-
1251
-
1252
- /* POPOVER NO CONFLICT
1253
- * =================== */
1254
-
1255
- $.fn.popover.noConflict = function () {
1256
- $.fn.popover = old
1257
- return this
1258
- }
1259
-
1260
- }(window.jQuery);
1261
-
1262
- /* ==========================================================
1263
- * bootstrap-affix.js v2.3.2
1264
- * http://twitter.github.com/bootstrap/javascript.html#affix
1265
- * ==========================================================
1266
- * Copyright 2012 Twitter, Inc.
1267
- *
1268
- * Licensed under the Apache License, Version 2.0 (the "License");
1269
- * you may not use this file except in compliance with the License.
1270
- * You may obtain a copy of the License at
1271
- *
1272
- * http://www.apache.org/licenses/LICENSE-2.0
1273
- *
1274
- * Unless required by applicable law or agreed to in writing, software
1275
- * distributed under the License is distributed on an "AS IS" BASIS,
1276
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1277
- * See the License for the specific language governing permissions and
1278
- * limitations under the License.
1279
- * ========================================================== */
1280
-
1281
-
1282
- !function ($) {
1283
-
1284
- "use strict"; // jshint ;_;
1285
-
1286
-
1287
- /* AFFIX CLASS DEFINITION
1288
- * ====================== */
1289
-
1290
- var Affix = function (element, options) {
1291
- this.options = $.extend({}, $.fn.affix.defaults, options)
1292
- this.$window = $(window)
1293
- .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
1294
- .on('click.affix.data-api', $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
1295
- this.$element = $(element)
1296
- this.checkPosition()
1297
- }
1298
-
1299
- Affix.prototype.checkPosition = function () {
1300
- if (!this.$element.is(':visible')) return
1301
-
1302
- var scrollHeight = $(document).height()
1303
- , scrollTop = this.$window.scrollTop()
1304
- , position = this.$element.offset()
1305
- , offset = this.options.offset
1306
- , offsetBottom = offset.bottom
1307
- , offsetTop = offset.top
1308
- , reset = 'affix affix-top affix-bottom'
1309
- , affix
1310
-
1311
- if (typeof offset != 'object') offsetBottom = offsetTop = offset
1312
- if (typeof offsetTop == 'function') offsetTop = offset.top()
1313
- if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
1314
-
1315
- affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
1316
- false : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
1317
- 'bottom' : offsetTop != null && scrollTop <= offsetTop ?
1318
- 'top' : false
1319
-
1320
- if (this.affixed === affix) return
1321
-
1322
- this.affixed = affix
1323
- this.unpin = affix == 'bottom' ? position.top - scrollTop : null
1324
-
1325
- this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
1326
- }
1327
-
1328
-
1329
- /* AFFIX PLUGIN DEFINITION
1330
- * ======================= */
1331
-
1332
- var old = $.fn.affix
1333
-
1334
- $.fn.affix = function (option) {
1335
- return this.each(function () {
1336
- var $this = $(this)
1337
- , data = $this.data('affix')
1338
- , options = typeof option == 'object' && option
1339
- if (!data) $this.data('affix', (data = new Affix(this, options)))
1340
- if (typeof option == 'string') data[option]()
1341
- })
1342
- }
1343
-
1344
- $.fn.affix.Constructor = Affix
1345
-
1346
- $.fn.affix.defaults = {
1347
- offset: 0
1348
- }
1349
-
1350
-
1351
- /* AFFIX NO CONFLICT
1352
- * ================= */
1353
-
1354
- $.fn.affix.noConflict = function () {
1355
- $.fn.affix = old
1356
- return this
1357
- }
1358
-
1359
-
1360
- /* AFFIX DATA-API
1361
- * ============== */
1362
-
1363
- $(window).on('load', function () {
1364
- $('[data-spy="affix"]').each(function () {
1365
- var $spy = $(this)
1366
- , data = $spy.data()
1367
-
1368
- data.offset = data.offset || {}
1369
-
1370
- data.offsetBottom && (data.offset.bottom = data.offsetBottom)
1371
- data.offsetTop && (data.offset.top = data.offsetTop)
1372
-
1373
- $spy.affix(data)
1374
- })
1375
- })
1376
-
1377
-
1378
- }(window.jQuery);
1379
- /* ==========================================================
1380
- * bootstrap-alert.js v2.3.2
1381
- * http://twitter.github.com/bootstrap/javascript.html#alerts
1382
- * ==========================================================
1383
- * Copyright 2012 Twitter, Inc.
1384
- *
1385
- * Licensed under the Apache License, Version 2.0 (the "License");
1386
- * you may not use this file except in compliance with the License.
1387
- * You may obtain a copy of the License at
1388
- *
1389
- * http://www.apache.org/licenses/LICENSE-2.0
1390
- *
1391
- * Unless required by applicable law or agreed to in writing, software
1392
- * distributed under the License is distributed on an "AS IS" BASIS,
1393
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1394
- * See the License for the specific language governing permissions and
1395
- * limitations under the License.
1396
- * ========================================================== */
1397
-
1398
-
1399
- !function ($) {
1400
-
1401
- "use strict"; // jshint ;_;
1402
-
1403
-
1404
- /* ALERT CLASS DEFINITION
1405
- * ====================== */
1406
-
1407
- var dismiss = '[data-dismiss="alert"]'
1408
- , Alert = function (el) {
1409
- $(el).on('click', dismiss, this.close)
1410
- }
1411
-
1412
- Alert.prototype.close = function (e) {
1413
- var $this = $(this)
1414
- , selector = $this.attr('data-target')
1415
- , $parent
1416
-
1417
- if (!selector) {
1418
- selector = $this.attr('href')
1419
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
1420
- }
1421
-
1422
- $parent = $(selector)
1423
-
1424
- e && e.preventDefault()
1425
-
1426
- $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
1427
-
1428
- $parent.trigger(e = $.Event('close'))
1429
-
1430
- if (e.isDefaultPrevented()) return
1431
-
1432
- $parent.removeClass('in')
1433
-
1434
- function removeElement() {
1435
- $parent
1436
- .trigger('closed')
1437
- .remove()
1438
- }
1439
-
1440
- $.support.transition && $parent.hasClass('fade') ?
1441
- $parent.on($.support.transition.end, removeElement) :
1442
- removeElement()
1443
- }
1444
-
1445
-
1446
- /* ALERT PLUGIN DEFINITION
1447
- * ======================= */
1448
-
1449
- var old = $.fn.alert
1450
-
1451
- $.fn.alert = function (option) {
1452
- return this.each(function () {
1453
- var $this = $(this)
1454
- , data = $this.data('alert')
1455
- if (!data) $this.data('alert', (data = new Alert(this)))
1456
- if (typeof option == 'string') data[option].call($this)
1457
- })
1458
- }
1459
-
1460
- $.fn.alert.Constructor = Alert
1461
-
1462
-
1463
- /* ALERT NO CONFLICT
1464
- * ================= */
1465
-
1466
- $.fn.alert.noConflict = function () {
1467
- $.fn.alert = old
1468
- return this
1469
- }
1470
-
1471
-
1472
- /* ALERT DATA-API
1473
- * ============== */
1474
-
1475
- $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
1476
-
1477
- }(window.jQuery);
1478
- /* ============================================================
1479
- * bootstrap-button.js v2.3.2
1480
- * http://twitter.github.com/bootstrap/javascript.html#buttons
1481
- * ============================================================
1482
- * Copyright 2012 Twitter, Inc.
1483
- *
1484
- * Licensed under the Apache License, Version 2.0 (the "License");
1485
- * you may not use this file except in compliance with the License.
1486
- * You may obtain a copy of the License at
1487
- *
1488
- * http://www.apache.org/licenses/LICENSE-2.0
1489
- *
1490
- * Unless required by applicable law or agreed to in writing, software
1491
- * distributed under the License is distributed on an "AS IS" BASIS,
1492
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1493
- * See the License for the specific language governing permissions and
1494
- * limitations under the License.
1495
- * ============================================================ */
1496
-
1497
-
1498
- !function ($) {
1499
-
1500
- "use strict"; // jshint ;_;
1501
-
1502
-
1503
- /* BUTTON PUBLIC CLASS DEFINITION
1504
- * ============================== */
1505
-
1506
- var Button = function (element, options) {
1507
- this.$element = $(element)
1508
- this.options = $.extend({}, $.fn.button.defaults, options)
1509
- }
1510
-
1511
- Button.prototype.setState = function (state) {
1512
- var d = 'disabled'
1513
- , $el = this.$element
1514
- , data = $el.data()
1515
- , val = $el.is('input') ? 'val' : 'html'
1516
-
1517
- state = state + 'Text'
1518
- data.resetText || $el.data('resetText', $el[val]())
1519
-
1520
- $el[val](data[state] || this.options[state])
1521
-
1522
- // push to event loop to allow forms to submit
1523
- setTimeout(function () {
1524
- state == 'loadingText' ?
1525
- $el.addClass(d).attr(d, d) :
1526
- $el.removeClass(d).removeAttr(d)
1527
- }, 0)
1528
- }
1529
-
1530
- Button.prototype.toggle = function () {
1531
- var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
1532
-
1533
- $parent && $parent
1534
- .find('.active')
1535
- .removeClass('active')
1536
-
1537
- this.$element.toggleClass('active')
1538
- }
1539
-
1540
-
1541
- /* BUTTON PLUGIN DEFINITION
1542
- * ======================== */
1543
-
1544
- var old = $.fn.button
1545
-
1546
- $.fn.button = function (option) {
1547
- return this.each(function () {
1548
- var $this = $(this)
1549
- , data = $this.data('button')
1550
- , options = typeof option == 'object' && option
1551
- if (!data) $this.data('button', (data = new Button(this, options)))
1552
- if (option == 'toggle') data.toggle()
1553
- else if (option) data.setState(option)
1554
- })
1555
- }
1556
-
1557
- $.fn.button.defaults = {
1558
- loadingText: 'loading...'
1559
- }
1560
-
1561
- $.fn.button.Constructor = Button
1562
-
1563
-
1564
- /* BUTTON NO CONFLICT
1565
- * ================== */
1566
-
1567
- $.fn.button.noConflict = function () {
1568
- $.fn.button = old
1569
- return this
1570
- }
1571
-
1572
-
1573
- /* BUTTON DATA-API
1574
- * =============== */
1575
-
1576
- $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
1577
- var $btn = $(e.target)
1578
- if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
1579
- $btn.button('toggle')
1580
- })
1581
-
1582
- }(window.jQuery);
1583
- /* =============================================================
1584
- * bootstrap-collapse.js v2.3.2
1585
- * http://twitter.github.com/bootstrap/javascript.html#collapse
1586
- * =============================================================
1587
- * Copyright 2012 Twitter, Inc.
1588
- *
1589
- * Licensed under the Apache License, Version 2.0 (the "License");
1590
- * you may not use this file except in compliance with the License.
1591
- * You may obtain a copy of the License at
1592
- *
1593
- * http://www.apache.org/licenses/LICENSE-2.0
1594
- *
1595
- * Unless required by applicable law or agreed to in writing, software
1596
- * distributed under the License is distributed on an "AS IS" BASIS,
1597
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1598
- * See the License for the specific language governing permissions and
1599
- * limitations under the License.
1600
- * ============================================================ */
1601
-
1602
-
1603
- !function ($) {
1604
-
1605
- "use strict"; // jshint ;_;
1606
-
1607
-
1608
- /* COLLAPSE PUBLIC CLASS DEFINITION
1609
- * ================================ */
1610
-
1611
- var Collapse = function (element, options) {
1612
- this.$element = $(element)
1613
- this.options = $.extend({}, $.fn.collapse.defaults, options)
1614
-
1615
- if (this.options.parent) {
1616
- this.$parent = $(this.options.parent)
1617
- }
1618
-
1619
- this.options.toggle && this.toggle()
1620
- }
1621
-
1622
- Collapse.prototype = {
1623
-
1624
- constructor: Collapse
1625
-
1626
- , dimension: function () {
1627
- var hasWidth = this.$element.hasClass('width')
1628
- return hasWidth ? 'width' : 'height'
1629
- }
1630
-
1631
- , show: function () {
1632
- var dimension
1633
- , scroll
1634
- , actives
1635
- , hasData
1636
-
1637
- if (this.transitioning || this.$element.hasClass('in')) return
1638
-
1639
- dimension = this.dimension()
1640
- scroll = $.camelCase(['scroll', dimension].join('-'))
1641
- actives = this.$parent && this.$parent.find('> .accordion-group > .in')
1642
-
1643
- if (actives && actives.length) {
1644
- hasData = actives.data('collapse')
1645
- if (hasData && hasData.transitioning) return
1646
- actives.collapse('hide')
1647
- hasData || actives.data('collapse', null)
1648
- }
1649
-
1650
- this.$element[dimension](0)
1651
- this.transition('addClass', $.Event('show'), 'shown')
1652
- $.support.transition && this.$element[dimension](this.$element[0][scroll])
1653
- }
1654
-
1655
- , hide: function () {
1656
- var dimension
1657
- if (this.transitioning || !this.$element.hasClass('in')) return
1658
- dimension = this.dimension()
1659
- this.reset(this.$element[dimension]())
1660
- this.transition('removeClass', $.Event('hide'), 'hidden')
1661
- this.$element[dimension](0)
1662
- }
1663
-
1664
- , reset: function (size) {
1665
- var dimension = this.dimension()
1666
-
1667
- this.$element
1668
- .removeClass('collapse')
1669
- [dimension](size || 'auto')
1670
- [0].offsetWidth
1671
-
1672
- this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
1673
-
1674
- return this
1675
- }
1676
-
1677
- , transition: function (method, startEvent, completeEvent) {
1678
- var that = this
1679
- , complete = function () {
1680
- if (startEvent.type == 'show') that.reset()
1681
- that.transitioning = 0
1682
- that.$element.trigger(completeEvent)
1683
- }
1684
-
1685
- this.$element.trigger(startEvent)
1686
-
1687
- if (startEvent.isDefaultPrevented()) return
1688
-
1689
- this.transitioning = 1
1690
-
1691
- this.$element[method]('in')
1692
-
1693
- $.support.transition && this.$element.hasClass('collapse') ?
1694
- this.$element.one($.support.transition.end, complete) :
1695
- complete()
1696
- }
1697
-
1698
- , toggle: function () {
1699
- this[this.$element.hasClass('in') ? 'hide' : 'show']()
1700
- }
1701
-
1702
- }
1703
-
1704
-
1705
- /* COLLAPSE PLUGIN DEFINITION
1706
- * ========================== */
1707
-
1708
- var old = $.fn.collapse
1709
-
1710
- $.fn.collapse = function (option) {
1711
- return this.each(function () {
1712
- var $this = $(this)
1713
- , data = $this.data('collapse')
1714
- , options = $.extend({}, $.fn.collapse.defaults, $this.data(), typeof option == 'object' && option)
1715
- if (!data) $this.data('collapse', (data = new Collapse(this, options)))
1716
- if (typeof option == 'string') data[option]()
1717
- })
1718
- }
1719
-
1720
- $.fn.collapse.defaults = {
1721
- toggle: true
1722
- }
1723
-
1724
- $.fn.collapse.Constructor = Collapse
1725
-
1726
-
1727
- /* COLLAPSE NO CONFLICT
1728
- * ==================== */
1729
-
1730
- $.fn.collapse.noConflict = function () {
1731
- $.fn.collapse = old
1732
- return this
1733
- }
1734
-
1735
-
1736
- /* COLLAPSE DATA-API
1737
- * ================= */
1738
-
1739
- $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
1740
- var $this = $(this), href
1741
- , target = $this.attr('data-target')
1742
- || e.preventDefault()
1743
- || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
1744
- , option = $(target).data('collapse') ? 'toggle' : $this.data()
1745
- $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
1746
- $(target).collapse(option)
1747
- })
1748
-
1749
- }(window.jQuery);
1750
- /* ==========================================================
1751
- * bootstrap-carousel.js v2.3.2
1752
- * http://twitter.github.com/bootstrap/javascript.html#carousel
1753
- * ==========================================================
1754
- * Copyright 2012 Twitter, Inc.
1755
- *
1756
- * Licensed under the Apache License, Version 2.0 (the "License");
1757
- * you may not use this file except in compliance with the License.
1758
- * You may obtain a copy of the License at
1759
- *
1760
- * http://www.apache.org/licenses/LICENSE-2.0
1761
- *
1762
- * Unless required by applicable law or agreed to in writing, software
1763
- * distributed under the License is distributed on an "AS IS" BASIS,
1764
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1765
- * See the License for the specific language governing permissions and
1766
- * limitations under the License.
1767
- * ========================================================== */
1768
-
1769
-
1770
- !function ($) {
1771
-
1772
- "use strict"; // jshint ;_;
1773
-
1774
-
1775
- /* CAROUSEL CLASS DEFINITION
1776
- * ========================= */
1777
-
1778
- var Carousel = function (element, options) {
1779
- this.$element = $(element)
1780
- this.$indicators = this.$element.find('.carousel-indicators')
1781
- this.options = options
1782
- this.options.pause == 'hover' && this.$element
1783
- .on('mouseenter', $.proxy(this.pause, this))
1784
- .on('mouseleave', $.proxy(this.cycle, this))
1785
- }
1786
-
1787
- Carousel.prototype = {
1788
-
1789
- cycle: function (e) {
1790
- if (!e) this.paused = false
1791
- if (this.interval) clearInterval(this.interval);
1792
- this.options.interval
1793
- && !this.paused
1794
- && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
1795
- return this
1796
- }
1797
-
1798
- , getActiveIndex: function () {
1799
- this.$active = this.$element.find('.item.active')
1800
- this.$items = this.$active.parent().children()
1801
- return this.$items.index(this.$active)
1802
- }
1803
-
1804
- , to: function (pos) {
1805
- var activeIndex = this.getActiveIndex()
1806
- , that = this
1807
-
1808
- if (pos > (this.$items.length - 1) || pos < 0) return
1809
-
1810
- if (this.sliding) {
1811
- return this.$element.one('slid', function () {
1812
- that.to(pos)
1813
- })
1814
- }
1815
-
1816
- if (activeIndex == pos) {
1817
- return this.pause().cycle()
1818
- }
1819
-
1820
- return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
1821
- }
1822
-
1823
- , pause: function (e) {
1824
- if (!e) this.paused = true
1825
- if (this.$element.find('.next, .prev').length && $.support.transition.end) {
1826
- this.$element.trigger($.support.transition.end)
1827
- this.cycle(true)
1828
- }
1829
- clearInterval(this.interval)
1830
- this.interval = null
1831
- return this
1832
- }
1833
-
1834
- , next: function () {
1835
- if (this.sliding) return
1836
- return this.slide('next')
1837
- }
1838
-
1839
- , prev: function () {
1840
- if (this.sliding) return
1841
- return this.slide('prev')
1842
- }
1843
-
1844
- , slide: function (type, next) {
1845
- var $active = this.$element.find('.item.active')
1846
- , $next = next || $active[type]()
1847
- , isCycling = this.interval
1848
- , direction = type == 'next' ? 'left' : 'right'
1849
- , fallback = type == 'next' ? 'first' : 'last'
1850
- , that = this
1851
- , e
1852
-
1853
- this.sliding = true
1854
-
1855
- isCycling && this.pause()
1856
-
1857
- $next = $next.length ? $next : this.$element.find('.item')[fallback]()
1858
-
1859
- e = $.Event('slide', {
1860
- relatedTarget: $next[0]
1861
- , direction: direction
1862
- })
1863
-
1864
- if ($next.hasClass('active')) return
1865
-
1866
- if (this.$indicators.length) {
1867
- this.$indicators.find('.active').removeClass('active')
1868
- this.$element.one('slid', function () {
1869
- var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
1870
- $nextIndicator && $nextIndicator.addClass('active')
1871
- })
1872
- }
1873
-
1874
- if ($.support.transition && this.$element.hasClass('slide')) {
1875
- this.$element.trigger(e)
1876
- if (e.isDefaultPrevented()) return
1877
- $next.addClass(type)
1878
- $next[0].offsetWidth // force reflow
1879
- $active.addClass(direction)
1880
- $next.addClass(direction)
1881
- this.$element.one($.support.transition.end, function () {
1882
- $next.removeClass([type, direction].join(' ')).addClass('active')
1883
- $active.removeClass(['active', direction].join(' '))
1884
- that.sliding = false
1885
- setTimeout(function () { that.$element.trigger('slid') }, 0)
1886
- })
1887
- } else {
1888
- this.$element.trigger(e)
1889
- if (e.isDefaultPrevented()) return
1890
- $active.removeClass('active')
1891
- $next.addClass('active')
1892
- this.sliding = false
1893
- this.$element.trigger('slid')
1894
- }
1895
-
1896
- isCycling && this.cycle()
1897
-
1898
- return this
1899
- }
1900
-
1901
- }
1902
-
1903
-
1904
- /* CAROUSEL PLUGIN DEFINITION
1905
- * ========================== */
1906
-
1907
- var old = $.fn.carousel
1908
-
1909
- $.fn.carousel = function (option) {
1910
- return this.each(function () {
1911
- var $this = $(this)
1912
- , data = $this.data('carousel')
1913
- , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
1914
- , action = typeof option == 'string' ? option : options.slide
1915
- if (!data) $this.data('carousel', (data = new Carousel(this, options)))
1916
- if (typeof option == 'number') data.to(option)
1917
- else if (action) data[action]()
1918
- else if (options.interval) data.pause().cycle()
1919
- })
1920
- }
1921
-
1922
- $.fn.carousel.defaults = {
1923
- interval: 5000
1924
- , pause: 'hover'
1925
- }
1926
-
1927
- $.fn.carousel.Constructor = Carousel
1928
-
1929
-
1930
- /* CAROUSEL NO CONFLICT
1931
- * ==================== */
1932
-
1933
- $.fn.carousel.noConflict = function () {
1934
- $.fn.carousel = old
1935
- return this
1936
- }
1937
-
1938
- /* CAROUSEL DATA-API
1939
- * ================= */
1940
-
1941
- $(document).on('click.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
1942
- var $this = $(this), href
1943
- , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
1944
- , options = $.extend({}, $target.data(), $this.data())
1945
- , slideIndex
1946
-
1947
- $target.carousel(options)
1948
-
1949
- if (slideIndex = $this.attr('data-slide-to')) {
1950
- $target.data('carousel').pause().to(slideIndex).cycle()
1951
- }
1952
-
1953
- e.preventDefault()
1954
- })
1955
-
1956
- }(window.jQuery);
1957
- /* =============================================================
1958
- * bootstrap-typeahead.js v2.3.2
1959
- * http://twitter.github.com/bootstrap/javascript.html#typeahead
1960
- * =============================================================
1961
- * Copyright 2012 Twitter, Inc.
1962
- *
1963
- * Licensed under the Apache License, Version 2.0 (the "License");
1964
- * you may not use this file except in compliance with the License.
1965
- * You may obtain a copy of the License at
1966
- *
1967
- * http://www.apache.org/licenses/LICENSE-2.0
1968
- *
1969
- * Unless required by applicable law or agreed to in writing, software
1970
- * distributed under the License is distributed on an "AS IS" BASIS,
1971
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1972
- * See the License for the specific language governing permissions and
1973
- * limitations under the License.
1974
- * ============================================================ */
1975
-
1976
-
1977
- !function($){
1978
-
1979
- "use strict"; // jshint ;_;
1980
-
1981
-
1982
- /* TYPEAHEAD PUBLIC CLASS DEFINITION
1983
- * ================================= */
1984
-
1985
- var Typeahead = function (element, options) {
1986
- this.$element = $(element)
1987
- this.options = $.extend({}, $.fn.typeahead.defaults, options)
1988
- this.matcher = this.options.matcher || this.matcher
1989
- this.sorter = this.options.sorter || this.sorter
1990
- this.highlighter = this.options.highlighter || this.highlighter
1991
- this.updater = this.options.updater || this.updater
1992
- this.source = this.options.source
1993
- this.$menu = $(this.options.menu)
1994
- this.shown = false
1995
- this.listen()
1996
- }
1997
-
1998
- Typeahead.prototype = {
1999
-
2000
- constructor: Typeahead
2001
-
2002
- , select: function () {
2003
- var val = this.$menu.find('.active').attr('data-value')
2004
- this.$element
2005
- .val(this.updater(val))
2006
- .change()
2007
- return this.hide()
2008
- }
2009
-
2010
- , updater: function (item) {
2011
- return item
2012
- }
2013
-
2014
- , show: function () {
2015
- var pos = $.extend({}, this.$element.position(), {
2016
- height: this.$element[0].offsetHeight
2017
- })
2018
-
2019
- this.$menu
2020
- .insertAfter(this.$element)
2021
- .css({
2022
- top: pos.top + pos.height
2023
- , left: pos.left
2024
- })
2025
- .show()
2026
-
2027
- this.shown = true
2028
- return this
2029
- }
2030
-
2031
- , hide: function () {
2032
- this.$menu.hide()
2033
- this.shown = false
2034
- return this
2035
- }
2036
-
2037
- , lookup: function (event) {
2038
- var items
2039
-
2040
- this.query = this.$element.val()
2041
-
2042
- if (!this.query || this.query.length < this.options.minLength) {
2043
- return this.shown ? this.hide() : this
2044
- }
2045
-
2046
- items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
2047
-
2048
- return items ? this.process(items) : this
2049
- }
2050
-
2051
- , process: function (items) {
2052
- var that = this
2053
-
2054
- items = $.grep(items, function (item) {
2055
- return that.matcher(item)
2056
- })
2057
-
2058
- items = this.sorter(items)
2059
-
2060
- if (!items.length) {
2061
- return this.shown ? this.hide() : this
2062
- }
2063
-
2064
- return this.render(items.slice(0, this.options.items)).show()
2065
- }
2066
-
2067
- , matcher: function (item) {
2068
- return ~item.toLowerCase().indexOf(this.query.toLowerCase())
2069
- }
2070
-
2071
- , sorter: function (items) {
2072
- var beginswith = []
2073
- , caseSensitive = []
2074
- , caseInsensitive = []
2075
- , item
2076
-
2077
- while (item = items.shift()) {
2078
- if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
2079
- else if (~item.indexOf(this.query)) caseSensitive.push(item)
2080
- else caseInsensitive.push(item)
2081
- }
2082
-
2083
- return beginswith.concat(caseSensitive, caseInsensitive)
2084
- }
2085
-
2086
- , highlighter: function (item) {
2087
- var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
2088
- return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
2089
- return '<strong>' + match + '</strong>'
2090
- })
2091
- }
2092
-
2093
- , render: function (items) {
2094
- var that = this
2095
-
2096
- items = $(items).map(function (i, item) {
2097
- i = $(that.options.item).attr('data-value', item)
2098
- i.find('a').html(that.highlighter(item))
2099
- return i[0]
2100
- })
2101
-
2102
- items.first().addClass('active')
2103
- this.$menu.html(items)
2104
- return this
2105
- }
2106
-
2107
- , next: function (event) {
2108
- var active = this.$menu.find('.active').removeClass('active')
2109
- , next = active.next()
2110
-
2111
- if (!next.length) {
2112
- next = $(this.$menu.find('li')[0])
2113
- }
2114
-
2115
- next.addClass('active')
2116
- }
2117
-
2118
- , prev: function (event) {
2119
- var active = this.$menu.find('.active').removeClass('active')
2120
- , prev = active.prev()
2121
-
2122
- if (!prev.length) {
2123
- prev = this.$menu.find('li').last()
2124
- }
2125
-
2126
- prev.addClass('active')
2127
- }
2128
-
2129
- , listen: function () {
2130
- this.$element
2131
- .on('focus', $.proxy(this.focus, this))
2132
- .on('blur', $.proxy(this.blur, this))
2133
- .on('keypress', $.proxy(this.keypress, this))
2134
- .on('keyup', $.proxy(this.keyup, this))
2135
-
2136
- if (this.eventSupported('keydown')) {
2137
- this.$element.on('keydown', $.proxy(this.keydown, this))
2138
- }
2139
-
2140
- this.$menu
2141
- .on('click', $.proxy(this.click, this))
2142
- .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
2143
- .on('mouseleave', 'li', $.proxy(this.mouseleave, this))
2144
- }
2145
-
2146
- , eventSupported: function(eventName) {
2147
- var isSupported = eventName in this.$element
2148
- if (!isSupported) {
2149
- this.$element.setAttribute(eventName, 'return;')
2150
- isSupported = typeof this.$element[eventName] === 'function'
2151
- }
2152
- return isSupported
2153
- }
2154
-
2155
- , move: function (e) {
2156
- if (!this.shown) return
2157
-
2158
- switch(e.keyCode) {
2159
- case 9: // tab
2160
- case 13: // enter
2161
- case 27: // escape
2162
- e.preventDefault()
2163
- break
2164
-
2165
- case 38: // up arrow
2166
- e.preventDefault()
2167
- this.prev()
2168
- break
2169
-
2170
- case 40: // down arrow
2171
- e.preventDefault()
2172
- this.next()
2173
- break
2174
- }
2175
-
2176
- e.stopPropagation()
2177
- }
2178
-
2179
- , keydown: function (e) {
2180
- this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
2181
- this.move(e)
2182
- }
2183
-
2184
- , keypress: function (e) {
2185
- if (this.suppressKeyPressRepeat) return
2186
- this.move(e)
2187
- }
2188
-
2189
- , keyup: function (e) {
2190
- switch(e.keyCode) {
2191
- case 40: // down arrow
2192
- case 38: // up arrow
2193
- case 16: // shift
2194
- case 17: // ctrl
2195
- case 18: // alt
2196
- break
2197
-
2198
- case 9: // tab
2199
- case 13: // enter
2200
- if (!this.shown) return
2201
- this.select()
2202
- break
2203
-
2204
- case 27: // escape
2205
- if (!this.shown) return
2206
- this.hide()
2207
- break
2208
-
2209
- default:
2210
- this.lookup()
2211
- }
2212
-
2213
- e.stopPropagation()
2214
- e.preventDefault()
2215
- }
2216
-
2217
- , focus: function (e) {
2218
- this.focused = true
2219
- }
2220
-
2221
- , blur: function (e) {
2222
- this.focused = false
2223
- if (!this.mousedover && this.shown) this.hide()
2224
- }
2225
-
2226
- , click: function (e) {
2227
- e.stopPropagation()
2228
- e.preventDefault()
2229
- this.select()
2230
- this.$element.focus()
2231
- }
2232
-
2233
- , mouseenter: function (e) {
2234
- this.mousedover = true
2235
- this.$menu.find('.active').removeClass('active')
2236
- $(e.currentTarget).addClass('active')
2237
- }
2238
-
2239
- , mouseleave: function (e) {
2240
- this.mousedover = false
2241
- if (!this.focused && this.shown) this.hide()
2242
- }
2243
-
2244
- }
2245
-
2246
-
2247
- /* TYPEAHEAD PLUGIN DEFINITION
2248
- * =========================== */
2249
-
2250
- var old = $.fn.typeahead
2251
-
2252
- $.fn.typeahead = function (option) {
2253
- return this.each(function () {
2254
- var $this = $(this)
2255
- , data = $this.data('typeahead')
2256
- , options = typeof option == 'object' && option
2257
- if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
2258
- if (typeof option == 'string') data[option]()
2259
- })
2260
- }
2261
-
2262
- $.fn.typeahead.defaults = {
2263
- source: []
2264
- , items: 8
2265
- , menu: '<ul class="typeahead dropdown-menu"></ul>'
2266
- , item: '<li><a href="#"></a></li>'
2267
- , minLength: 1
2268
- }
2269
-
2270
- $.fn.typeahead.Constructor = Typeahead
2271
-
2272
-
2273
- /* TYPEAHEAD NO CONFLICT
2274
- * =================== */
2275
-
2276
- $.fn.typeahead.noConflict = function () {
2277
- $.fn.typeahead = old
2278
- return this
2279
- }
2280
-
2281
-
2282
- /* TYPEAHEAD DATA-API
2283
- * ================== */
2284
-
2285
- $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
2286
- var $this = $(this)
2287
- if ($this.data('typeahead')) return
2288
- $this.typeahead($this.data())
2289
- })
2290
-
2291
- }(window.jQuery);