dune-dashboard 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. checksums.yaml +7 -0
  2. data/.bowerrc +3 -0
  3. data/.gitignore +22 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +13 -0
  6. data/CHANGELOG.md +6 -0
  7. data/Gemfile +12 -0
  8. data/Gemfile.lock +392 -0
  9. data/LICENSE.txt +22 -0
  10. data/README.md +58 -0
  11. data/Rakefile +23 -0
  12. data/app/assets/images/dune/dashboard/logo@2x.png +0 -0
  13. data/app/assets/javascripts/adapters/channel_adapter.coffee +1 -0
  14. data/app/assets/javascripts/adapters/form_data.coffee +26 -0
  15. data/app/assets/javascripts/adapters/press_asset_adapter.coffee +1 -0
  16. data/app/assets/javascripts/configs.coffee +10 -0
  17. data/app/assets/javascripts/controllers/.gitkeep +0 -0
  18. data/app/assets/javascripts/controllers/channels.coffee +40 -0
  19. data/app/assets/javascripts/controllers/contributions.coffee +26 -0
  20. data/app/assets/javascripts/controllers/press_assets.coffee +24 -0
  21. data/app/assets/javascripts/controllers/projects.coffee +36 -0
  22. data/app/assets/javascripts/controllers/sessions.coffee +2 -0
  23. data/app/assets/javascripts/controllers/tags.coffee +24 -0
  24. data/app/assets/javascripts/controllers/users.coffee +8 -0
  25. data/app/assets/javascripts/dashboard.coffee +5 -0
  26. data/app/assets/javascripts/dune-dashboard-application.js +16 -0
  27. data/app/assets/javascripts/dune-dashboard-libs.js +25 -0
  28. data/app/assets/javascripts/dune-dashboard-templates.js +1 -0
  29. data/app/assets/javascripts/helpers/daterangepicker.coffee +1 -0
  30. data/app/assets/javascripts/helpers/format-date.coffee +5 -0
  31. data/app/assets/javascripts/helpers/loading.coffee +14 -0
  32. data/app/assets/javascripts/helpers/number-to-currency.coffee +5 -0
  33. data/app/assets/javascripts/helpers/pagination.coffee +1 -0
  34. data/app/assets/javascripts/helpers/show-boolean.coffee +5 -0
  35. data/app/assets/javascripts/i18n/translations_en.js +165 -0
  36. data/app/assets/javascripts/initializers/authentication.coffee +50 -0
  37. data/app/assets/javascripts/mixins/modal-controller.coffee +7 -0
  38. data/app/assets/javascripts/mixins/modal-view.coffee +15 -0
  39. data/app/assets/javascripts/mixins/paginable.coffee +25 -0
  40. data/app/assets/javascripts/mixins/searchable.coffee +58 -0
  41. data/app/assets/javascripts/models/.gitkeep +0 -0
  42. data/app/assets/javascripts/models/channel.coffee +25 -0
  43. data/app/assets/javascripts/models/contributions.coffee +15 -0
  44. data/app/assets/javascripts/models/press_asset.coffee +5 -0
  45. data/app/assets/javascripts/models/project.coffee +16 -0
  46. data/app/assets/javascripts/models/reward.coffee +4 -0
  47. data/app/assets/javascripts/models/tag.coffee +4 -0
  48. data/app/assets/javascripts/models/user.coffee +13 -0
  49. data/app/assets/javascripts/router.coffee +36 -0
  50. data/app/assets/javascripts/routes/.gitkeep +0 -0
  51. data/app/assets/javascripts/routes/application.coffee +35 -0
  52. data/app/assets/javascripts/routes/channels-edit.coffee +4 -0
  53. data/app/assets/javascripts/routes/channels-new.coffee +4 -0
  54. data/app/assets/javascripts/routes/channels.coffee +21 -0
  55. data/app/assets/javascripts/routes/contributions.coffee +29 -0
  56. data/app/assets/javascripts/routes/index.coffee +4 -0
  57. data/app/assets/javascripts/routes/press_assets-edit.coffee +4 -0
  58. data/app/assets/javascripts/routes/press_assets-new.coffee +5 -0
  59. data/app/assets/javascripts/routes/press_assets.coffee +13 -0
  60. data/app/assets/javascripts/routes/projects.coffee +23 -0
  61. data/app/assets/javascripts/routes/sessions.coffee +3 -0
  62. data/app/assets/javascripts/routes/tags-edit.coffee +4 -0
  63. data/app/assets/javascripts/routes/tags-new.coffee +5 -0
  64. data/app/assets/javascripts/routes/tags.coffee +15 -0
  65. data/app/assets/javascripts/routes/users.coffee +17 -0
  66. data/app/assets/javascripts/serializers/channel.coffee +10 -0
  67. data/app/assets/javascripts/serializers/file.coffee +6 -0
  68. data/app/assets/javascripts/serializers/object.coffee +6 -0
  69. data/app/assets/javascripts/serializers/project.coffee +4 -0
  70. data/app/assets/javascripts/store.coffee +5 -0
  71. data/app/assets/javascripts/templates/.gitkeep +0 -0
  72. data/app/assets/javascripts/templates/channels/_form.emblem +256 -0
  73. data/app/assets/javascripts/templates/channels/edit.emblem +1 -0
  74. data/app/assets/javascripts/templates/channels/index.emblem +66 -0
  75. data/app/assets/javascripts/templates/channels/new.emblem +1 -0
  76. data/app/assets/javascripts/templates/channels/search-form.emblem +13 -0
  77. data/app/assets/javascripts/templates/contributions/index.emblem +111 -0
  78. data/app/assets/javascripts/templates/contributions/search-form.emblem +27 -0
  79. data/app/assets/javascripts/templates/contributions/show.emblem +79 -0
  80. data/app/assets/javascripts/templates/daterangepicker.emblem +5 -0
  81. data/app/assets/javascripts/templates/layouts/application.emblem +19 -0
  82. data/app/assets/javascripts/templates/layouts/header.emblem +25 -0
  83. data/app/assets/javascripts/templates/layouts/sidebar.emblem +32 -0
  84. data/app/assets/javascripts/templates/pagination.emblem +10 -0
  85. data/app/assets/javascripts/templates/press_assets/_form.emblem +33 -0
  86. data/app/assets/javascripts/templates/press_assets/edit.emblem +1 -0
  87. data/app/assets/javascripts/templates/press_assets/index.emblem +45 -0
  88. data/app/assets/javascripts/templates/press_assets/new.emblem +1 -0
  89. data/app/assets/javascripts/templates/projects/index.emblem +119 -0
  90. data/app/assets/javascripts/templates/projects/search-form.emblem +19 -0
  91. data/app/assets/javascripts/templates/search-tab.emblem +6 -0
  92. data/app/assets/javascripts/templates/sessions/new.emblem +17 -0
  93. data/app/assets/javascripts/templates/tags/_form.emblem +24 -0
  94. data/app/assets/javascripts/templates/tags/edit.emblem +1 -0
  95. data/app/assets/javascripts/templates/tags/index.emblem +46 -0
  96. data/app/assets/javascripts/templates/tags/new.emblem +1 -0
  97. data/app/assets/javascripts/templates/users/index.emblem +51 -0
  98. data/app/assets/javascripts/templates/users/search-form.emblem +13 -0
  99. data/app/assets/javascripts/views/auto-save-checkbox.coffee +14 -0
  100. data/app/assets/javascripts/views/contributions/show.coffee +1 -0
  101. data/app/assets/javascripts/views/daterangepicker.coffee +60 -0
  102. data/app/assets/javascripts/views/file.coffee +7 -0
  103. data/app/assets/javascripts/views/layouts/header.coffee +23 -0
  104. data/app/assets/javascripts/views/layouts/sidebar.coffee +6 -0
  105. data/app/assets/javascripts/views/page-title.coffee +45 -0
  106. data/app/assets/javascripts/views/pagination.coffee +51 -0
  107. data/app/assets/javascripts/views/projects/index.coffee +5 -0
  108. data/app/assets/javascripts/views/search-tab.coffee +24 -0
  109. data/app/assets/stylesheets/core/core.sass +299 -0
  110. data/app/assets/stylesheets/core/mixins.sass +83 -0
  111. data/app/assets/stylesheets/core/settings.sass +75 -0
  112. data/app/assets/stylesheets/dune-dashboard-application.sass +12 -0
  113. data/app/assets/stylesheets/modules/alerts.sass +21 -0
  114. data/app/assets/stylesheets/modules/avatar.sass +13 -0
  115. data/app/assets/stylesheets/modules/boxes.sass +274 -0
  116. data/app/assets/stylesheets/modules/buttons.sass +160 -0
  117. data/app/assets/stylesheets/modules/dl-details.sass +13 -0
  118. data/app/assets/stylesheets/modules/forms.sass +53 -0
  119. data/app/assets/stylesheets/modules/generic.sass +9 -0
  120. data/app/assets/stylesheets/modules/header.sass +153 -0
  121. data/app/assets/stylesheets/modules/labels.sass +3 -0
  122. data/app/assets/stylesheets/modules/navs.sass +98 -0
  123. data/app/assets/stylesheets/modules/pagination.sass +19 -0
  124. data/app/assets/stylesheets/modules/sidebar.sass +147 -0
  125. data/app/assets/stylesheets/modules/small-box.sass +78 -0
  126. data/app/assets/stylesheets/pages/login.sass +42 -0
  127. data/app/controllers/dune/dashboard/ember_controller.rb +7 -0
  128. data/app/views/layouts/dune/dashboard/application.html.erb +15 -0
  129. data/bower.json +28 -0
  130. data/config/ember-i18n.yml +2 -0
  131. data/config/ember_locales/channels.en.yml +49 -0
  132. data/config/ember_locales/contributions.en.yml +42 -0
  133. data/config/ember_locales/en.yml +1 -0
  134. data/config/ember_locales/layouts.en.yml +16 -0
  135. data/config/ember_locales/press_assets.en.yml +14 -0
  136. data/config/ember_locales/projects.en.yml +33 -0
  137. data/config/ember_locales/sessions.en.yml +11 -0
  138. data/config/ember_locales/tags.en.yml +12 -0
  139. data/config/ember_locales/titles.en.yml +22 -0
  140. data/config/ember_locales/users.en.yml +12 -0
  141. data/config/ember_locales/words.en.yml +12 -0
  142. data/config/routes.rb +4 -0
  143. data/dune-dashboard.gemspec +28 -0
  144. data/lib/dune/dashboard.rb +11 -0
  145. data/lib/dune/dashboard/engine.rb +12 -0
  146. data/lib/dune/dashboard/i18n.rb +108 -0
  147. data/lib/dune/dashboard/version.rb +5 -0
  148. data/spec/dummy/README.rdoc +28 -0
  149. data/spec/dummy/Rakefile +6 -0
  150. data/spec/dummy/app/assets/images/.keep +0 -0
  151. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  152. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  153. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  154. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  155. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  156. data/spec/dummy/app/mailers/.keep +0 -0
  157. data/spec/dummy/app/models/.keep +0 -0
  158. data/spec/dummy/app/models/concerns/.keep +0 -0
  159. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  160. data/spec/dummy/bin/bundle +3 -0
  161. data/spec/dummy/bin/rails +4 -0
  162. data/spec/dummy/bin/rake +4 -0
  163. data/spec/dummy/config.ru +4 -0
  164. data/spec/dummy/config/application.rb +30 -0
  165. data/spec/dummy/config/boot.rb +5 -0
  166. data/spec/dummy/config/environment.rb +5 -0
  167. data/spec/dummy/config/environments/development.rb +29 -0
  168. data/spec/dummy/config/environments/production.rb +80 -0
  169. data/spec/dummy/config/environments/test.rb +38 -0
  170. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  171. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  172. data/spec/dummy/config/initializers/inflections.rb +16 -0
  173. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  174. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  175. data/spec/dummy/config/initializers/session_store.rb +3 -0
  176. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  177. data/spec/dummy/config/locales/en.yml +23 -0
  178. data/spec/dummy/config/routes.rb +3 -0
  179. data/spec/dummy/lib/assets/.keep +0 -0
  180. data/spec/dummy/log/.keep +0 -0
  181. data/spec/dummy/public/404.html +58 -0
  182. data/spec/dummy/public/422.html +58 -0
  183. data/spec/dummy/public/500.html +57 -0
  184. data/spec/dummy/public/favicon.ico +0 -0
  185. data/spec/javascripts/controllers/channels_spec.coffee +16 -0
  186. data/spec/javascripts/controllers/press_assets_spec.coffee +5 -0
  187. data/spec/javascripts/controllers/projects_spec.coffee +16 -0
  188. data/spec/javascripts/controllers/users_spec.coffee +16 -0
  189. data/spec/javascripts/fixtures/channels.coffee +49 -0
  190. data/spec/javascripts/fixtures/contributions.coffee +46 -0
  191. data/spec/javascripts/fixtures/press_assets.coffee +15 -0
  192. data/spec/javascripts/fixtures/projects.coffee +108 -0
  193. data/spec/javascripts/fixtures/tags.coffee +15 -0
  194. data/spec/javascripts/fixtures/users.coffee +26 -0
  195. data/spec/javascripts/helpers/auththentication.coffee +11 -0
  196. data/spec/javascripts/integration/channels_spec.coffee +109 -0
  197. data/spec/javascripts/integration/contributions_spec.coffee +108 -0
  198. data/spec/javascripts/integration/press_assets_spec.coffee +66 -0
  199. data/spec/javascripts/integration/projects_spec.coffee +110 -0
  200. data/spec/javascripts/integration/sessions_spec.coffee +71 -0
  201. data/spec/javascripts/integration/tags_spec.coffee +65 -0
  202. data/spec/javascripts/integration/users_spec.coffee +108 -0
  203. data/spec/javascripts/models/channel_spec.coffee +4 -0
  204. data/spec/javascripts/models/contribution_spec.coffee +4 -0
  205. data/spec/javascripts/models/press_asset_spec.coffee +5 -0
  206. data/spec/javascripts/models/project_spec.coffee +4 -0
  207. data/spec/javascripts/models/reward_spec.coffee +4 -0
  208. data/spec/javascripts/models/tag_spec.coffee +4 -0
  209. data/spec/javascripts/models/user_spec.coffee +4 -0
  210. data/spec/javascripts/spec_helper.coffee +56 -0
  211. data/spec/javascripts/support/jquery.mockjax.js +598 -0
  212. data/spec/teaspoon_env.rb +183 -0
  213. data/vendor/assets/components/cldr/.bower.json +14 -0
  214. data/vendor/assets/components/cldr/README.md +47 -0
  215. data/vendor/assets/components/cldr/plurals.js +240 -0
  216. data/vendor/assets/components/ember-i18n/.bower.json +46 -0
  217. data/vendor/assets/components/ember-i18n/CONTRIBUTING.md +13 -0
  218. data/vendor/assets/components/ember-i18n/Changelog.md +82 -0
  219. data/vendor/assets/components/ember-i18n/LICENSE +10 -0
  220. data/vendor/assets/components/ember-i18n/README.md +148 -0
  221. data/vendor/assets/components/ember-i18n/VERSION +1 -0
  222. data/vendor/assets/components/ember-i18n/bower.json +34 -0
  223. data/vendor/assets/components/ember-i18n/lib/i18n.js +215 -0
  224. data/vendor/assets/components/ember-i18n/package.json +27 -0
  225. data/vendor/assets/components/ember-i18n/script/buildSuite.js +34 -0
  226. data/vendor/assets/components/ember-i18n/script/fetch_vendor.js +66 -0
  227. data/vendor/assets/components/ember-i18n/script/run.js +24 -0
  228. data/vendor/assets/components/ember-simple-auth/.bower.json +31 -0
  229. data/vendor/assets/components/ember-simple-auth/LICENSE +20 -0
  230. data/vendor/assets/components/ember-simple-auth/README.md +15 -0
  231. data/vendor/assets/components/ember-simple-auth/bower.json +21 -0
  232. data/vendor/assets/components/ember-simple-auth/simple-auth-cookie-store.amd.js +220 -0
  233. data/vendor/assets/components/ember-simple-auth/simple-auth-cookie-store.js +284 -0
  234. data/vendor/assets/components/ember-simple-auth/simple-auth-devise.amd.js +243 -0
  235. data/vendor/assets/components/ember-simple-auth/simple-auth-devise.js +312 -0
  236. data/vendor/assets/components/ember-simple-auth/simple-auth-oauth2.amd.js +386 -0
  237. data/vendor/assets/components/ember-simple-auth/simple-auth-oauth2.js +455 -0
  238. data/vendor/assets/components/ember-simple-auth/simple-auth-testing.amd.js +79 -0
  239. data/vendor/assets/components/ember-simple-auth/simple-auth-testing.js +137 -0
  240. data/vendor/assets/components/ember-simple-auth/simple-auth-torii.amd.js +142 -0
  241. data/vendor/assets/components/ember-simple-auth/simple-auth-torii.js +199 -0
  242. data/vendor/assets/components/ember-simple-auth/simple-auth.amd.js +1450 -0
  243. data/vendor/assets/components/ember-simple-auth/simple-auth.js +1548 -0
  244. data/vendor/assets/components/ember/.bower.json +21 -0
  245. data/vendor/assets/components/ember/.gitignore +5 -0
  246. data/vendor/assets/components/ember/Makefile +9 -0
  247. data/vendor/assets/components/ember/README.md +12 -0
  248. data/vendor/assets/components/ember/bower.json +11 -0
  249. data/vendor/assets/components/ember/component.json +13 -0
  250. data/vendor/assets/components/ember/composer.json +27 -0
  251. data/vendor/assets/components/ember/ember-template-compiler.js +336 -0
  252. data/vendor/assets/components/ember/ember.js +46762 -0
  253. data/vendor/assets/components/ember/ember.min.js +20 -0
  254. data/vendor/assets/components/ember/ember.prod.js +46319 -0
  255. data/vendor/assets/components/ember/package.json +11 -0
  256. data/vendor/assets/components/handlebars/.bower.json +16 -0
  257. data/vendor/assets/components/handlebars/.gitignore +2 -0
  258. data/vendor/assets/components/handlebars/README.md +11 -0
  259. data/vendor/assets/components/handlebars/bower.json +6 -0
  260. data/vendor/assets/components/handlebars/component.json +9 -0
  261. data/vendor/assets/components/handlebars/composer.json +35 -0
  262. data/vendor/assets/components/handlebars/handlebars-source.gemspec +21 -0
  263. data/vendor/assets/components/handlebars/handlebars.amd.js +2719 -0
  264. data/vendor/assets/components/handlebars/handlebars.amd.min.js +28 -0
  265. data/vendor/assets/components/handlebars/handlebars.js +2746 -0
  266. data/vendor/assets/components/handlebars/handlebars.js.nuspec +17 -0
  267. data/vendor/assets/components/handlebars/handlebars.min.js +28 -0
  268. data/vendor/assets/components/handlebars/handlebars.runtime.amd.js +515 -0
  269. data/vendor/assets/components/handlebars/handlebars.runtime.amd.min.js +27 -0
  270. data/vendor/assets/components/handlebars/handlebars.runtime.js +530 -0
  271. data/vendor/assets/components/handlebars/handlebars.runtime.min.js +27 -0
  272. data/vendor/assets/components/handlebars/lib/handlebars/source.rb +11 -0
  273. data/vendor/assets/components/jquery/.bower.json +37 -0
  274. data/vendor/assets/components/jquery/MIT-LICENSE.txt +21 -0
  275. data/vendor/assets/components/jquery/bower.json +27 -0
  276. data/vendor/assets/components/jquery/dist/jquery.js +9111 -0
  277. data/vendor/assets/components/jquery/dist/jquery.min.js +5 -0
  278. data/vendor/assets/components/jquery/dist/jquery.min.map +1 -0
  279. data/vendor/assets/components/jquery/src/ajax.js +806 -0
  280. data/vendor/assets/components/jquery/src/ajax/jsonp.js +89 -0
  281. data/vendor/assets/components/jquery/src/ajax/load.js +75 -0
  282. data/vendor/assets/components/jquery/src/ajax/parseJSON.js +13 -0
  283. data/vendor/assets/components/jquery/src/ajax/parseXML.js +28 -0
  284. data/vendor/assets/components/jquery/src/ajax/script.js +64 -0
  285. data/vendor/assets/components/jquery/src/ajax/var/nonce.js +5 -0
  286. data/vendor/assets/components/jquery/src/ajax/var/rquery.js +3 -0
  287. data/vendor/assets/components/jquery/src/ajax/xhr.js +130 -0
  288. data/vendor/assets/components/jquery/src/attributes.js +11 -0
  289. data/vendor/assets/components/jquery/src/attributes/attr.js +143 -0
  290. data/vendor/assets/components/jquery/src/attributes/classes.js +158 -0
  291. data/vendor/assets/components/jquery/src/attributes/prop.js +96 -0
  292. data/vendor/assets/components/jquery/src/attributes/support.js +35 -0
  293. data/vendor/assets/components/jquery/src/attributes/val.js +153 -0
  294. data/vendor/assets/components/jquery/src/callbacks.js +205 -0
  295. data/vendor/assets/components/jquery/src/core.js +500 -0
  296. data/vendor/assets/components/jquery/src/core/access.js +60 -0
  297. data/vendor/assets/components/jquery/src/core/init.js +123 -0
  298. data/vendor/assets/components/jquery/src/core/parseHTML.js +39 -0
  299. data/vendor/assets/components/jquery/src/core/ready.js +96 -0
  300. data/vendor/assets/components/jquery/src/core/var/rsingleTag.js +4 -0
  301. data/vendor/assets/components/jquery/src/css.js +455 -0
  302. data/vendor/assets/components/jquery/src/css/addGetHookIf.js +24 -0
  303. data/vendor/assets/components/jquery/src/css/curCSS.js +57 -0
  304. data/vendor/assets/components/jquery/src/css/defaultDisplay.js +69 -0
  305. data/vendor/assets/components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  306. data/vendor/assets/components/jquery/src/css/support.js +83 -0
  307. data/vendor/assets/components/jquery/src/css/swap.js +28 -0
  308. data/vendor/assets/components/jquery/src/css/var/cssExpand.js +3 -0
  309. data/vendor/assets/components/jquery/src/css/var/getStyles.js +5 -0
  310. data/vendor/assets/components/jquery/src/css/var/isHidden.js +13 -0
  311. data/vendor/assets/components/jquery/src/css/var/rmargin.js +3 -0
  312. data/vendor/assets/components/jquery/src/css/var/rnumnonpx.js +5 -0
  313. data/vendor/assets/components/jquery/src/data.js +175 -0
  314. data/vendor/assets/components/jquery/src/data/Data.js +181 -0
  315. data/vendor/assets/components/jquery/src/data/accepts.js +20 -0
  316. data/vendor/assets/components/jquery/src/data/var/data_priv.js +5 -0
  317. data/vendor/assets/components/jquery/src/data/var/data_user.js +5 -0
  318. data/vendor/assets/components/jquery/src/deferred.js +149 -0
  319. data/vendor/assets/components/jquery/src/deprecated.js +13 -0
  320. data/vendor/assets/components/jquery/src/dimensions.js +50 -0
  321. data/vendor/assets/components/jquery/src/effects.js +642 -0
  322. data/vendor/assets/components/jquery/src/effects/Tween.js +114 -0
  323. data/vendor/assets/components/jquery/src/effects/animatedSelector.js +13 -0
  324. data/vendor/assets/components/jquery/src/event.js +859 -0
  325. data/vendor/assets/components/jquery/src/event/alias.js +39 -0
  326. data/vendor/assets/components/jquery/src/event/support.js +9 -0
  327. data/vendor/assets/components/jquery/src/exports/amd.js +18 -0
  328. data/vendor/assets/components/jquery/src/exports/global.js +32 -0
  329. data/vendor/assets/components/jquery/src/intro.js +44 -0
  330. data/vendor/assets/components/jquery/src/jquery.js +36 -0
  331. data/vendor/assets/components/jquery/src/manipulation.js +583 -0
  332. data/vendor/assets/components/jquery/src/manipulation/_evalUrl.js +18 -0
  333. data/vendor/assets/components/jquery/src/manipulation/support.js +24 -0
  334. data/vendor/assets/components/jquery/src/manipulation/var/rcheckableType.js +3 -0
  335. data/vendor/assets/components/jquery/src/offset.js +204 -0
  336. data/vendor/assets/components/jquery/src/outro.js +1 -0
  337. data/vendor/assets/components/jquery/src/queue.js +142 -0
  338. data/vendor/assets/components/jquery/src/queue/delay.js +22 -0
  339. data/vendor/assets/components/jquery/src/selector-native.js +171 -0
  340. data/vendor/assets/components/jquery/src/selector-sizzle.js +14 -0
  341. data/vendor/assets/components/jquery/src/selector.js +1 -0
  342. data/vendor/assets/components/jquery/src/serialize.js +111 -0
  343. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.js +2015 -0
  344. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  345. data/vendor/assets/components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  346. data/vendor/assets/components/jquery/src/traversing.js +200 -0
  347. data/vendor/assets/components/jquery/src/traversing/findFilter.js +100 -0
  348. data/vendor/assets/components/jquery/src/traversing/var/rneedsContext.js +6 -0
  349. data/vendor/assets/components/jquery/src/var/arr.js +3 -0
  350. data/vendor/assets/components/jquery/src/var/class2type.js +4 -0
  351. data/vendor/assets/components/jquery/src/var/concat.js +5 -0
  352. data/vendor/assets/components/jquery/src/var/hasOwn.js +5 -0
  353. data/vendor/assets/components/jquery/src/var/indexOf.js +5 -0
  354. data/vendor/assets/components/jquery/src/var/pnum.js +3 -0
  355. data/vendor/assets/components/jquery/src/var/push.js +5 -0
  356. data/vendor/assets/components/jquery/src/var/rnotwhite.js +3 -0
  357. data/vendor/assets/components/jquery/src/var/slice.js +5 -0
  358. data/vendor/assets/components/jquery/src/var/strundefined.js +3 -0
  359. data/vendor/assets/components/jquery/src/var/support.js +4 -0
  360. data/vendor/assets/components/jquery/src/var/toString.js +5 -0
  361. data/vendor/assets/components/jquery/src/var/trim.js +3 -0
  362. data/vendor/assets/components/jquery/src/wrap.js +78 -0
  363. data/vendor/assets/components/moment/.bower.json +30 -0
  364. data/vendor/assets/components/moment/LICENSE +22 -0
  365. data/vendor/assets/components/moment/bower.json +20 -0
  366. data/vendor/assets/components/moment/lang/ar-ma.js +56 -0
  367. data/vendor/assets/components/moment/lang/ar-sa.js +96 -0
  368. data/vendor/assets/components/moment/lang/ar.js +97 -0
  369. data/vendor/assets/components/moment/lang/az.js +102 -0
  370. data/vendor/assets/components/moment/lang/bg.js +86 -0
  371. data/vendor/assets/components/moment/lang/bn.js +106 -0
  372. data/vendor/assets/components/moment/lang/br.js +107 -0
  373. data/vendor/assets/components/moment/lang/bs.js +139 -0
  374. data/vendor/assets/components/moment/lang/ca.js +66 -0
  375. data/vendor/assets/components/moment/lang/cs.js +155 -0
  376. data/vendor/assets/components/moment/lang/cv.js +59 -0
  377. data/vendor/assets/components/moment/lang/cy.js +77 -0
  378. data/vendor/assets/components/moment/lang/da.js +56 -0
  379. data/vendor/assets/components/moment/lang/de-at.js +72 -0
  380. data/vendor/assets/components/moment/lang/de.js +71 -0
  381. data/vendor/assets/components/moment/lang/el.js +90 -0
  382. data/vendor/assets/components/moment/lang/en-au.js +62 -0
  383. data/vendor/assets/components/moment/lang/en-ca.js +59 -0
  384. data/vendor/assets/components/moment/lang/en-gb.js +63 -0
  385. data/vendor/assets/components/moment/lang/eo.js +65 -0
  386. data/vendor/assets/components/moment/lang/es.js +75 -0
  387. data/vendor/assets/components/moment/lang/et.js +76 -0
  388. data/vendor/assets/components/moment/lang/eu.js +60 -0
  389. data/vendor/assets/components/moment/lang/fa.js +97 -0
  390. data/vendor/assets/components/moment/lang/fi.js +103 -0
  391. data/vendor/assets/components/moment/lang/fo.js +56 -0
  392. data/vendor/assets/components/moment/lang/fr-ca.js +54 -0
  393. data/vendor/assets/components/moment/lang/fr.js +58 -0
  394. data/vendor/assets/components/moment/lang/gl.js +71 -0
  395. data/vendor/assets/components/moment/lang/he.js +77 -0
  396. data/vendor/assets/components/moment/lang/hi.js +105 -0
  397. data/vendor/assets/components/moment/lang/hr.js +140 -0
  398. data/vendor/assets/components/moment/lang/hu.js +105 -0
  399. data/vendor/assets/components/moment/lang/hy-am.js +113 -0
  400. data/vendor/assets/components/moment/lang/id.js +67 -0
  401. data/vendor/assets/components/moment/lang/is.js +124 -0
  402. data/vendor/assets/components/moment/lang/it.js +59 -0
  403. data/vendor/assets/components/moment/lang/ja.js +58 -0
  404. data/vendor/assets/components/moment/lang/ka.js +108 -0
  405. data/vendor/assets/components/moment/lang/km.js +55 -0
  406. data/vendor/assets/components/moment/lang/ko.js +63 -0
  407. data/vendor/assets/components/moment/lang/lb.js +160 -0
  408. data/vendor/assets/components/moment/lang/lt.js +118 -0
  409. data/vendor/assets/components/moment/lang/lv.js +77 -0
  410. data/vendor/assets/components/moment/lang/mk.js +86 -0
  411. data/vendor/assets/components/moment/lang/ml.js +64 -0
  412. data/vendor/assets/components/moment/lang/mr.js +104 -0
  413. data/vendor/assets/components/moment/lang/ms-my.js +66 -0
  414. data/vendor/assets/components/moment/lang/nb.js +57 -0
  415. data/vendor/assets/components/moment/lang/ne.js +105 -0
  416. data/vendor/assets/components/moment/lang/nl.js +67 -0
  417. data/vendor/assets/components/moment/lang/nn.js +56 -0
  418. data/vendor/assets/components/moment/lang/pl.js +98 -0
  419. data/vendor/assets/components/moment/lang/pt-br.js +56 -0
  420. data/vendor/assets/components/moment/lang/pt.js +60 -0
  421. data/vendor/assets/components/moment/lang/ro.js +72 -0
  422. data/vendor/assets/components/moment/lang/ru.js +166 -0
  423. data/vendor/assets/components/moment/lang/sk.js +156 -0
  424. data/vendor/assets/components/moment/lang/sl.js +144 -0
  425. data/vendor/assets/components/moment/lang/sq.js +61 -0
  426. data/vendor/assets/components/moment/lang/sr-cyrl.js +106 -0
  427. data/vendor/assets/components/moment/lang/sr.js +106 -0
  428. data/vendor/assets/components/moment/lang/sv.js +63 -0
  429. data/vendor/assets/components/moment/lang/ta.js +112 -0
  430. data/vendor/assets/components/moment/lang/th.js +58 -0
  431. data/vendor/assets/components/moment/lang/tl-ph.js +58 -0
  432. data/vendor/assets/components/moment/lang/tr.js +93 -0
  433. data/vendor/assets/components/moment/lang/tzm-latn.js +55 -0
  434. data/vendor/assets/components/moment/lang/tzm.js +55 -0
  435. data/vendor/assets/components/moment/lang/uk.js +157 -0
  436. data/vendor/assets/components/moment/lang/uz.js +55 -0
  437. data/vendor/assets/components/moment/lang/vi.js +62 -0
  438. data/vendor/assets/components/moment/lang/zh-cn.js +108 -0
  439. data/vendor/assets/components/moment/lang/zh-tw.js +84 -0
  440. data/vendor/assets/components/moment/min/langs.js +6426 -0
  441. data/vendor/assets/components/moment/min/langs.min.js +4 -0
  442. data/vendor/assets/components/moment/min/moment-with-langs.js +8521 -0
  443. data/vendor/assets/components/moment/min/moment-with-langs.min.js +9 -0
  444. data/vendor/assets/components/moment/min/moment.min.js +6 -0
  445. data/vendor/assets/components/moment/moment.js +2610 -0
  446. data/vendor/assets/components/moment/readme.md +388 -0
  447. data/vendor/assets/components/numeral/.bower.json +28 -0
  448. data/vendor/assets/components/numeral/.gitignore +29 -0
  449. data/vendor/assets/components/numeral/.travis.yml +7 -0
  450. data/vendor/assets/components/numeral/Gruntfile.js +91 -0
  451. data/vendor/assets/components/numeral/LICENSE +22 -0
  452. data/vendor/assets/components/numeral/README.md +213 -0
  453. data/vendor/assets/components/numeral/bower.json +16 -0
  454. data/vendor/assets/components/numeral/component.json +16 -0
  455. data/vendor/assets/components/numeral/languages.js +989 -0
  456. data/vendor/assets/components/numeral/languages/be-nl.js +35 -0
  457. data/vendor/assets/components/numeral/languages/chs.js +34 -0
  458. data/vendor/assets/components/numeral/languages/cs.js +34 -0
  459. data/vendor/assets/components/numeral/languages/da-dk.js +34 -0
  460. data/vendor/assets/components/numeral/languages/de-ch.js +34 -0
  461. data/vendor/assets/components/numeral/languages/de.js +34 -0
  462. data/vendor/assets/components/numeral/languages/en-gb.js +38 -0
  463. data/vendor/assets/components/numeral/languages/es-ES.js +39 -0
  464. data/vendor/assets/components/numeral/languages/es.js +39 -0
  465. data/vendor/assets/components/numeral/languages/et.js +37 -0
  466. data/vendor/assets/components/numeral/languages/fi.js +34 -0
  467. data/vendor/assets/components/numeral/languages/fr-CA.js +34 -0
  468. data/vendor/assets/components/numeral/languages/fr-ch.js +34 -0
  469. data/vendor/assets/components/numeral/languages/fr.js +34 -0
  470. data/vendor/assets/components/numeral/languages/hu.js +34 -0
  471. data/vendor/assets/components/numeral/languages/it.js +34 -0
  472. data/vendor/assets/components/numeral/languages/ja.js +34 -0
  473. data/vendor/assets/components/numeral/languages/nl-nl.js +35 -0
  474. data/vendor/assets/components/numeral/languages/pl.js +34 -0
  475. data/vendor/assets/components/numeral/languages/pt-br.js +34 -0
  476. data/vendor/assets/components/numeral/languages/pt-pt.js +34 -0
  477. data/vendor/assets/components/numeral/languages/ru-UA.js +35 -0
  478. data/vendor/assets/components/numeral/languages/ru.js +37 -0
  479. data/vendor/assets/components/numeral/languages/sk.js +34 -0
  480. data/vendor/assets/components/numeral/languages/th.js +34 -0
  481. data/vendor/assets/components/numeral/languages/tr.js +67 -0
  482. data/vendor/assets/components/numeral/languages/uk-UA.js +35 -0
  483. data/vendor/assets/components/numeral/min/languages.min.js +129 -0
  484. data/vendor/assets/components/numeral/min/languages/be-nl.min.js +6 -0
  485. data/vendor/assets/components/numeral/min/languages/chs.min.js +6 -0
  486. data/vendor/assets/components/numeral/min/languages/cs.min.js +6 -0
  487. data/vendor/assets/components/numeral/min/languages/da-dk.min.js +6 -0
  488. data/vendor/assets/components/numeral/min/languages/de-ch.min.js +6 -0
  489. data/vendor/assets/components/numeral/min/languages/de.min.js +6 -0
  490. data/vendor/assets/components/numeral/min/languages/en-gb.min.js +6 -0
  491. data/vendor/assets/components/numeral/min/languages/es-ES.min.js +6 -0
  492. data/vendor/assets/components/numeral/min/languages/es.min.js +6 -0
  493. data/vendor/assets/components/numeral/min/languages/et.min.js +9 -0
  494. data/vendor/assets/components/numeral/min/languages/fi.min.js +6 -0
  495. data/vendor/assets/components/numeral/min/languages/fr-CA.min.js +6 -0
  496. data/vendor/assets/components/numeral/min/languages/fr-ch.min.js +6 -0
  497. data/vendor/assets/components/numeral/min/languages/fr.min.js +6 -0
  498. data/vendor/assets/components/numeral/min/languages/hu.min.js +6 -0
  499. data/vendor/assets/components/numeral/min/languages/it.min.js +6 -0
  500. data/vendor/assets/components/numeral/min/languages/ja.min.js +6 -0
  501. data/vendor/assets/components/numeral/min/languages/nl-nl.min.js +6 -0
  502. data/vendor/assets/components/numeral/min/languages/pl.min.js +6 -0
  503. data/vendor/assets/components/numeral/min/languages/pt-br.min.js +6 -0
  504. data/vendor/assets/components/numeral/min/languages/pt-pt.min.js +6 -0
  505. data/vendor/assets/components/numeral/min/languages/ru-UA.min.js +1 -0
  506. data/vendor/assets/components/numeral/min/languages/ru.min.js +6 -0
  507. data/vendor/assets/components/numeral/min/languages/sk.min.js +6 -0
  508. data/vendor/assets/components/numeral/min/languages/th.min.js +6 -0
  509. data/vendor/assets/components/numeral/min/languages/tr.min.js +6 -0
  510. data/vendor/assets/components/numeral/min/languages/uk-UA.min.js +1 -0
  511. data/vendor/assets/components/numeral/min/numeral.min.js +8 -0
  512. data/vendor/assets/components/numeral/numeral.js +679 -0
  513. data/vendor/assets/components/numeral/package.json +50 -0
  514. data/vendor/assets/components/numeral/tests/languages/be-nl.js +107 -0
  515. data/vendor/assets/components/numeral/tests/languages/chs.js +101 -0
  516. data/vendor/assets/components/numeral/tests/languages/cs.js +102 -0
  517. data/vendor/assets/components/numeral/tests/languages/da-dk.js +101 -0
  518. data/vendor/assets/components/numeral/tests/languages/de-ch.js +101 -0
  519. data/vendor/assets/components/numeral/tests/languages/de.js +101 -0
  520. data/vendor/assets/components/numeral/tests/languages/en-gb.js +101 -0
  521. data/vendor/assets/components/numeral/tests/languages/en.js +98 -0
  522. data/vendor/assets/components/numeral/tests/languages/es-ES.js +101 -0
  523. data/vendor/assets/components/numeral/tests/languages/es.js +101 -0
  524. data/vendor/assets/components/numeral/tests/languages/et.js +101 -0
  525. data/vendor/assets/components/numeral/tests/languages/fi.js +101 -0
  526. data/vendor/assets/components/numeral/tests/languages/fr-CA.js +101 -0
  527. data/vendor/assets/components/numeral/tests/languages/fr-ch.js +101 -0
  528. data/vendor/assets/components/numeral/tests/languages/fr.js +101 -0
  529. data/vendor/assets/components/numeral/tests/languages/hu.js +101 -0
  530. data/vendor/assets/components/numeral/tests/languages/it.js +101 -0
  531. data/vendor/assets/components/numeral/tests/languages/ja.js +101 -0
  532. data/vendor/assets/components/numeral/tests/languages/nl-nl.js +109 -0
  533. data/vendor/assets/components/numeral/tests/languages/pl.js +102 -0
  534. data/vendor/assets/components/numeral/tests/languages/pt-br.js +101 -0
  535. data/vendor/assets/components/numeral/tests/languages/pt-pt.js +101 -0
  536. data/vendor/assets/components/numeral/tests/languages/ru-UA.js +102 -0
  537. data/vendor/assets/components/numeral/tests/languages/ru.js +102 -0
  538. data/vendor/assets/components/numeral/tests/languages/sk.js +101 -0
  539. data/vendor/assets/components/numeral/tests/languages/th.js +101 -0
  540. data/vendor/assets/components/numeral/tests/languages/tr.js +101 -0
  541. data/vendor/assets/components/numeral/tests/languages/uk-UA.js +102 -0
  542. data/vendor/assets/components/numeral/tests/numeral/format.js +204 -0
  543. data/vendor/assets/components/numeral/tests/numeral/manipulate.js +104 -0
  544. data/vendor/assets/components/numeral/tests/numeral/misc.js +123 -0
  545. data/vendor/assets/components/numeral/tests/numeral/unformat.js +96 -0
  546. data/vendor/assets/components/qunit-bdd/.bower.json +31 -0
  547. data/vendor/assets/components/qunit-bdd/LICENSE +13 -0
  548. data/vendor/assets/components/qunit-bdd/README.md +282 -0
  549. data/vendor/assets/components/qunit-bdd/bower.json +22 -0
  550. data/vendor/assets/components/qunit-bdd/karma.conf.js +70 -0
  551. data/vendor/assets/components/qunit-bdd/lib/qunit-bdd.js +755 -0
  552. data/vendor/assets/components/qunit-bdd/package.json +33 -0
  553. data/vendor/assets/javascripts/bs-breadcrumbs.js +85 -0
  554. data/vendor/assets/javascripts/bs-core.js +476 -0
  555. data/vendor/assets/javascripts/bs-notifications.js +111 -0
  556. data/vendor/assets/javascripts/daterangepicker.js +1030 -0
  557. data/vendor/assets/javascripts/fix_bind_phantomjs.js +37 -0
  558. data/vendor/assets/javascripts/jquery-deparam.js +97 -0
  559. data/vendor/assets/javascripts/sidebar-tree.js +68 -0
  560. data/vendor/assets/stylesheets/daterangepicker.css +271 -0
  561. metadata +766 -0
