activeadmin 1.0.0 → 1.1.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 (276) hide show
  1. checksums.yaml +4 -4
  2. data/.github/ISSUE_TEMPLATE.md +20 -0
  3. data/.mdlrc +1 -0
  4. data/.rubocop.yml +52 -3
  5. data/.simplecov +13 -0
  6. data/.travis.yml +9 -24
  7. data/.yardopts +0 -1
  8. data/CHANGELOG.md +85 -4
  9. data/CONTRIBUTING.md +33 -57
  10. data/Gemfile +26 -17
  11. data/Rakefile +1 -12
  12. data/activeadmin.gemspec +9 -11
  13. data/app/assets/javascripts/active_admin/base.js.coffee +6 -2
  14. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +5 -1
  15. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +5 -1
  16. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +5 -1
  17. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +5 -1
  18. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +6 -3
  19. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +9 -7
  20. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +5 -2
  21. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +6 -2
  22. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +3 -5
  23. data/app/assets/stylesheets/active_admin/_base.scss +2 -2
  24. data/app/assets/stylesheets/active_admin/_forms.scss +6 -12
  25. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  26. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  27. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +1 -0
  28. data/app/assets/stylesheets/active_admin/components/_tables.scss +4 -1
  29. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -2
  30. data/app/assets/stylesheets/active_admin/print.scss +2 -3
  31. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  32. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  33. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  34. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  35. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  36. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  37. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  38. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  39. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  40. data/codecov.yml +14 -12
  41. data/config/i18n-tasks.yml +26 -0
  42. data/config/locales/ar.yml +1 -3
  43. data/config/locales/bg.yml +0 -2
  44. data/config/locales/bs.yml +0 -2
  45. data/config/locales/ca.yml +0 -2
  46. data/config/locales/cs.yml +0 -2
  47. data/config/locales/da.yml +1 -3
  48. data/config/locales/de-CH.yml +1 -3
  49. data/config/locales/de.yml +1 -3
  50. data/config/locales/el.yml +1 -3
  51. data/config/locales/en-CA.yml +138 -0
  52. data/config/locales/en-GB.yml +43 -3
  53. data/config/locales/en.yml +8 -4
  54. data/config/locales/es-MX.yml +3 -2
  55. data/config/locales/es.yml +10 -4
  56. data/config/locales/fa.yml +0 -2
  57. data/config/locales/fi.yml +0 -2
  58. data/config/locales/fr.yml +9 -2
  59. data/config/locales/he.yml +53 -7
  60. data/config/locales/hr.yml +0 -2
  61. data/config/locales/hu.yml +0 -2
  62. data/config/locales/id.yml +1 -3
  63. data/config/locales/it.yml +2 -4
  64. data/config/locales/ja.yml +1 -3
  65. data/config/locales/ko.yml +0 -2
  66. data/config/locales/lt.yml +24 -4
  67. data/config/locales/lv.yml +0 -2
  68. data/config/locales/nb.yml +0 -2
  69. data/config/locales/nl.yml +1 -3
  70. data/config/locales/pl.yml +3 -2
  71. data/config/locales/pt-BR.yml +1 -3
  72. data/config/locales/pt-PT.yml +0 -2
  73. data/config/locales/ro.yml +0 -2
  74. data/config/locales/ru.yml +1 -3
  75. data/config/locales/sk.yml +0 -2
  76. data/config/locales/sv-SE.yml +1 -3
  77. data/config/locales/tr.yml +0 -2
  78. data/config/locales/uk.yml +1 -3
  79. data/config/locales/vi.yml +0 -2
  80. data/config/locales/zh-CN.yml +0 -2
  81. data/config/locales/zh-TW.yml +1 -3
  82. data/config/mdl_style.rb +9 -0
  83. data/cucumber.yml +3 -3
  84. data/docs/0-installation.md +15 -12
  85. data/docs/1-general-configuration.md +10 -3
  86. data/docs/10-custom-pages.md +10 -5
  87. data/docs/11-decorators.md +1 -0
  88. data/docs/12-arbre-components.md +7 -9
  89. data/docs/13-authorization-adapter.md +39 -24
  90. data/docs/14-gotchas.md +41 -22
  91. data/docs/2-resource-customization.md +41 -18
  92. data/docs/3-index-pages.md +30 -12
  93. data/docs/3-index-pages/custom-index.md +1 -0
  94. data/docs/3-index-pages/index-as-block.md +0 -5
  95. data/docs/3-index-pages/index-as-blog.md +0 -5
  96. data/docs/3-index-pages/index-as-grid.md +0 -5
  97. data/docs/3-index-pages/index-as-table.md +1 -9
  98. data/docs/4-csv-format.md +2 -1
  99. data/docs/5-forms.md +45 -21
  100. data/docs/6-show-pages.md +2 -1
  101. data/docs/7-sidebars.md +2 -1
  102. data/docs/8-custom-actions.md +4 -1
  103. data/docs/9-batch-actions.md +4 -2
  104. data/docs/documentation.md +19 -21
  105. data/features/comments/commenting.feature +20 -0
  106. data/features/index/filters.feature +41 -1
  107. data/features/index/format_as_csv.feature +17 -0
  108. data/features/index/index_scopes.feature +15 -0
  109. data/features/registering_assets.feature +8 -4
  110. data/features/show/attributes_table_title.feature +54 -0
  111. data/features/show/tabs.feature +10 -4
  112. data/features/step_definitions/action_link_steps.rb +0 -1
  113. data/features/step_definitions/attributes_table_title_steps.rb +11 -0
  114. data/features/step_definitions/batch_action_steps.rb +2 -2
  115. data/features/step_definitions/comment_steps.rb +21 -1
  116. data/features/step_definitions/configuration_steps.rb +1 -1
  117. data/features/step_definitions/filter_steps.rb +9 -0
  118. data/features/step_definitions/format_steps.rb +1 -1
  119. data/features/step_definitions/index_scope_steps.rb +4 -0
  120. data/features/support/env.rb +5 -4
  121. data/features/support/regular_env.rb +7 -0
  122. data/features/support/reload_env.rb +7 -0
  123. data/gemfiles/rails_42.gemfile +2 -37
  124. data/gemfiles/rails_50.gemfile +5 -40
  125. data/gemfiles/rails_51.gemfile +5 -40
  126. data/lib/active_admin.rb +0 -3
  127. data/lib/active_admin/application.rb +6 -4
  128. data/lib/active_admin/asset_registration.rb +8 -0
  129. data/lib/active_admin/authorization_adapter.rb +0 -3
  130. data/lib/active_admin/base_controller.rb +1 -2
  131. data/lib/active_admin/base_controller/authorization.rb +0 -1
  132. data/lib/active_admin/base_controller/menu.rb +9 -9
  133. data/lib/active_admin/batch_actions/controller.rb +1 -1
  134. data/lib/active_admin/batch_actions/views/selection_cells.rb +6 -5
  135. data/lib/active_admin/csv_builder.rb +3 -3
  136. data/lib/active_admin/dependency.rb +1 -1
  137. data/lib/active_admin/devise.rb +2 -2
  138. data/lib/active_admin/dsl.rb +2 -2
  139. data/lib/active_admin/filters.rb +2 -0
  140. data/lib/active_admin/filters/active.rb +13 -14
  141. data/lib/active_admin/filters/active_filter.rb +87 -0
  142. data/lib/active_admin/filters/active_sidebar.rb +50 -0
  143. data/lib/active_admin/filters/forms.rb +1 -2
  144. data/lib/active_admin/filters/resource_extension.rb +2 -30
  145. data/lib/active_admin/helpers/settings.rb +0 -1
  146. data/lib/active_admin/inputs/datepicker_input.rb +5 -5
  147. data/lib/active_admin/inputs/filters/date_range_input.rb +12 -4
  148. data/lib/active_admin/inputs/filters/text_input.rb +0 -1
  149. data/lib/active_admin/menu.rb +4 -4
  150. data/lib/active_admin/menu_collection.rb +0 -2
  151. data/lib/active_admin/namespace.rb +1 -1
  152. data/lib/active_admin/orm/active_record/comments/comment.rb +1 -5
  153. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +4 -2
  154. data/lib/active_admin/page_controller.rb +1 -1
  155. data/lib/active_admin/resource/action_items.rb +4 -0
  156. data/lib/active_admin/resource/attributes.rb +1 -1
  157. data/lib/active_admin/resource/page_presenters.rb +1 -1
  158. data/lib/active_admin/resource/routes.rb +0 -1
  159. data/lib/active_admin/resource/scopes.rb +2 -1
  160. data/lib/active_admin/resource_controller.rb +1 -1
  161. data/lib/active_admin/resource_controller/data_access.rb +8 -9
  162. data/lib/active_admin/resource_dsl.rb +10 -10
  163. data/lib/active_admin/router.rb +1 -1
  164. data/lib/active_admin/scope.rb +3 -3
  165. data/lib/active_admin/version.rb +1 -1
  166. data/lib/active_admin/view_helpers.rb +1 -0
  167. data/lib/active_admin/view_helpers/display_helper.rb +1 -1
  168. data/lib/active_admin/view_helpers/form_helper.rb +1 -1
  169. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  170. data/lib/active_admin/views/action_items.rb +1 -1
  171. data/lib/active_admin/views/components/active_admin_form.rb +1 -1
  172. data/lib/active_admin/views/components/dropdown_menu.rb +2 -2
  173. data/lib/active_admin/views/components/index_list.rb +0 -2
  174. data/lib/active_admin/views/components/paginated_collection.rb +1 -1
  175. data/lib/active_admin/views/components/scopes.rb +2 -10
  176. data/lib/active_admin/views/components/status_tag.rb +19 -11
  177. data/lib/active_admin/views/components/tabs.rb +2 -2
  178. data/lib/active_admin/views/header.rb +0 -1
  179. data/lib/active_admin/views/index_as_blog.rb +1 -2
  180. data/lib/active_admin/views/index_as_grid.rb +2 -2
  181. data/lib/active_admin/views/index_as_table.rb +19 -1
  182. data/lib/active_admin/views/pages/base.rb +4 -4
  183. data/lib/active_admin/views/pages/show.rb +6 -1
  184. data/lib/active_admin/views/title_bar.rb +4 -4
  185. data/lib/bug_report_templates/{rails_5_master.rb → active_admin_master.rb} +35 -40
  186. data/lib/generators/active_admin/devise/devise_generator.rb +1 -1
  187. data/lib/generators/active_admin/install/templates/admin_user.rb.erb +1 -1
  188. data/spec/bug_report_templates_spec.rb +2 -3
  189. data/spec/rails_helper.rb +0 -3
  190. data/spec/spec_helper.rb +1 -12
  191. data/spec/support/active_admin_integration_spec_helper.rb +1 -1
  192. data/spec/support/rails_template.rb +5 -37
  193. data/spec/support/rails_template_with_data.rb +262 -3
  194. data/spec/support/templates/policies/active_admin/comment_policy.rb +1 -1
  195. data/spec/support/templates/policies/active_admin/page_policy.rb +1 -1
  196. data/spec/support/templates/policies/application_policy.rb +1 -2
  197. data/spec/support/templates/post_decorator.rb +0 -1
  198. data/spec/unit/abstract_view_factory_spec.rb +0 -1
  199. data/spec/unit/application_spec.rb +4 -0
  200. data/spec/unit/asset_registration_spec.rb +29 -0
  201. data/spec/unit/belongs_to_spec.rb +1 -2
  202. data/spec/unit/config_shared_examples.rb +1 -1
  203. data/spec/unit/csv_builder_spec.rb +2 -4
  204. data/spec/unit/dependency_spec.rb +7 -7
  205. data/spec/unit/dsl_spec.rb +0 -2
  206. data/spec/unit/filters/active_filter_spec.rb +135 -0
  207. data/spec/unit/filters/active_spec.rb +11 -1
  208. data/spec/unit/filters/filter_form_builder_spec.rb +9 -7
  209. data/spec/unit/form_builder_spec.rb +14 -14
  210. data/spec/unit/helpers/scope_chain_spec.rb +0 -1
  211. data/spec/unit/i18n_spec.rb +17 -0
  212. data/spec/unit/menu_item_spec.rb +1 -3
  213. data/spec/unit/namespace/register_page_spec.rb +1 -1
  214. data/spec/unit/namespace_spec.rb +0 -1
  215. data/spec/unit/page_spec.rb +0 -3
  216. data/spec/unit/resource/action_items_spec.rb +5 -1
  217. data/spec/unit/resource/attributes_spec.rb +1 -2
  218. data/spec/unit/resource/ordering_spec.rb +0 -3
  219. data/spec/unit/resource/scopes_spec.rb +1 -1
  220. data/spec/unit/resource_controller/data_access_spec.rb +2 -2
  221. data/spec/unit/resource_controller_spec.rb +1 -2
  222. data/spec/unit/resource_spec.rb +9 -2
  223. data/spec/unit/routing_spec.rb +0 -2
  224. data/spec/unit/scope_spec.rb +3 -3
  225. data/spec/unit/settings_spec.rb +0 -1
  226. data/spec/unit/view_factory_spec.rb +1 -1
  227. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -1
  228. data/spec/unit/view_helpers/form_helper_spec.rb +3 -4
  229. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -1
  230. data/spec/unit/views/components/attributes_table_spec.rb +0 -1
  231. data/spec/unit/views/components/columns_spec.rb +0 -2
  232. data/spec/unit/views/components/site_title_spec.rb +0 -2
  233. data/spec/unit/views/components/status_tag_spec.rb +23 -7
  234. data/spec/unit/views/components/tabs_spec.rb +29 -1
  235. data/spec/unit/views/pages/index_spec.rb +1 -1
  236. data/tasks/docs.rake +37 -10
  237. data/tasks/lint.rake +14 -1
  238. data/tasks/local.rake +2 -2
  239. data/tasks/test.rake +8 -25
  240. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  241. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  242. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  243. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  244. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  245. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  246. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  247. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  248. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  249. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  250. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  251. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  252. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  253. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  254. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  255. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  256. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +300 -0
  257. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  258. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  259. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  260. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  261. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  262. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  263. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  264. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  265. data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
  266. metadata +62 -51
  267. data/.hound.yml +0 -14
  268. data/Appraisals +0 -41
  269. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  270. data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -18
  271. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  272. data/lib/active_admin/filters/humanized.rb +0 -68
  273. data/spec/requests/javascript_spec.rb +0 -22
  274. data/spec/support/jslint.yml +0 -80
  275. data/spec/unit/filters/humanized_spec.rb +0 -64
  276. data/tasks/yard.rake +0 -9
