kms 0.9.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (409) hide show
  1. checksums.yaml +4 -4
  2. data/{vendor/assets/bower_components/Responsive-Dashboard/src/img → app/assets/images}/avatar.jpg +0 -0
  3. data/app/assets/javascripts/kms/application.js +3 -0
  4. data/app/assets/javascripts/kms/application/controllers/assets_controller.coffee.erb +14 -7
  5. data/app/assets/javascripts/kms/application/controllers/pages_controller.coffee.erb +11 -3
  6. data/app/assets/javascripts/kms/application/controllers/snippets_controller.coffee.erb +3 -0
  7. data/app/assets/javascripts/kms/application/controllers/templates_controller.coffee.erb +3 -0
  8. data/app/assets/javascripts/kms/application/controllers/users_controller.coffee +4 -4
  9. data/app/assets/javascripts/kms/application/routes.coffee.erb +1 -1
  10. data/app/assets/javascripts/kms/application/services/transliteration_service.js +160 -0
  11. data/app/assets/javascripts/templates/assets/edit.html.slim +24 -2
  12. data/app/assets/javascripts/templates/assets/form.html.slim +23 -0
  13. data/app/assets/javascripts/templates/assets/index.html.slim +13 -12
  14. data/app/assets/javascripts/templates/assets/new.html.slim +1 -15
  15. data/app/assets/javascripts/templates/help.html.slim +1 -1
  16. data/app/assets/javascripts/templates/pages/index.html.slim +16 -5
  17. data/app/assets/javascripts/templates/snippets/index.html.slim +16 -5
  18. data/app/assets/javascripts/templates/templates/index.html.slim +16 -6
  19. data/app/assets/stylesheets/kms/application.css +2 -2
  20. data/app/assets/stylesheets/kms/custom.css.scss +38 -0
  21. data/app/controllers/kms/assets_controller.rb +8 -9
  22. data/app/controllers/kms/pages_controller.rb +10 -11
  23. data/app/controllers/kms/public/pages_controller.rb +5 -4
  24. data/app/controllers/kms/public/search_controller.rb +2 -0
  25. data/app/controllers/kms/settings_controller.rb +1 -1
  26. data/app/controllers/kms/snippets_controller.rb +2 -1
  27. data/app/controllers/kms/templates_controller.rb +6 -5
  28. data/app/controllers/kms/users_controller.rb +11 -8
  29. data/app/models/ability.rb +1 -0
  30. data/app/models/concerns/kms/permalinkable.rb +1 -1
  31. data/app/models/kms/page.rb +13 -4
  32. data/app/serializers/kms/asset_serializer.rb +6 -0
  33. data/app/serializers/kms/page_serializer.rb +5 -0
  34. data/app/serializers/kms/template_serializer.rb +5 -0
  35. data/app/serializers/kms/user_serializer.rb +5 -0
  36. data/app/services/kms/page_fetcher.rb +30 -0
  37. data/app/services/kms/search_service.rb +28 -3
  38. data/app/services/kms/template_processor.rb +19 -0
  39. data/app/views/devise/passwords/edit.html.erb +1 -1
  40. data/app/views/devise/passwords/new.html.erb +1 -1
  41. data/app/views/devise/registrations/new.html.erb +1 -1
  42. data/app/views/devise/sessions/new.html.erb +1 -1
  43. data/app/views/layouts/kms/devise.html.erb +1 -1
  44. data/app/views/layouts/kms/kms.html.erb +47 -18
  45. data/config/initializers/externals.rb +6 -32
  46. data/config/initializers/search.rb +1 -0
  47. data/config/locales/en.yml +17 -1
  48. data/config/locales/ru.yml +17 -1
  49. data/config/routes.rb +7 -6
  50. data/lib/kms/dependencies.rb +1 -4
  51. data/lib/kms/engine.rb +1 -2
  52. data/lib/kms/search_item.rb +18 -0
  53. data/lib/kms/version.rb +1 -1
  54. data/spec/controllers/kms/assets_controller_spec.rb +51 -0
  55. data/spec/controllers/kms/pages_controller_spec.rb +82 -0
  56. data/spec/controllers/kms/public/pages_controller_spec.rb +30 -0
  57. data/spec/controllers/kms/snippets_controller_spec.rb +61 -47
  58. data/spec/controllers/kms/templates_controller_spec.rb +51 -0
  59. data/spec/controllers/kms/users_controller_spec.rb +56 -0
  60. data/spec/factories/assets.rb +8 -0
  61. data/spec/factories/pages.rb +33 -0
  62. data/spec/factories/templates.rb +20 -0
  63. data/spec/factories/users.rb +9 -4
  64. data/spec/internal/config/routes.rb +12 -1
  65. data/spec/internal/log/test.log +81239 -0
  66. data/spec/internal/public/404.html +67 -0
  67. data/spec/internal/public/avatar.jpg +0 -0
  68. data/spec/internal/public/style.css +1 -0
  69. data/spec/internal/public/uploads/kms/asset/file/1/avatar.jpg +0 -0
  70. data/spec/internal/public/uploads/kms/asset/file/2/avatar.jpg +0 -0
  71. data/spec/internal/public/uploads/kms/asset/file/2/style.css +1 -0
  72. data/spec/internal/public/uploads/kms/asset/file/3/style.css +1 -0
  73. data/spec/internal/public/uploads/kms/asset/file/4/style.css +1 -0
  74. data/spec/internal/public/uploads/tmp/1500976987-41025-0002-0883/style.css +1 -0
  75. data/spec/internal/public/uploads/tmp/1500977082-41195-0002-6495/style.css +1 -0
  76. data/spec/internal/public/uploads/tmp/1500977109-41364-0002-4518/style.css +1 -0
  77. data/spec/internal/public/uploads/tmp/1500977152-41405-0002-2345/style.css +1 -0
  78. data/spec/internal/public/uploads/tmp/1500977327-41694-0002-5448/style.css +1 -0
  79. data/spec/internal/public/uploads/tmp/1500977376-41732-0002-7916/style.css +1 -0
  80. data/spec/internal/public/uploads/tmp/1500977392-41759-0002-7593/style.css +1 -0
  81. data/spec/internal/public/uploads/tmp/1500977410-42259-0002-7527/style.css +1 -0
  82. data/spec/internal/public/uploads/tmp/1500977429-42306-0002-5937/style.css +1 -0
  83. data/spec/internal/public/uploads/tmp/1500977437-42324-0002-5880/style.css +1 -0
  84. data/spec/internal/public/uploads/tmp/1500983228-53594-0002-4559/style.css +1 -0
  85. data/spec/internal/public/uploads/tmp/1500983284-53632-0002-6590/style.css +1 -0
  86. data/spec/internal/public/uploads/tmp/1500983360-53784-0002-7289/style.css +1 -0
  87. data/spec/internal/public/uploads/tmp/1500983469-54321-0002-0386/avatar.jpg +0 -0
  88. data/spec/internal/public/uploads/tmp/1500983469-54321-0004-5691/style.css +1 -0
  89. data/spec/internal/public/uploads/tmp/1500983511-54352-0002-5720/avatar.jpg +0 -0
  90. data/spec/internal/public/uploads/tmp/1500983511-54352-0004-1399/style.css +1 -0
  91. data/spec/internal/public/uploads/tmp/1500983610-54507-0002-4280/avatar.jpg +0 -0
  92. data/spec/internal/public/uploads/tmp/1500983610-54507-0004-9758/style.css +1 -0
  93. data/spec/internal/public/uploads/tmp/1500984466-57012-0002-4146/avatar.jpg +0 -0
  94. data/spec/internal/public/uploads/tmp/1500984466-57012-0004-5895/style.css +1 -0
  95. data/spec/internal/public/uploads/tmp/1500984509-57158-0002-9657/avatar.jpg +0 -0
  96. data/spec/internal/public/uploads/tmp/1500984509-57158-0004-5003/style.css +1 -0
  97. data/spec/internal/public/uploads/tmp/1500984616-57697-0002-7201/avatar.jpg +0 -0
  98. data/spec/internal/public/uploads/tmp/1500984616-57697-0004-6255/style.css +1 -0
  99. data/spec/internal/public/uploads/tmp/1500985257-58947-0002-3629/avatar.jpg +0 -0
  100. data/spec/internal/public/uploads/tmp/1500985257-58947-0004-5338/style.css +1 -0
  101. data/spec/internal/public/uploads/tmp/1500985407-58947-0006-5929/style.css +1 -0
  102. data/spec/internal/public/uploads/tmp/1500985473-59264-0002-0397/avatar.jpg +0 -0
  103. data/spec/internal/public/uploads/tmp/1500985473-59264-0004-6493/style.css +1 -0
  104. data/spec/internal/public/uploads/tmp/1500985475-59264-0007-8674/style.css +1 -0
  105. data/spec/internal/public/uploads/tmp/1500985538-59468-0002-9206/avatar.jpg +0 -0
  106. data/spec/internal/public/uploads/tmp/1500985538-59468-0004-2586/style.css +1 -0
  107. data/spec/internal/public/uploads/tmp/1500985538-59468-0007-6200/style.css +1 -0
  108. data/spec/internal/public/uploads/tmp/1500988358-65877-0002-4528/avatar.jpg +0 -0
  109. data/spec/internal/public/uploads/tmp/1500988358-65877-0004-5904/style.css +1 -0
  110. data/spec/internal/public/uploads/tmp/1500988358-65877-0007-7320/style.css +1 -0
  111. data/spec/internal/public/uploads/tmp/1500988407-65916-0002-3138/avatar.jpg +0 -0
  112. data/spec/internal/public/uploads/tmp/1500988407-65916-0004-5400/style.css +1 -0
  113. data/spec/internal/public/uploads/tmp/1500988407-65916-0007-1655/style.css +1 -0
  114. data/spec/internal/public/uploads/tmp/1500988421-65950-0002-9415/avatar.jpg +0 -0
  115. data/spec/internal/public/uploads/tmp/1500988421-65950-0004-7130/style.css +1 -0
  116. data/spec/internal/public/uploads/tmp/1500988421-65950-0007-9886/style.css +1 -0
  117. data/spec/internal/public/uploads/tmp/1500988435-65981-0002-3228/avatar.jpg +0 -0
  118. data/spec/internal/public/uploads/tmp/1500988435-65981-0004-3682/style.css +1 -0
  119. data/spec/internal/public/uploads/tmp/1500988435-65981-0007-1582/style.css +1 -0
  120. data/spec/internal/public/uploads/tmp/1500988475-66122-0002-9516/avatar.jpg +0 -0
  121. data/spec/internal/public/uploads/tmp/1500988475-66122-0004-5634/style.css +1 -0
  122. data/spec/internal/public/uploads/tmp/1500988530-66122-0007-2272/style.css +1 -0
  123. data/spec/internal/public/uploads/tmp/1500988554-66315-0002-6262/avatar.jpg +0 -0
  124. data/spec/internal/public/uploads/tmp/1500988554-66315-0004-6099/style.css +1 -0
  125. data/spec/internal/public/uploads/tmp/1500988554-66315-0007-1632/style.css +1 -0
  126. data/spec/internal/public/uploads/tmp/1500991751-73722-0002-9937/avatar.jpg +0 -0
  127. data/spec/internal/public/uploads/tmp/1500991751-73722-0004-8034/style.css +1 -0
  128. data/spec/internal/public/uploads/tmp/1500991751-73722-0007-7763/style.css +1 -0
  129. data/spec/internal/public/uploads/tmp/1501233238-34385-0002-3210/avatar.jpg +0 -0
  130. data/spec/internal/public/uploads/tmp/1501233238-34385-0004-5881/style.css +1 -0
  131. data/spec/internal/public/uploads/tmp/1501233238-34385-0007-6280/style.css +1 -0
  132. data/spec/models/kms/page_spec.rb +31 -0
  133. data/spec/models/kms/template_spec.rb +15 -0
  134. data/spec/services/kms/page_fetcher_spec.rb +36 -0
  135. data/spec/services/kms/search_service_spec.rb +53 -0
  136. data/spec/services/kms/template_processor_spec.rb +20 -0
  137. data/spec/support/controller_macros.rb +9 -1
  138. data/vendor/assets/bower.json +3 -2
  139. data/vendor/assets/bower_components/angular-ui-select/CHANGELOG.md +169 -0
  140. data/vendor/assets/bower_components/angular-ui-select/CONTRIBUTING.md +161 -0
  141. data/vendor/assets/bower_components/angular-ui-select/README.md +27 -13
  142. data/vendor/assets/bower_components/angular-ui-select/bower.json +6 -3
  143. data/vendor/assets/bower_components/angular-ui-select/composer.json +29 -0
  144. data/vendor/assets/bower_components/angular-ui-select/deploy-docs.sh +31 -0
  145. data/vendor/assets/bower_components/angular-ui-select/dist/select.css +48 -2
  146. data/vendor/assets/bower_components/angular-ui-select/dist/select.js +454 -111
  147. data/vendor/assets/bower_components/angular-ui-select/dist/select.min.css +2 -2
  148. data/vendor/assets/bower_components/angular-ui-select/dist/select.min.js +2 -2
  149. data/vendor/assets/bower_components/angular-ui-select/docs/assets/app.js +1 -0
  150. data/vendor/assets/bower_components/angular-ui-select/docs/assets/demo.js +461 -0
  151. data/vendor/assets/bower_components/angular-ui-select/docs/assets/docs.css +339 -0
  152. data/vendor/assets/bower_components/angular-ui-select/docs/assets/plunkr.js +110 -0
  153. data/vendor/assets/bower_components/angular-ui-select/docs/index.html +191 -0
  154. data/vendor/assets/bower_components/angular-ui-select/docs/partials/_footer.html +2 -0
  155. data/vendor/assets/bower_components/angular-ui-select/docs/partials/_header.html +64 -0
  156. data/vendor/assets/bower_components/angular-ui-select/index.js +2 -0
  157. data/vendor/assets/bower_components/angular-ui-select/package.json +36 -15
  158. data/vendor/assets/bower_components/bootstrap/CHANGELOG.md +5 -0
  159. data/vendor/assets/bower_components/bootstrap/Gemfile +6 -0
  160. data/vendor/assets/bower_components/bootstrap/Gemfile.lock +43 -0
  161. data/vendor/assets/bower_components/bootstrap/Gruntfile.js +176 -145
  162. data/vendor/assets/bower_components/bootstrap/ISSUE_TEMPLATE.md +22 -0
  163. data/vendor/assets/bower_components/bootstrap/LICENSE +1 -1
  164. data/vendor/assets/bower_components/bootstrap/README.md +55 -40
  165. data/vendor/assets/bower_components/bootstrap/bower.json +5 -9
  166. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +204 -59
  167. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -1
  168. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +4 -3
  169. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map +1 -0
  170. data/vendor/assets/bower_components/bootstrap/dist/css/{bootstrap.less → bootstrap.css} +881 -327
  171. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -1
  172. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +6 -0
  173. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.map +1 -0
  174. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
  175. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +272 -213
  176. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  177. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
  178. data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  179. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +549 -286
  180. data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +5 -4
  181. data/vendor/assets/bower_components/bootstrap/dist/js/npm.js +13 -0
  182. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
  183. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +272 -213
  184. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
  185. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
  186. data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
  187. data/vendor/assets/bower_components/bootstrap/grunt/bs-commonjs-generator.js +30 -0
  188. data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +5 -4
  189. data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +13 -12
  190. data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +6 -8
  191. data/vendor/assets/bower_components/bootstrap/grunt/change-version.js +109 -0
  192. data/vendor/assets/bower_components/bootstrap/grunt/configBridge.json +46 -0
  193. data/vendor/assets/bower_components/bootstrap/grunt/npm-shrinkwrap.json +2679 -0
  194. data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +5 -5
  195. data/vendor/assets/bower_components/bootstrap/js/affix.js +46 -26
  196. data/vendor/assets/bower_components/bootstrap/js/alert.js +8 -6
  197. data/vendor/assets/bower_components/bootstrap/js/button.js +34 -19
  198. data/vendor/assets/bower_components/bootstrap/js/carousel.js +35 -21
  199. data/vendor/assets/bower_components/bootstrap/js/collapse.js +69 -27
  200. data/vendor/assets/bower_components/bootstrap/js/dropdown.js +55 -41
  201. data/vendor/assets/bower_components/bootstrap/js/modal.js +91 -32
  202. data/vendor/assets/bower_components/bootstrap/js/popover.js +5 -10
  203. data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +28 -26
  204. data/vendor/assets/bower_components/bootstrap/js/tab.js +45 -18
  205. data/vendor/assets/bower_components/bootstrap/js/tooltip.js +117 -54
  206. data/vendor/assets/bower_components/bootstrap/js/transition.js +2 -2
  207. data/vendor/assets/bower_components/bootstrap/less/alerts.less +5 -0
  208. data/vendor/assets/bower_components/bootstrap/less/badges.less +14 -3
  209. data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +6 -0
  210. data/vendor/assets/bower_components/bootstrap/less/button-groups.less +22 -18
  211. data/vendor/assets/bower_components/bootstrap/less/buttons.less +19 -10
  212. data/vendor/assets/bower_components/bootstrap/less/carousel.less +34 -7
  213. data/vendor/assets/bower_components/bootstrap/less/close.less +1 -0
  214. data/vendor/assets/bower_components/bootstrap/less/code.less +1 -0
  215. data/vendor/assets/bower_components/bootstrap/less/component-animations.less +3 -1
  216. data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +9 -8
  217. data/vendor/assets/bower_components/bootstrap/less/forms.less +123 -50
  218. data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +75 -3
  219. data/vendor/assets/bower_components/bootstrap/less/input-groups.less +8 -3
  220. data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +10 -4
  221. data/vendor/assets/bower_components/bootstrap/less/list-group.less +10 -11
  222. data/vendor/assets/bower_components/bootstrap/less/media.less +40 -30
  223. data/vendor/assets/bower_components/bootstrap/less/mixins.less +1 -0
  224. data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +2 -1
  225. data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +19 -4
  226. data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +5 -1
  227. data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +4 -4
  228. data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +4 -4
  229. data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +2 -2
  230. data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +0 -1
  231. data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +1 -1
  232. data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +2 -1
  233. data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +2 -1
  234. data/vendor/assets/bower_components/bootstrap/less/mixins/reset-text.less +18 -0
  235. data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +1 -1
  236. data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +3 -3
  237. data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +2 -1
  238. data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +8 -5
  239. data/vendor/assets/bower_components/bootstrap/less/modals.less +3 -3
  240. data/vendor/assets/bower_components/bootstrap/less/navbar.less +30 -25
  241. data/vendor/assets/bower_components/bootstrap/less/navs.less +1 -1
  242. data/vendor/assets/bower_components/bootstrap/less/normalize.less +12 -13
  243. data/vendor/assets/bower_components/bootstrap/less/pager.less +1 -2
  244. data/vendor/assets/bower_components/bootstrap/less/pagination.less +5 -4
  245. data/vendor/assets/bower_components/bootstrap/less/panels.less +33 -5
  246. data/vendor/assets/bower_components/bootstrap/less/popovers.less +5 -7
  247. data/vendor/assets/bower_components/bootstrap/less/print.less +96 -96
  248. data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +1 -19
  249. data/vendor/assets/bower_components/bootstrap/less/responsive-embed.less +10 -9
  250. data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +13 -2
  251. data/vendor/assets/bower_components/bootstrap/less/tables.less +14 -13
  252. data/vendor/assets/bower_components/bootstrap/less/theme.less +49 -16
  253. data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +1 -1
  254. data/vendor/assets/bower_components/bootstrap/less/tooltip.less +13 -7
  255. data/vendor/assets/bower_components/bootstrap/less/type.less +2 -13
  256. data/vendor/assets/bower_components/bootstrap/less/utilities.less +0 -2
  257. data/vendor/assets/bower_components/bootstrap/less/variables.less +45 -22
  258. data/vendor/assets/bower_components/bootstrap/nuget/MyGet.ps1 +8 -0
  259. data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.less.nuspec +28 -0
  260. data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.nuspec +28 -0
  261. data/vendor/assets/bower_components/bootstrap/package.js +32 -0
  262. data/vendor/assets/bower_components/bootstrap/package.json +49 -41
  263. data/vendor/assets/bower_components/flow.js/README.md +79 -64
  264. data/vendor/assets/bower_components/flow.js/bower.json +6 -2
  265. data/vendor/assets/bower_components/flow.js/dist/flow.js +1635 -1532
  266. data/vendor/assets/bower_components/flow.js/dist/flow.min.js +2 -2
  267. data/vendor/assets/bower_components/flow.js/package.js +24 -0
  268. data/vendor/assets/bower_components/flow.js/travis.sh +19 -0
  269. data/vendor/assets/bower_components/font-awesome/scss/_path.scss +5 -5
  270. data/vendor/assets/bower_components/font-awesome/scss/_variables.scss +1 -2
  271. data/vendor/assets/bower_components/ng-flow/bower.json +1 -1
  272. data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.js +1655 -1542
  273. data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.min.js +2 -2
  274. data/vendor/assets/bower_components/ng-flow/dist/ng-flow.js +19 -9
  275. data/vendor/assets/bower_components/ng-flow/dist/ng-flow.min.js +2 -2
  276. data/vendor/assets/bower_components/ng-flow/index.js +3 -0
  277. data/vendor/assets/bower_components/ng-flow/package.js +25 -0
  278. data/vendor/assets/bower_components/ng-flow/src/directives/drag-events.js +2 -1
  279. data/vendor/assets/bower_components/ng-flow/src/directives/events.js +2 -1
  280. data/vendor/assets/bower_components/ng-flow/src/directives/init.js +7 -1
  281. data/vendor/assets/bower_components/ng-flow/travis.sh +19 -0
  282. data/vendor/assets/bower_components/{Responsive-Dashboard → rdash-ui}/LICENSE +21 -21
  283. data/vendor/assets/bower_components/rdash-ui/README.md +55 -0
  284. data/vendor/assets/bower_components/rdash-ui/bower.json +33 -0
  285. data/vendor/assets/bower_components/rdash-ui/dist/css/rdash.min.css +1 -0
  286. data/vendor/assets/bower_components/rdash-ui/dist/css/rdash.scss +489 -0
  287. data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.eot +0 -0
  288. data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.svg +1316 -1316
  289. data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.ttf +0 -0
  290. data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.woff +0 -0
  291. metadata +227 -180
  292. data/config/initializers/bower_rails.rb +0 -16
  293. data/vendor/assets/bower_components/Responsive-Dashboard/CONTRIBUTING.md +0 -21
  294. data/vendor/assets/bower_components/Responsive-Dashboard/README.md +0 -119
  295. data/vendor/assets/bower_components/Responsive-Dashboard/bower.json +0 -32
  296. data/vendor/assets/bower_components/Responsive-Dashboard/gulpfile.js +0 -81
  297. data/vendor/assets/bower_components/Responsive-Dashboard/package.json +0 -21
  298. data/vendor/assets/bower_components/Responsive-Dashboard/src/index.html +0 -413
  299. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/alerts-ctrl.js +0 -19
  300. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/master-ctrl.js +0 -51
  301. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/loading.js +0 -13
  302. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-body.js +0 -16
  303. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-header.js +0 -17
  304. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget.js +0 -16
  305. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/module.js +0 -1
  306. data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/routes.js +0 -22
  307. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/content.less +0 -19
  308. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/hamburg.less +0 -29
  309. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/header.less +0 -92
  310. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/loading.less +0 -40
  311. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/main.less +0 -73
  312. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/mixins.less +0 -5
  313. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/sidebar.less +0 -122
  314. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/variables.less +0 -10
  315. data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/widgets.less +0 -95
  316. data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.erb +0 -5
  317. data/vendor/assets/bower_components/flow.js/CHANGELOG.md +0 -37
  318. data/vendor/assets/bower_components/flow.js/Gruntfile.js +0 -132
  319. data/vendor/assets/bower_components/flow.js/karma.conf.js +0 -114
  320. data/vendor/assets/bower_components/flow.js/package.json +0 -50
  321. data/vendor/assets/bower_components/flow.js/src/flow.js +0 -1532
  322. data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
  323. data/vendor/assets/bower_components/jquery/bower.json +0 -27
  324. data/vendor/assets/bower_components/jquery/dist/jquery.js +0 -9190
  325. data/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
  326. data/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
  327. data/vendor/assets/bower_components/jquery/src/ajax.js +0 -806
  328. data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
  329. data/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
  330. data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  331. data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
  332. data/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
  333. data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
  334. data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
  335. data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -135
  336. data/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
  337. data/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -143
  338. data/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
  339. data/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -96
  340. data/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
  341. data/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -163
  342. data/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
  343. data/vendor/assets/bower_components/jquery/src/core.js +0 -498
  344. data/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
  345. data/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
  346. data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
  347. data/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
  348. data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
  349. data/vendor/assets/bower_components/jquery/src/css.js +0 -451
  350. data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -24
  351. data/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
  352. data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  353. data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
  354. data/vendor/assets/bower_components/jquery/src/css/support.js +0 -91
  355. data/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
  356. data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
  357. data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -5
  358. data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
  359. data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
  360. data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
  361. data/vendor/assets/bower_components/jquery/src/data.js +0 -179
  362. data/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
  363. data/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
  364. data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
  365. data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
  366. data/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
  367. data/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
  368. data/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
  369. data/vendor/assets/bower_components/jquery/src/effects.js +0 -649
  370. data/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
  371. data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
  372. data/vendor/assets/bower_components/jquery/src/event.js +0 -868
  373. data/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
  374. data/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
  375. data/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
  376. data/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
  377. data/vendor/assets/bower_components/jquery/src/intro.js +0 -44
  378. data/vendor/assets/bower_components/jquery/src/jquery.js +0 -36
  379. data/vendor/assets/bower_components/jquery/src/manipulation.js +0 -582
  380. data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
  381. data/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -31
  382. data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
  383. data/vendor/assets/bower_components/jquery/src/offset.js +0 -204
  384. data/vendor/assets/bower_components/jquery/src/outro.js +0 -1
  385. data/vendor/assets/bower_components/jquery/src/queue.js +0 -142
  386. data/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
  387. data/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
  388. data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
  389. data/vendor/assets/bower_components/jquery/src/selector.js +0 -1
  390. data/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
  391. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2044
  392. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  393. data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  394. data/vendor/assets/bower_components/jquery/src/traversing.js +0 -200
  395. data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
  396. data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
  397. data/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
  398. data/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
  399. data/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
  400. data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
  401. data/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
  402. data/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
  403. data/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
  404. data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
  405. data/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
  406. data/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
  407. data/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
  408. data/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
  409. data/vendor/assets/bower_components/jquery/src/wrap.js +0 -78