@@ -0,0 +1,284 @@
1
+ (function(global) {
2
+
3
+ Ember.libraries.register('Ember Simple Auth Cookie Store', '0.6.4');
4
+
5
+ var define, requireModule;
6
+
7
+ (function() {
8
+ var registry = {}, seen = {};
9
+
10
+ define = function(name, deps, callback) {
11
+ registry[name] = { deps: deps, callback: callback };
12
+ };
13
+
14
+ requireModule = function(name) {
15
+ if (seen.hasOwnProperty(name)) { return seen[name]; }
16
+ seen[name] = {};
17
+
18
+ if (!registry[name]) {
19
+ throw new Error("Could not find module " + name);
20
+ }
21
+
22
+ var mod = registry[name],
23
+ deps = mod.deps,
24
+ callback = mod.callback,
25
+ reified = [],
26
+ exports;
27
+
28
+ for (var i=0, l=deps.length; i<l; i++) {
29
+ if (deps[i] === 'exports') {
30
+ reified.push(exports = {});
31
+ } else {
32
+ reified.push(requireModule(resolve(deps[i])));
33
+ }
34
+ }
35
+
36
+ var value = callback.apply(this, reified);
37
+ return seen[name] = exports || value;
38
+
39
+ function resolve(child) {
40
+ if (child.charAt(0) !== '.') { return child; }
41
+ var parts = child.split("/");
42
+ var parentBase = name.split("/").slice(0, -1);
43
+
44
+ for (var i=0, l=parts.length; i<l; i++) {
45
+ var part = parts[i];
46
+
47
+ if (part === '..') { parentBase.pop(); }
48
+ else if (part === '.') { continue; }
49
+ else { parentBase.push(part); }
50
+ }
51
+
52
+ return parentBase.join("/");
53
+ }
54
+ };
55
+
56
+ requireModule.registry = registry;
57
+ })();
58
+
59
+ define("simple-auth-cookie-store/ember",
60
+ ["./initializer"],
61
+ function(__dependency1__) {
62
+ "use strict";
63
+ var initializer = __dependency1__["default"];
64
+
65
+ Ember.onLoad('Ember.Application', function(Application) {
66
+ Application.initializer(initializer);
67
+ });
68
+ });
69
+ define("simple-auth-cookie-store/initializer",
70
+ ["simple-auth-cookie-store/stores/cookie","exports"],
71
+ function(__dependency1__, __exports__) {
72
+ "use strict";
73
+ var Store = __dependency1__["default"];
74
+
75
+ __exports__["default"] = {
76
+ name: 'simple-auth-cookie-store',
77
+ before: 'simple-auth',
78
+ initialize: function(container, application) {
79
+ container.register('simple-auth-session-store:cookie', Store);
80
+ }
81
+ };
82
+ });
83
+ define("simple-auth-cookie-store/stores/cookie",
84
+ ["simple-auth/stores/base","simple-auth/utils/flat-objects-are-equal","simple-auth/utils/get-global-config","exports"],
85
+ function(__dependency1__, __dependency2__, __dependency3__, __exports__) {
86
+ "use strict";
87
+ var Base = __dependency1__["default"];
88
+ var flatObjectsAreEqual = __dependency2__["default"];
89
+ var getGlobalConfig = __dependency3__["default"];
90
+
91
+ /**
92
+ Store that saves its data in a cookie.
93
+
94
+ __In order to keep multiple tabs/windows of an application in sync, this
95
+ store has to periodically (every 500ms) check the cookie__ for changes as
96
+ there are no events that notify of changes in cookies. The recommended
97
+ alternative is `Stores.LocalStorage` that also persistently stores data but
98
+ instead of cookies relies on the `localStorage` API and does not need to poll
99
+ for external changes.
100
+
101
+ By default the cookie store will use a session cookie that expires and is
102
+ deleted when the browser is closed. The cookie expiration period can be
103
+ configured via setting
104
+ [`Stores.Cooke#cookieExpirationTime`](#SimpleAuth-Stores-Cookie-cookieExpirationTime)
105
+ though. This can also be used to implement "remember me" functionality that
106
+ will either store the session persistently or in a session cookie depending
107
+ whether the user opted in or not:
108
+
109
+ ```js
110
+ // app/controllers/login.js
111
+ import LoginControllerMixin from 'simple-auth/mixins/login-controller-mixin';
112
+
113
+ export default Ember.Controller.extend(LoginControllerMixin, {
114
+ rememberMe: false,
115
+
116
+ rememberMeChanged: function() {
117
+ this.get('session.store').cookieExpirationTime = this.get('rememberMe') ? (14 * 24 * 60 * 60) : null;
118
+ }.observes('rememberMe')
119
+ });
120
+ ```
121
+
122
+ _The factory for this store is registered as
123
+ `'simple-auth-session-store:cookie'` in Ember's container._
124
+
125
+ @class Cookie
126
+ @namespace SimpleAuth.Stores
127
+ @module simple-auth-cookie-store/stores/cookie
128
+ @extends Stores.Base
129
+ */
130
+ __exports__["default"] = Base.extend({
131
+ /**
132
+ The name of the cookie the store stores its data in.
133
+
134
+ This value can be configured via the global environment object:
135
+
136
+ ```js
137
+ window.ENV = window.ENV || {};
138
+ window.ENV['simple-auth-cookie-store'] = {
139
+ cookieName: 'my_app_auth_session'
140
+ }
141
+ ```
142
+
143
+ @property cookieName
144
+ @type String
145
+ @default 'ember_simple_auth:'
146
+ */
147
+ cookieName: 'ember_simple_auth:session',
148
+
149
+ /**
150
+ The expiration time in seconds to use for the cookie. A value of `null`
151
+ will make the cookie a session cookie that expires when the browser is
152
+ closed.
153
+
154
+ This value can be configured via the global environment object:
155
+
156
+ ```js
157
+ window.ENV = window.ENV || {};
158
+ window.ENV['simple-auth-cookie-store'] = {
159
+ cookieExpirationTime: 24 * 60 * 60
160
+ }
161
+ ```
162
+
163
+ @property cookieExpirationTime
164
+ @type Integer
165
+ @default null
166
+ */
167
+ cookieExpirationTime: null,
168
+
169
+ /**
170
+ @property _secureCookies
171
+ @private
172
+ */
173
+ _secureCookies: window.location.protocol === 'https:',
174
+
175
+ /**
176
+ @property _syncDataTimeout
177
+ @private
178
+ */
179
+ _syncDataTimeout: null,
180
+
181
+ /**
182
+ @method init
183
+ @private
184
+ */
185
+ init: function() {
186
+ var globalConfig = getGlobalConfig('simple-auth-cookie-store');
187
+ this.cookieName = globalConfig.cookieName || this.cookieName;
188
+ this.cookieExpirationTime = globalConfig.cookieExpirationTime || this.cookieExpirationTime;
189
+ this.syncData();
190
+ },
191
+
192
+ /**
193
+ Persists the `data` in session cookies.
194
+
195
+ @method persist
196
+ @param {Object} data The data to persist
197
+ */
198
+ persist: function(data) {
199
+ data = JSON.stringify(data || {});
200
+ var expiration = !!this.cookieExpirationTime ? new Date().getTime() + this.cookieExpirationTime * 1000 : null;
201
+ this.write(data, expiration);
202
+ this._lastData = this.restore();
203
+ },
204
+
205
+ /**
206
+ Restores all data currently saved in the cookie as a plain object.
207
+
208
+ @method restore
209
+ @return {Object} All data currently persisted in the cookie
210
+ */
211
+ restore: function() {
212
+ var data = this.read();
213
+ if (Ember.isEmpty(data)) {
214
+ return {};
215
+ } else {
216
+ return JSON.parse(data);
217
+ }
218
+ },
219
+
220
+ /**
221
+ Clears the store by deleting all session cookies prefixed with the
222
+ `cookieName` (see
223
+ [`SimpleAuth.Stores.Cookie#cookieName`](#SimpleAuth-Stores-Cookie-cookieName)).
224
+
225
+ @method clear
226
+ */
227
+ clear: function() {
228
+ this.write(null, 0);
229
+ this._lastData = null;
230
+ },
231
+
232
+ /**
233
+ @method read
234
+ @private
235
+ */
236
+ read: function() {
237
+ var value = document.cookie.match(new RegExp(this.cookieName + name + '=([^;]+)')) || [];
238
+ return decodeURIComponent(value[1] || '');
239
+ },
240
+
241
+ /**
242
+ @method write
243
+ @private
244
+ */
245
+ write: function(value, expiration) {
246
+ var expires = Ember.isEmpty(expiration) ? '' : '; expires=' + new Date(expiration).toUTCString();
247
+ var secure = !!this._secureCookies ? ';secure' : '';
248
+ document.cookie = this.cookieName + '=' + encodeURIComponent(value) + expires + secure;
249
+ },
250
+
251
+ /**
252
+ @method syncData
253
+ @private
254
+ */
255
+ syncData: function() {
256
+ var data = this.restore();
257
+ if (!flatObjectsAreEqual(data, this._lastData)) {
258
+ this._lastData = data;
259
+ this.trigger('sessionDataUpdated', data);
260
+ }
261
+ if (!Ember.testing) {
262
+ Ember.run.cancel(this._syncDataTimeout);
263
+ this._syncDataTimeout = Ember.run.later(this, this.syncData, 500);
264
+ }
265
+ }
266
+ });
267
+ });
268
+ define('simple-auth/stores/base', ['exports'], function(__exports__) {
269
+ __exports__['default'] = global.SimpleAuth.Stores.Base;
270
+ });
271
+ define('simple-auth/utils/flat-objects-are-equal', ['exports'], function(__exports__) {
272
+ __exports__['default'] = global.SimpleAuth.Utils.flatObjectsAreEqual;
273
+ });
274
+ define('simple-auth/utils/get-global-config', ['exports'], function(__exports__) {
275
+ __exports__['default'] = global.SimpleAuth.Utils.getGlobalConfig;
276
+ });
277
+
278
+ var initializer = requireModule('simple-auth-cookie-store/initializer').default;
279
+ var Cookie = requireModule('simple-auth-cookie-store/stores/cookie').default;
280
+
281
+ global.SimpleAuth.Stores.Cookie = Cookie;
282
+
283
+ requireModule('simple-auth-cookie-store/ember');
284
+ })((typeof global !== 'undefined') ? global : window);
@@ -0,0 +1,243 @@
1
+ (function(global) {
2
+ var define = global.define;
3
+ var require = global.require;
4
+ var Ember = global.Ember;
5
+ if (typeof Ember === 'undefined' && typeof require !== 'undefined') {
6
+ Ember = require('ember');
7
+ }
8
+
9
+ Ember.libraries.register('Ember Simple Auth Devise', '0.6.4');
10
+
11
+ define("simple-auth-devise/authenticators/devise",
12
+ ["simple-auth/authenticators/base","simple-auth/utils/is-secure-url","simple-auth/utils/get-global-config","exports"],
13
+ function(__dependency1__, __dependency2__, __dependency3__, __exports__) {
14
+ "use strict";
15
+ var Base = __dependency1__["default"];
16
+ var isSecureUrl = __dependency2__["default"];
17
+ var getGlobalConfig = __dependency3__["default"];
18
+
19
+ /**
20
+ Authenticator that works with the Ruby gem
21
+ [Devise](https://github.com/plataformatec/devise).
22
+
23
+ __As token authentication is not actually part of devise anymore, the server
24
+ needs to implement some customizations__ to work with this authenticator -
25
+ see the README and
26
+ [discussion here](https://gist.github.com/josevalim/fb706b1e933ef01e4fb6).
27
+
28
+ _The factory for this authenticator is registered as
29
+ `'simple-auth-authenticator:devise'` in Ember's container._
30
+
31
+ @class Devise
32
+ @namespace SimpleAuth.Authenticators
33
+ @module simple-auth-devise/authenticators/devise
34
+ @extends Base
35
+ */
36
+ __exports__["default"] = Base.extend({
37
+ /**
38
+ The endpoint on the server the authenticator acquires the auth token
39
+ and email from.
40
+
41
+ This value can be configured via the global environment object:
42
+
43
+ ```js
44
+ window.ENV = window.ENV || {};
45
+ window.ENV['simple-auth-devise'] = {
46
+ serverTokenEndpoint: '/some/other/endpoint'
47
+ }
48
+ ```
49
+
50
+ @property serverTokenEndpoint
51
+ @type String
52
+ @default '/users/sign_in'
53
+ */
54
+ serverTokenEndpoint: '/users/sign_in',
55
+
56
+ /**
57
+ The devise resource name
58
+
59
+ This value can be configured via the global environment object:
60
+
61
+ ```js
62
+ window.ENV = window.ENV || {};
63
+ window.ENV['simple-auth-devise'] = {
64
+ resourceName: 'account'
65
+ }
66
+ ```
67
+
68
+ @property resourceName
69
+ @type String
70
+ @default 'user'
71
+ */
72
+ resourceName: 'user',
73
+
74
+ /**
75
+ @method init
76
+ @private
77
+ */
78
+ init: function() {
79
+ var globalConfig = getGlobalConfig('simple-auth-devise');
80
+ this.serverTokenEndpoint = globalConfig.serverTokenEndpoint || this.serverTokenEndpoint;
81
+ this.resourceName = globalConfig.resourceName || this.resourceName;
82
+ },
83
+
84
+ /**
85
+ Restores the session from a set of session properties; __will return a
86
+ resolving promise when there's a non-empty `user_token` and a non-empty
87
+ `user_email` in the `properties`__ and a rejecting promise otherwise.
88
+
89
+ @method restore
90
+ @param {Object} properties The properties to restore the session from
91
+ @return {Ember.RSVP.Promise} A promise that when it resolves results in the session being authenticated
92
+ */
93
+ restore: function(properties) {
94
+ return new Ember.RSVP.Promise(function(resolve, reject) {
95
+ if (!Ember.isEmpty(properties.user_token) && !Ember.isEmpty(properties.user_email)) {
96
+ resolve(properties);
97
+ } else {
98
+ reject();
99
+ }
100
+ });
101
+ },
102
+
103
+ /**
104
+ Authenticates the session with the specified `credentials`; the credentials
105
+ are `POST`ed to the
106
+ [`Authenticators.Devise#serverTokenEndpoint`](#SimpleAuth-Authenticators-Devise-serverTokenEndpoint)
107
+ and if they are valid the server returns an auth token and email in
108
+ response. __If the credentials are valid and authentication succeeds, a
109
+ promise that resolves with the server's response is returned__, otherwise a
110
+ promise that rejects with the server error is returned.
111
+
112
+ @method authenticate
113
+ @param {Object} options The credentials to authenticate the session with
114
+ @return {Ember.RSVP.Promise} A promise that resolves when an auth token and email is successfully acquired from the server and rejects otherwise
115
+ */
116
+ authenticate: function(credentials) {
117
+ var _this = this;
118
+ return new Ember.RSVP.Promise(function(resolve, reject) {
119
+ var data = {};
120
+ data[_this.resourceName] = {
121
+ email: credentials.identification,
122
+ password: credentials.password
123
+ };
124
+ _this.makeRequest(data).then(function(response) {
125
+ Ember.run(function() {
126
+ resolve(response);
127
+ });
128
+ }, function(xhr, status, error) {
129
+ Ember.run(function() {
130
+ reject(xhr.responseJSON || xhr.responseText);
131
+ });
132
+ });
133
+ });
134
+ },
135
+
136
+ /**
137
+ Does nothing
138
+
139
+ @method invalidate
140
+ @return {Ember.RSVP.Promise} A resolving promise
141
+ */
142
+ invalidate: function() {
143
+ return Ember.RSVP.resolve();
144
+ },
145
+
146
+ /**
147
+ @method makeRequest
148
+ @private
149
+ */
150
+ makeRequest: function(data, resolve, reject) {
151
+ if (!isSecureUrl(this.serverTokenEndpoint)) {
152
+ Ember.Logger.warn('Credentials are transmitted via an insecure connection - use HTTPS to keep them secure.');
153
+ }
154
+ return Ember.$.ajax({
155
+ url: this.serverTokenEndpoint,
156
+ type: 'POST',
157
+ data: data,
158
+ dataType: 'json',
159
+ beforeSend: function(xhr, settings) {
160
+ xhr.setRequestHeader('Accept', settings.accepts.json);
161
+ }
162
+ });
163
+ }
164
+ });
165
+ });
166
+ define("simple-auth-devise/authorizers/devise",
167
+ ["simple-auth/authorizers/base","simple-auth/utils/is-secure-url","exports"],
168
+ function(__dependency1__, __dependency2__, __exports__) {
169
+ "use strict";
170
+ var Base = __dependency1__["default"];
171
+ var isSecureUrl = __dependency2__["default"];
172
+
173
+ /**
174
+ Authenticator that works with the Ruby gem
175
+ [Devise](https://github.com/plataformatec/devise) by sending the `user_token`
176
+ and `user_email` properties from the session in the `Authorization` header.
177
+
178
+ __As token authentication is not actually part of devise anymore, the server
179
+ needs to implement some customizations__ to work with this authenticator -
180
+ see the README for more information.
181
+
182
+ _The factory for this authorizer is registered as
183
+ `'simple-auth-authorizer:devise'` in Ember's container._
184
+
185
+ @class Devise
186
+ @namespace SimpleAuth.Authorizers
187
+ @module simple-auth-devise/authorizers/devise
188
+ @extends Base
189
+ */
190
+ __exports__["default"] = Base.extend({
191
+ /**
192
+ Authorizes an XHR request by sending the `user_token` and `user_email`
193
+ properties from the session in the `Authorization` header:
194
+
195
+ ```
196
+ Authorization: Token token="<user_token>", user_email="<user_email>"
197
+ ```
198
+
199
+ @method authorize
200
+ @param {jqXHR} jqXHR The XHR request to authorize (see http://api.jquery.com/jQuery.ajax/#jqXHR)
201
+ @param {Object} requestOptions The options as provided to the `$.ajax` method (see http://api.jquery.com/jQuery.ajaxPrefilter/)
202
+ */
203
+
204
+ authorize: function(jqXHR, requestOptions) {
205
+ var userToken = this.get('session.user_token');
206
+ var userEmail = this.get('session.user_email');
207
+ if (this.get('session.isAuthenticated') && !Ember.isEmpty(userToken) && !Ember.isEmpty(userEmail)) {
208
+ if (!isSecureUrl(requestOptions.url)) {
209
+ Ember.Logger.warn('Credentials are transmitted via an insecure connection - use HTTPS to keep them secure.');
210
+ }
211
+ var authData = 'token="' + userToken + '", user_email="' + userEmail + '"';
212
+ jqXHR.setRequestHeader('Authorization', 'Token ' + authData);
213
+ }
214
+ }
215
+ });
216
+ });
217
+ define("simple-auth-devise/ember",
218
+ ["./initializer"],
219
+ function(__dependency1__) {
220
+ "use strict";
221
+ var initializer = __dependency1__["default"];
222
+
223
+ Ember.onLoad('Ember.Application', function(Application) {
224
+ Application.initializer(initializer);
225
+ });
226
+ });
227
+ define("simple-auth-devise/initializer",
228
+ ["simple-auth-devise/authenticators/devise","simple-auth-devise/authorizers/devise","exports"],
229
+ function(__dependency1__, __dependency2__, __exports__) {
230
+ "use strict";
231
+ var Authenticator = __dependency1__["default"];
232
+ var Authorizer = __dependency2__["default"];
233
+
234
+ __exports__["default"] = {
235
+ name: 'simple-auth-devise',
236
+ before: 'simple-auth',
237
+ initialize: function(container, application) {
238
+ container.register('simple-auth-authorizer:devise', Authorizer);
239
+ container.register('simple-auth-authenticator:devise', Authenticator);
240
+ }
241
+ };
242
+ });
243
+ })((typeof global !== 'undefined') ? global : window);