data/Gemfile CHANGED
@@ -1,5 +1,12 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ # Trick to use https without warnings and without having to specify full URLs
4
+ # TODO: Can be removed when Bundler 2.x is released.
5
+ git_source(:github) do |repo_name|
6
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
7
+ "https://github.com/#{repo_name}.git"
8
+ end
9
+
3
10
  # Optional dependencies
4
11
  gem 'cancan'
5
12
  gem 'pundit'
@@ -9,38 +16,40 @@ gem 'rake'
9
16
  gem 'parallel_tests'
10
17
 
11
18
  # Debugging
12
- gem 'pry' # Easily debug from your console with `binding.pry`
19
+ gem 'pry' # Easily debug from your console with `binding.pry`
13
20
 
14
21
  # Code style
15
- gem 'rubocop', '0.48.1'
22
+ gem 'rubocop', '0.49.1'
23
+ gem 'mdl', '0.4.0'
24
+
25
+ # Translations
26
+ gem 'i18n-tasks'
27
+
28
+ # Documentation
29
+ gem 'yard' # Documentation generator
30
+ gem 'redcarpet', platforms: :mri # Markdown implementation (for yard)
31
+ gem 'kramdown', platforms: :jruby # Markdown implementation (for yard)
16
32
 
17
33
  group :development do
