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,60 +0,0 @@
1
- define([
2
- "../core"
3
- ], function( jQuery ) {
4
-
5
- // Multifunctional method to get and set values of a collection
6
- // The value/s can optionally be executed if it's a function
7
- var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
8
- var i = 0,
9
- len = elems.length,
10
- bulk = key == null;
11
-
12
- // Sets many values
13
- if ( jQuery.type( key ) === "object" ) {
14
- chainable = true;
15
- for ( i in key ) {
16
- jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
17
- }
18
-
19
- // Sets one value
20
- } else if ( value !== undefined ) {
21
- chainable = true;
22
-
23
- if ( !jQuery.isFunction( value ) ) {
24
- raw = true;
25
- }
26
-
27
- if ( bulk ) {
28
- // Bulk operations run against the entire set
29
- if ( raw ) {
30
- fn.call( elems, value );
31
- fn = null;
32
-
33
- // ...except when executing function values
34
- } else {
35
- bulk = fn;
36
- fn = function( elem, key, value ) {
37
- return bulk.call( jQuery( elem ), value );
38
- };
39
- }
40
- }
41
-
42
- if ( fn ) {
43
- for ( ; i < len; i++ ) {
44
- fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
45
- }
46
- }
47
- }
48
-
49
- return chainable ?
50
- elems :
51
-
52
- // Gets
53
- bulk ?
54
- fn.call( elems ) :
55
- len ? fn( elems[0], key ) : emptyGet;
56
- };
57
-
58
- return access;
59
-
60
- });
@@ -1,123 +0,0 @@
1
- // Initialize a jQuery object
2
- define([
3
- "../core",
4
- "./var/rsingleTag",
5
- "../traversing/findFilter"
6
- ], function( jQuery, rsingleTag ) {
7
-
8
- // A central reference to the root jQuery(document)
9
- var rootjQuery,
10
-
11
- // A simple way to check for HTML strings
12
- // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
13
- // Strict HTML recognition (#11290: must start with <)
14
- rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
15
-
16
- init = jQuery.fn.init = function( selector, context ) {
17
- var match, elem;
18
-
19
- // HANDLE: $(""), $(null), $(undefined), $(false)
20
- if ( !selector ) {
21
- return this;
22
- }
23
-
24
- // Handle HTML strings
25
- if ( typeof selector === "string" ) {
26
- if ( selector[0] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) {
27
- // Assume that strings that start and end with <> are HTML and skip the regex check
28
- match = [ null, selector, null ];
29
-
30
- } else {
31
- match = rquickExpr.exec( selector );
32
- }
33
-
34
- // Match html or make sure no context is specified for #id
35
- if ( match && (match[1] || !context) ) {
36
-
37
- // HANDLE: $(html) -> $(array)
38
- if ( match[1] ) {
39
- context = context instanceof jQuery ? context[0] : context;
40
-
41
- // scripts is true for back-compat
42
- // Intentionally let the error be thrown if parseHTML is not present
43
- jQuery.merge( this, jQuery.parseHTML(
44
- match[1],
45
- context && context.nodeType ? context.ownerDocument || context : document,
46
- true
47
- ) );
48
-
49
- // HANDLE: $(html, props)
50
- if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
51
- for ( match in context ) {
52
- // Properties of context are called as methods if possible
53
- if ( jQuery.isFunction( this[ match ] ) ) {
54
- this[ match ]( context[ match ] );
55
-
56
- // ...and otherwise set as attributes
57
- } else {
58
- this.attr( match, context[ match ] );
59
- }
60
- }
61
- }
62
-
63
- return this;
64
-
65
- // HANDLE: $(#id)
66
- } else {
67
- elem = document.getElementById( match[2] );
68
-
69
- // Check parentNode to catch when Blackberry 4.6 returns
70
- // nodes that are no longer in the document #6963
71
- if ( elem && elem.parentNode ) {
72
- // Inject the element directly into the jQuery object
73
- this.length = 1;
74
- this[0] = elem;
75
- }
76
-
77
- this.context = document;
78
- this.selector = selector;
79
- return this;
80
- }
81
-
82
- // HANDLE: $(expr, $(...))
83
- } else if ( !context || context.jquery ) {
84
- return ( context || rootjQuery ).find( selector );
85
-
86
- // HANDLE: $(expr, context)
87
- // (which is just equivalent to: $(context).find(expr)
88
- } else {
89
- return this.constructor( context ).find( selector );
90
- }
91
-
92
- // HANDLE: $(DOMElement)
93
- } else if ( selector.nodeType ) {
94
- this.context = this[0] = selector;
95
- this.length = 1;
96
- return this;
97
-
98
- // HANDLE: $(function)
99
- // Shortcut for document ready
100
- } else if ( jQuery.isFunction( selector ) ) {
101
- return typeof rootjQuery.ready !== "undefined" ?
102
- rootjQuery.ready( selector ) :
103
- // Execute immediately if ready is not present
104
- selector( jQuery );
105
- }
106
-
107
- if ( selector.selector !== undefined ) {
108
- this.selector = selector.selector;
109
- this.context = selector.context;
110
- }
111
-
112
- return jQuery.makeArray( selector, this );
113
- };
114
-
115
- // Give the init function the jQuery prototype for later instantiation
116
- init.prototype = jQuery.fn;
117
-
118
- // Initialize central reference
119
- rootjQuery = jQuery( document );
120
-
121
- return init;
122
-
123
- });
@@ -1,39 +0,0 @@
1
- define([
2
- "../core",
3
- "./var/rsingleTag",
4
- "../manipulation" // buildFragment
5
- ], function( jQuery, rsingleTag ) {
6
-
7
- // data: string of html
8
- // context (optional): If specified, the fragment will be created in this context, defaults to document
9
- // keepScripts (optional): If true, will include scripts passed in the html string
10
- jQuery.parseHTML = function( data, context, keepScripts ) {
11
- if ( !data || typeof data !== "string" ) {
12
- return null;
13
- }
14
- if ( typeof context === "boolean" ) {
15
- keepScripts = context;
16
- context = false;
17
- }
18
- context = context || document;
19
-
20
- var parsed = rsingleTag.exec( data ),
21
- scripts = !keepScripts && [];
22
-
23
- // Single tag
24
- if ( parsed ) {
25
- return [ context.createElement( parsed[1] ) ];
26
- }
27
-
28
- parsed = jQuery.buildFragment( [ data ], context, scripts );
29
-
30
- if ( scripts && scripts.length ) {
31
- jQuery( scripts ).remove();
32
- }
33
-
34
- return jQuery.merge( [], parsed.childNodes );
35
- };
36
-
37
- return jQuery.parseHTML;
38
-
39
- });
@@ -1,97 +0,0 @@
1
- define([
2
- "../core",
3
- "../core/init",
4
- "../deferred"
5
- ], function( jQuery ) {
6
-
7
- // The deferred used on DOM ready
8
- var readyList;
9
-
10
- jQuery.fn.ready = function( fn ) {
11
- // Add the callback
12
- jQuery.ready.promise().done( fn );
13
-
14
- return this;
15
- };
16
-
17
- jQuery.extend({
18
- // Is the DOM ready to be used? Set to true once it occurs.
19
- isReady: false,
20
-
21
- // A counter to track how many items to wait for before
22
- // the ready event fires. See #6781
23
- readyWait: 1,
24
-
25
- // Hold (or release) the ready event
26
- holdReady: function( hold ) {
27
- if ( hold ) {
28
- jQuery.readyWait++;
29
- } else {
30
- jQuery.ready( true );
31
- }
32
- },
33
-
34
- // Handle when the DOM is ready
35
- ready: function( wait ) {
36
-
37
- // Abort if there are pending holds or we're already ready
38
- if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
39
- return;
40
- }
41
-
42
- // Remember that the DOM is ready
43
- jQuery.isReady = true;
44
-
45
- // If a normal DOM Ready event fired, decrement, and wait if need be
46
- if ( wait !== true && --jQuery.readyWait > 0 ) {
47
- return;
48
- }
49
-
50
- // If there are functions bound, to execute
51
- readyList.resolveWith( document, [ jQuery ] );
52
-
53
- // Trigger any bound ready events
54
- if ( jQuery.fn.triggerHandler ) {
55
- jQuery( document ).triggerHandler( "ready" );
56
- jQuery( document ).off( "ready" );
57
- }
58
- }
59
- });
60
-
61
- /**
62
- * The ready event handler and self cleanup method
63
- */
64
- function completed() {
65
- document.removeEventListener( "DOMContentLoaded", completed, false );
66
- window.removeEventListener( "load", completed, false );
67
- jQuery.ready();
68
- }
69
-
70
- jQuery.ready.promise = function( obj ) {
71
- if ( !readyList ) {
72
-
73
- readyList = jQuery.Deferred();
74
-
75
- // Catch cases where $(document).ready() is called after the browser event has already occurred.
76
- // we once tried to use readyState "interactive" here, but it caused issues like the one
77
- // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
78
- if ( document.readyState === "complete" ) {
79
- // Handle it asynchronously to allow scripts the opportunity to delay ready
80
- setTimeout( jQuery.ready );
81
-
82
- } else {
83
-
84
- // Use the handy event callback
85
- document.addEventListener( "DOMContentLoaded", completed, false );
86
-
87
- // A fallback to window.onload, that will always work
88
- window.addEventListener( "load", completed, false );
89
- }
90
- }
91
- return readyList.promise( obj );
92
- };
93
-
94
- // Kick off the DOM ready check even if the user does not
95
- jQuery.ready.promise();
96
-
97
- });
@@ -1,4 +0,0 @@
1
- define(function() {
2
- // Match a standalone tag
3
- return (/^<(\w+)\s*\/?>(?:<\/\1>|)$/);
4
- });
@@ -1,451 +0,0 @@
1
- define([
2
- "./core",
3
- "./var/pnum",
4
- "./core/access",
5
- "./css/var/rmargin",
6
- "./css/var/rnumnonpx",
7
- "./css/var/cssExpand",
8
- "./css/var/isHidden",
9
- "./css/var/getStyles",
10
- "./css/curCSS",
11
- "./css/defaultDisplay",
12
- "./css/addGetHookIf",
13
- "./css/support",
14
- "./data/var/data_priv",
15
-
16
- "./core/init",
17
- "./css/swap",
18
- "./core/ready",
19
- "./selector" // contains
20
- ], function( jQuery, pnum, access, rmargin, rnumnonpx, cssExpand, isHidden,
21
- getStyles, curCSS, defaultDisplay, addGetHookIf, support, data_priv ) {
22
-
23
- var
24
- // swappable if display is none or starts with table except "table", "table-cell", or "table-caption"
25
- // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
26
- rdisplayswap = /^(none|table(?!-c[ea]).+)/,
27
- rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ),
28
- rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ),
29
-
30
- cssShow = { position: "absolute", visibility: "hidden", display: "block" },
31
- cssNormalTransform = {
32
- letterSpacing: "0",
33
- fontWeight: "400"
34
- },
35
-
36
- cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];
37
-
38
- // return a css property mapped to a potentially vendor prefixed property
39
- function vendorPropName( style, name ) {
40
-
41
- // shortcut for names that are not vendor prefixed
42
- if ( name in style ) {
43
- return name;
44
- }
45
-
46
- // check for vendor prefixed names
47
- var capName = name[0].toUpperCase() + name.slice(1),
48
- origName = name,
49
- i = cssPrefixes.length;
50
-
51
- while ( i-- ) {
52
- name = cssPrefixes[ i ] + capName;
53
- if ( name in style ) {
54
- return name;
55
- }
56
- }
57
-
58
- return origName;
59
- }
60
-
61
- function setPositiveNumber( elem, value, subtract ) {
62
- var matches = rnumsplit.exec( value );
63
- return matches ?
64
- // Guard against undefined "subtract", e.g., when used as in cssHooks
65
- Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) :
66
- value;
67
- }
68
-
69
- function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
70
- var i = extra === ( isBorderBox ? "border" : "content" ) ?
71
- // If we already have the right measurement, avoid augmentation
72
- 4 :
73
- // Otherwise initialize for horizontal or vertical properties
74
- name === "width" ? 1 : 0,
75
-
76
- val = 0;
77
-
78
- for ( ; i < 4; i += 2 ) {
79
- // both box models exclude margin, so add it if we want it
80
- if ( extra === "margin" ) {
81
- val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
82
- }
83
-
84
- if ( isBorderBox ) {
85
- // border-box includes padding, so remove it if we want content
86
- if ( extra === "content" ) {
87
- val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
88
- }
89
-
90
- // at this point, extra isn't border nor margin, so remove border
91
- if ( extra !== "margin" ) {
92
- val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
93
- }
94
- } else {
95
- // at this point, extra isn't content, so add padding
96
- val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
97
-
98
- // at this point, extra isn't content nor padding, so add border
99
- if ( extra !== "padding" ) {
100
- val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
101
- }
102
- }
103
- }
104
-
105
- return val;
106
- }
107
-
108
- function getWidthOrHeight( elem, name, extra ) {
109
-
110
- // Start with offset property, which is equivalent to the border-box value
111
- var valueIsBorderBox = true,
112
- val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
113
- styles = getStyles( elem ),
114
- isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
115
-
116
- // some non-html elements return undefined for offsetWidth, so check for null/undefined
117
- // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
118
- // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
119
- if ( val <= 0 || val == null ) {
120
- // Fall back to computed then uncomputed css if necessary
121
- val = curCSS( elem, name, styles );
122
- if ( val < 0 || val == null ) {
123
- val = elem.style[ name ];
124
- }
125
-
126
- // Computed unit is not pixels. Stop here and return.
127
- if ( rnumnonpx.test(val) ) {
128
- return val;
129
- }
130
-
131
- // we need the check for style in case a browser which returns unreliable values
132
- // for getComputedStyle silently falls back to the reliable elem.style
133
- valueIsBorderBox = isBorderBox &&
134
- ( support.boxSizingReliable() || val === elem.style[ name ] );
135
-
136
- // Normalize "", auto, and prepare for extra
137
- val = parseFloat( val ) || 0;
138
- }
139
-
140
- // use the active box-sizing model to add/subtract irrelevant styles
141
- return ( val +
142
- augmentWidthOrHeight(
143
- elem,
144
- name,
145
- extra || ( isBorderBox ? "border" : "content" ),
146
- valueIsBorderBox,
147
- styles
148
- )
149
- ) + "px";
150
- }
151
-
152
- function showHide( elements, show ) {
153
- var display, elem, hidden,
154
- values = [],
155
- index = 0,
156
- length = elements.length;
157
-
158
- for ( ; index < length; index++ ) {
159
- elem = elements[ index ];
160
- if ( !elem.style ) {
161
- continue;
162
- }
163
-
164
- values[ index ] = data_priv.get( elem, "olddisplay" );
165
- display = elem.style.display;
166
- if ( show ) {
167
- // Reset the inline display of this element to learn if it is
168
- // being hidden by cascaded rules or not
169
- if ( !values[ index ] && display === "none" ) {
170
- elem.style.display = "";
171
- }
172
-
173
- // Set elements which have been overridden with display: none
174
- // in a stylesheet to whatever the default browser style is
175
- // for such an element
176
- if ( elem.style.display === "" && isHidden( elem ) ) {
177
- values[ index ] = data_priv.access( elem, "olddisplay", defaultDisplay(elem.nodeName) );
178
- }
179
- } else {
180
- hidden = isHidden( elem );
181
-
182
- if ( display !== "none" || !hidden ) {
183
- data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
184
- }
185
- }
186
- }
187
-
188
- // Set the display of most of the elements in a second loop
189
- // to avoid the constant reflow
190
- for ( index = 0; index < length; index++ ) {
191
- elem = elements[ index ];
192
- if ( !elem.style ) {
193
- continue;
194
- }
195
- if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
196
- elem.style.display = show ? values[ index ] || "" : "none";
197
- }
198
- }
199
-
200
- return elements;
201
- }
202
-
203
- jQuery.extend({
204
- // Add in style property hooks for overriding the default
205
- // behavior of getting and setting a style property
206
- cssHooks: {
207
- opacity: {
208
- get: function( elem, computed ) {
209
- if ( computed ) {
210
- // We should always get a number back from opacity
211
- var ret = curCSS( elem, "opacity" );
212
- return ret === "" ? "1" : ret;
213
- }
214
- }
215
- }
216
- },
217
-
218
- // Don't automatically add "px" to these possibly-unitless properties
219
- cssNumber: {
220
- "columnCount": true,
221
- "fillOpacity": true,
222
- "flexGrow": true,
223
- "flexShrink": true,
224
- "fontWeight": true,
225
- "lineHeight": true,
226
- "opacity": true,
227
- "order": true,
228
- "orphans": true,
229
- "widows": true,
230
- "zIndex": true,
231
- "zoom": true
232
- },
233
-
234
- // Add in properties whose names you wish to fix before
235
- // setting or getting the value
236
- cssProps: {
237
- // normalize float css property
238
- "float": "cssFloat"
239
- },
240
-
241
- // Get and set the style property on a DOM Node
242
- style: function( elem, name, value, extra ) {
243
- // Don't set styles on text and comment nodes
244
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
245
- return;
246
- }
247
-
248
- // Make sure that we're working with the right name
249
- var ret, type, hooks,
250
- origName = jQuery.camelCase( name ),
251
- style = elem.style;
252
-
253
- name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );
254
-
255
- // gets hook for the prefixed version
256
- // followed by the unprefixed version
257
- hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
258
-
259
- // Check if we're setting a value
260
- if ( value !== undefined ) {
261
- type = typeof value;
262
-
263
- // convert relative number strings (+= or -=) to relative numbers. #7345
264
- if ( type === "string" && (ret = rrelNum.exec( value )) ) {
265
- value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );
266
- // Fixes bug #9237
267
- type = "number";
268
- }
269
-
270
- // Make sure that null and NaN values aren't set. See: #7116
271
- if ( value == null || value !== value ) {
272
- return;
273
- }
274
-
275
- // If a number was passed in, add 'px' to the (except for certain CSS properties)
276
- if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
277
- value += "px";
278
- }
279
-
280
- // Fixes #8908, it can be done more correctly by specifying setters in cssHooks,
281
- // but it would mean to define eight (for every problematic property) identical functions
282
- if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
283
- style[ name ] = "inherit";
284
- }
285
-
286
- // If a hook was provided, use that value, otherwise just set the specified value
287
- if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
288
- style[ name ] = value;
289
- }
290
-
291
- } else {
292
- // If a hook was provided get the non-computed value from there
293
- if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
294
- return ret;
295
- }
296
-
297
- // Otherwise just get the value from the style object
298
- return style[ name ];
299
- }
300
- },
301
-
302
- css: function( elem, name, extra, styles ) {
303
- var val, num, hooks,
304
- origName = jQuery.camelCase( name );
305
-
306
- // Make sure that we're working with the right name
307
- name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );
308
-
309
- // gets hook for the prefixed version
310
- // followed by the unprefixed version
311
- hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
312
-
313
- // If a hook was provided get the computed value from there
314
- if ( hooks && "get" in hooks ) {
315
- val = hooks.get( elem, true, extra );
316
- }
317
-
318
- // Otherwise, if a way to get the computed value exists, use that
319
- if ( val === undefined ) {
320
- val = curCSS( elem, name, styles );
321
- }
322
-
323
- //convert "normal" to computed value
324
- if ( val === "normal" && name in cssNormalTransform ) {
325
- val = cssNormalTransform[ name ];
326
- }
327
-
328
- // Return, converting to number if forced or a qualifier was provided and val looks numeric
329
- if ( extra === "" || extra ) {
330
- num = parseFloat( val );
331
- return extra === true || jQuery.isNumeric( num ) ? num || 0 : val;
332
- }
333
- return val;
334
- }
335
- });
336
-
337
- jQuery.each([ "height", "width" ], function( i, name ) {
338
- jQuery.cssHooks[ name ] = {
339
- get: function( elem, computed, extra ) {
340
- if ( computed ) {
341
- // certain elements can have dimension info if we invisibly show them
342
- // however, it must have a current display style that would benefit from this
343
- return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ?
344
- jQuery.swap( elem, cssShow, function() {
345
- return getWidthOrHeight( elem, name, extra );
346
- }) :
347
- getWidthOrHeight( elem, name, extra );
348
- }
349
- },
350
-
351
- set: function( elem, value, extra ) {
352
- var styles = extra && getStyles( elem );
353
- return setPositiveNumber( elem, value, extra ?
354
- augmentWidthOrHeight(
355
- elem,
356
- name,
357
- extra,
358
- jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
359
- styles
360
- ) : 0
361
- );
362
- }
363
- };
364
- });
365
-
366
- // Support: Android 2.3
367
- jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
368
- function( elem, computed ) {
369
- if ( computed ) {
370
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
371
- // Work around by temporarily setting element display to inline-block
372
- return jQuery.swap( elem, { "display": "inline-block" },
373
- curCSS, [ elem, "marginRight" ] );
374
- }
375
- }
376
- );
377
-
378
- // These hooks are used by animate to expand properties
379
- jQuery.each({
380
- margin: "",
381
- padding: "",
382
- border: "Width"
383
- }, function( prefix, suffix ) {
384
- jQuery.cssHooks[ prefix + suffix ] = {
385
- expand: function( value ) {
386
- var i = 0,
387
- expanded = {},
388
-
389
- // assumes a single number if not a string
390
- parts = typeof value === "string" ? value.split(" ") : [ value ];
391
-
392
- for ( ; i < 4; i++ ) {
393
- expanded[ prefix + cssExpand[ i ] + suffix ] =
394
- parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
395
- }
396
-
397
- return expanded;
398
- }
399
- };
400
-
401
- if ( !rmargin.test( prefix ) ) {
402
- jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
403
- }
404
- });
405
-
406
- jQuery.fn.extend({
407
- css: function( name, value ) {
408
- return access( this, function( elem, name, value ) {
409
- var styles, len,
410
- map = {},
411
- i = 0;
412
-
413
- if ( jQuery.isArray( name ) ) {
414
- styles = getStyles( elem );
415
- len = name.length;
416
-
417
- for ( ; i < len; i++ ) {
418
- map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
419
- }
420
-
421
- return map;
422
- }
423
-
424
- return value !== undefined ?
425
- jQuery.style( elem, name, value ) :
426
- jQuery.css( elem, name );
427
- }, name, value, arguments.length > 1 );
428
- },
429
- show: function() {
430
- return showHide( this, true );
431
- },
432
- hide: function() {
433
- return showHide( this );
434
- },
435
- toggle: function( state ) {
436
- if ( typeof state === "boolean" ) {
437
- return state ? this.show() : this.hide();
438
- }
439
-
440
- return this.each(function() {
441
- if ( isHidden( this ) ) {
442
- jQuery( this ).show();
443
- } else {
444
- jQuery( this ).hide();
445
- }
446
- });
447
- }
448
- });
449
-
450
- return jQuery;
451
- });