@@ -1,205 +0,0 @@
1
- define([
2
- "./core",
3
- "./var/rnotwhite"
4
- ], function( jQuery, rnotwhite ) {
5
-
6
- // String to Object options format cache
7
- var optionsCache = {};
8
-
9
- // Convert String-formatted options into Object-formatted ones and store in cache
10
- function createOptions( options ) {
11
- var object = optionsCache[ options ] = {};
12
- jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
13
- object[ flag ] = true;
14
- });
15
- return object;
16
- }
17
-
18
- /*
19
- * Create a callback list using the following parameters:
20
- *
21
- * options: an optional list of space-separated options that will change how
22
- * the callback list behaves or a more traditional option object
23
- *
24
- * By default a callback list will act like an event callback list and can be
25
- * "fired" multiple times.
26
- *
27
- * Possible options:
28
- *
29
- * once: will ensure the callback list can only be fired once (like a Deferred)
30
- *
31
- * memory: will keep track of previous values and will call any callback added
32
- * after the list has been fired right away with the latest "memorized"
33
- * values (like a Deferred)
34
- *
35
- * unique: will ensure a callback can only be added once (no duplicate in the list)
36
- *
37
- * stopOnFalse: interrupt callings when a callback returns false
38
- *
39
- */
40
- jQuery.Callbacks = function( options ) {
41
-
42
- // Convert options from String-formatted to Object-formatted if needed
43
- // (we check in cache first)
44
- options = typeof options === "string" ?
45
- ( optionsCache[ options ] || createOptions( options ) ) :
46
- jQuery.extend( {}, options );
47
-
48
- var // Last fire value (for non-forgettable lists)
49
- memory,
50
- // Flag to know if list was already fired
51
- fired,
52
- // Flag to know if list is currently firing
53
- firing,
54
- // First callback to fire (used internally by add and fireWith)
55
- firingStart,
56
- // End of the loop when firing
57
- firingLength,
58
- // Index of currently firing callback (modified by remove if needed)
59
- firingIndex,
60
- // Actual callback list
61
- list = [],
62
- // Stack of fire calls for repeatable lists
63
- stack = !options.once && [],
64
- // Fire callbacks
65
- fire = function( data ) {
66
- memory = options.memory && data;
67
- fired = true;
68
- firingIndex = firingStart || 0;
69
- firingStart = 0;
70
- firingLength = list.length;
71
- firing = true;
72
- for ( ; list && firingIndex < firingLength; firingIndex++ ) {
73
- if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {
74
- memory = false; // To prevent further calls using add
75
- break;
76
- }
77
- }
78
- firing = false;
79
- if ( list ) {
80
- if ( stack ) {
81
- if ( stack.length ) {
82
- fire( stack.shift() );
83
- }
84
- } else if ( memory ) {
85
- list = [];
86
- } else {
87
- self.disable();
88
- }
89
- }
90
- },
91
- // Actual Callbacks object
92
- self = {
93
- // Add a callback or a collection of callbacks to the list
94
- add: function() {
95
- if ( list ) {
96
- // First, we save the current length
97
- var start = list.length;
98
- (function add( args ) {
99
- jQuery.each( args, function( _, arg ) {
100
- var type = jQuery.type( arg );
101
- if ( type === "function" ) {
102
- if ( !options.unique || !self.has( arg ) ) {
103
- list.push( arg );
104
- }
105
- } else if ( arg && arg.length && type !== "string" ) {
106
- // Inspect recursively
107
- add( arg );
108
- }
109
- });
110
- })( arguments );
111
- // Do we need to add the callbacks to the
112
- // current firing batch?
113
- if ( firing ) {
114
- firingLength = list.length;
115
- // With memory, if we're not firing then
116
- // we should call right away
117
- } else if ( memory ) {
118
- firingStart = start;
119
- fire( memory );
120
- }
121
- }
122
- return this;
123
- },
124
- // Remove a callback from the list
125
- remove: function() {
126
- if ( list ) {
127
- jQuery.each( arguments, function( _, arg ) {
128
- var index;
129
- while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
130
- list.splice( index, 1 );
131
- // Handle firing indexes
132
- if ( firing ) {
133
- if ( index <= firingLength ) {
134
- firingLength--;
135
- }
136
- if ( index <= firingIndex ) {
137
- firingIndex--;
138
- }
139
- }
140
- }
141
- });
142
- }
143
- return this;
144
- },
145
- // Check if a given callback is in the list.
146
- // If no argument is given, return whether or not list has callbacks attached.
147
- has: function( fn ) {
148
- return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );
149
- },
150
- // Remove all callbacks from the list
151
- empty: function() {
152
- list = [];
153
- firingLength = 0;
154
- return this;
155
- },
156
- // Have the list do nothing anymore
157
- disable: function() {
158
- list = stack = memory = undefined;
159
- return this;
160
- },
161
- // Is it disabled?
162
- disabled: function() {
163
- return !list;
164
- },
165
- // Lock the list in its current state
166
- lock: function() {
167
- stack = undefined;
168
- if ( !memory ) {
169
- self.disable();
170
- }
171
- return this;
172
- },
173
- // Is it locked?
174
- locked: function() {
175
- return !stack;
176
- },
177
- // Call all callbacks with the given context and arguments
178
- fireWith: function( context, args ) {
179
- if ( list && ( !fired || stack ) ) {
180
- args = args || [];
181
- args = [ context, args.slice ? args.slice() : args ];
182
- if ( firing ) {
183
- stack.push( args );
184
- } else {
185
- fire( args );
186
- }
187
- }
188
- return this;
189
- },
190
- // Call all the callbacks with the given arguments
191
- fire: function() {
192
- self.fireWith( this, arguments );
193
- return this;
194
- },
195
- // To know if the callbacks have already been called at least once
196
- fired: function() {
197
- return !!fired;
198
- }
199
- };
200
-
201
- return self;
202
- };
203
-
204
- return jQuery;
205
- });
@@ -1,498 +0,0 @@
1
- define([
2
- "./var/arr",
3
- "./var/slice",
4
- "./var/concat",
5
- "./var/push",
6
- "./var/indexOf",
7
- "./var/class2type",
8
- "./var/toString",
9
- "./var/hasOwn",
10
- "./var/support"
11
- ], function( arr, slice, concat, push, indexOf, class2type, toString, hasOwn, support ) {
12
-
13
- var
14
- // Use the correct document accordingly with window argument (sandbox)
15
- document = window.document,
16
-
17
- version = "@VERSION",
18
-
19
- // Define a local copy of jQuery
20
- jQuery = function( selector, context ) {
21
- // The jQuery object is actually just the init constructor 'enhanced'
22
- // Need init if jQuery is called (just allow error to be thrown if not included)
23
- return new jQuery.fn.init( selector, context );
24
- },
25
-
26
- // Support: Android<4.1
27
- // Make sure we trim BOM and NBSP
28
- rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
29
-
30
- // Matches dashed string for camelizing
31
- rmsPrefix = /^-ms-/,
32
- rdashAlpha = /-([\da-z])/gi,
33
-
34
- // Used by jQuery.camelCase as callback to replace()
35
- fcamelCase = function( all, letter ) {
36
- return letter.toUpperCase();
37
- };
38
-
39
- jQuery.fn = jQuery.prototype = {
40
- // The current version of jQuery being used
41
- jquery: version,
42
-
43
- constructor: jQuery,
44
-
45
- // Start with an empty selector
46
- selector: "",
47
-
48
- // The default length of a jQuery object is 0
49
- length: 0,
50
-
51
- toArray: function() {
52
- return slice.call( this );
53
- },
54
-
55
- // Get the Nth element in the matched element set OR
56
- // Get the whole matched element set as a clean array
57
- get: function( num ) {
58
- return num != null ?
59
-
60
- // Return just the one element from the set
61
- ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
62
-
63
- // Return all the elements in a clean array
64
- slice.call( this );
65
- },
66
-
67
- // Take an array of elements and push it onto the stack
68
- // (returning the new matched element set)
69
- pushStack: function( elems ) {
70
-
71
- // Build a new jQuery matched element set
72
- var ret = jQuery.merge( this.constructor(), elems );
73
-
74
- // Add the old object onto the stack (as a reference)
75
- ret.prevObject = this;
76
- ret.context = this.context;
77
-
78
- // Return the newly-formed element set
79
- return ret;
80
- },
81
-
82
- // Execute a callback for every element in the matched set.
83
- // (You can seed the arguments with an array of args, but this is
84
- // only used internally.)
85
- each: function( callback, args ) {
86
- return jQuery.each( this, callback, args );
87
- },
88
-
89
- map: function( callback ) {
90
- return this.pushStack( jQuery.map(this, function( elem, i ) {
91
- return callback.call( elem, i, elem );
92
- }));
93
- },
94
-
95
- slice: function() {
96
- return this.pushStack( slice.apply( this, arguments ) );
97
- },
98
-
99
- first: function() {
100
- return this.eq( 0 );
101
- },
102
-
103
- last: function() {
104
- return this.eq( -1 );
105
- },
106
-
107
- eq: function( i ) {
108
- var len = this.length,
109
- j = +i + ( i < 0 ? len : 0 );
110
- return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
111
- },
112
-
113
- end: function() {
114
- return this.prevObject || this.constructor(null);
115
- },
116
-
117
- // For internal use only.
118
- // Behaves like an Array's method, not like a jQuery method.
119
- push: push,
120
- sort: arr.sort,
121
- splice: arr.splice
122
- };
123
-
124
- jQuery.extend = jQuery.fn.extend = function() {
125
- var options, name, src, copy, copyIsArray, clone,
126
- target = arguments[0] || {},
127
- i = 1,
128
- length = arguments.length,
129
- deep = false;
130
-
131
- // Handle a deep copy situation
132
- if ( typeof target === "boolean" ) {
133
- deep = target;
134
-
135
- // skip the boolean and the target
136
- target = arguments[ i ] || {};
137
- i++;
138
- }
139
-
140
- // Handle case when target is a string or something (possible in deep copy)
141
- if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
142
- target = {};
143
- }
144
-
145
- // extend jQuery itself if only one argument is passed
146
- if ( i === length ) {
147
- target = this;
148
- i--;
149
- }
150
-
151
- for ( ; i < length; i++ ) {
152
- // Only deal with non-null/undefined values
153
- if ( (options = arguments[ i ]) != null ) {
154
- // Extend the base object
155
- for ( name in options ) {
156
- src = target[ name ];
157
- copy = options[ name ];
158
-
159
- // Prevent never-ending loop
160
- if ( target === copy ) {
161
- continue;
162
- }
163
-
164
- // Recurse if we're merging plain objects or arrays
165
- if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
166
- if ( copyIsArray ) {
167
- copyIsArray = false;
168
- clone = src && jQuery.isArray(src) ? src : [];
169
-
170
- } else {
171
- clone = src && jQuery.isPlainObject(src) ? src : {};
172
- }
173
-
174
- // Never move original objects, clone them
175
- target[ name ] = jQuery.extend( deep, clone, copy );
176
-
177
- // Don't bring in undefined values
178
- } else if ( copy !== undefined ) {
179
- target[ name ] = copy;
180
- }
181
- }
182
- }
183
- }
184
-
185
- // Return the modified object
186
- return target;
187
- };
188
-
189
- jQuery.extend({
190
- // Unique for each copy of jQuery on the page
191
- expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
192
-
193
- // Assume jQuery is ready without the ready module
194
- isReady: true,
195
-
196
- error: function( msg ) {
197
- throw new Error( msg );
198
- },
199
-
200
- noop: function() {},
201
-
202
- // See test/unit/core.js for details concerning isFunction.
203
- // Since version 1.3, DOM methods and functions like alert
204
- // aren't supported. They return false on IE (#2968).
205
- isFunction: function( obj ) {
206
- return jQuery.type(obj) === "function";
207
- },
208
-
209
- isArray: Array.isArray,
210
-
211
- isWindow: function( obj ) {
212
- return obj != null && obj === obj.window;
213
- },
214
-
215
- isNumeric: function( obj ) {
216
- // parseFloat NaNs numeric-cast false positives (null|true|false|"")
217
- // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
218
- // subtraction forces infinities to NaN
219
- return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0;
220
- },
221
-
222
- isPlainObject: function( obj ) {
223
- // Not plain objects:
224
- // - Any object or value whose internal [[Class]] property is not "[object Object]"
225
- // - DOM nodes
226
- // - window
227
- if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
228
- return false;
229
- }
230
-
231
- if ( obj.constructor &&
232
- !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
233
- return false;
234
- }
235
-
236
- // If the function hasn't returned already, we're confident that
237
- // |obj| is a plain object, created by {} or constructed with new Object
238
- return true;
239
- },
240
-
241
- isEmptyObject: function( obj ) {
242
- var name;
243
- for ( name in obj ) {
244
- return false;
245
- }
246
- return true;
247
- },
248
-
249
- type: function( obj ) {
250
- if ( obj == null ) {
251
- return obj + "";
252
- }
253
- // Support: Android < 4.0, iOS < 6 (functionish RegExp)
254
- return typeof obj === "object" || typeof obj === "function" ?
255
- class2type[ toString.call(obj) ] || "object" :
256
- typeof obj;
257
- },
258
-
259
- // Evaluates a script in a global context
260
- globalEval: function( code ) {
261
- var script,
262
- indirect = eval;
263
-
264
- code = jQuery.trim( code );
265
-
266
- if ( code ) {
267
- // If the code includes a valid, prologue position
268
- // strict mode pragma, execute code by injecting a
269
- // script tag into the document.
270
- if ( code.indexOf("use strict") === 1 ) {
271
- script = document.createElement("script");
272
- script.text = code;
273
- document.head.appendChild( script ).parentNode.removeChild( script );
274
- } else {
275
- // Otherwise, avoid the DOM node creation, insertion
276
- // and removal by using an indirect global eval
277
- indirect( code );
278
- }
279
- }
280
- },
281
-
282
- // Convert dashed to camelCase; used by the css and data modules
283
- // Microsoft forgot to hump their vendor prefix (#9572)
284
- camelCase: function( string ) {
285
- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
286
- },
287
-
288
- nodeName: function( elem, name ) {
289
- return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
290
- },
291
-
292
- // args is for internal usage only
293
- each: function( obj, callback, args ) {
294
- var value,
295
- i = 0,
296
- length = obj.length,
297
- isArray = isArraylike( obj );
298
-
299
- if ( args ) {
300
- if ( isArray ) {
301
- for ( ; i < length; i++ ) {
302
- value = callback.apply( obj[ i ], args );
303
-
304
- if ( value === false ) {
305
- break;
306
- }
307
- }
308
- } else {
309
- for ( i in obj ) {
310
- value = callback.apply( obj[ i ], args );
311
-
312
- if ( value === false ) {
313
- break;
314
- }
315
- }
316
- }
317
-
318
- // A special, fast, case for the most common use of each
319
- } else {
320
- if ( isArray ) {
321
- for ( ; i < length; i++ ) {
322
- value = callback.call( obj[ i ], i, obj[ i ] );
323
-
324
- if ( value === false ) {
325
- break;
326
- }
327
- }
328
- } else {
329
- for ( i in obj ) {
330
- value = callback.call( obj[ i ], i, obj[ i ] );
331
-
332
- if ( value === false ) {
333
- break;
334
- }
335
- }
336
- }
337
- }
338
-
339
- return obj;
340
- },
341
-
342
- // Support: Android<4.1
343
- trim: function( text ) {
344
- return text == null ?
345
- "" :
346
- ( text + "" ).replace( rtrim, "" );
347
- },
348
-
349
- // results is for internal usage only
350
- makeArray: function( arr, results ) {
351
- var ret = results || [];
352
-
353
- if ( arr != null ) {
354
- if ( isArraylike( Object(arr) ) ) {
355
- jQuery.merge( ret,
356
- typeof arr === "string" ?
357
- [ arr ] : arr
358
- );
359
- } else {
360
- push.call( ret, arr );
361
- }
362
- }
363
-
364
- return ret;
365
- },
366
-
367
- inArray: function( elem, arr, i ) {
368
- return arr == null ? -1 : indexOf.call( arr, elem, i );
369
- },
370
-
371
- merge: function( first, second ) {
372
- var len = +second.length,
373
- j = 0,
374
- i = first.length;
375
-
376
- for ( ; j < len; j++ ) {
377
- first[ i++ ] = second[ j ];
378
- }
379
-
380
- first.length = i;
381
-
382
- return first;
383
- },
384
-
385
- grep: function( elems, callback, invert ) {
386
- var callbackInverse,
387
- matches = [],
388
- i = 0,
389
- length = elems.length,
390
- callbackExpect = !invert;
391
-
392
- // Go through the array, only saving the items
393
- // that pass the validator function
394
- for ( ; i < length; i++ ) {
395
- callbackInverse = !callback( elems[ i ], i );
396
- if ( callbackInverse !== callbackExpect ) {
397
- matches.push( elems[ i ] );
398
- }
399
- }
400
-
401
- return matches;
402
- },
403
-
404
- // arg is for internal usage only
405
- map: function( elems, callback, arg ) {
406
- var value,
407
- i = 0,
408
- length = elems.length,
409
- isArray = isArraylike( elems ),
410
- ret = [];
411
-
412
- // Go through the array, translating each of the items to their new values
413
- if ( isArray ) {
414
- for ( ; i < length; i++ ) {
415
- value = callback( elems[ i ], i, arg );
416
-
417
- if ( value != null ) {
418
- ret.push( value );
419
- }
420
- }
421
-
422
- // Go through every key on the object,
423
- } else {
424
- for ( i in elems ) {
425
- value = callback( elems[ i ], i, arg );
426
-
427
- if ( value != null ) {
428
- ret.push( value );
429
- }
430
- }
431
- }
432
-
433
- // Flatten any nested arrays
434
- return concat.apply( [], ret );
435
- },
436
-
437
- // A global GUID counter for objects
438
- guid: 1,
439
-
440
- // Bind a function to a context, optionally partially applying any
441
- // arguments.
442
- proxy: function( fn, context ) {
443
- var tmp, args, proxy;
444
-
445
- if ( typeof context === "string" ) {
446
- tmp = fn[ context ];
447
- context = fn;
448
- fn = tmp;
449
- }
450
-
451
- // Quick check to determine if target is callable, in the spec
452
- // this throws a TypeError, but we will just return undefined.
453
- if ( !jQuery.isFunction( fn ) ) {
454
- return undefined;
455
- }
456
-
457
- // Simulated bind
458
- args = slice.call( arguments, 2 );
459
- proxy = function() {
460
- return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
461
- };
462
-
463
- // Set the guid of unique handler to the same of original handler, so it can be removed
464
- proxy.guid = fn.guid = fn.guid || jQuery.guid++;
465
-
466
- return proxy;
467
- },
468
-
469
- now: Date.now,
470
-
471
- // jQuery.support is not used in Core but other projects attach their
472
- // properties to it so it needs to exist.
473
- support: support
474
- });
475
-
476
- // Populate the class2type map
477
- jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
478
- class2type[ "[object " + name + "]" ] = name.toLowerCase();
479
- });
480
-
481
- function isArraylike( obj ) {
482
- var length = obj.length,
483
- type = jQuery.type( obj );
484
-
485
- if ( type === "function" || jQuery.isWindow( obj ) ) {
486
- return false;
487
- }
488
-
489
- if ( obj.nodeType === 1 && length ) {
490
- return true;
491
- }
492
-
493
- return type === "array" || length === 0 ||
494
- typeof length === "number" && length > 0 && ( length - 1 ) in obj;
495
- }
496
-
497
- return jQuery;
498
- });