18
34
  # Debugging
19
- gem 'better_errors' # Web UI to debug exceptions. Go to /__better_errors to access the latest one
35
+ gem 'better_errors' # Web UI to debug exceptions. Go to /__better_errors to access the latest one
20
36
 
21
- gem 'binding_of_caller', platforms: :mri # Retrieve the binding of a method's caller
37
+ gem 'binding_of_caller', platforms: :mri # Retrieve the binding of a method's caller
22
38
 
23
39
  # Performance
24
- gem 'rack-mini-profiler' # Inline app profiler. See ?pp=help for options.
25
-
26
- # Documentation
27
- gem 'yard' # Documentation generator
28
- gem 'redcarpet', platforms: :mri # Markdown implementation (for yard)
29
- gem 'kramdown', platforms: :jruby # Markdown implementation (for yard)
30
- gem 'appraisal', '~> 2.2', require: false
40
+ gem 'rack-mini-profiler' # Inline app profiler. See ?pp=help for options.
31
41
  end
32
42
 
33
43
  group :test do
34
44
  gem 'capybara'
35
- gem 'simplecov', require: false # Test coverage generator. Go to /coverage/ after running tests
36
- gem 'codecov', require: false # Test coverage website. Go to https://codecov.io
45
+ gem 'simplecov', require: false # Test coverage generator. Go to /coverage/ after running tests
46
+ gem 'codecov', require: false # Test coverage website. Go to https://codecov.io
37
47
  gem 'cucumber-rails', require: false
