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,17 @@
1
+ bs-notifications
2
+
3
+ .bg-black.entire-page
4
+ .form-box
5
+ .header = t 'sessions.new.title'
6
+ form submit='authenticate'
7
+ .body.bg-gray
8
+ .form-group
9
+ = input type='text' value=identification placeholderTranslation='sessions.new.email' class='form-control'
10
+ .form-group
11
+ = input type='password' value=password placeholderTranslation='sessions.new.password' class='form-control'
12
+ .text-right
13
+ a href='https://www.dune-investissement.fr/password/new' = t 'sessions.new.forget_password'
14
+
15
+ .footer
16
+ = input type='submit' valueTranslation='sessions.new.submit' class='btn bg-olive btn-block'
17
+ a.text-center href='https://www.dune-investissement.fr/sign_up' = t 'sessions.new.sign-up'
@@ -0,0 +1,24 @@
1
+ form submit='save'
2
+ .form-group class=errors.name:has-error
3
+ label
4
+ t 'tags.form.name'
5
+ = input type='text' value=name class='form-control'
6
+
7
+ each errors.name
8
+ span.error
9
+ = message
10
+
11
+ .form-group class=errors.visible:has-error
12
+ label
13
+ t 'tags.form.visible'
14
+ = input type='checkbox' checked=visible class='form-control'
15
+
16
+ each errors.visible
17
+ span.error
18
+ = message
19
+
20
+ .form-actions
21
+ = input type='submit' valueTranslation='words.save' class='btn btn-primary'
22
+ | 
23
+ button.btn{action "cancel"}
24
+ t 'words.cancel'
@@ -0,0 +1 @@
1
+ = partial 'tags/form'
@@ -0,0 +1,46 @@
1
+ .page-controls
2
+ link-to 'tags.new' class='btn btn-primary'
3
+ t 'tags.index.new'
4
+
5
+ .nav-tabs-custom
6
+ ul.nav.nav-tabs
7
+ = link-to 'tags.tab' 'popular' tagName='li'
8
+ a href="#"
9
+ t 'tags.index.popular'
10
+ = link-to 'tags.tab' 'all' tagName='li'
11
+ a href="#"
12
+ t 'tags.index.all'
13
+
14
+ table.table.table-hover
15
+ thead
16
+ tr
17
+ th
18
+ t 'tags.index.name'
19
+ th
20
+ t 'tags.index.visible'
21
+ th
22
+ t 'tags.index.total_projects'
23
+ th
24
+
25
+ tbody
26
+ each model
27
+ tr
28
+ td = name
29
+ td
30
+ show-boolean visible
31
+ td = total_projects
32
+ td
33
+ .text-right
34
+ = link-to 'tags.edit' id
35
+ i.fa.fa-edit
36
+ |  
37
+ a{action 'destroy' this} href='#'
38
+ i.fa.fa-trash-o
39
+ else
40
+ tr
41
+ td.no-results colspan='4'
42
+ t 'words.no_results'
43
+
44
+ if model
45
+ .pagination-wrapper-button
46
+ pagination
@@ -0,0 +1 @@
1
+ = partial 'tags/form'
@@ -0,0 +1,51 @@
1
+ = partial 'users/search-form'
2
+
3
+ .nav-tabs-custom
4
+ ul.nav.nav-tabs
5
+ = link-to 'users.tab' tagName='li'
6
+ a href="#"
7
+ t 'users.index.tabs.all'
8
+
9
+ view 'Dashboard.SearchTab' routeName='users.search'
10
+
11
+ table.table.table-hover
12
+ thead
13
+ tr
14
+ th
15
+ th
16
+ t 'users.index.table.name'
17
+ th
18
+ t 'users.index.table.email'
19
+ th
20
+ t 'users.index.table.total_contributed'
21
+ th
22
+ t 'users.index.table.created_at'
23
+ th
24
+ tbody
25
+ each user in model
26
+ tr
27
+ td
28
+ .avatar.small class=user.profile_type
29
+ a href=user.html_url target='blank'
30
+ img src=user.image_url class='img-circle'
31
+ td
32
+ a href=user.html_url target='blank'
33
+ = user.name
34
+ td
35
+ = user.email
36
+ td
37
+ number-to-currency user.total_contributed
38
+ td
39
+ format-date user.created_at
40
+ td
41
+ .text-right
42
+ a href=user.edit_html_url target='blank'
43
+ i.fa.fa-edit
44
+ else
45
+ tr
46
+ td.no-results colspan='6'
47
+ t 'words.no_results'
48
+
49
+ if model
50
+ .pagination-wrapper-button
51
+ pagination
@@ -0,0 +1,13 @@
1
+ .box.box-primary
2
+ form.search submit='submitSearch'
3
+ .box-body
4
+ .row
5
+ .col-md-12
6
+ .form-group
7
+ label
8
+ t 'users.index.search.query'
9
+ = input value=search.query class='form-control'
10
+
11
+ .box-footer
12
+ .text-right
13
+ = input type='submit' valueTranslation='words.search' class="btn btn-primary"
@@ -0,0 +1,14 @@
1
+ Dashboard.AutoSaveCheckboxView = Ember.View.extend
2
+ template: Ember.Handlebars.compile("{{input type='checkbox' checked=view.attr}}")
3
+ tagName: 'span'
4
+
5
+ attributeBindings: [
6
+ 'attr'
7
+ 'resource'
8
+ ]
9
+
10
+ didInsertElement: ->
11
+ self = this
12
+ @$('input').on 'change', ->
13
+ self.set('attr', $(this).is(':checked'))
14
+ self.get('resource').save()
@@ -0,0 +1 @@
1
+ Dashboard.ContributionsShowView = Ember.View.extend Dashboard.ModalViewMixin
@@ -0,0 +1,60 @@
1
+ Dashboard.DaterangepickerView = Ember.View.extend Em.I18n.TranslateableProperties,
2
+ templateName: 'daterangepicker'
3
+ classNames: ['form-group']
4
+ attributeBindings: [
5
+ 'start'
6
+ 'end'
7
+ ]
8
+ start: null
9
+ end: null
10
+ format: 'MMMM D, YYYY'
11
+ serverFormat: 'YYYY-MM-DD'
12
+ didInsertElement: ->
13
+ format = @get('format')
14
+ @$('.daterangepicker-input').daterangepicker
15
+ locale: { cancelLabel: 'Clear' }
16
+ format: format
17
+ startDate: @get('start')
18
+ endDate: @get('end')
19
+ ranges:
20
+ Today: [
21
+ moment()
22
+ moment()
23
+ ]
24
+ Yesterday: [
25
+ moment().subtract('days', 1)
26
+ moment().subtract('days', 1)
27
+ ]
28
+ 'Last 7 Days': [
29
+ moment().subtract('days', 6)
30
+ moment()
31
+ ]
32
+ 'Last 30 Days': [
33
+ moment().subtract('days', 29)
34
+ moment()
35
+ ]
36
+ 'This Month': [
37
+ moment().startOf('month')
38
+ moment().endOf('month')
39
+ ]
40
+ 'Last Month': [
41
+ moment().subtract('month', 1).startOf('month')
42
+ moment().subtract('month', 1).endOf('month')
43
+ ]
44
+ , (start, end) =>
45
+ @set 'start', start.format(@get('serverFormat'))
46
+ @set 'end', end.format(@get('serverFormat'))
47
+
48
+ @$('.daterangepicker-input').on 'cancel.daterangepicker', (ev, picker) =>
49
+ @$('.daterangepicker-input').val ''
50
+ @set('start', '')
51
+ @set('end', '')
52
+
53
+ @$('.daterangepicker-input').on 'show.daterangepicker', (ev, picker) =>
54
+ if Ember.isEmpty(@get('start')) && Ember.isEmpty(@get('end'))
55
+ picker.setStartDate moment()
56
+ picker.setEndDate moment()
57
+
58
+ if !Ember.isEmpty(@get('start')) && !Ember.isEmpty(@get('end'))
59
+ visibleDate = "#{moment(@get('start')).format(format)} - #{moment(@get('end')).format(format)}"
60
+ @$('.daterangepicker-input').attr 'value', visibleDate
@@ -0,0 +1,7 @@
1
+ Dashboard.FileView = Ember.View.extend
2
+ tagName: 'input'
3
+ attributeBindings: ['type', 'id']
4
+ type: 'file'
5
+
6
+ change: (e)->
7
+ @set('file', e.target.files[0])
@@ -0,0 +1,23 @@
1
+ Dashboard.reopen
2
+ HeaderView: Ember.View.extend
3
+ templateName: 'layouts/header'
4
+
5
+ didInsertElement: ->
6
+ $('.dropdown-toggle').dropdown()
7
+
8
+ #Enable sidebar toggle
9
+ $("[data-toggle='offcanvas']").click (e) ->
10
+ e.preventDefault()
11
+
12
+ #If window is small enough, enable sidebar push menu
13
+ if $(window).width() <= 992
14
+ $(".row-offcanvas").toggleClass "active"
15
+ $(".left-side").removeClass "collapse-left"
16
+ $(".right-side").removeClass "strech"
17
+ $(".row-offcanvas").toggleClass "relative"
18
+ else
19
+
20
+ #Else, enable content streching
21
+ $(".left-side").toggleClass "collapse-left"
22
+ $(".right-side").toggleClass "strech"
23
+ return
@@ -0,0 +1,6 @@
1
+ Dashboard.reopen
2
+ SidebarView: Ember.View.extend
3
+ templateName: 'layouts/sidebar'
4
+
5
+ didInsertElement: ->
6
+ $(".sidebar .treeview").tree()
@@ -0,0 +1,45 @@
1
+ Dashboard.PageTitle = Ember.View.extend
2
+ tagName: 'h1'
3
+ content: []
4
+ template: Ember.Handlebars.compile('{{view.content}}')
5
+
6
+ router: Ember.computed 'controller', ->
7
+ @get('controller').container.lookup 'router:main'
8
+
9
+ currentPathObserver: (->
10
+ @get 'router'
11
+ @send 'updateTitleByRoute'
12
+ ).observes('router.url').on('init')
13
+
14
+ actions:
15
+ updateTitleByRoute: ->
16
+ content = []
17
+ routes = @get('container').lookup('router:main')
18
+
19
+ appTitle = @appTitle(routes)
20
+ content.pushObject(appTitle) if appTitle
21
+
22
+ currentRoute = routes.get('router.currentHandlerInfos').slice(-1)[0]
23
+
24
+ if currentRoute.handler.get('title')
25
+ content.pushObject(currentRoute.handler.get('title'))
26
+
27
+ content.reverse()
28
+ @setDocumentTittle(content.join(' - '))
29
+ content.pop() # Remove the app title
30
+
31
+ @set('content', content.join(' - '))
32
+ @rerender()
33
+
34
+ setDocumentTittle: (content)->
35
+ $('title').html(content)
36
+
37
+ appTitle: (routes)->
38
+ title = false
39
+ routes.get('router.currentHandlerInfos').forEach (route) ->
40
+ if route.handler.routeName == 'application' && route.handler.get('title')
41
+ title = route.handler.get('title')
42
+
43
+ return title
44
+
45
+ Ember.Handlebars.helper 'page-title', Dashboard.PageTitle
@@ -0,0 +1,51 @@
1
+ Dashboard.PaginationView = Ember.View.extend
2
+ tagName: 'div'
3
+ classNames: ['pagination-right']
4
+ templateName: 'pagination'
5
+
6
+ current: (->
7
+ @get('controller.model.meta.page')
8
+ ).property('controller.model.meta.page')
9
+
10
+ totalPages: (->
11
+ @get('controller.model.meta.total_pages')
12
+ ).property('controller.model.meta.total_pages')
13
+
14
+ isFirst: (->
15
+ @get('current') == 1
16
+ ).property('current')
17
+
18
+ isLast: (->
19
+ @get('current') == @get('totalPages')
20
+ ).property('current', 'totalPages')
21
+
22
+ pages: (->
23
+ totalPages = @get('totalPages')
24
+ current = @get('current')
25
+
26
+ items = if totalPages < 9
27
+ [1..totalPages]
28
+ else
29
+ switch current
30
+ when 1, 2, 3, 4, 5
31
+ [1, 2, 3, 4, 5, 6, '…', totalPages - 1, totalPages]
32
+ when totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages
33
+ [1, 2, '…', totalPages - 5, totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages]
34
+ else
35
+ [1, 2, '…', current - 1, current, current + 1, '…', totalPages - 1, totalPages]
36
+
37
+ result = for i in items
38
+ if i is '…'
39
+ {
40
+ value: '…'
41
+ disabled: true
42
+ }
43
+ else
44
+ {
45
+ page: i
46
+ value: i
47
+ active: i is current
48
+ }
49
+
50
+ result
51
+ ).property('totalPages', 'current')
@@ -0,0 +1,5 @@
1
+ Dashboard.ProjectsIndexView = Ember.View.extend
2
+ templateName: 'projects/index'
3
+
4
+ didInsertElement: ->
5
+ $('.dropdown-toggle').dropdown()
@@ -0,0 +1,24 @@
1
+ Dashboard.SearchTab = Ember.View.extend
2
+ type: 'view'
3
+ templateName: 'search-tab'
4
+ routeName: ''
5
+ tagName: ''
6
+
7
+ routeParams: (->
8
+ @get('controller.searchRouteParams')
9
+ ).property('controller.searchRouteParams')
10
+
11
+ hasSearch: (->
12
+ hasValues = (values)->
13
+ results = []
14
+
15
+ $.map values, (value)=>
16
+ if Ember.typeOf(value) == 'object'
17
+ results.push hasValues(value)
18
+ else if !Ember.isEmpty(value)
19
+ results.push true
20
+
21
+ return [].concat.apply([], results)
22
+
23
+ return $.inArray(true, hasValues(@get('controller.search'))) != -1
24
+ ).property('controller.search')
@@ -0,0 +1,299 @@
1
+ /*
2
+ * Core: General style
3
+ *----------------------------
4
+
5
+ html, body
6
+ font-family: 'Source Sans Pro', sans-serif
7
+ -webkit-font-smoothing: antialiased
8
+ min-height: 100%
9
+ background: $body-bg
10
+
11
+ a
12
+ color: $link-color
13
+
14
+ a:hover, a:active, a:focus
15
+ outline: none
16
+ text-decoration: none
17
+ color: $link-hover-color
18
+
19
+ /* Layouts
20
+ .wrapper
21
+ min-height: 100%
22
+ +clearfix
23
+
24
+ /* Define 2 column template
25
+ .right-side, .left-side
26
+ min-height: 100%
27
+ display: block
28
+
29
+ /*right side - contins main content
30
+ .right-side
31
+ background-color: $body-bg
32
+ margin-left: $left-side-width
33
+
34
+ /*left side - contains sidebar
35
+ .left-side
36
+ position: absolute
37
+ width: $left-side-width
38
+ top: 0
39
+
40
+ @media screen and (min-width: $screen-md)
41
+ .left-side
42
+ top: 50px
43
+ /*Right side strech mode
44
+ .right-side.strech
45
+ margin-left: 0
46
+ > .content-header
47
+ margin-top: 0px
48
+ /* Left side collapse
49
+ .left-side.collapse-left
50
+ left: -$left-side-width
51
+
52
+ /*Give content full width on xs screens
53
+ @media screen and (max-width: $screen-md)
54
+ .right-side
55
+ margin-left: 0
56
+
57
+ /*
58
+ * By default the layout is not fixed but if you add the class .fixed to the body element
59
+ * the sidebar and the navbar will automatically become poisitioned fixed
60
+ body.fixed
61
+ header.header, .left-side, .navbar
62
+ position: fixed
63
+ header.header
64
+ top: 0
65
+ right: 0
66
+ left: 0
67
+ .navbar
68
+ left: 0
69
+ right: 0
70
+ .wrapper
71
+ margin-top: 50px
72
+
73
+ /* Content
74
+ .content
75
+ padding: 20px 15px
76
+ background: $body-bg
77
+
78
+ /* Utility
79
+
80
+ /* H1 - H6 font
81
+ h1,
82
+ h2,
83
+ h3,
84
+ h4,
85
+ h5,
86
+ h6,
87
+ .h1,
88
+ .h2,
89
+ .h3,
90
+ .h4,
91
+ .h5,
92
+ .h6
93
+ font-family: 'Source Sans Pro', sans-serif
94
+
95
+ /* Page Header
96
+ .page-header
97
+ margin: 10px 0 20px 0
98
+ font-size: 22px
99
+ > small
100
+ color: #666
101
+ display: block
102
+ margin-top: 5px
103
+
104
+ /* All images should be responsive
105
+ img
106
+ max-width: 100%important
107
+
108
+ .sort-highlight
109
+ background: #f4f4f4
110
+ border: 1px dashed #ddd
111
+ margin-bottom: 10px
112
+
113
+ /* 10px padding and margins
114
+ .pad
115
+ padding: 10px
116
+
117
+ .margin
118
+ margin: 10px
119
+
120
+ /* Display inline
121
+ .inline
122
+ display: inline
123
+ width: auto
124
+
125
+ .bg-black.entire-page
126
+ position: fixed
127
+ width: 100%
128
+ height: 100%
129
+ top: 0px
130
+ left: 0px
131
+ bottom: 0px
132
+ right: 0px
133
+ z-index: 5
134
+
135
+ /* Background colors
136
+ .bg-red,
137
+ .bg-yellow,
138
+ .bg-aqua,
139
+ .bg-blue,
140
+ .bg-light-blue,
141
+ .bg-green,
142
+ .bg-navy,
143
+ .bg-teal,
144
+ .bg-olive,
145
+ .bg-lime,
146
+ .bg-orange,
147
+ .bg-fuchsia,
148
+ .bg-purple,
149
+ .bg-maroon,
150
+ .bg-black
151
+ color: #f9f9f9 !important
152
+
153
+ .bg-gray
154
+ background-color: $gray !important
155
+
156
+ .bg-black
157
+ background-color: $black !important
158
+
159
+ .bg-red
160
+ background-color: $red !important
161
+
162
+ .bg-yellow
163
+ background-color: $yellow !important
164
+
165
+ .bg-aqua
166
+ background-color: $aqua !important
167
+
168
+ .bg-blue
169
+ background-color: $blue !important
170
+
171
+ .bg-light-blue
172
+ background-color: $light-blue !important
173
+
174
+ .bg-green
175
+ background-color: $green !important
176
+
177
+ .bg-navy
178
+ background-color: $navy !important
179
+
180
+ .bg-teal
181
+ background-color: $teal !important
182
+
183
+ .bg-olive
184
+ background-color: $olive !important
185
+
186
+ .bg-lime
187
+ background-color: $lime !important
188
+
189
+ .bg-orange
190
+ background-color: $orange !important
191
+
192
+ .bg-fuchsia
193
+ background-color: $fuchsia !important
194
+
195
+ .bg-purple
196
+ background-color: $purple !important
197
+
198
+ .bg-maroon
199
+ background-color: $maroon !important
200
+
201
+ /* Text colors
202
+ .text-red
203
+ color: $red !important
204
+
205
+ .text-yellow
206
+ color: $yellow !important
207
+
208
+ .text-aqua
209
+ color: $aqua !important
210
+
211
+ .text-blue
212
+ color: $blue !important
213
+
214
+ .text-light-blue
215
+ color: $light-blue !important
216
+
217
+ .text-green
218
+ color: $green !important
219
+
220
+ .text-navy
221
+ color: $navy !important
222
+
223
+ .text-teal
224
+ color: $teal !important
225
+
226
+ .text-olive
227
+ color: $olive !important
228
+
229
+ .text-lime
230
+ color: $lime !important
231
+
232
+ .text-orange
233
+ color: $orange !important
234
+
235
+ .text-fuchsia
236
+ color: $fuchsia !important
237
+
238
+ .text-purple
239
+ color: $purple !important
240
+
241
+ .text-maroon
242
+ color: $maroon !important
243
+
244
+ /*Hide elements by display none only
245
+ .hide
246
+ display: none !important
247
+
248
+ /* Remove borders
249
+ .no-border
250
+ border: 0px !important
251
+
252
+ /* Remove padding
253
+ .no-padding
254
+ padding: 0px !important
255
+
256
+ /* Remove margins
257
+ .no-margin
258
+ margin: 0px !important
259
+
260
+ /* Remove box shadow
261
+ .no-shadow
262
+ box-shadow: none !important
263
+
264
+ /* Don't display when printing
265
+ @media print
266
+ //Add to elements that you do not want to show when printing
267
+ .no-print
268
+ display: none
269
+ //Elements that we want to hide when printing
270
+ .left-side, .header, .content-header
271
+ display: none
272
+ //This is the only element that should appear, so let's remove the margins
273
+ .right-side
274
+ margin: 0
275
+
276
+ /* Remove border radius
277
+ .flat
278
+ border-radius: 0 !important
279
+
280
+ /* Change the color of the striped tables
281
+ .table-striped > tbody > tr:nth-child(odd)
282
+ > td,
283
+ > th
284
+ background-color: $table-striped-color
285
+
286
+ /* .text-center in tables
287
+ table.text-center
288
+ td, th
289
+ text-align: center
290
+
291
+ /* _fix for sparkline tooltip
292
+ .jqstooltip
293
+ padding: 5px !important
294
+ width: auto !important
295
+ height: auto !important
296
+
297
+ .page-controls
298
+ margin-bottom: 15px
299
+ text-align: right