praxis 0.19.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (266) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -0
  3. data/CHANGELOG.md +16 -0
  4. data/lib/api_browser/Gruntfile.js +125 -16
  5. data/lib/api_browser/app/index.html +5 -1
  6. data/lib/api_browser/app/js/directives/fixed_if_fits.js +28 -17
  7. data/lib/api_browser/app/js/directives/highlight.js +14 -0
  8. data/lib/api_browser/app/js/directives/request_examples.js +29 -0
  9. data/lib/api_browser/app/js/factories/Documentation.js +6 -0
  10. data/lib/api_browser/app/js/factories/Example.js +47 -0
  11. data/lib/api_browser/app/js/factories/prepare_template.js +15 -0
  12. data/lib/api_browser/app/js/factories/template_for.js +2 -12
  13. data/lib/api_browser/app/sass/modules/_sidebar.scss +2 -0
  14. data/lib/api_browser/app/views/action.html +6 -24
  15. data/lib/api_browser/app/views/examples/general.html +26 -0
  16. data/lib/api_browser/{bower.json → bower_template.json} +13 -3
  17. data/lib/api_browser/package.json +3 -1
  18. data/lib/praxis/application.rb +2 -0
  19. data/lib/praxis/docs/generator.rb +4 -2
  20. data/lib/praxis/extensions/field_selection/field_selector.rb +1 -0
  21. data/lib/praxis/media_type.rb +1 -1
  22. data/lib/praxis/plugin.rb +4 -0
  23. data/lib/praxis/plugin_concern.rb +2 -1
  24. data/lib/praxis/tasks/api_docs.rb +9 -2
  25. data/lib/praxis/version.rb +1 -1
  26. data/praxis.gemspec +2 -2
  27. data/spec/praxis/action_definition_spec.rb +26 -1
  28. data/spec/praxis/extensions/field_selection/field_selector_spec.rb +4 -0
  29. data/spec/praxis/media_type_spec.rb +4 -3
  30. data/spec/support/spec_media_types.rb +5 -1
  31. metadata +12 -242
  32. data/lib/api_browser/app/bower_components/angular-mocks/.bower.json +0 -19
  33. data/lib/api_browser/app/bower_components/angular-mocks/README.md +0 -63
  34. data/lib/api_browser/app/bower_components/angular-mocks/angular-mocks.js +0 -2452
  35. data/lib/api_browser/app/bower_components/angular-mocks/bower.json +0 -9
  36. data/lib/api_browser/app/bower_components/angular-mocks/ngAnimateMock.js +0 -2
  37. data/lib/api_browser/app/bower_components/angular-mocks/ngMock.js +0 -2
  38. data/lib/api_browser/app/bower_components/angular-mocks/ngMockE2E.js +0 -2
  39. data/lib/api_browser/app/bower_components/angular-mocks/package.json +0 -27
  40. data/lib/api_browser/app/bower_components/angular-sanitize/.bower.json +0 -19
  41. data/lib/api_browser/app/bower_components/angular-sanitize/README.md +0 -68
  42. data/lib/api_browser/app/bower_components/angular-sanitize/angular-sanitize.js +0 -683
  43. data/lib/api_browser/app/bower_components/angular-sanitize/angular-sanitize.min.js +0 -16
  44. data/lib/api_browser/app/bower_components/angular-sanitize/angular-sanitize.min.js.map +0 -8
  45. data/lib/api_browser/app/bower_components/angular-sanitize/bower.json +0 -9
  46. data/lib/api_browser/app/bower_components/angular-sanitize/index.js +0 -2
  47. data/lib/api_browser/app/bower_components/angular-sanitize/package.json +0 -26
  48. data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/.bower.json +0 -31
  49. data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/bower.json +0 -19
  50. data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/ui-bootstrap-csp.css +0 -6
  51. data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/ui-bootstrap-tpls.js +0 -4840
  52. data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/ui-bootstrap-tpls.min.js +0 -10
  53. data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/ui-bootstrap.js +0 -4461
  54. data/lib/api_browser/app/bower_components/angular-ui-bootstrap-bower/ui-bootstrap.min.js +0 -9
  55. data/lib/api_browser/app/bower_components/angular-ui-router/.bower.json +0 -33
  56. data/lib/api_browser/app/bower_components/angular-ui-router/CHANGELOG.md +0 -228
  57. data/lib/api_browser/app/bower_components/angular-ui-router/CONTRIBUTING.md +0 -65
  58. data/lib/api_browser/app/bower_components/angular-ui-router/LICENSE +0 -21
  59. data/lib/api_browser/app/bower_components/angular-ui-router/README.md +0 -245
  60. data/lib/api_browser/app/bower_components/angular-ui-router/api/angular-ui-router.d.ts +0 -126
  61. data/lib/api_browser/app/bower_components/angular-ui-router/bower.json +0 -23
  62. data/lib/api_browser/app/bower_components/angular-ui-router/release/angular-ui-router.js +0 -4370
  63. data/lib/api_browser/app/bower_components/angular-ui-router/release/angular-ui-router.min.js +0 -7
  64. data/lib/api_browser/app/bower_components/angular-ui-router/src/common.js +0 -292
  65. data/lib/api_browser/app/bower_components/angular-ui-router/src/resolve.js +0 -252
  66. data/lib/api_browser/app/bower_components/angular-ui-router/src/state.js +0 -1465
  67. data/lib/api_browser/app/bower_components/angular-ui-router/src/stateDirectives.js +0 -285
  68. data/lib/api_browser/app/bower_components/angular-ui-router/src/stateFilters.js +0 -39
  69. data/lib/api_browser/app/bower_components/angular-ui-router/src/templateFactory.js +0 -110
  70. data/lib/api_browser/app/bower_components/angular-ui-router/src/urlMatcherFactory.js +0 -1050
  71. data/lib/api_browser/app/bower_components/angular-ui-router/src/urlRouter.js +0 -427
  72. data/lib/api_browser/app/bower_components/angular-ui-router/src/view.js +0 -71
  73. data/lib/api_browser/app/bower_components/angular-ui-router/src/viewDirective.js +0 -303
  74. data/lib/api_browser/app/bower_components/angular-ui-router/src/viewScroll.js +0 -52
  75. data/lib/api_browser/app/bower_components/angular/.bower.json +0 -17
  76. data/lib/api_browser/app/bower_components/angular/README.md +0 -64
  77. data/lib/api_browser/app/bower_components/angular/angular-csp.css +0 -21
  78. data/lib/api_browser/app/bower_components/angular/angular.js +0 -28133
  79. data/lib/api_browser/app/bower_components/angular/angular.min.js +0 -289
  80. data/lib/api_browser/app/bower_components/angular/angular.min.js.gzip +0 -0
  81. data/lib/api_browser/app/bower_components/angular/angular.min.js.map +0 -8
  82. data/lib/api_browser/app/bower_components/angular/bower.json +0 -8
  83. data/lib/api_browser/app/bower_components/angular/index.js +0 -2
  84. data/lib/api_browser/app/bower_components/angular/package.json +0 -25
  85. data/lib/api_browser/app/bower_components/bootstrap-sass/.bower.json +0 -41
  86. data/lib/api_browser/app/bower_components/bootstrap-sass/CHANGELOG.md +0 -108
  87. data/lib/api_browser/app/bower_components/bootstrap-sass/CONTRIBUTING.md +0 -79
  88. data/lib/api_browser/app/bower_components/bootstrap-sass/README.md +0 -218
  89. data/lib/api_browser/app/bower_components/bootstrap-sass/bower.json +0 -22
  90. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  91. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.svg +0 -229
  92. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  93. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  94. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap.js +0 -12
  95. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/affix.js +0 -126
  96. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/alert.js +0 -98
  97. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/button.js +0 -115
  98. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/carousel.js +0 -217
  99. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/collapse.js +0 -179
  100. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/dropdown.js +0 -154
  101. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/modal.js +0 -246
  102. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/popover.js +0 -117
  103. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/scrollspy.js +0 -158
  104. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/tab.js +0 -135
  105. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/tooltip.js +0 -386
  106. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/javascripts/bootstrap/transition.js +0 -56
  107. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap.scss +0 -1
  108. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_alerts.scss +0 -67
  109. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_badges.scss +0 -51
  110. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss +0 -23
  111. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_button-groups.scss +0 -227
  112. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_buttons.scss +0 -155
  113. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_carousel.scss +0 -232
  114. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_close.scss +0 -35
  115. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_code.scss +0 -53
  116. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_component-animations.scss +0 -29
  117. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_dropdowns.scss +0 -188
  118. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_forms.scss +0 -374
  119. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_glyphicons.scss +0 -237
  120. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_grid.scss +0 -79
  121. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_input-groups.scss +0 -136
  122. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_jumbotron.scss +0 -46
  123. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_labels.scss +0 -64
  124. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_list-group.scss +0 -88
  125. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_media.scss +0 -56
  126. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_mixins.scss +0 -848
  127. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_modals.scss +0 -129
  128. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_navbar.scss +0 -616
  129. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_navs.scss +0 -242
  130. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_normalize.scss +0 -406
  131. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_pager.scss +0 -55
  132. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_pagination.scss +0 -85
  133. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_panels.scss +0 -182
  134. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_popovers.scss +0 -133
  135. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_print.scss +0 -105
  136. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_progress-bars.scss +0 -80
  137. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss +0 -198
  138. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_scaffolding.scss +0 -119
  139. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_tables.scss +0 -231
  140. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_theme.scss +0 -247
  141. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_thumbnails.scss +0 -38
  142. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_tooltip.scss +0 -95
  143. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_type.scss +0 -281
  144. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_utilities.scss +0 -56
  145. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_variables.scss +0 -646
  146. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/_wells.scss +0 -29
  147. data/lib/api_browser/app/bower_components/bootstrap-sass/vendor/assets/stylesheets/bootstrap/bootstrap.scss +0 -49
  148. data/lib/api_browser/app/bower_components/jquery/.bower.json +0 -38
  149. data/lib/api_browser/app/bower_components/jquery/MIT-LICENSE.txt +0 -21
  150. data/lib/api_browser/app/bower_components/jquery/bower.json +0 -27
  151. data/lib/api_browser/app/bower_components/jquery/dist/jquery.js +0 -9190
  152. data/lib/api_browser/app/bower_components/jquery/dist/jquery.min.js +0 -5
  153. data/lib/api_browser/app/bower_components/jquery/dist/jquery.min.map +0 -1
  154. data/lib/api_browser/app/bower_components/jquery/src/ajax.js +0 -806
  155. data/lib/api_browser/app/bower_components/jquery/src/ajax/jsonp.js +0 -89
  156. data/lib/api_browser/app/bower_components/jquery/src/ajax/load.js +0 -75
  157. data/lib/api_browser/app/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  158. data/lib/api_browser/app/bower_components/jquery/src/ajax/parseXML.js +0 -28
  159. data/lib/api_browser/app/bower_components/jquery/src/ajax/script.js +0 -64
  160. data/lib/api_browser/app/bower_components/jquery/src/ajax/var/nonce.js +0 -5
  161. data/lib/api_browser/app/bower_components/jquery/src/ajax/var/rquery.js +0 -3
  162. data/lib/api_browser/app/bower_components/jquery/src/ajax/xhr.js +0 -135
  163. data/lib/api_browser/app/bower_components/jquery/src/attributes.js +0 -11
  164. data/lib/api_browser/app/bower_components/jquery/src/attributes/attr.js +0 -143
  165. data/lib/api_browser/app/bower_components/jquery/src/attributes/classes.js +0 -158
  166. data/lib/api_browser/app/bower_components/jquery/src/attributes/prop.js +0 -96
  167. data/lib/api_browser/app/bower_components/jquery/src/attributes/support.js +0 -35
  168. data/lib/api_browser/app/bower_components/jquery/src/attributes/val.js +0 -163
  169. data/lib/api_browser/app/bower_components/jquery/src/callbacks.js +0 -205
  170. data/lib/api_browser/app/bower_components/jquery/src/core.js +0 -498
  171. data/lib/api_browser/app/bower_components/jquery/src/core/access.js +0 -60
  172. data/lib/api_browser/app/bower_components/jquery/src/core/init.js +0 -123
  173. data/lib/api_browser/app/bower_components/jquery/src/core/parseHTML.js +0 -39
  174. data/lib/api_browser/app/bower_components/jquery/src/core/ready.js +0 -97
  175. data/lib/api_browser/app/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
  176. data/lib/api_browser/app/bower_components/jquery/src/css.js +0 -451
  177. data/lib/api_browser/app/bower_components/jquery/src/css/addGetHookIf.js +0 -24
  178. data/lib/api_browser/app/bower_components/jquery/src/css/curCSS.js +0 -57
  179. data/lib/api_browser/app/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  180. data/lib/api_browser/app/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  181. data/lib/api_browser/app/bower_components/jquery/src/css/support.js +0 -91
  182. data/lib/api_browser/app/bower_components/jquery/src/css/swap.js +0 -28
  183. data/lib/api_browser/app/bower_components/jquery/src/css/var/cssExpand.js +0 -3
  184. data/lib/api_browser/app/bower_components/jquery/src/css/var/getStyles.js +0 -5
  185. data/lib/api_browser/app/bower_components/jquery/src/css/var/isHidden.js +0 -13
  186. data/lib/api_browser/app/bower_components/jquery/src/css/var/rmargin.js +0 -3
  187. data/lib/api_browser/app/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
  188. data/lib/api_browser/app/bower_components/jquery/src/data.js +0 -179
  189. data/lib/api_browser/app/bower_components/jquery/src/data/Data.js +0 -181
  190. data/lib/api_browser/app/bower_components/jquery/src/data/accepts.js +0 -20
  191. data/lib/api_browser/app/bower_components/jquery/src/data/var/data_priv.js +0 -5
  192. data/lib/api_browser/app/bower_components/jquery/src/data/var/data_user.js +0 -5
  193. data/lib/api_browser/app/bower_components/jquery/src/deferred.js +0 -149
  194. data/lib/api_browser/app/bower_components/jquery/src/deprecated.js +0 -13
  195. data/lib/api_browser/app/bower_components/jquery/src/dimensions.js +0 -50
  196. data/lib/api_browser/app/bower_components/jquery/src/effects.js +0 -649
  197. data/lib/api_browser/app/bower_components/jquery/src/effects/Tween.js +0 -114
  198. data/lib/api_browser/app/bower_components/jquery/src/effects/animatedSelector.js +0 -13
  199. data/lib/api_browser/app/bower_components/jquery/src/event.js +0 -868
  200. data/lib/api_browser/app/bower_components/jquery/src/event/alias.js +0 -39
  201. data/lib/api_browser/app/bower_components/jquery/src/event/support.js +0 -9
  202. data/lib/api_browser/app/bower_components/jquery/src/exports/amd.js +0 -24
  203. data/lib/api_browser/app/bower_components/jquery/src/exports/global.js +0 -32
  204. data/lib/api_browser/app/bower_components/jquery/src/intro.js +0 -44
  205. data/lib/api_browser/app/bower_components/jquery/src/jquery.js +0 -36
  206. data/lib/api_browser/app/bower_components/jquery/src/manipulation.js +0 -582
  207. data/lib/api_browser/app/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
  208. data/lib/api_browser/app/bower_components/jquery/src/manipulation/support.js +0 -31
  209. data/lib/api_browser/app/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
  210. data/lib/api_browser/app/bower_components/jquery/src/offset.js +0 -204
  211. data/lib/api_browser/app/bower_components/jquery/src/outro.js +0 -1
  212. data/lib/api_browser/app/bower_components/jquery/src/queue.js +0 -142
  213. data/lib/api_browser/app/bower_components/jquery/src/queue/delay.js +0 -22
  214. data/lib/api_browser/app/bower_components/jquery/src/selector-native.js +0 -172
  215. data/lib/api_browser/app/bower_components/jquery/src/selector-sizzle.js +0 -14
  216. data/lib/api_browser/app/bower_components/jquery/src/selector.js +0 -1
  217. data/lib/api_browser/app/bower_components/jquery/src/serialize.js +0 -111
  218. data/lib/api_browser/app/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2044
  219. data/lib/api_browser/app/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  220. data/lib/api_browser/app/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  221. data/lib/api_browser/app/bower_components/jquery/src/traversing.js +0 -200
  222. data/lib/api_browser/app/bower_components/jquery/src/traversing/findFilter.js +0 -100
  223. data/lib/api_browser/app/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
  224. data/lib/api_browser/app/bower_components/jquery/src/var/arr.js +0 -3
  225. data/lib/api_browser/app/bower_components/jquery/src/var/class2type.js +0 -4
  226. data/lib/api_browser/app/bower_components/jquery/src/var/concat.js +0 -5
  227. data/lib/api_browser/app/bower_components/jquery/src/var/hasOwn.js +0 -5
  228. data/lib/api_browser/app/bower_components/jquery/src/var/indexOf.js +0 -5
  229. data/lib/api_browser/app/bower_components/jquery/src/var/pnum.js +0 -3
  230. data/lib/api_browser/app/bower_components/jquery/src/var/push.js +0 -5
  231. data/lib/api_browser/app/bower_components/jquery/src/var/rnotwhite.js +0 -3
  232. data/lib/api_browser/app/bower_components/jquery/src/var/slice.js +0 -5
  233. data/lib/api_browser/app/bower_components/jquery/src/var/strundefined.js +0 -3
  234. data/lib/api_browser/app/bower_components/jquery/src/var/support.js +0 -4
  235. data/lib/api_browser/app/bower_components/jquery/src/var/toString.js +0 -5
  236. data/lib/api_browser/app/bower_components/jquery/src/wrap.js +0 -78
  237. data/lib/api_browser/app/bower_components/lodash/.bower.json +0 -30
  238. data/lib/api_browser/app/bower_components/lodash/LICENSE.txt +0 -22
  239. data/lib/api_browser/app/bower_components/lodash/bower.json +0 -20
  240. data/lib/api_browser/app/bower_components/lodash/lodash.js +0 -12235
  241. data/lib/api_browser/app/bower_components/lodash/lodash.min.js +0 -98
  242. data/lib/api_browser/app/bower_components/showdown/.bower.json +0 -39
  243. data/lib/api_browser/app/bower_components/showdown/.jshintignore +0 -2
  244. data/lib/api_browser/app/bower_components/showdown/.travis.yml +0 -8
  245. data/lib/api_browser/app/bower_components/showdown/Gruntfile.js +0 -100
  246. data/lib/api_browser/app/bower_components/showdown/README.md +0 -317
  247. data/lib/api_browser/app/bower_components/showdown/bower.json +0 -26
  248. data/lib/api_browser/app/bower_components/showdown/compressed/Showdown.js +0 -1606
  249. data/lib/api_browser/app/bower_components/showdown/compressed/Showdown.js.map +0 -1
  250. data/lib/api_browser/app/bower_components/showdown/compressed/Showdown.min.js +0 -2
  251. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/github.min.js +0 -2
  252. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/github.min.js.map +0 -1
  253. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/prettify.min.js +0 -2
  254. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/prettify.min.js.map +0 -1
  255. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/table.min.js +0 -2
  256. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/table.min.js.map +0 -1
  257. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/twitter.min.js +0 -2
  258. data/lib/api_browser/app/bower_components/showdown/compressed/extensions/twitter.min.js.map +0 -1
  259. data/lib/api_browser/app/bower_components/showdown/license.txt +0 -34
  260. data/lib/api_browser/app/bower_components/showdown/package.json +0 -47
  261. data/lib/api_browser/app/bower_components/showdown/src/extensions/github.js +0 -25
  262. data/lib/api_browser/app/bower_components/showdown/src/extensions/prettify.js +0 -29
  263. data/lib/api_browser/app/bower_components/showdown/src/extensions/table.js +0 -106
  264. data/lib/api_browser/app/bower_components/showdown/src/extensions/twitter.js +0 -42
  265. data/lib/api_browser/app/bower_components/showdown/src/ng-showdown.js +0 -150
  266. data/lib/api_browser/app/bower_components/showdown/src/showdown.js +0 -1454