38
- gem 'cucumber', '1.3.20'
39
- gem 'database_cleaner', git: 'https://github.com/DatabaseCleaner/database_cleaner.git'
48
+ gem 'cucumber'
49
+ gem 'database_cleaner'
40
50
  gem 'jasmine'
41
- gem 'jslint_on_rails'
42
51
  gem 'launchy'
43
- gem 'rails-i18n' # Provides default i18n for many languages
52
+ gem 'rails-i18n' # Provides default i18n for many languages
44
53
  gem 'rspec-rails'
45
54
  gem 'i18n-spec'
46
55
  gem 'shoulda-matchers', '<= 2.8.0'
data/Rakefile CHANGED
@@ -1,18 +1,7 @@
1
1
  require 'bundler/gem_tasks'
2
2
 
3
- task :enforce_version do
4
- if ENV['BUNDLE_GEMFILE'] == File.expand_path('../Gemfile', __FILE__)
5
- gemfile_path = File.expand_path('../gemfiles/rails_50.gemfile', __FILE__)
6
-
7
- command = ['bundle', 'exec', 'rake', *ARGV].join(' ')
8
- env = { 'BUNDLE_GEMFILE' => gemfile_path }
9
-
10
- Bundler.with_clean_env { Kernel.exec(env, command) }
11
- end
12
- end
13
-
14
3
  desc 'Creates a test rails app for the specs to run against'
