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,24 +0,0 @@
1
- define(function() {
2
-
3
- function addGetHookIf( conditionFn, hookFn ) {
4
- // Define the hook, we'll check on the first run if it's really needed.
5
- return {
6
- get: function() {
7
- if ( conditionFn() ) {
8
- // Hook not needed (or it's not possible to use it due to missing dependency),
9
- // remove it.
10
- // Since there are no other hooks for marginRight, remove the whole object.
11
- delete this.get;
12
- return;
13
- }
14
-
15
- // Hook needed; redefine it so that the support test is not executed again.
16
-
17
- return (this.get = hookFn).apply( this, arguments );
18
- }
19
- };
20
- }
21
-
22
- return addGetHookIf;
23
-
24
- });
@@ -1,57 +0,0 @@
1
- define([
2
- "../core",
3
- "./var/rnumnonpx",
4
- "./var/rmargin",
5
- "./var/getStyles",
6
- "../selector" // contains
7
- ], function( jQuery, rnumnonpx, rmargin, getStyles ) {
8
-
9
- function curCSS( elem, name, computed ) {
10
- var width, minWidth, maxWidth, ret,
11
- style = elem.style;
12
-
13
- computed = computed || getStyles( elem );
14
-
15
- // Support: IE9
16
- // getPropertyValue is only needed for .css('filter') in IE9, see #12537
17
- if ( computed ) {
18
- ret = computed.getPropertyValue( name ) || computed[ name ];
19
- }
20
-
21
- if ( computed ) {
22
-
23
- if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
24
- ret = jQuery.style( elem, name );
25
- }
26
-
27
- // Support: iOS < 6
28
- // A tribute to the "awesome hack by Dean Edwards"
29
- // iOS < 6 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
30
- // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
31
- if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
32
-
33
- // Remember the original values
34
- width = style.width;
35
- minWidth = style.minWidth;
36
- maxWidth = style.maxWidth;
37
-
38
- // Put in the new values to get a computed value out
39
- style.minWidth = style.maxWidth = style.width = ret;
40
- ret = computed.width;
41
-
42
- // Revert the changed values
43
- style.width = width;
44
- style.minWidth = minWidth;
45
- style.maxWidth = maxWidth;
46
- }
47
- }
48
-
49
- return ret !== undefined ?
50
- // Support: IE
51
- // IE returns zIndex value as an integer.
52
- ret + "" :
53
- ret;
54
- }
55
-
56
- return curCSS;
57
- });
@@ -1,70 +0,0 @@
1
- define([
2
- "../core",
3
- "../manipulation" // appendTo
4
- ], function( jQuery ) {
5
-
6
- var iframe,
7
- elemdisplay = {};
8
-
9
- /**
10
- * Retrieve the actual display of a element
11
- * @param {String} name nodeName of the element
12
- * @param {Object} doc Document object
13
- */
14
- // Called only from within defaultDisplay
15
- function actualDisplay( name, doc ) {
16
- var style,
17
- elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
18
-
19
- // getDefaultComputedStyle might be reliably used only on attached element
20
- display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?
21
-
22
- // Use of this method is a temporary fix (more like optmization) until something better comes along,
23
- // since it was removed from specification and supported only in FF
24
- style.display : jQuery.css( elem[ 0 ], "display" );
25
-
26
- // We don't have any data stored on the element,
27
- // so use "detach" method as fast way to get rid of the element
28
- elem.detach();
29
-
30
- return display;
31
- }
32
-
33
- /**
34
- * Try to determine the default display value of an element
35
- * @param {String} nodeName
36
- */
37
- function defaultDisplay( nodeName ) {
38
- var doc = document,
39
- display = elemdisplay[ nodeName ];
40
-
41
- if ( !display ) {
42
- display = actualDisplay( nodeName, doc );
43
-
44
- // If the simple way fails, read from inside an iframe
45
- if ( display === "none" || !display ) {
46
-
47
- // Use the already-created iframe if possible
48
- iframe = (iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" )).appendTo( doc.documentElement );
49
-
50
- // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse
51
- doc = iframe[ 0 ].contentDocument;
52
-
53
- // Support: IE
54
- doc.write();
55
- doc.close();
56
-
57
- display = actualDisplay( nodeName, doc );
58
- iframe.detach();
59
- }
60
-
61
- // Store the correct default display
62
- elemdisplay[ nodeName ] = display;
63
- }
64
-
65
- return display;
66
- }
67
-
68
- return defaultDisplay;
69
-
70
- });
@@ -1,15 +0,0 @@
1
- define([
2
- "../core",
3
- "../selector"
4
- ], function( jQuery ) {
5
-
6
- jQuery.expr.filters.hidden = function( elem ) {
7
- // Support: Opera <= 12.12
8
- // Opera reports offsetWidths and offsetHeights less than zero on some elements
9
- return elem.offsetWidth <= 0 && elem.offsetHeight <= 0;
10
- };
11
- jQuery.expr.filters.visible = function( elem ) {
12
- return !jQuery.expr.filters.hidden( elem );
13
- };
14
-
15
- });
@@ -1,91 +0,0 @@
1
- define([
2
- "../core",
3
- "../var/support"
4
- ], function( jQuery, support ) {
5
-
6
- (function() {
7
- var pixelPositionVal, boxSizingReliableVal,
8
- docElem = document.documentElement,
9
- container = document.createElement( "div" ),
10
- div = document.createElement( "div" );
11
-
12
- if ( !div.style ) {
13
- return;
14
- }
15
-
16
- div.style.backgroundClip = "content-box";
17
- div.cloneNode( true ).style.backgroundClip = "";
18
- support.clearCloneStyle = div.style.backgroundClip === "content-box";
19
-
20
- container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" +
21
- "position:absolute";
22
- container.appendChild( div );
23
-
24
- // Executing both pixelPosition & boxSizingReliable tests require only one layout
25
- // so they're executed at the same time to save the second computation.
26
- function computePixelPositionAndBoxSizingReliable() {
27
- div.style.cssText =
28
- // Support: Firefox<29, Android 2.3
29
- // Vendor-prefix box-sizing
30
- "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
31
- "box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
32
- "border:1px;padding:1px;width:4px;position:absolute";
33
- div.innerHTML = "";
34
- docElem.appendChild( container );
35
-
36
- var divStyle = window.getComputedStyle( div, null );
37
- pixelPositionVal = divStyle.top !== "1%";
38
- boxSizingReliableVal = divStyle.width === "4px";
39
-
40
- docElem.removeChild( container );
41
- }
42
-
43
- // Support: node.js jsdom
44
- // Don't assume that getComputedStyle is a property of the global object
45
- if ( window.getComputedStyle ) {
46
- jQuery.extend( support, {
47
- pixelPosition: function() {
48
- // This test is executed only once but we still do memoizing
49
- // since we can use the boxSizingReliable pre-computing.
50
- // No need to check if the test was already performed, though.
51
- computePixelPositionAndBoxSizingReliable();
52
- return pixelPositionVal;
53
- },
54
- boxSizingReliable: function() {
55
- if ( boxSizingReliableVal == null ) {
56
- computePixelPositionAndBoxSizingReliable();
57
- }
58
- return boxSizingReliableVal;
59
- },
60
- reliableMarginRight: function() {
61
- // Support: Android 2.3
62
- // Check if div with explicit width and no margin-right incorrectly
63
- // gets computed margin-right based on width of container. (#3333)
64
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
65
- // This support function is only executed once so no memoizing is needed.
66
- var ret,
67
- marginDiv = div.appendChild( document.createElement( "div" ) );
68
-
69
- // Reset CSS: box-sizing; display; margin; border; padding
70
- marginDiv.style.cssText = div.style.cssText =
71
- // Support: Firefox<29, Android 2.3
72
- // Vendor-prefix box-sizing
73
- "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
74
- "box-sizing:content-box;display:block;margin:0;border:0;padding:0";
75
- marginDiv.style.marginRight = marginDiv.style.width = "0";
76
- div.style.width = "1px";
77
- docElem.appendChild( container );
78
-
79
- ret = !parseFloat( window.getComputedStyle( marginDiv, null ).marginRight );
80
-
81
- docElem.removeChild( container );
82
-
83
- return ret;
84
- }
85
- });
86
- }
87
- })();
88
-
89
- return support;
90
-
91
- });
@@ -1,28 +0,0 @@
1
- define([
2
- "../core"
3
- ], function( jQuery ) {
4
-
5
- // A method for quickly swapping in/out CSS properties to get correct calculations.
6
- jQuery.swap = function( elem, options, callback, args ) {
7
- var ret, name,
8
- old = {};
9
-
10
- // Remember the old values, and insert the new ones
11
- for ( name in options ) {
12
- old[ name ] = elem.style[ name ];
13
- elem.style[ name ] = options[ name ];
14
- }
15
-
16
- ret = callback.apply( elem, args || [] );
17
-
18
- // Revert the old values
19
- for ( name in options ) {
20
- elem.style[ name ] = old[ name ];
21
- }
22
-
23
- return ret;
24
- };
25
-
26
- return jQuery.swap;
27
-
28
- });
@@ -1,3 +0,0 @@
1
- define(function() {
2
- return [ "Top", "Right", "Bottom", "Left" ];
3
- });
@@ -1,5 +0,0 @@
1
- define(function() {
2
- return function( elem ) {
3
- return elem.ownerDocument.defaultView.getComputedStyle( elem, null );
4
- };
5
- });
@@ -1,13 +0,0 @@
1
- define([
2
- "../../core",
3
- "../../selector"
4
- // css is assumed
5
- ], function( jQuery ) {
6
-
7
- return function( elem, el ) {
8
- // isHidden might be called from jQuery#filter function;
9
- // in that case, element will be second argument
10
- elem = el || elem;
11
- return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
12
- };
13
- });
@@ -1,3 +0,0 @@
1
- define(function() {
2
- return (/^margin/);
3
- });
@@ -1,5 +0,0 @@
1
- define([
2
- "../../var/pnum"
3
- ], function( pnum ) {
4
- return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
5
- });
@@ -1,179 +0,0 @@
1
- define([
2
- "./core",
3
- "./var/rnotwhite",
4
- "./core/access",
5
- "./data/var/data_priv",
6
- "./data/var/data_user"
7
- ], function( jQuery, rnotwhite, access, data_priv, data_user ) {
8
-
9
- /*
10
- Implementation Summary
11
-
12
- 1. Enforce API surface and semantic compatibility with 1.9.x branch
13
- 2. Improve the module's maintainability by reducing the storage
14
- paths to a single mechanism.
15
- 3. Use the same single mechanism to support "private" and "user" data.
16
- 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
17
- 5. Avoid exposing implementation details on user objects (eg. expando properties)
18
- 6. Provide a clear path for implementation upgrade to WeakMap in 2014
19
- */
20
- var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
21
- rmultiDash = /([A-Z])/g;
22
-
23
- function dataAttr( elem, key, data ) {
24
- var name;
25
-
26
- // If nothing was found internally, try to fetch any
27
- // data from the HTML5 data-* attribute
28
- if ( data === undefined && elem.nodeType === 1 ) {
29
- name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
30
- data = elem.getAttribute( name );
31
-
32
- if ( typeof data === "string" ) {
33
- try {
34
- data = data === "true" ? true :
35
- data === "false" ? false :
36
- data === "null" ? null :
37
- // Only convert to a number if it doesn't change the string
38
- +data + "" === data ? +data :
39
- rbrace.test( data ) ? jQuery.parseJSON( data ) :
40
- data;
41
- } catch( e ) {}
42
-
43
- // Make sure we set the data so it isn't changed later
44
- data_user.set( elem, key, data );
45
- } else {
46
- data = undefined;
47
- }
48
- }
49
- return data;
50
- }
51
-
52
- jQuery.extend({
53
- hasData: function( elem ) {
54
- return data_user.hasData( elem ) || data_priv.hasData( elem );
55
- },
56
-
57
- data: function( elem, name, data ) {
58
- return data_user.access( elem, name, data );
59
- },
60
-
61
- removeData: function( elem, name ) {
62
- data_user.remove( elem, name );
63
- },
64
-
65
- // TODO: Now that all calls to _data and _removeData have been replaced
66
- // with direct calls to data_priv methods, these can be deprecated.
67
- _data: function( elem, name, data ) {
68
- return data_priv.access( elem, name, data );
69
- },
70
-
71
- _removeData: function( elem, name ) {
72
- data_priv.remove( elem, name );
73
- }
74
- });
75
-
76
- jQuery.fn.extend({
77
- data: function( key, value ) {
78
- var i, name, data,
79
- elem = this[ 0 ],
80
- attrs = elem && elem.attributes;
81
-
82
- // Gets all values
83
- if ( key === undefined ) {
84
- if ( this.length ) {
85
- data = data_user.get( elem );
86
-
87
- if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
88
- i = attrs.length;
89
- while ( i-- ) {
90
-
91
- // Support: IE11+
92
- // The attrs elements can be null (#14894)
93
- if ( attrs[ i ] ) {
94
- name = attrs[ i ].name;
95
- if ( name.indexOf( "data-" ) === 0 ) {
96
- name = jQuery.camelCase( name.slice(5) );
97
- dataAttr( elem, name, data[ name ] );
98
- }
99
- }
100
- }
101
- data_priv.set( elem, "hasDataAttrs", true );
102
- }
103
- }
104
-
105
- return data;
106
- }
107
-
108
- // Sets multiple values
109
- if ( typeof key === "object" ) {
110
- return this.each(function() {
111
- data_user.set( this, key );
112
- });
113
- }
114
-
115
- return access( this, function( value ) {
116
- var data,
117
- camelKey = jQuery.camelCase( key );
118
-
119
- // The calling jQuery object (element matches) is not empty
120
- // (and therefore has an element appears at this[ 0 ]) and the
121
- // `value` parameter was not undefined. An empty jQuery object
122
- // will result in `undefined` for elem = this[ 0 ] which will
123
- // throw an exception if an attempt to read a data cache is made.
124
- if ( elem && value === undefined ) {
125
- // Attempt to get data from the cache
126
- // with the key as-is
127
- data = data_user.get( elem, key );
128
- if ( data !== undefined ) {
129
- return data;
130
- }
131
-
132
- // Attempt to get data from the cache
133
- // with the key camelized
134
- data = data_user.get( elem, camelKey );
135
- if ( data !== undefined ) {
136
- return data;
137
- }
138
-
139
- // Attempt to "discover" the data in
140
- // HTML5 custom data-* attrs
141
- data = dataAttr( elem, camelKey, undefined );
142
- if ( data !== undefined ) {
143
- return data;
144
- }
145
-
146
- // We tried really hard, but the data doesn't exist.
147
- return;
148
- }
149
-
150
- // Set the data...
151
- this.each(function() {
152
- // First, attempt to store a copy or reference of any
153
- // data that might've been store with a camelCased key.
154
- var data = data_user.get( this, camelKey );
155
-
156
- // For HTML5 data-* attribute interop, we have to
157
- // store property names with dashes in a camelCase form.
158
- // This might not apply to all properties...*
159
- data_user.set( this, camelKey, value );
160
-
161
- // *... In the case of properties that might _actually_
162
- // have dashes, we need to also store a copy of that
163
- // unchanged property.
164
- if ( key.indexOf("-") !== -1 && data !== undefined ) {
165
- data_user.set( this, key, value );
166
- }
167
- });
168
- }, null, value, arguments.length > 1, null, true );
169
- },
170
-
171
- removeData: function( key ) {
172
- return this.each(function() {
173
- data_user.remove( this, key );
174
- });
175
- }
176
- });
177
-
178
- return jQuery;
179
- });