@@ -1,117 +0,0 @@
1
- /* ========================================================================
2
- * Bootstrap: popover.js v3.0.3
3
- * http://getbootstrap.com/javascript/#popovers
4
- * ========================================================================
5
- * Copyright 2013 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 ($) { "use strict";
22
-
23
- // POPOVER PUBLIC CLASS DEFINITION
24
- // ===============================
25
-
26
- var Popover = function (element, options) {
27
- this.init('popover', element, options)
28
- }
29
-
30
- if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
31
-
32
- Popover.DEFAULTS = $.extend({} , $.fn.tooltip.Constructor.DEFAULTS, {
33
- placement: 'right'
34
- , trigger: 'click'
35
- , content: ''
36
- , template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
37
- })
38
-
39
-
40
- // NOTE: POPOVER EXTENDS tooltip.js
41
- // ================================
42
-
43
- Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
44
-
45
- Popover.prototype.constructor = Popover
46
-
47
- Popover.prototype.getDefaults = function () {
48
- return Popover.DEFAULTS
49
- }
50
-
51
- Popover.prototype.setContent = function () {
52
- var $tip = this.tip()
53
- var title = this.getTitle()
54
- var content = this.getContent()
55
-
56
- $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
57
- $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
58
-
59
- $tip.removeClass('fade top bottom left right in')
60
-
61
- // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
62
- // this manually by checking the contents.
63
- if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
64
- }
65
-
66
- Popover.prototype.hasContent = function () {
67
- return this.getTitle() || this.getContent()
68
- }
69
-
70
- Popover.prototype.getContent = function () {
71
- var $e = this.$element
72
- var o = this.options
73
-
74
- return $e.attr('data-content')
75
- || (typeof o.content == 'function' ?
76
- o.content.call($e[0]) :
77
- o.content)
78
- }
79
-
80
- Popover.prototype.arrow = function () {
81
- return this.$arrow = this.$arrow || this.tip().find('.arrow')
82
- }
83
-
84
- Popover.prototype.tip = function () {
85
- if (!this.$tip) this.$tip = $(this.options.template)
86
- return this.$tip
87
- }
88
-
89
-
90
- // POPOVER PLUGIN DEFINITION
91
- // =========================
92
-
93
- var old = $.fn.popover
94
-
95
- $.fn.popover = function (option) {
96
- return this.each(function () {
97
- var $this = $(this)
98
- var data = $this.data('bs.popover')
99
- var options = typeof option == 'object' && option
100
-
101
- if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
102
- if (typeof option == 'string') data[option]()
103
- })
104
- }
105
-
106
- $.fn.popover.Constructor = Popover
107
-
108
-
109
- // POPOVER NO CONFLICT
110
- // ===================
111
-
112
- $.fn.popover.noConflict = function () {
113
- $.fn.popover = old
114
- return this
115
- }
116
-
117
- }(jQuery);
@@ -1,158 +0,0 @@
1
- /* ========================================================================
2
- * Bootstrap: scrollspy.js v3.0.3
3
- * http://getbootstrap.com/javascript/#scrollspy
4
- * ========================================================================
5
- * Copyright 2013 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 ($) { "use strict";
22
-
23
- // SCROLLSPY CLASS DEFINITION
24
- // ==========================
25
-
26
- function ScrollSpy(element, options) {
27
- var href
28
- var process = $.proxy(this.process, this)
29
-
30
- this.$element = $(element).is('body') ? $(window) : $(element)
31
- this.$body = $('body')
32
- this.$scrollElement = this.$element.on('scroll.bs.scroll-spy.data-api', process)
33
- this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
34
- this.selector = (this.options.target
35
- || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
36
- || '') + ' .nav li > a'
37
- this.offsets = $([])
38
- this.targets = $([])
39
- this.activeTarget = null
40
-
41
- this.refresh()
42
- this.process()
43
- }
44
-
45
- ScrollSpy.DEFAULTS = {
46
- offset: 10
47
- }
48
-
49
- ScrollSpy.prototype.refresh = function () {
50
- var offsetMethod = this.$element[0] == window ? 'offset' : 'position'
51
-
52
- this.offsets = $([])
53
- this.targets = $([])
54
-
55
- var self = this
56
- var $targets = this.$body
57
- .find(this.selector)
58
- .map(function () {
59
- var $el = $(this)
60
- var href = $el.data('target') || $el.attr('href')
61
- var $href = /^#\w/.test(href) && $(href)
62
-
63
- return ($href
64
- && $href.length
65
- && [[ $href[offsetMethod]().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href ]]) || null
66
- })
67
- .sort(function (a, b) { return a[0] - b[0] })
68
- .each(function () {
69
- self.offsets.push(this[0])
70
- self.targets.push(this[1])
71
- })
72
- }
73
-
74
- ScrollSpy.prototype.process = function () {
75
- var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
76
- var scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
77
- var maxScroll = scrollHeight - this.$scrollElement.height()
78
- var offsets = this.offsets
79
- var targets = this.targets
80
- var activeTarget = this.activeTarget
81
- var i
82
-
83
- if (scrollTop >= maxScroll) {
84
- return activeTarget != (i = targets.last()[0]) && this.activate(i)
85
- }
86
-
87
- for (i = offsets.length; i--;) {
88
- activeTarget != targets[i]
89
- && scrollTop >= offsets[i]
90
- && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
91
- && this.activate( targets[i] )
92
- }
93
- }
94
-
95
- ScrollSpy.prototype.activate = function (target) {
96
- this.activeTarget = target
97
-
98
- $(this.selector)
99
- .parents('.active')
100
- .removeClass('active')
101
-
102
- var selector = this.selector
103
- + '[data-target="' + target + '"],'
104
- + this.selector + '[href="' + target + '"]'
105
-
106
- var active = $(selector)
107
- .parents('li')
108
- .addClass('active')
109
-
110
- if (active.parent('.dropdown-menu').length) {
111
- active = active
112
- .closest('li.dropdown')
113
- .addClass('active')
114
- }
115
-
116
- active.trigger('activate.bs.scrollspy')
117
- }
118
-
119
-
120
- // SCROLLSPY PLUGIN DEFINITION
121
- // ===========================
122
-
123
- var old = $.fn.scrollspy
124
-
125
- $.fn.scrollspy = function (option) {
126
- return this.each(function () {
127
- var $this = $(this)
128
- var data = $this.data('bs.scrollspy')
129
- var options = typeof option == 'object' && option
130
-
131
- if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
132
- if (typeof option == 'string') data[option]()
133
- })
134
- }
135
-
136
- $.fn.scrollspy.Constructor = ScrollSpy
137
-
138
-
139
- // SCROLLSPY NO CONFLICT
140
- // =====================
141
-
142
- $.fn.scrollspy.noConflict = function () {
143
- $.fn.scrollspy = old
144
- return this
145
- }
146
-
147
-
148
- // SCROLLSPY DATA-API
149
- // ==================
150
-
151
- $(window).on('load', function () {
152
- $('[data-spy="scroll"]').each(function () {
153
- var $spy = $(this)
154
- $spy.scrollspy($spy.data())
155
- })
156
- })
157
-
158
- }(jQuery);
@@ -1,135 +0,0 @@
1
- /* ========================================================================
2
- * Bootstrap: tab.js v3.0.3
3
- * http://getbootstrap.com/javascript/#tabs
4
- * ========================================================================
5
- * Copyright 2013 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 ($) { "use strict";
22
-
23
- // TAB CLASS DEFINITION
24
- // ====================
25
-
26
- var Tab = function (element) {
27
- this.element = $(element)
28
- }
29
-
30
- Tab.prototype.show = function () {
31
- var $this = this.element
32
- var $ul = $this.closest('ul:not(.dropdown-menu)')
33
- var selector = $this.data('target')
34
-
35
- if (!selector) {
36
- selector = $this.attr('href')
37
- selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
38
- }
39
-
40
- if ($this.parent('li').hasClass('active')) return
41
-
42
- var previous = $ul.find('.active:last a')[0]
43
- var e = $.Event('show.bs.tab', {
44
- relatedTarget: previous
45
- })
46
-
47
- $this.trigger(e)
48
-
49
- if (e.isDefaultPrevented()) return
50
-
51
- var $target = $(selector)
52
-
53
- this.activate($this.parent('li'), $ul)
54
- this.activate($target, $target.parent(), function () {
55
- $this.trigger({
56
- type: 'shown.bs.tab'
57
- , relatedTarget: previous
58
- })
59
- })
60
- }
61
-
62
- Tab.prototype.activate = function (element, container, callback) {
63
- var $active = container.find('> .active')
64
- var transition = callback
65
- && $.support.transition
66
- && $active.hasClass('fade')
67
-
68
- function next() {
69
- $active
70
- .removeClass('active')
71
- .find('> .dropdown-menu > .active')
72
- .removeClass('active')
73
-
74
- element.addClass('active')
75
-
76
- if (transition) {
77
- element[0].offsetWidth // reflow for transition
78
- element.addClass('in')
79
- } else {
80
- element.removeClass('fade')
81
- }
82
-
83
- if (element.parent('.dropdown-menu')) {
84
- element.closest('li.dropdown').addClass('active')
85
- }
86
-
87
- callback && callback()
88
- }
89
-
90
- transition ?
91
- $active
92
- .one($.support.transition.end, next)
93
- .emulateTransitionEnd(150) :
94
- next()
95
-
96
- $active.removeClass('in')
97
- }
98
-
99
-
100
- // TAB PLUGIN DEFINITION
101
- // =====================
102
-
103
- var old = $.fn.tab
104
-
105
- $.fn.tab = function ( option ) {
106
- return this.each(function () {
107
- var $this = $(this)
108
- var data = $this.data('bs.tab')
109
-
110
- if (!data) $this.data('bs.tab', (data = new Tab(this)))
111
- if (typeof option == 'string') data[option]()
112
- })
113
- }
114
-
115
- $.fn.tab.Constructor = Tab
116
-
117
-
118
- // TAB NO CONFLICT
119
- // ===============
120
-
121
- $.fn.tab.noConflict = function () {
122
- $.fn.tab = old
123
- return this
124
- }
125
-
126
-
127
- // TAB DATA-API
128
- // ============
129
-
130
- $(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
131
- e.preventDefault()
132
- $(this).tab('show')
133
- })
134
-
135
- }(jQuery);
@@ -1,386 +0,0 @@
1
- /* ========================================================================
2
- * Bootstrap: tooltip.js v3.0.3
3
- * http://getbootstrap.com/javascript/#tooltip
4
- * Inspired by the original jQuery.tipsy by Jason Frame
5
- * ========================================================================
6
- * Copyright 2013 Twitter, Inc.
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- * ======================================================================== */
20
-
21
-
22
- +function ($) { "use strict";
23
-
24
- // TOOLTIP PUBLIC CLASS DEFINITION
25
- // ===============================
26
-
27
- var Tooltip = function (element, options) {
28
- this.type =
29
- this.options =
30
- this.enabled =
31
- this.timeout =
32
- this.hoverState =
33
- this.$element = null
34
-
35
- this.init('tooltip', element, options)
36
- }
37
-
38
- Tooltip.DEFAULTS = {
39
- animation: true
40
- , placement: 'top'
41
- , selector: false
42
- , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
43
- , trigger: 'hover focus'
44
- , title: ''
45
- , delay: 0
46
- , html: false
47
- , container: false
48
- }
49
-
50
- Tooltip.prototype.init = function (type, element, options) {
51
- this.enabled = true
52
- this.type = type
53
- this.$element = $(element)
54
- this.options = this.getOptions(options)
55
-
56
- var triggers = this.options.trigger.split(' ')
57
-
58
- for (var i = triggers.length; i--;) {
59
- var trigger = triggers[i]
60
-
61
- if (trigger == 'click') {
62
- this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
63
- } else if (trigger != 'manual') {
64
- var eventIn = trigger == 'hover' ? 'mouseenter' : 'focus'
65
- var eventOut = trigger == 'hover' ? 'mouseleave' : 'blur'
66
-
67
- this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
68
- this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
69
- }
70
- }
71
-
72
- this.options.selector ?
73
- (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
74
- this.fixTitle()
75
- }
76
-
77
- Tooltip.prototype.getDefaults = function () {
78
- return Tooltip.DEFAULTS
79
- }
80
-
81
- Tooltip.prototype.getOptions = function (options) {
82
- options = $.extend({}, this.getDefaults(), this.$element.data(), options)
83
-
84
- if (options.delay && typeof options.delay == 'number') {
85
- options.delay = {
86
- show: options.delay
87
- , hide: options.delay
88
- }
89
- }
90
-
91
- return options
92
- }
93
-
94
- Tooltip.prototype.getDelegateOptions = function () {
95
- var options = {}
96
- var defaults = this.getDefaults()
97
-
98
- this._options && $.each(this._options, function (key, value) {
99
- if (defaults[key] != value) options[key] = value
100
- })
101
-
102
- return options
103
- }
104
-
105
- Tooltip.prototype.enter = function (obj) {
106
- var self = obj instanceof this.constructor ?
107
- obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
108
-
109
- clearTimeout(self.timeout)
110
-
111
- self.hoverState = 'in'
112
-
113
- if (!self.options.delay || !self.options.delay.show) return self.show()
114
-
115
- self.timeout = setTimeout(function () {
116
- if (self.hoverState == 'in') self.show()
117
- }, self.options.delay.show)
118
- }
119
-
120
- Tooltip.prototype.leave = function (obj) {
121
- var self = obj instanceof this.constructor ?
122
- obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
123
-
124
- clearTimeout(self.timeout)
125
-
126
- self.hoverState = 'out'
127
-
128
- if (!self.options.delay || !self.options.delay.hide) return self.hide()
129
-
130
- self.timeout = setTimeout(function () {
131
- if (self.hoverState == 'out') self.hide()
132
- }, self.options.delay.hide)
133
- }
134
-
135
- Tooltip.prototype.show = function () {
136
- var e = $.Event('show.bs.'+ this.type)
137
-
138
- if (this.hasContent() && this.enabled) {
139
- this.$element.trigger(e)
140
-
141
- if (e.isDefaultPrevented()) return
142
-
143
- var $tip = this.tip()
144
-
145
- this.setContent()
146
-
147
- if (this.options.animation) $tip.addClass('fade')
148
-
149
- var placement = typeof this.options.placement == 'function' ?
150
- this.options.placement.call(this, $tip[0], this.$element[0]) :
151
- this.options.placement
152
-
153
- var autoToken = /\s?auto?\s?/i
154
- var autoPlace = autoToken.test(placement)
155
- if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
156
-
157
- $tip
158
- .detach()
159
- .css({ top: 0, left: 0, display: 'block' })
160
- .addClass(placement)
161
-
162
- this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
163
-
164
- var pos = this.getPosition()
165
- var actualWidth = $tip[0].offsetWidth
166
- var actualHeight = $tip[0].offsetHeight
167
-
168
- if (autoPlace) {
169
- var $parent = this.$element.parent()
170
-
171
- var orgPlacement = placement
172
- var docScroll = document.documentElement.scrollTop || document.body.scrollTop
173
- var parentWidth = this.options.container == 'body' ? window.innerWidth : $parent.outerWidth()
174
- var parentHeight = this.options.container == 'body' ? window.innerHeight : $parent.outerHeight()
175
- var parentLeft = this.options.container == 'body' ? 0 : $parent.offset().left
176
-
177
- placement = placement == 'bottom' && pos.top + pos.height + actualHeight - docScroll > parentHeight ? 'top' :
178
- placement == 'top' && pos.top - docScroll - actualHeight < 0 ? 'bottom' :
179
- placement == 'right' && pos.right + actualWidth > parentWidth ? 'left' :
180
- placement == 'left' && pos.left - actualWidth < parentLeft ? 'right' :
181
- placement
182
-
183
- $tip
184
- .removeClass(orgPlacement)
185
- .addClass(placement)
186
- }
187
-
188
- var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
189
-
190
- this.applyPlacement(calculatedOffset, placement)
191
- this.$element.trigger('shown.bs.' + this.type)
192
- }
193
- }
194
-
195
- Tooltip.prototype.applyPlacement = function(offset, placement) {
196
- var replace
197
- var $tip = this.tip()
198
- var width = $tip[0].offsetWidth
199
- var height = $tip[0].offsetHeight
200
-
201
- // manually read margins because getBoundingClientRect includes difference
202
- var marginTop = parseInt($tip.css('margin-top'), 10)
203
- var marginLeft = parseInt($tip.css('margin-left'), 10)
204
-
205
- // we must check for NaN for ie 8/9
206
- if (isNaN(marginTop)) marginTop = 0
207
- if (isNaN(marginLeft)) marginLeft = 0
208
-
209
- offset.top = offset.top + marginTop
210
- offset.left = offset.left + marginLeft
211
-
212
- $tip
213
- .offset(offset)
214
- .addClass('in')
215
-
216
- // check to see if placing tip in new offset caused the tip to resize itself
217
- var actualWidth = $tip[0].offsetWidth
218
- var actualHeight = $tip[0].offsetHeight
219
-
220
- if (placement == 'top' && actualHeight != height) {
221
- replace = true
222
- offset.top = offset.top + height - actualHeight
223
- }
224
-
225
- if (/bottom|top/.test(placement)) {
226
- var delta = 0
227
-
228
- if (offset.left < 0) {
229
- delta = offset.left * -2
230
- offset.left = 0
231
-
232
- $tip.offset(offset)
233
-
234
- actualWidth = $tip[0].offsetWidth
235
- actualHeight = $tip[0].offsetHeight
236
- }
237
-
238
- this.replaceArrow(delta - width + actualWidth, actualWidth, 'left')
239
- } else {
240
- this.replaceArrow(actualHeight - height, actualHeight, 'top')
241
- }
242
-
243
- if (replace) $tip.offset(offset)
244
- }
245
-
246
- Tooltip.prototype.replaceArrow = function(delta, dimension, position) {
247
- this.arrow().css(position, delta ? (50 * (1 - delta / dimension) + "%") : '')
248
- }
249
-
250
- Tooltip.prototype.setContent = function () {
251
- var $tip = this.tip()
252
- var title = this.getTitle()
253
-
254
- $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
255
- $tip.removeClass('fade in top bottom left right')
256
- }
257
-
258
- Tooltip.prototype.hide = function () {
259
- var that = this
260
- var $tip = this.tip()
261
- var e = $.Event('hide.bs.' + this.type)
262
-
263
- function complete() {
264
- if (that.hoverState != 'in') $tip.detach()
265
- }
266
-
267
- this.$element.trigger(e)
268
-
269
- if (e.isDefaultPrevented()) return
270
-
271
- $tip.removeClass('in')
272
-
273
- $.support.transition && this.$tip.hasClass('fade') ?
274
- $tip
275
- .one($.support.transition.end, complete)
276
- .emulateTransitionEnd(150) :
277
- complete()
278
-
279
- this.$element.trigger('hidden.bs.' + this.type)
280
-
281
- return this
282
- }
283
-
284
- Tooltip.prototype.fixTitle = function () {
285
- var $e = this.$element
286
- if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
287
- $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
288
- }
289
- }
290
-
291
- Tooltip.prototype.hasContent = function () {
292
- return this.getTitle()
293
- }
294
-
295
- Tooltip.prototype.getPosition = function () {
296
- var el = this.$element[0]
297
- return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : {
298
- width: el.offsetWidth
299
- , height: el.offsetHeight
300
- }, this.$element.offset())
301
- }
302
-
303
- Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
304
- return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
305
- placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
306
- placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
307
- /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
308
- }
309
-
310
- Tooltip.prototype.getTitle = function () {
311
- var title
312
- var $e = this.$element
313
- var o = this.options
314
-
315
- title = $e.attr('data-original-title')
316
- || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
317
-
318
- return title
319
- }
320
-
321
- Tooltip.prototype.tip = function () {
322
- return this.$tip = this.$tip || $(this.options.template)
323
- }
324
-
325
- Tooltip.prototype.arrow = function () {
326
- return this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')
327
- }
328
-
329
- Tooltip.prototype.validate = function () {
330
- if (!this.$element[0].parentNode) {
331
- this.hide()
332
- this.$element = null
333
- this.options = null
334
- }
335
- }
336
-
337
- Tooltip.prototype.enable = function () {
338
- this.enabled = true
339
- }
340
-
341
- Tooltip.prototype.disable = function () {
342
- this.enabled = false
343
- }
344
-
345
- Tooltip.prototype.toggleEnabled = function () {
346
- this.enabled = !this.enabled
347
- }
348
-
349
- Tooltip.prototype.toggle = function (e) {
350
- var self = e ? $(e.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type) : this
351
- self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
352
- }
353
-
354
- Tooltip.prototype.destroy = function () {
355
- this.hide().$element.off('.' + this.type).removeData('bs.' + this.type)
356
- }
357
-
358
-
359
- // TOOLTIP PLUGIN DEFINITION
360
- // =========================
361
-
362
- var old = $.fn.tooltip
363
-
364
- $.fn.tooltip = function (option) {
365
- return this.each(function () {
366
- var $this = $(this)
367
- var data = $this.data('bs.tooltip')
368
- var options = typeof option == 'object' && option
369
-
370
- if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
371
- if (typeof option == 'string') data[option]()
372
- })
373
- }
374
-
375
- $.fn.tooltip.Constructor = Tooltip
376
-
377
-
378
- // TOOLTIP NO CONFLICT
379
- // ===================
380
-
381
- $.fn.tooltip.noConflict = function () {
382
- $.fn.tooltip = old
383
- return this
384
- }
385
-
386
- }(jQuery);