15
- task :setup, [:parallel, :dir, :template] => [:enforce_version] do |_t, opts|
4
+ task :setup, [:parallel, :dir, :template] do |_t, opts|
16
5
  require 'rails/version'
17
6
 
18
7
  base_dir = opts[:dir] || 'spec/rails'
@@ -14,21 +14,19 @@ Gem::Specification.new do |s|
14
14
  f.match(%r{^(spec|features)/})
15
15
  end
16
16
 
17
- s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
17
+ s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
18
18
 
19
- s.required_ruby_version = '>= 2.1'
19
+ s.required_ruby_version = '>= 2.2'
20
20
 
21
- s.add_dependency 'arbre', '>= 1.1.1'
22
- s.add_dependency 'bourbon'
21
+ s.add_dependency 'arbre', '>= 1.1.1'
23
22
  s.add_dependency 'coffee-rails'
24
- s.add_dependency 'formtastic', '~> 3.1'
23
+ s.add_dependency 'formtastic', '~> 3.1'
25
24
  s.add_dependency 'formtastic_i18n'
26
25
  s.add_dependency 'inherited_resources', '~> 1.7'
27
26
  s.add_dependency 'jquery-rails'
28
- s.add_dependency 'jquery-ui-rails'
29
- s.add_dependency 'kaminari', '>= 0.15', '< 2.0'
30
- s.add_dependency 'railties', '>= 4.2', '< 5.2'
31
- s.add_dependency 'ransack', '~> 1.3'
32
- s.add_dependency 'sass-rails'
33
- s.add_dependency 'sprockets', '< 4.1'
27
+ s.add_dependency 'kaminari', '>= 0.15', '< 2.0'
28
+ s.add_dependency 'railties', '>= 4.2', '< 5.2'
29
+ s.add_dependency 'ransack', '~> 1.3'
30
+ s.add_dependency 'sass', '~> 3.1'
31
+ s.add_dependency 'sprockets', '< 4.1'
34
32
  end
@@ -1,5 +1,9 @@
1
- #= require jquery
2
- #= require ./jquery_ui
1
+ #= require jquery3
2
+ #= require jquery-ui/widgets/datepicker
3
+ #= require jquery-ui/widgets/dialog
4
+ #= require jquery-ui/widgets/sortable
5
+ #= require jquery-ui/widgets/tabs
6
+ #= require jquery-ui/widget
3
7
  #= require jquery_ujs
4
8
  #= require_self
5
9
  #= require_tree ./lib
@@ -1,7 +1,11 @@
1
- $(document).on 'ready page:load turbolinks:load', ->
1
+ onDOMReady = ->
2
2
  # In order for index scopes to overflow properly onto the next line, we have
3
3
  # to manually set its width based on the width of the batch action button.
4
4
  if (batch_actions_selector = $('.table_tools .batch_actions_selector')).length
5
5
  batch_actions_selector.next().css
6
6
  width: "calc(100% - 10px - #{batch_actions_selector.outerWidth()}px)"
7
7
  'float': 'right'
8
+
9
+ $(document).
10
+ ready(onDOMReady).
11
+ on 'page:load turbolinks:load', onDOMReady
@@ -1,4 +1,4 @@
1
- $(document).on 'ready page:load turbolinks:load', ->
1
+ onDOMReady = ->
2
2
  $(document).on 'focus', 'input.datepicker:not(.hasDatepicker)', ->
3
3
  input = $(@)
4
4
 
@@ -8,3 +8,7 @@ $(document).on 'ready page:load turbolinks:load', ->
8
8
  defaults = dateFormat: 'yy-mm-dd'
9
9
  options = input.data 'datepicker-options'
10
10
  input.datepicker $.extend(defaults, options)
11
+
12
+ $(document).
13
+ ready(onDOMReady).
14
+ on 'page:load turbolinks:load', onDOMReady
@@ -1,4 +1,4 @@
1
- $(document).on 'ready page:load turbolinks:load', ->
1
+ onDOMReady = ->
2
2
  # Clear Filters button
