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,114 +0,0 @@
1
- define([
2
- "../core",
3
- "../css"
4
- ], function( jQuery ) {
5
-
6
- function Tween( elem, options, prop, end, easing ) {
7
- return new Tween.prototype.init( elem, options, prop, end, easing );
8
- }
9
- jQuery.Tween = Tween;
10
-
11
- Tween.prototype = {
12
- constructor: Tween,
13
- init: function( elem, options, prop, end, easing, unit ) {
14
- this.elem = elem;
15
- this.prop = prop;
16
- this.easing = easing || "swing";
17
- this.options = options;
18
- this.start = this.now = this.cur();
19
- this.end = end;
20
- this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
21
- },
22
- cur: function() {
23
- var hooks = Tween.propHooks[ this.prop ];
24
-
25
- return hooks && hooks.get ?
26
- hooks.get( this ) :
27
- Tween.propHooks._default.get( this );
28
- },
29
- run: function( percent ) {
30
- var eased,
31
- hooks = Tween.propHooks[ this.prop ];
32
-
33
- if ( this.options.duration ) {
34
- this.pos = eased = jQuery.easing[ this.easing ](
35
- percent, this.options.duration * percent, 0, 1, this.options.duration
36
- );
37
- } else {
38
- this.pos = eased = percent;
39
- }
40
- this.now = ( this.end - this.start ) * eased + this.start;
41
-
42
- if ( this.options.step ) {
43
- this.options.step.call( this.elem, this.now, this );
44
- }
45
-
46
- if ( hooks && hooks.set ) {
47
- hooks.set( this );
48
- } else {
49
- Tween.propHooks._default.set( this );
50
- }
51
- return this;
52
- }
53
- };
54
-
55
- Tween.prototype.init.prototype = Tween.prototype;
56
-
57
- Tween.propHooks = {
58
- _default: {
59
- get: function( tween ) {
60
- var result;
61
-
62
- if ( tween.elem[ tween.prop ] != null &&
63
- (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {
64
- return tween.elem[ tween.prop ];
65
- }
66
-
67
- // passing an empty string as a 3rd parameter to .css will automatically
68
- // attempt a parseFloat and fallback to a string if the parse fails
69
- // so, simple values such as "10px" are parsed to Float.
70
- // complex values such as "rotate(1rad)" are returned as is.
71
- result = jQuery.css( tween.elem, tween.prop, "" );
72
- // Empty strings, null, undefined and "auto" are converted to 0.
73
- return !result || result === "auto" ? 0 : result;
74
- },
75
- set: function( tween ) {
76
- // use step hook for back compat - use cssHook if its there - use .style if its
77
- // available and use plain properties where available
78
- if ( jQuery.fx.step[ tween.prop ] ) {
79
- jQuery.fx.step[ tween.prop ]( tween );
80
- } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
81
- jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
82
- } else {
83
- tween.elem[ tween.prop ] = tween.now;
84
- }
85
- }
86
- }
87
- };
88
-
89
- // Support: IE9
90
- // Panic based approach to setting things on disconnected nodes
91
-
92
- Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
93
- set: function( tween ) {
94
- if ( tween.elem.nodeType && tween.elem.parentNode ) {
95
- tween.elem[ tween.prop ] = tween.now;
96
- }
97
- }
98
- };
99
-
100
- jQuery.easing = {
101
- linear: function( p ) {
102
- return p;
103
- },
104
- swing: function( p ) {
105
- return 0.5 - Math.cos( p * Math.PI ) / 2;
106
- }
107
- };
108
-
109
- jQuery.fx = Tween.prototype.init;
110
-
111
- // Back Compat <1.8 extension point
112
- jQuery.fx.step = {};
113
-
114
- });
@@ -1,13 +0,0 @@
1
- define([
2
- "../core",
3
- "../selector",
4
- "../effects"
5
- ], function( jQuery ) {
6
-
7
- jQuery.expr.filters.animated = function( elem ) {
8
- return jQuery.grep(jQuery.timers, function( fn ) {
9
- return elem === fn.elem;
10
- }).length;
11
- };
12
-
13
- });
@@ -1,868 +0,0 @@
1
- define([
2
- "./core",
3
- "./var/strundefined",
4
- "./var/rnotwhite",
5
- "./var/hasOwn",
6
- "./var/slice",
7
- "./event/support",
8
- "./data/var/data_priv",
9
-
10
- "./core/init",
11
- "./data/accepts",
12
- "./selector"
13
- ], function( jQuery, strundefined, rnotwhite, hasOwn, slice, support, data_priv ) {
14
-
15
- var
16
- rkeyEvent = /^key/,
17
- rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,
18
- rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
19
- rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
20
-
21
- function returnTrue() {
22
- return true;
23
- }
24
-
25
- function returnFalse() {
26
- return false;
27
- }
28
-
29
- function safeActiveElement() {
30
- try {
31
- return document.activeElement;
32
- } catch ( err ) { }
33
- }
34
-
35
- /*
36
- * Helper functions for managing events -- not part of the public interface.
37
- * Props to Dean Edwards' addEvent library for many of the ideas.
38
- */
39
- jQuery.event = {
40
-
41
- global: {},
42
-
43
- add: function( elem, types, handler, data, selector ) {
44
-
45
- var handleObjIn, eventHandle, tmp,
46
- events, t, handleObj,
47
- special, handlers, type, namespaces, origType,
48
- elemData = data_priv.get( elem );
49
-
50
- // Don't attach events to noData or text/comment nodes (but allow plain objects)
51
- if ( !elemData ) {
52
- return;
53
- }
54
-
55
- // Caller can pass in an object of custom data in lieu of the handler
56
- if ( handler.handler ) {
57
- handleObjIn = handler;
58
- handler = handleObjIn.handler;
59
- selector = handleObjIn.selector;
60
- }
61
-
62
- // Make sure that the handler has a unique ID, used to find/remove it later
63
- if ( !handler.guid ) {
64
- handler.guid = jQuery.guid++;
65
- }
66
-
67
- // Init the element's event structure and main handler, if this is the first
68
- if ( !(events = elemData.events) ) {
69
- events = elemData.events = {};
70
- }
71
- if ( !(eventHandle = elemData.handle) ) {
72
- eventHandle = elemData.handle = function( e ) {
73
- // Discard the second event of a jQuery.event.trigger() and
74
- // when an event is called after a page has unloaded
75
- return typeof jQuery !== strundefined && jQuery.event.triggered !== e.type ?
76
- jQuery.event.dispatch.apply( elem, arguments ) : undefined;
77
- };
78
- }
79
-
80
- // Handle multiple events separated by a space
81
- types = ( types || "" ).match( rnotwhite ) || [ "" ];
82
- t = types.length;
83
- while ( t-- ) {
84
- tmp = rtypenamespace.exec( types[t] ) || [];
85
- type = origType = tmp[1];
86
- namespaces = ( tmp[2] || "" ).split( "." ).sort();
87
-
88
- // There *must* be a type, no attaching namespace-only handlers
89
- if ( !type ) {
90
- continue;
91
- }
92
-
93
- // If event changes its type, use the special event handlers for the changed type
94
- special = jQuery.event.special[ type ] || {};
95
-
96
- // If selector defined, determine special event api type, otherwise given type
97
- type = ( selector ? special.delegateType : special.bindType ) || type;
98
-
99
- // Update special based on newly reset type
100
- special = jQuery.event.special[ type ] || {};
101
-
102
- // handleObj is passed to all event handlers
103
- handleObj = jQuery.extend({
104
- type: type,
105
- origType: origType,
106
- data: data,
107
- handler: handler,
108
- guid: handler.guid,
109
- selector: selector,
110
- needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
111
- namespace: namespaces.join(".")
112
- }, handleObjIn );
113
-
114
- // Init the event handler queue if we're the first
115
- if ( !(handlers = events[ type ]) ) {
116
- handlers = events[ type ] = [];
117
- handlers.delegateCount = 0;
118
-
119
- // Only use addEventListener if the special events handler returns false
120
- if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
121
- if ( elem.addEventListener ) {
122
- elem.addEventListener( type, eventHandle, false );
123
- }
124
- }
125
- }
126
-
127
- if ( special.add ) {
128
- special.add.call( elem, handleObj );
129
-
130
- if ( !handleObj.handler.guid ) {
131
- handleObj.handler.guid = handler.guid;
132
- }
133
- }
134
-
135
- // Add to the element's handler list, delegates in front
136
- if ( selector ) {
137
- handlers.splice( handlers.delegateCount++, 0, handleObj );
138
- } else {
139
- handlers.push( handleObj );
140
- }
141
-
142
- // Keep track of which events have ever been used, for event optimization
143
- jQuery.event.global[ type ] = true;
144
- }
145
-
146
- },
147
-
148
- // Detach an event or set of events from an element
149
- remove: function( elem, types, handler, selector, mappedTypes ) {
150
-
151
- var j, origCount, tmp,
152
- events, t, handleObj,
153
- special, handlers, type, namespaces, origType,
154
- elemData = data_priv.hasData( elem ) && data_priv.get( elem );
155
-
156
- if ( !elemData || !(events = elemData.events) ) {
157
- return;
158
- }
159
-
160
- // Once for each type.namespace in types; type may be omitted
161
- types = ( types || "" ).match( rnotwhite ) || [ "" ];
162
- t = types.length;
163
- while ( t-- ) {
164
- tmp = rtypenamespace.exec( types[t] ) || [];
165
- type = origType = tmp[1];
166
- namespaces = ( tmp[2] || "" ).split( "." ).sort();
167
-
168
- // Unbind all events (on this namespace, if provided) for the element
169
- if ( !type ) {
170
- for ( type in events ) {
171
- jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
172
- }
173
- continue;
174
- }
175
-
176
- special = jQuery.event.special[ type ] || {};
177
- type = ( selector ? special.delegateType : special.bindType ) || type;
178
- handlers = events[ type ] || [];
179
- tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" );
180
-
181
- // Remove matching events
182
- origCount = j = handlers.length;
183
- while ( j-- ) {
184
- handleObj = handlers[ j ];
185
-
186
- if ( ( mappedTypes || origType === handleObj.origType ) &&
187
- ( !handler || handler.guid === handleObj.guid ) &&
188
- ( !tmp || tmp.test( handleObj.namespace ) ) &&
189
- ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
190
- handlers.splice( j, 1 );
191
-
192
- if ( handleObj.selector ) {
193
- handlers.delegateCount--;
194
- }
195
- if ( special.remove ) {
196
- special.remove.call( elem, handleObj );
197
- }
198
- }
199
- }
200
-
201
- // Remove generic event handler if we removed something and no more handlers exist
202
- // (avoids potential for endless recursion during removal of special event handlers)
203
- if ( origCount && !handlers.length ) {
204
- if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
205
- jQuery.removeEvent( elem, type, elemData.handle );
206
- }
207
-
208
- delete events[ type ];
209
- }
210
- }
211
-
212
- // Remove the expando if it's no longer used
213
- if ( jQuery.isEmptyObject( events ) ) {
214
- delete elemData.handle;
215
- data_priv.remove( elem, "events" );
216
- }
217
- },
218
-
219
- trigger: function( event, data, elem, onlyHandlers ) {
220
-
221
- var i, cur, tmp, bubbleType, ontype, handle, special,
222
- eventPath = [ elem || document ],
223
- type = hasOwn.call( event, "type" ) ? event.type : event,
224
- namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : [];
225
-
226
- cur = tmp = elem = elem || document;
227
-
228
- // Don't do events on text and comment nodes
229
- if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
230
- return;
231
- }
232
-
233
- // focus/blur morphs to focusin/out; ensure we're not firing them right now
234
- if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
235
- return;
236
- }
237
-
238
- if ( type.indexOf(".") >= 0 ) {
239
- // Namespaced trigger; create a regexp to match event type in handle()
240
- namespaces = type.split(".");
241
- type = namespaces.shift();
242
- namespaces.sort();
243
- }
244
- ontype = type.indexOf(":") < 0 && "on" + type;
245
-
246
- // Caller can pass in a jQuery.Event object, Object, or just an event type string
247
- event = event[ jQuery.expando ] ?
248
- event :
249
- new jQuery.Event( type, typeof event === "object" && event );
250
-
251
- // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
252
- event.isTrigger = onlyHandlers ? 2 : 3;
253
- event.namespace = namespaces.join(".");
254
- event.namespace_re = event.namespace ?
255
- new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) :
256
- null;
257
-
258
- // Clean up the event in case it is being reused
259
- event.result = undefined;
260
- if ( !event.target ) {
261
- event.target = elem;
262
- }
263
-
264
- // Clone any incoming data and prepend the event, creating the handler arg list
265
- data = data == null ?
266
- [ event ] :
267
- jQuery.makeArray( data, [ event ] );
268
-
269
- // Allow special events to draw outside the lines
270
- special = jQuery.event.special[ type ] || {};
271
- if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
272
- return;
273
- }
274
-
275
- // Determine event propagation path in advance, per W3C events spec (#9951)
276
- // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
277
- if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
278
-
279
- bubbleType = special.delegateType || type;
280
- if ( !rfocusMorph.test( bubbleType + type ) ) {
281
- cur = cur.parentNode;
282
- }
283
- for ( ; cur; cur = cur.parentNode ) {
284
- eventPath.push( cur );
285
- tmp = cur;
286
- }
287
-
288
- // Only add window if we got to document (e.g., not plain obj or detached DOM)
289
- if ( tmp === (elem.ownerDocument || document) ) {
290
- eventPath.push( tmp.defaultView || tmp.parentWindow || window );
291
- }
292
- }
293
-
294
- // Fire handlers on the event path
295
- i = 0;
296
- while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {
297
-
298
- event.type = i > 1 ?
299
- bubbleType :
300
- special.bindType || type;
301
-
302
- // jQuery handler
303
- handle = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( cur, "handle" );
304
- if ( handle ) {
305
- handle.apply( cur, data );
306
- }
307
-
308
- // Native handler
309
- handle = ontype && cur[ ontype ];
310
- if ( handle && handle.apply && jQuery.acceptData( cur ) ) {
311
- event.result = handle.apply( cur, data );
312
- if ( event.result === false ) {
313
- event.preventDefault();
314
- }
315
- }
316
- }
317
- event.type = type;
318
-
319
- // If nobody prevented the default action, do it now
320
- if ( !onlyHandlers && !event.isDefaultPrevented() ) {
321
-
322
- if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&
323
- jQuery.acceptData( elem ) ) {
324
-
325
- // Call a native DOM method on the target with the same name name as the event.
326
- // Don't do default actions on window, that's where global variables be (#6170)
327
- if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
328
-
329
- // Don't re-trigger an onFOO event when we call its FOO() method
330
- tmp = elem[ ontype ];
331
-
332
- if ( tmp ) {
333
- elem[ ontype ] = null;
334
- }
335
-
336
- // Prevent re-triggering of the same event, since we already bubbled it above
337
- jQuery.event.triggered = type;
338
- elem[ type ]();
339
- jQuery.event.triggered = undefined;
340
-
341
- if ( tmp ) {
342
- elem[ ontype ] = tmp;
343
- }
344
- }
345
- }
346
- }
347
-
348
- return event.result;
349
- },
350
-
351
- dispatch: function( event ) {
352
-
353
- // Make a writable jQuery.Event from the native event object
354
- event = jQuery.event.fix( event );
355
-
356
- var i, j, ret, matched, handleObj,
357
- handlerQueue = [],
358
- args = slice.call( arguments ),
359
- handlers = ( data_priv.get( this, "events" ) || {} )[ event.type ] || [],
360
- special = jQuery.event.special[ event.type ] || {};
361
-
362
- // Use the fix-ed jQuery.Event rather than the (read-only) native event
363
- args[0] = event;
364
- event.delegateTarget = this;
365
-
366
- // Call the preDispatch hook for the mapped type, and let it bail if desired
367
- if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
368
- return;
369
- }
370
-
371
- // Determine handlers
372
- handlerQueue = jQuery.event.handlers.call( this, event, handlers );
373
-
374
- // Run delegates first; they may want to stop propagation beneath us
375
- i = 0;
376
- while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {
377
- event.currentTarget = matched.elem;
378
-
379
- j = 0;
380
- while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {
381
-
382
- // Triggered event must either 1) have no namespace, or
383
- // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
384
- if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {
385
-
386
- event.handleObj = handleObj;
387
- event.data = handleObj.data;
388
-
389
- ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
390
- .apply( matched.elem, args );
391
-
392
- if ( ret !== undefined ) {
393
- if ( (event.result = ret) === false ) {
394
- event.preventDefault();
395
- event.stopPropagation();
396
- }
397
- }
398
- }
399
- }
400
- }
401
-
402
- // Call the postDispatch hook for the mapped type
403
- if ( special.postDispatch ) {
404
- special.postDispatch.call( this, event );
405
- }
406
-
407
- return event.result;
408
- },
409
-
410
- handlers: function( event, handlers ) {
411
- var i, matches, sel, handleObj,
412
- handlerQueue = [],
413
- delegateCount = handlers.delegateCount,
414
- cur = event.target;
415
-
416
- // Find delegate handlers
417
- // Black-hole SVG <use> instance trees (#13180)
418
- // Avoid non-left-click bubbling in Firefox (#3861)
419
- if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) {
420
-
421
- for ( ; cur !== this; cur = cur.parentNode || this ) {
422
-
423
- // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
424
- if ( cur.disabled !== true || event.type !== "click" ) {
425
- matches = [];
426
- for ( i = 0; i < delegateCount; i++ ) {
427
- handleObj = handlers[ i ];
428
-
429
- // Don't conflict with Object.prototype properties (#13203)
430
- sel = handleObj.selector + " ";
431
-
432
- if ( matches[ sel ] === undefined ) {
433
- matches[ sel ] = handleObj.needsContext ?
434
- jQuery( sel, this ).index( cur ) >= 0 :
435
- jQuery.find( sel, this, null, [ cur ] ).length;
436
- }
437
- if ( matches[ sel ] ) {
438
- matches.push( handleObj );
439
- }
440
- }
441
- if ( matches.length ) {
442
- handlerQueue.push({ elem: cur, handlers: matches });
443
- }
444
- }
445
- }
446
- }
447
-
448
- // Add the remaining (directly-bound) handlers
449
- if ( delegateCount < handlers.length ) {
450
- handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) });
451
- }
452
-
453
- return handlerQueue;
454
- },
455
-
456
- // Includes some event props shared by KeyEvent and MouseEvent
457
- props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
458
-
459
- fixHooks: {},
460
-
461
- keyHooks: {
462
- props: "char charCode key keyCode".split(" "),
463
- filter: function( event, original ) {
464
-
465
- // Add which for key events
466
- if ( event.which == null ) {
467
- event.which = original.charCode != null ? original.charCode : original.keyCode;
468
- }
469
-
470
- return event;
471
- }
472
- },
473
-
474
- mouseHooks: {
475
- props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
476
- filter: function( event, original ) {
477
- var eventDoc, doc, body,
478
- button = original.button;
479
-
480
- // Calculate pageX/Y if missing and clientX/Y available
481
- if ( event.pageX == null && original.clientX != null ) {
482
- eventDoc = event.target.ownerDocument || document;
483
- doc = eventDoc.documentElement;
484
- body = eventDoc.body;
485
-
486
- event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
487
- event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );
488
- }
489
-
490
- // Add which for click: 1 === left; 2 === middle; 3 === right
491
- // Note: button is not normalized, so don't use it
492
- if ( !event.which && button !== undefined ) {
493
- event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
494
- }
495
-
496
- return event;
497
- }
498
- },
499
-
500
- fix: function( event ) {
501
- if ( event[ jQuery.expando ] ) {
502
- return event;
503
- }
504
-
505
- // Create a writable copy of the event object and normalize some properties
506
- var i, prop, copy,
507
- type = event.type,
508
- originalEvent = event,
509
- fixHook = this.fixHooks[ type ];
510
-
511
- if ( !fixHook ) {
512
- this.fixHooks[ type ] = fixHook =
513
- rmouseEvent.test( type ) ? this.mouseHooks :
514
- rkeyEvent.test( type ) ? this.keyHooks :
515
- {};
516
- }
517
- copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
518
-
519
- event = new jQuery.Event( originalEvent );
520
-
521
- i = copy.length;
522
- while ( i-- ) {
523
- prop = copy[ i ];
524
- event[ prop ] = originalEvent[ prop ];
525
- }
526
-
527
- // Support: Cordova 2.5 (WebKit) (#13255)
528
- // All events should have a target; Cordova deviceready doesn't
529
- if ( !event.target ) {
530
- event.target = document;
531
- }
532
-
533
- // Support: Safari 6.0+, Chrome < 28
534
- // Target should not be a text node (#504, #13143)
535
- if ( event.target.nodeType === 3 ) {
536
- event.target = event.target.parentNode;
537
- }
538
-
539
- return fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
540
- },
541
-
542
- special: {
543
- load: {
544
- // Prevent triggered image.load events from bubbling to window.load
545
- noBubble: true
546
- },
547
- focus: {
548
- // Fire native event if possible so blur/focus sequence is correct
549
- trigger: function() {
550
- if ( this !== safeActiveElement() && this.focus ) {
551
- this.focus();
552
- return false;
553
- }
554
- },
555
- delegateType: "focusin"
556
- },
557
- blur: {
558
- trigger: function() {
559
- if ( this === safeActiveElement() && this.blur ) {
560
- this.blur();
561
- return false;
562
- }
563
- },
564
- delegateType: "focusout"
565
- },
566
- click: {
567
- // For checkbox, fire native event so checked state will be right
568
- trigger: function() {
569
- if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) {
570
- this.click();
571
- return false;
572
- }
573
- },
574
-
575
- // For cross-browser consistency, don't fire native .click() on links
576
- _default: function( event ) {
577
- return jQuery.nodeName( event.target, "a" );
578
- }
579
- },
580
-
581
- beforeunload: {
582
- postDispatch: function( event ) {
583
-
584
- // Support: Firefox 20+
585
- // Firefox doesn't alert if the returnValue field is not set.
586
- if ( event.result !== undefined && event.originalEvent ) {
587
- event.originalEvent.returnValue = event.result;
588
- }
589
- }
590
- }
591
- },
592
-
593
- simulate: function( type, elem, event, bubble ) {
594
- // Piggyback on a donor event to simulate a different one.
595
- // Fake originalEvent to avoid donor's stopPropagation, but if the
596
- // simulated event prevents default then we do the same on the donor.
597
- var e = jQuery.extend(
598
- new jQuery.Event(),
599
- event,
600
- {
601
- type: type,
602
- isSimulated: true,
603
- originalEvent: {}
604
- }
605
- );
606
- if ( bubble ) {
607
- jQuery.event.trigger( e, null, elem );
608
- } else {
609
- jQuery.event.dispatch.call( elem, e );
610
- }
611
- if ( e.isDefaultPrevented() ) {
612
- event.preventDefault();
613
- }
614
- }
615
- };
616
-
617
- jQuery.removeEvent = function( elem, type, handle ) {
618
- if ( elem.removeEventListener ) {
619
- elem.removeEventListener( type, handle, false );
620
- }
621
- };
622
-
623
- jQuery.Event = function( src, props ) {
624
- // Allow instantiation without the 'new' keyword
625
- if ( !(this instanceof jQuery.Event) ) {
626
- return new jQuery.Event( src, props );
627
- }
628
-
629
- // Event object
630
- if ( src && src.type ) {
631
- this.originalEvent = src;
632
- this.type = src.type;
633
-
634
- // Events bubbling up the document may have been marked as prevented
635
- // by a handler lower down the tree; reflect the correct value.
636
- this.isDefaultPrevented = src.defaultPrevented ||
637
- src.defaultPrevented === undefined &&
638
- // Support: Android < 4.0
639
- src.returnValue === false ?
640
- returnTrue :
641
- returnFalse;
642
-
643
- // Event type
644
- } else {
645
- this.type = src;
646
- }
647
-
648
- // Put explicitly provided properties onto the event object
649
- if ( props ) {
650
- jQuery.extend( this, props );
651
- }
652
-
653
- // Create a timestamp if incoming event doesn't have one
654
- this.timeStamp = src && src.timeStamp || jQuery.now();
655
-
656
- // Mark it as fixed
657
- this[ jQuery.expando ] = true;
658
- };
659
-
660
- // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
661
- // http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
662
- jQuery.Event.prototype = {
663
- isDefaultPrevented: returnFalse,
664
- isPropagationStopped: returnFalse,
665
- isImmediatePropagationStopped: returnFalse,
666
-
667
- preventDefault: function() {
668
- var e = this.originalEvent;
669
-
670
- this.isDefaultPrevented = returnTrue;
671
-
672
- if ( e && e.preventDefault ) {
673
- e.preventDefault();
674
- }
675
- },
676
- stopPropagation: function() {
677
- var e = this.originalEvent;
678
-
679
- this.isPropagationStopped = returnTrue;
680
-
681
- if ( e && e.stopPropagation ) {
682
- e.stopPropagation();
683
- }
684
- },
685
- stopImmediatePropagation: function() {
686
- var e = this.originalEvent;
687
-
688
- this.isImmediatePropagationStopped = returnTrue;
689
-
690
- if ( e && e.stopImmediatePropagation ) {
691
- e.stopImmediatePropagation();
692
- }
693
-
694
- this.stopPropagation();
695
- }
696
- };
697
-
698
- // Create mouseenter/leave events using mouseover/out and event-time checks
699
- // Support: Chrome 15+
700
- jQuery.each({
701
- mouseenter: "mouseover",
702
- mouseleave: "mouseout",
703
- pointerenter: "pointerover",
704
- pointerleave: "pointerout"
705
- }, function( orig, fix ) {
706
- jQuery.event.special[ orig ] = {
707
- delegateType: fix,
708
- bindType: fix,
709
-
710
- handle: function( event ) {
711
- var ret,
712
- target = this,
713
- related = event.relatedTarget,
714
- handleObj = event.handleObj;
715
-
716
- // For mousenter/leave call the handler if related is outside the target.
717
- // NB: No relatedTarget if the mouse left/entered the browser window
718
- if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
719
- event.type = handleObj.origType;
720
- ret = handleObj.handler.apply( this, arguments );
721
- event.type = fix;
722
- }
723
- return ret;
724
- }
725
- };
726
- });
727
-
728
- // Create "bubbling" focus and blur events
729
- // Support: Firefox, Chrome, Safari
730
- if ( !support.focusinBubbles ) {
731
- jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
732
-
733
- // Attach a single capturing handler on the document while someone wants focusin/focusout
734
- var handler = function( event ) {
735
- jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
736
- };
737
-
738
- jQuery.event.special[ fix ] = {
739
- setup: function() {
740
- var doc = this.ownerDocument || this,
741
- attaches = data_priv.access( doc, fix );
742
-
743
- if ( !attaches ) {
744
- doc.addEventListener( orig, handler, true );
745
- }
746
- data_priv.access( doc, fix, ( attaches || 0 ) + 1 );
747
- },
748
- teardown: function() {
749
- var doc = this.ownerDocument || this,
750
- attaches = data_priv.access( doc, fix ) - 1;
751
-
752
- if ( !attaches ) {
753
- doc.removeEventListener( orig, handler, true );
754
- data_priv.remove( doc, fix );
755
-
756
- } else {
757
- data_priv.access( doc, fix, attaches );
758
- }
759
- }
760
- };
761
- });
762
- }
763
-
764
- jQuery.fn.extend({
765
-
766
- on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
767
- var origFn, type;
768
-
769
- // Types can be a map of types/handlers
770
- if ( typeof types === "object" ) {
771
- // ( types-Object, selector, data )
772
- if ( typeof selector !== "string" ) {
773
- // ( types-Object, data )
774
- data = data || selector;
775
- selector = undefined;
776
- }
777
- for ( type in types ) {
778
- this.on( type, selector, data, types[ type ], one );
779
- }
780
- return this;
781
- }
782
-
783
- if ( data == null && fn == null ) {
784
- // ( types, fn )
785
- fn = selector;
786
- data = selector = undefined;
787
- } else if ( fn == null ) {
788
- if ( typeof selector === "string" ) {
789
- // ( types, selector, fn )
790
- fn = data;
791
- data = undefined;
792
- } else {
793
- // ( types, data, fn )
794
- fn = data;
795
- data = selector;
796
- selector = undefined;
797
- }
798
- }
799
- if ( fn === false ) {
800
- fn = returnFalse;
801
- } else if ( !fn ) {
802
- return this;
803
- }
804
-
805
- if ( one === 1 ) {
806
- origFn = fn;
807
- fn = function( event ) {
808
- // Can use an empty set, since event contains the info
809
- jQuery().off( event );
810
- return origFn.apply( this, arguments );
811
- };
812
- // Use same guid so caller can remove using origFn
813
- fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
814
- }
815
- return this.each( function() {
816
- jQuery.event.add( this, types, fn, data, selector );
817
- });
818
- },
819
- one: function( types, selector, data, fn ) {
820
- return this.on( types, selector, data, fn, 1 );
821
- },
822
- off: function( types, selector, fn ) {
823
- var handleObj, type;
824
- if ( types && types.preventDefault && types.handleObj ) {
825
- // ( event ) dispatched jQuery.Event
826
- handleObj = types.handleObj;
827
- jQuery( types.delegateTarget ).off(
828
- handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType,
829
- handleObj.selector,
830
- handleObj.handler
831
- );
832
- return this;
833
- }
834
- if ( typeof types === "object" ) {
835
- // ( types-object [, selector] )
836
- for ( type in types ) {
837
- this.off( type, selector, types[ type ] );
838
- }
839
- return this;
840
- }
841
- if ( selector === false || typeof selector === "function" ) {
842
- // ( types [, fn] )
843
- fn = selector;
844
- selector = undefined;
845
- }
846
- if ( fn === false ) {
847
- fn = returnFalse;
848
- }
849
- return this.each(function() {
850
- jQuery.event.remove( this, types, fn, selector );
851
- });
852
- },
853
-
854
- trigger: function( type, data ) {
855
- return this.each(function() {
856
- jQuery.event.trigger( type, data, this );
857
- });
858
- },
859
- triggerHandler: function( type, data ) {
860
- var elem = this[0];
861
- if ( elem ) {
862
- return jQuery.event.trigger( type, data, elem, true );
863
- }
864
- }
865
- });
866
-
867
- return jQuery;
868
- });