3
3
  $('.clear_filters_btn').click (e) ->
4
4
  params = window.location.search.slice(1).split('&')
@@ -20,3 +20,7 @@ $(document).on 'ready page:load turbolinks:load', ->
20
20
  # a dropdown, apply that choice to the filter input field.
21
21
  $('.filter_form_field.select_and_search select').change ->
22
22
  $(@).siblings('input').prop name: "q[#{@value}]"
23
+
24
+ $(document).
25
+ ready(onDOMReady).
26
+ on 'page:load turbolinks:load', onDOMReady
@@ -1,3 +1,7 @@
1
- $(document).on 'ready page:load turbolinks:load', ->
1
+ onDOMReady = ->
2
2
  # Tab navigation
3
3
  $('#active_admin_content .tabs').tabs()
4
+
5
+ $(document).
6
+ ready(onDOMReady).
7
+ on 'page:load turbolinks:load', onDOMReady
@@ -1,5 +1,4 @@
1
- $(document).on 'ready page:load turbolinks:load', ->
2
-
1
+ onDOMReady = ->
3
2
  #
4
3
  # Use ActiveAdmin.modal_dialog to prompt user if confirmation is required for current Batch Action
5
4
  #
@@ -14,7 +13,7 @@ $(document).on 'ready page:load turbolinks:load', ->
14
13
 
15
14
  $('.batch_actions_selector li a').on 'confirm:complete', (e, inputs)->
16
15
  if val = JSON.stringify inputs
17
- $('#batch_action_inputs').val val
16
+ $('#batch_action_inputs').removeAttr('disabled').val val
18
17
  else
19
18
  $('#batch_action_inputs').attr 'disabled', 'disabled'
20
19
 
@@ -37,3 +36,7 @@ $(document).on 'ready page:load turbolinks:load', ->
37
36
  $(".batch_actions_selector").each -> $(@).aaDropdownMenu("enable")
38
37
  else
39
38
  $(".batch_actions_selector").each -> $(@).aaDropdownMenu("disable")
39
+
40
+ $(document).
41
+ ready(onDOMReady).
42
+ on 'page:load turbolinks:load', onDOMReady
@@ -23,15 +23,17 @@ class ActiveAdmin.CheckboxToggler
23
23
  @toggle_all_checkbox.change => @_didChangeToggleAllCheckbox()
24
24
 
25
25
  _didChangeCheckbox: (checkbox)->
26
- switch @checkboxes.filter(':checked').length
27
- when @checkboxes.length - 1 then @toggle_all_checkbox.prop checked: null
28
- when @checkboxes.length then @toggle_all_checkbox.prop checked: true
26
+ numChecked = @checkboxes.filter(':checked').length
27
+
28
+ allChecked = numChecked == @checkboxes.length
29
+ someChecked = numChecked > 0 && numChecked < @checkboxes.length
30
+
31
+ @toggle_all_checkbox.prop checked: allChecked, indeterminate: someChecked
29
32
 
30
33
  _didChangeToggleAllCheckbox: ->
31
- setting = if @toggle_all_checkbox.prop 'checked' then true else null
32
- @checkboxes.each (index, el)=>
33
- $(el).prop checked: setting
34
- @_didChangeCheckbox(el)
34
+ setting = @toggle_all_checkbox.prop 'checked'
35
+ @checkboxes.prop checked: setting
36
+ setting
35
37
 
36
38
  option: (key, value) ->
37
39
  if $.isPlainObject(key)
@@ -32,7 +32,6 @@ class ActiveAdmin.DropdownMenu
32
32
  @
33
33
 
34
34
  destroy: ->
35
- @$element.unbind()
36
35
  @$element = null
37
36
  @
38
37
 
@@ -97,5 +96,9 @@ class ActiveAdmin.DropdownMenu
97
96
 
98
97
  $.widget.bridge 'aaDropdownMenu', ActiveAdmin.DropdownMenu
99
98
 
100
- $(document).on 'ready page:load turbolinks:load', ->
99
+ onDOMReady = ->
101
100
  $('.dropdown_menu').aaDropdownMenu()
101
+
102
+ $(document).
103
+ ready(onDOMReady).
104
+ on 'page:load turbolinks:load', onDOMReady
@@ -23,7 +23,7 @@ class ActiveAdmin.PerPage
23
23
  while m = re.exec(query)
24
24
  params[@_decode(m[1])] = @_decode(m[2])
25
25
  params
26
-
26
+
27
27
  _decode: (value) ->
28
28
  #replace "+" before decodeURIComponent
29
29
  decodeURIComponent(value.replace(/\+/g, '%20'))
@@ -38,5 +38,9 @@ class ActiveAdmin.PerPage
38
38
 
39
39
  $.widget.bridge 'perPage', ActiveAdmin.PerPage
40
40
 
41
- $(document).on 'ready page:load turbolinks:load', ->
41
+ onDOMReady = ->
42
42
  $('.pagination_per_page select').perPage()
43
+
44
+ $(document).
45
+ ready(onDOMReady).
46
+ on 'page:load turbolinks:load', onDOMReady
@@ -11,12 +11,10 @@ class ActiveAdmin.TableCheckboxToggler extends ActiveAdmin.CheckboxToggler
11
11
  _didChangeCheckbox: (checkbox) ->
12
12
  super
13
13
 
14
- $row = $(checkbox).parents 'tr'
14
+ $(checkbox).parents('tr').toggleClass 'selected', checkbox.checked
15
15
 
16
- if checkbox.checked
17
- $row.addClass 'selected'
18
- else
19
- $row.removeClass 'selected'
16
+ _didChangeToggleAllCheckbox: ->
17
+ @$container.find('tbody tr').toggleClass 'selected', super
20
18
 
21
19
  _didClickCell: (cell) ->
22
20
  $(cell).parent('tr').find(':checkbox').click()
@@ -1,6 +1,6 @@
1
1
  /* Active Admin CSS */
2
- // Reset Away!
3
- @include global-reset;
2
+ // Normalize
3
+ @import "active_admin/normalize";
4
4
 
5
5
  // Partials
6
6
  @import "active_admin/typography";
@@ -1,4 +1,3 @@
1
- //= depend_on_asset "active_admin/datepicker/datepicker-input-icon.png"
2
1
  // -------------------------------------- Active Admin Forms
3
2
  form {
4
3
  /* Reset margins & Padding */
@@ -291,9 +290,7 @@ $filter-field-seperator-width: 12px;
291
290
  $side-by-side-filter-input-width: ($sidebar-inner-content-width / 2) - ($text-input-horizontal-padding * 2) - $filter-field-seperator-width;
292
291
  $side-by-side-filter-select-width: ($sidebar-inner-content-width / 2) - $filter-field-seperator-width;
293
292
 
294
- $date-range-filter-input-right-padding: 27px;
295
- $date-range-filter-input-horizontal-padding: $date-range-filter-input-right-padding + $text-input-horizontal-padding;
296
- $date-range-filter-input-width: ($sidebar-inner-content-width / 2) - $filter-field-seperator-width - $date-range-filter-input-horizontal-padding;
293
+ $date-range-filter-input-width: ($sidebar-inner-content-width / 2) - ($filter-field-seperator-width / 2);
297
294
 
298
295
  form.filter_form {
299
296
  .filter_form_field {
@@ -326,16 +323,13 @@ form.filter_form {
326
323
  }
327
324
 
328
325
  &.filter_date_range {
329
- .seperator {
330
- display: inline-block;
331
- text-align: center;
332
- width: $filter-field-seperator-width;
333
- }
334
-
335
326
  input[type=text] {
336
- background: #fff image-url('active_admin/datepicker/datepicker-input-icon.png') no-repeat 100% 7px;
337
- padding-right: $date-range-filter-input-right-padding;
327
+ box-sizing: border-box;
338
328
  width: $date-range-filter-input-width;
329
+
330
+ + input {
331
+ margin-left: 6px;
332
+ }
339
333
  }
340
334
  }
341
335
  }
@@ -3,9 +3,4 @@
3
3
  >.resource_selection_toggle_cell {
4
4
  float:left;
5
5
  }
6
- #collection_selection_toggle_explaination {
7
- float:left;
8
- margin-left:5px;
9
- font-style:italic;
10
- }
11
6
  }
@@ -42,3 +42,14 @@
42
42
  padding: 1px 5px;
43
43
  }
44
44
  }
45
+
46
+ .comments {
47
+ .pagination {
48
+ float: left;
49
+ margin-bottom: 30px;
50
+ }
51
+ .pagination_information {
52
+ float: left;
53
+ color: #000;
54
+ }
55
+ }
@@ -6,6 +6,7 @@
6
6
  padding: 3px 5px 2px 5px;
7
7
  font-size: 0.8em;
8
8
 
9
+ // TODO: deprecated, remove in a v2 release
9
10
  &.ok, &.published, &.complete, &.completed, &.green { background: #8daa92; }
10
11
  &.warn, &.warning, &.orange { background: #e29b20; }
11
12
  &.error, &.errored, &.red { background: #d45f53; }
@@ -5,6 +5,10 @@ table tr {
5
5
  td {
6
6
  vertical-align: top;
7
7
  }
8
+
9
+ th {
10
+ text-align: left;
11
+ }
8
12
  }
9
13
 
10
14
  // --------- Index Tables
@@ -18,7 +22,6 @@ table.index_table {
18
22
  th {
19
23
  @include section-header;
20
24
  border-right: none;
21
- text-align: left;
22
25
  padding-left: $cell-horizontal-padding;
23
26
  padding-right: $cell-horizontal-padding;
24
27
 
@@ -1,5 +1,4 @@
1
1
  @import "active_admin/mixins/variables";
2
- @import "active_admin/mixins/reset";
3
2
  @import "active_admin/mixins/gradients";
4
3
  @import "active_admin/mixins/shadows";
5
4
  @import "active_admin/mixins/rounded";
@@ -7,4 +6,3 @@
7
6
  @import "active_admin/mixins/sections";
8
7
  @import "active_admin/mixins/utilities";
9
8
  @import "active_admin/mixins/typography";
10
- @import "bourbon";
@@ -4,9 +4,8 @@
4
4
  $primary-color: black;
5
5
  $text-color: black;
6
6
 
7
- // Reset
8
- @import "active_admin/mixins/reset";
9
- @include global-reset;
7
+ // Normalize
8
+ @import "active_admin/normalize";
10
9
 
11
10
  // Partials
12
11
  @import "active_admin/typography";
@@ -5,7 +5,7 @@
5
5
  <%= active_admin_form_for(resource, as: resource_name, url: send(:"#{scope}_session_path"), html: { id: "session_new" }) do |f|
6
6
  f.inputs do
7
7
  resource.class.authentication_keys.each_with_index { |key, index|
8
- f.input key, label: t('active_admin.devise.'+key.to_s+'.title'), input_html: { autofocus: index.zero? }
8
+ f.input key, label: t("active_admin.devise.#{key}.title"), input_html: { autofocus: index.zero? }
9
9
  }
10
10
  f.input :password, label: t('active_admin.devise.password.title')
11
11
  f.input :remember_me, label: t('active_admin.devise.login.remember_me'), as: :boolean if devise_mapping.rememberable?
@@ -1,27 +1,33 @@
1
1
  <%- if controller_name != 'sessions' %>
2
2
  <% scope = Devise::Mapping.find_scope!(resource_name) %>
3
- <%= link_to t('active_admin.devise.links.sign_in'), send(:"new_#{scope}_session_path") %><br />
3
+ <%= link_to t('active_admin.devise.links.sign_in'), send(:"new_#{scope}_session_path") %>
4
+ <br>
4
5
  <% end -%>
5
6
 
6
7
  <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
7
- <%= link_to t('active_admin.devise.links.sign_up'), new_registration_path(resource_name) %><br />
8
+ <%= link_to t('active_admin.devise.links.sign_up'), new_registration_path(resource_name) %>
9
+ <br>
8
10
  <% end -%>
9
11
 
10
12
  <%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
11
- <%= link_to t('active_admin.devise.links.forgot_your_password'), new_password_path(resource_name) %><br />
13
+ <%= link_to t('active_admin.devise.links.forgot_your_password'), new_password_path(resource_name) %>
14
+ <br>
12
15
  <% end -%>
13
16
 
14
17
  <%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
15
- <%= link_to t('active_admin.devise.links.resend_confirmation_instructions'), new_confirmation_path(resource_name) %><br />
18
+ <%= link_to t('active_admin.devise.links.resend_confirmation_instructions'), new_confirmation_path(resource_name) %>
19
+ <br>
16
20
  <% end -%>
17
21
 
18
22
  <%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
19
- <%= link_to t('active_admin.devise.links.resend_unlock_instructions'), new_unlock_path(resource_name) %><br />
23
+ <%= link_to t('active_admin.devise.links.resend_unlock_instructions'), new_unlock_path(resource_name) %>
24
+ <br>
20
25
  <% end -%>
21
26
 
22
27
  <%- if devise_mapping.omniauthable? %>
23
28
  <%- resource_class.omniauth_providers.each do |provider| %>
24
29
  <%= link_to t('active_admin.devise.links.sign_in_with_omniauth_provider', provider: provider.to_s.titleize),
25
- omniauth_authorize_path(resource_name, provider) %><br />
30
+ omniauth_authorize_path(resource_name, provider) %>
31
+ <br>
26
32
  <% end -%>
27
33
  <% end -%>