activeadmin 1.4.3 → 2.3.1

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 (225) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +170 -11
  3. data/CONTRIBUTING.md +14 -15
  4. data/README.md +41 -8
  5. data/app/assets/javascripts/active_admin/base.es6 +23 -0
  6. data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
  7. data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
  8. data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
  9. data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
  10. data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
  11. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
  12. data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +59 -0
  13. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
  14. data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
  15. data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
  16. data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
  17. data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
  18. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
  19. data/app/assets/stylesheets/active_admin/_forms.scss +2 -14
  20. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  21. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  22. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  23. data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
  24. data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
  25. data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
  26. data/app/views/active_admin/devise/registrations/new.html.erb +1 -2
  27. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  28. data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
  29. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  30. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  31. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  32. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  33. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  34. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  35. data/app/views/layouts/active_admin_logged_out.html.erb +1 -1
  36. data/config/locales/ar.yml +3 -2
  37. data/config/locales/bg.yml +1 -1
  38. data/config/locales/bs.yml +1 -0
  39. data/config/locales/ca.yml +1 -1
  40. data/config/locales/cs.yml +1 -0
  41. data/config/locales/da.yml +1 -0
  42. data/config/locales/de-CH.yml +1 -0
  43. data/config/locales/de.yml +1 -0
  44. data/config/locales/el.yml +1 -0
  45. data/config/locales/en-CA.yml +1 -0
  46. data/config/locales/en-GB.yml +1 -0
  47. data/config/locales/en.yml +1 -0
  48. data/config/locales/eo.yml +1 -0
  49. data/config/locales/es-MX.yml +1 -0
  50. data/config/locales/es.yml +1 -0
  51. data/config/locales/fa.yml +1 -0
  52. data/config/locales/fi.yml +1 -0
  53. data/config/locales/fr.yml +2 -1
  54. data/config/locales/he.yml +1 -1
  55. data/config/locales/hr.yml +1 -0
  56. data/config/locales/hu.yml +5 -0
  57. data/config/locales/id.yml +1 -0
  58. data/config/locales/it.yml +1 -0
  59. data/config/locales/ja.yml +1 -0
  60. data/config/locales/ko.yml +1 -0
  61. data/config/locales/lt.yml +3 -2
  62. data/config/locales/lv.yml +1 -0
  63. data/config/locales/mk.yml +134 -0
  64. data/config/locales/nb.yml +1 -0
  65. data/config/locales/nl.yml +1 -0
  66. data/config/locales/pl.yml +1 -0
  67. data/config/locales/pt-BR.yml +1 -0
  68. data/config/locales/pt-PT.yml +1 -0
  69. data/config/locales/ro.yml +1 -0
  70. data/config/locales/ru.yml +1 -0
  71. data/config/locales/sk.yml +1 -0
  72. data/config/locales/sv-SE.yml +1 -0
  73. data/config/locales/tr.yml +1 -0
  74. data/config/locales/uk.yml +3 -0
  75. data/config/locales/vi.yml +1 -0
  76. data/config/locales/zh-CN.yml +1 -0
  77. data/config/locales/zh-TW.yml +1 -0
  78. data/docs/0-installation.md +2 -2
  79. data/docs/12-arbre-components.md +13 -0
  80. data/docs/13-authorization-adapter.md +6 -6
  81. data/docs/2-resource-customization.md +1 -1
  82. data/docs/3-index-pages/index-as-table.md +7 -0
  83. data/docs/CNAME +1 -1
  84. data/docs/Gemfile +0 -1
  85. data/docs/Gemfile.lock +3 -4
  86. data/docs/_config.yml +2 -0
  87. data/docs/_includes/top-menu.html +2 -2
  88. data/docs/index.html +109 -8
  89. data/docs/stylesheets/main.css +29 -0
  90. data/lib/active_admin.rb +10 -4
  91. data/lib/active_admin/application.rb +11 -18
  92. data/lib/active_admin/application_settings.rb +3 -0
  93. data/lib/active_admin/asset_registration.rb +0 -8
  94. data/lib/active_admin/base_controller.rb +6 -6
  95. data/lib/active_admin/base_controller/authorization.rb +3 -4
  96. data/lib/active_admin/batch_actions/controller.rb +1 -1
  97. data/lib/active_admin/batch_actions/resource_extension.rb +9 -5
  98. data/lib/active_admin/callbacks.rb +1 -1
  99. data/lib/active_admin/controller_action.rb +2 -1
  100. data/lib/active_admin/csv_builder.rb +4 -3
  101. data/lib/active_admin/dependency.rb +3 -75
  102. data/lib/active_admin/dsl.rb +1 -8
  103. data/lib/active_admin/error.rb +4 -2
  104. data/lib/active_admin/filters/active_filter.rb +5 -4
  105. data/lib/active_admin/filters/active_sidebar.rb +5 -1
  106. data/lib/active_admin/filters/forms.rb +2 -2
  107. data/lib/active_admin/filters/formtastic_addons.rb +1 -1
  108. data/lib/active_admin/filters/resource_extension.rb +3 -3
  109. data/lib/active_admin/form_builder.rb +3 -3
  110. data/lib/active_admin/generators/boilerplate.rb +12 -4
  111. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  112. data/lib/active_admin/inputs/datepicker_input.rb +1 -1
  113. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  114. data/lib/active_admin/menu_item.rb +1 -1
  115. data/lib/active_admin/namespace.rb +2 -2
  116. data/lib/active_admin/namespace_settings.rb +7 -4
  117. data/lib/active_admin/orm/active_record/comments.rb +4 -4
  118. data/lib/active_admin/orm/active_record/comments/comment.rb +2 -2
  119. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +10 -5
  120. data/lib/active_admin/page_dsl.rb +1 -1
  121. data/lib/active_admin/page_presenter.rb +2 -1
  122. data/lib/active_admin/pundit_adapter.rb +18 -5
  123. data/lib/active_admin/resource.rb +17 -3
  124. data/lib/active_admin/resource/action_items.rb +1 -1
  125. data/lib/active_admin/resource/attributes.rb +7 -4
  126. data/lib/active_admin/resource/belongs_to.rb +6 -1
  127. data/lib/active_admin/resource/menu.rb +3 -3
  128. data/lib/active_admin/resource/model.rb +15 -0
  129. data/lib/active_admin/resource/naming.rb +3 -3
  130. data/lib/active_admin/resource/routes.rb +20 -7
  131. data/lib/active_admin/resource/scopes.rb +3 -3
  132. data/lib/active_admin/resource/sidebars.rb +1 -1
  133. data/lib/active_admin/resource_collection.rb +2 -2
  134. data/lib/active_admin/resource_controller.rb +2 -0
  135. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  136. data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
  137. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  138. data/lib/active_admin/resource_dsl.rb +6 -4
  139. data/lib/active_admin/router.rb +3 -2
  140. data/lib/active_admin/scope.rb +11 -7
  141. data/lib/active_admin/settings_node.rb +1 -1
  142. data/lib/active_admin/sidebar_section.rb +3 -1
  143. data/lib/active_admin/version.rb +1 -1
  144. data/lib/active_admin/view_helpers.rb +1 -1
  145. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
  146. data/lib/active_admin/view_helpers/display_helper.rb +13 -4
  147. data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
  148. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +2 -0
  149. data/lib/active_admin/views.rb +1 -1
  150. data/lib/active_admin/views/components/active_admin_form.rb +7 -1
  151. data/lib/active_admin/views/components/attributes_table.rb +3 -3
  152. data/lib/active_admin/views/components/paginated_collection.rb +2 -2
  153. data/lib/active_admin/views/components/sidebar_section.rb +0 -3
  154. data/lib/active_admin/views/components/status_tag.rb +6 -19
  155. data/lib/active_admin/views/components/table_for.rb +2 -2
  156. data/lib/active_admin/views/components/tabs.rb +11 -2
  157. data/lib/active_admin/views/footer.rb +1 -1
  158. data/lib/active_admin/views/index_as_table.rb +12 -4
  159. data/lib/active_admin/views/pages/base.rb +3 -0
  160. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  161. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  162. data/lib/generators/active_admin/install/install_generator.rb +6 -2
  163. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +24 -2
  164. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  165. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  166. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  167. data/lib/generators/active_admin/resource/resource_generator.rb +1 -1
  168. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  169. data/lib/ransack_ext.rb +3 -3
  170. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  171. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  172. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  173. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  174. metadata +117 -98
  175. data/.circleci/config.yml +0 -572
  176. data/.github/ISSUE_TEMPLATE.md +0 -20
  177. data/.gitignore +0 -16
  178. data/.mdlrc +0 -1
  179. data/.rspec +0 -1
  180. data/.rspec_parallel +0 -2
  181. data/.rubocop.yml +0 -99
  182. data/.simplecov +0 -9
  183. data/.yardopts +0 -7
  184. data/Gemfile +0 -30
  185. data/Gemfile.common +0 -26
  186. data/Gemfile.lock +0 -433
  187. data/Rakefile +0 -24
  188. data/activeadmin.gemspec +0 -32
  189. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  190. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  191. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  192. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  193. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  194. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  195. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  196. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  197. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  198. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  199. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  200. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  201. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  202. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  203. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  204. data/bin/install_chromedriver.sh +0 -17
  205. data/config/i18n-tasks.yml +0 -26
  206. data/config/mdl_style.rb +0 -11
  207. data/cucumber.yml +0 -7
  208. data/gemfiles/rails_42.gemfile +0 -10
  209. data/gemfiles/rails_42.gemfile.lock +0 -339
  210. data/gemfiles/rails_50.gemfile +0 -10
  211. data/gemfiles/rails_50.gemfile.lock +0 -353
  212. data/gemfiles/rails_51.gemfile +0 -10
  213. data/gemfiles/rails_51.gemfile.lock +0 -353
  214. data/lib/active_admin/event.rb +0 -24
  215. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  216. data/lib/active_admin/reloader.rb +0 -25
  217. data/lib/bug_report_templates/active_admin_master.rb +0 -111
  218. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  219. data/tasks/application_generator.rb +0 -50
  220. data/tasks/docs.rake +0 -64
  221. data/tasks/gemfiles.rake +0 -8
  222. data/tasks/lint.rake +0 -110
  223. data/tasks/local.rake +0 -27
  224. data/tasks/release.rake +0 -6
  225. data/tasks/test.rake +0 -42
@@ -43,6 +43,7 @@ vi:
43
43
  status_tag:
44
44
  "yes": "Có"
45
45
  "no": "Không Có"
46
+ "unset": "Không Có"
46
47
  main_content: "Xin bổ sung %{model}#main_content để hiển thị nội dung."
47
48
  logout: "Đăng xuất"
48
49
  powered_by: "Powered by %{active_admin} %{version}"
@@ -44,6 +44,7 @@
44
44
  status_tag:
45
45
  "yes": "是"
46
46
  "no": "否"
47
+ "unset": "否"
47
48
  main_content: "请执行 %{model}#main_content 来显示内容."
48
49
  logout: "退出"
49
50
  powered_by: "Powered by %{active_admin} %{version}"
@@ -39,6 +39,7 @@
39
39
  status_tag:
40
40
  "yes": "是"
41
41
  "no": "否"
42
+ "unset": "否"
42
43
  main_content: "請實作 %{model}#main_content 以顯示內容。"
43
44
  logout: "登出"
44
45
  powered_by: "Powered by %{active_admin} %{version}"
@@ -11,7 +11,7 @@ gem 'activeadmin'
11
11
 
12
12
  # Plus integrations with:
13
13
  gem 'devise'
14
- gem 'cancan' # or cancancan
14
+ gem 'cancancan'
15
15
  gem 'draper'
16
16
  gem 'pundit'
17
17
  ```
@@ -44,7 +44,7 @@ After installing the gem, you need to run the generator. Here are your options:
44
44
  The generator adds these core files, among others:
45
45
 
46
46
  * `app/admin/dashboard.rb`
47
- * `app/assets/javascripts/active_admin.js.coffee`
47
+ * `app/assets/javascripts/active_admin.js`
48
48
  * `app/assets/stylesheets/active_admin.scss`
49
49
  * `config/initializers/active_admin.rb`
50
50
 
@@ -177,6 +177,19 @@ status_tag 'active', class: 'important', id: 'status_123', label: 'on'
177
177
  # => <span class='status_tag active important' id='status_123'>on</span>
178
178
  ```
179
179
 
180
+ When providing a `true` or `false` value, the `status_tag` will display "Yes"
181
+ or "No". This can be configured through the `"en.active_admin.status_tag"`
182
+ locale.
183
+
184
+ ```ruby
185
+ status_tag true
186
+ # => <span class='status_tag yes'>Yes</span>
187
+ ```
188
+
189
+ In the case that a boolean field is `nil`, it will display "No" as a default.
190
+ But using the `"en.active_admin.status_tag.unset"` locale key, it can be
191
+ configured to display something else.
192
+
180
193
  ## Tabs
181
194
 
182
195
  The Tabs component is helpful for saving page real estate. The first tab will be
@@ -180,8 +180,7 @@ end
180
180
 
181
181
  Sub-classing `ActiveAdmin::AuthorizationAdapter` is fairly low level. Many times
182
182
  it's nicer to have a simpler DSL for managing authorization. Active Admin
183
- provides an adapter out of the box for [CanCan](https://github.com/ryanb/cancan)
184
- and [CanCanCan](https://github.com/CanCanCommunity/cancancan).
183
+ provides an adapter out of the box for [CanCanCan](https://github.com/CanCanCommunity/cancancan).
185
184
 
186
185
  To use the CanCan adapter, update the configuration in the Active Admin
187
186
  initializer:
@@ -221,7 +220,7 @@ changed from the initializer:
221
220
  config.cancan_ability_class = "MyCustomAbility"
222
221
  ```
223
222
 
224
- Now you can simply use CanCan or CanCanCan the way that you would expect and
223
+ Now you can simply use CanCanCan the way that you would expect and
225
224
  Active Admin will use it for authorization:
226
225
 
227
226
  ```ruby
@@ -240,13 +239,12 @@ end
240
239
  ```
241
240
 
242
241
  To view more details about the API's, visit project pages of
243
- [CanCan](https://github.com/ryanb/cancan) and
244
242
  [CanCanCan](https://github.com/CanCanCommunity/cancancan).
245
243
 
246
244
  ## Using the Pundit Adapter
247
245
 
248
246
  Active Admin also provides an adapter out of the box for
249
- [Pundit](https://github.com/elabs/pundit).
247
+ [Pundit](https://github.com/varvet/pundit).
250
248
 
251
249
  To use the Pundit adapter, update the configuration in the Active Admin
252
250
  initializer:
@@ -257,7 +255,7 @@ config.authorization_adapter = ActiveAdmin::PunditAdapter
257
255
 
258
256
  Once that's done, Active Admin will pick up your Pundit policies, and use
259
257
  them for authorization. For more information about setting up Pundit, see
260
- [their documention](https://github.com/elabs/pundit#installation).
258
+ [their documentation](https://github.com/varvet/pundit#installation).
261
259
 
262
260
  Pundit also has [verify_authorized and/or verify_policy_scoped
263
261
  methods](https://github.com/varvet/pundit#ensuring-policies-and-scopes-are-used)
@@ -283,3 +281,5 @@ policy](https://github.com/activeadmin/activeadmin/blob/master/spec/support/temp
283
281
  in your application instead of default one generated by Pundit's
284
282
  `rails g pundit:install` command.
285
283
 
284
+ In addition, there are [example policies](https://github.com/activeadmin/activeadmin/tree/master/spec/support/templates/policies/active_admin)
285
+ for restricting access to ActiveAdmin's pages and comments.
@@ -355,7 +355,7 @@ end
355
355
  ```
356
356
 
357
357
  If you need to completely replace the record retrieving code (e.g., you have a
358
- custom `to_param` implementation in your models), override the `resource` method
358
+ custom `to_param` implementation in your models), override the `find_resource` method
359
359
  on the controller:
360
360
 
361
361
  ```ruby
@@ -193,6 +193,13 @@ controller do
193
193
  end
194
194
  ```
195
195
 
196
+ You can also define associated objects to include outside of the
197
+ `scoped_collection` method:
198
+
199
+ ```ruby
200
+ includes :publisher
201
+ ```
202
+
196
203
  Then it's simple to sort by any Publisher attribute from within the index table:
197
204
 
198
205
  ```ruby
data/docs/CNAME CHANGED
@@ -1 +1 @@
1
- github-docs.activeadmin.info
1
+ activeadmin.info
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'github-pages'
4
- gem 'jekyll-redirect-from'
@@ -198,15 +198,15 @@ GEM
198
198
  rb-inotify (~> 0.9, >= 0.9.7)
199
199
  ruby_dep (~> 1.2)
200
200
  mercenary (0.3.6)
201
- mini_portile2 (2.3.0)
201
+ mini_portile2 (2.4.0)
202
202
  minima (2.5.0)
203
203
  jekyll (~> 3.5)
204
204
  jekyll-feed (~> 0.9)
205
205
  jekyll-seo-tag (~> 2.1)
206
206
  minitest (5.11.3)
207
207
  multipart-post (2.0.0)
208
- nokogiri (1.8.5)
209
- mini_portile2 (~> 2.3.0)
208
+ nokogiri (1.10.4)
209
+ mini_portile2 (~> 2.4.0)
210
210
  octokit (4.12.0)
211
211
  sawyer (~> 0.8.0, >= 0.5.3)
212
212
  pathutil (0.16.1)
@@ -243,7 +243,6 @@ PLATFORMS
243
243
 
244
244
  DEPENDENCIES
245
245
  github-pages
246
- jekyll-redirect-from
247
246
 
248
247
  BUNDLED WITH
249
248
  1.16.5
@@ -1,2 +1,4 @@
1
1
  plugins:
2
+ - jekyll-default-layout
2
3
  - jekyll-redirect-from
4
+ - jekyll-relative-links
@@ -8,9 +8,9 @@
8
8
  </div>
9
9
 
10
10
  <div id="tidelift">
11
- <a href="https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=readme" target="_blank">
11
+ <a href="https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=homepage" target="_blank">
12
12
  <span class="cta">
13
- Get license assurances and timely security notifications
13
+ Active Admin for enterprise available via Tidelift
14
14
  </span>
15
15
  </a>
16
16
  </div>
@@ -10,81 +10,101 @@
10
10
  <p class="intro">
11
11
  The <strong>administration framework</strong> for business critical <strong>Ruby on Rails</strong> applications.
12
12
  </p>
13
+
13
14
  <p>
14
15
  Active Admin is a Ruby on Rails plugin for generating administration style interfaces. It abstracts common business application patterns to make it simple for developers to implement beautiful and elegant interfaces with very little effort.
15
16
  </p>
17
+
16
18
  <h2>
17
19
  A beautiful interface designed for real people.
18
20
  </h2>
21
+
19
22
  <div id="features">
20
23
  <div id="features-left">
21
24
  <h3 class="first">
22
25
  Global Navigation
23
26
  </h3>
27
+
24
28
  <p>
25
29
  Customizable global navigation allows you to create usable admin interfaces for your business.
26
30
  </p>
31
+
27
32
  <h3>
28
33
  Scopes
29
34
  </h3>
35
+
30
36
  <p>
31
37
  Use scopes to create sections of mutually exclusive resources for quick navigation and reporting.
32
38
  </p>
39
+
33
40
  <h3>
34
41
  Index Styles
35
42
  </h3>
43
+
36
44
  <p>
37
45
  Index screens are available in many styles. The default, shown here, is a table view, but Active Admin also supports Grids, Blocks and a Blog view.
38
46
  </p>
47
+
39
48
  <h3>
40
49
  <span class="caps">API</span> &amp; Downloads
41
50
  </h3>
51
+
42
52
  <p>
43
53
  Each resource that is registered wtih Active Admin becomes available as <span class="caps">JSON</span>, <span class="caps">XML</span> and <span class="caps">CSV</span> download. Customize the output to meet your requirements.
44
54
  </p>
45
55
  </div>
56
+
46
57
  <div id="features-right">
47
58
  <h3 class="first">
48
59
  User Authentication
49
60
  </h3>
61
+
50
62
  <p>
51
63
  Use the bundled Devise configuration or implement your own authorization using the provided hooks.
52
64
  </p>
65
+
53
66
  <h3>
54
67
  Action Items
55
68
  </h3>
69
+
56
70
  <p>
57
71
  Add buttons, links or other content in the “Action Items” section on each screen.
58
72
  </p>
73
+
59
74
  <h3>
60
75
  Filters
61
76
  </h3>
77
+
62
78
  <p>
63
79
  Allow users to filter resources by searching strings, text fields, dates, and numeric values.
64
80
  </p>
81
+
65
82
  <h3>
66
83
  Sidebar Sections
67
84
  </h3>
85
+
68
86
  <p>
69
87
  Customize the sidebar sections with a simple <span class="caps">DSL</span> built in to Active Admin.
70
88
  </p>
71
89
  </div>
72
90
  </div>
91
+
73
92
  <p>
74
93
  Active Admin’s interface was designed from the ground up for non-technical users. It makes it easy for developers to build highly usable interfaces that customers will actually enjoy using.
75
94
  </p>
95
+
76
96
  <h2>
77
97
  An elegant <span class="caps">DSL</span> built for developer productivity.
78
98
  </h2>
99
+
79
100
  <p>
80
101
  Get started with one line of code or customize the entire interface with the provided <span class="caps">DSL</span>.
81
102
  </p>
103
+
82
104
  <div id="dsl">
83
105
  <div class="highlight">
84
- <pre>
85
- <code class="ruby"><span class="c1"># app/admin/products.rb</span>
106
+ <pre><code class="ruby"><span class="c1"># app/admin/products.rb</span>
86
107
  <span class="no">ActiveAdmin</span><span class="o">.</span><span class="n">register</span> <span class="no">Product</span> <span class="k">do</span>
87
-
88
108
  <span class="c1"># Create sections on the index screen</span>
89
109
  <span class="n">scope</span> <span class="ss">:all</span><span class="p">,</span> <span class="ss">default:</span> <span class="kp">true</span>
90
110
  <span class="n">scope</span> <span class="ss">:available</span>
@@ -102,14 +122,95 @@
102
122
  <span class="n">column</span> <span class="s2">"Price"</span><span class="p">,</span> <span class="ss">sortable:</span> <span class="ss">:price</span> <span class="k">do</span> <span class="o">|</span><span class="n">product</span><span class="o">|</span>
103
123
  <span class="n">number_to_currency</span> <span class="n">product</span><span class="o">.</span><span class="n">price</span>
104
124
  <span class="k">end</span>
105
- <span class="n">default_actions</span>
125
+ <span class="n">actions</span>
106
126
  <span class="k">end</span>
107
-
108
- <span class="k">end</span>
109
- </code>
110
- </pre>
127
+ <span class="k">end</span></code></pre>
111
128
  </div>
112
129
  </div>
130
+
131
+ <h2>
132
+ Active Admin for enterprise
133
+ </h2>
134
+
135
+ <p>
136
+ <a href="https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=homepage">
137
+ Available as part of the Tidelift Subscription
138
+ </a>
139
+ </p>
140
+
141
+ <p>
142
+ Active Admin and the maintainers of thousands of other packages are
143
+ working with Tidelift to deliver one enterprise subscription that
144
+ covers all of the open source you use.
145
+ </p>
146
+
147
+ <p>
148
+ If you want the flexibility of open source and the confidence of
149
+ commercial-grade software, this is for you.
150
+ </p>
151
+
152
+ <div class="tidelift-buttons">
153
+ <a href="https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral" target="_blank">
154
+ <span>LEARN MORE</span>
155
+ </a>
156
+
157
+ <a href="https://tidelift.com/subscription/request-a-demo?utm_source=rubygems-activeadmin&utm_medium=referral" target="_blank">
158
+ <span>REQUEST A DEMO</span>
159
+ </a>
160
+ </div>
161
+
162
+ <h3>
163
+ The Tidelift Subscription manages your dependencies for you.
164
+ </h3>
165
+
166
+ <ul>
167
+ <li>
168
+ Get the tools you need to continuously catalog and understand the open source software that your application depends on.
169
+ </li>
170
+
171
+ <li>
172
+ Your subscription helps pay the open source maintainers of the exact
173
+ packages you use to ensure they meet the standards you require.
174
+ </li>
175
+
176
+ <li>
177
+ Address issues proactively, with tools that scan for new security,
178
+ licensing, and maintenance issues, and alert our participating open
179
+ source maintainers so they can resolve them on your behalf.
180
+ </li>
181
+
182
+ <li>
183
+ Measure and improve your open source dependencies' health—which
184
+ improves your app’s health—and get a short list of high-impact steps
185
+ your team can take to improve them even more.
186
+ </li>
187
+
188
+ <li>
189
+ Get commercial assurances that don't come for free with open source
190
+ packages, like intellectual property indemnification and support
191
+ under a service level agreement. You expect these guarantees from
192
+ proprietary software, and you can have them when using open source
193
+ as well.
194
+ </li>
195
+ </ul>
196
+
197
+ <p>
198
+ The end result? All of the capabilities you expect from
199
+ commercial-grade software, for the full breadth of open source you
200
+ use. That means less time grappling with esoteric open source trivia,
201
+ and more time building your own applications—and your business.
202
+ </p>
203
+
204
+ <div class="tidelift-buttons">
205
+ <a href="https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral" target="_blank">
206
+ <span>LEARN MORE</span>
207
+ </a>
208
+
209
+ <a href="https://tidelift.com/subscription/request-a-demo?utm_source=rubygems-activeadmin&utm_medium=referral" target="_blank">
210
+ <span>REQUEST A DEMO</span>
211
+ </a>
212
+ </div>
213
+
113
214
  <h2 class="getting-started-heading">
114
215
  3 Ways to Get Started:
115
216
  </h2>
@@ -615,6 +615,35 @@ body #tidelift a .cta {
615
615
  padding-left: 30px;
616
616
  }
617
617
 
618
+ body .tidelift-buttons a {
619
+ display: table;
620
+ width: 200px;
621
+ border: 2px solid #407985;
622
+ border-radius: 4px;
623
+ text-decoration: none;
624
+ font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif;
625
+ font-size: 18px;
626
+ letter-spacing: 1px;
627
+ margin: 0 10px;
628
+ }
629
+
630
+ body .tidelift-buttons a:first-child {
631
+ float: left;
632
+ color: #407985;
633
+ background: #FFF;
634
+ }
635
+
636
+ body .tidelift-buttons a:last-child {
637
+ color: #FFF;
638
+ background: #407985;
639
+ }
640
+
641
+ body .tidelift-buttons a span {
642
+ display: table-cell;
643
+ vertical-align: middle;
644
+ text-align: center;
645
+ }
646
+
618
647
  body .clear {
619
648
  clear: both;
620
649
  }
@@ -8,8 +8,9 @@ require 'formtastic'
8
8
  require 'formtastic_i18n'
9
9
  require 'inherited_resources'
10
10
  require 'jquery-rails'
11
- require 'coffee-rails'
11
+ require 'sassc-rails'
12
12
  require 'arbre'
13
+ require 'sprockets/es6'
13
14
 
14
15
  require 'active_admin/helpers/i18n'
15
16
 
@@ -30,7 +31,6 @@ module ActiveAdmin
30
31
  autoload :Deprecation, 'active_admin/deprecation'
31
32
  autoload :Devise, 'active_admin/devise'
32
33
  autoload :DSL, 'active_admin/dsl'
33
- autoload :Event, 'active_admin/event'
34
34
  autoload :FormBuilder, 'active_admin/form_builder'
35
35
  autoload :Inputs, 'active_admin/inputs'
36
36
  autoload :Localizers, 'active_admin/localizers'
@@ -90,7 +90,7 @@ module ActiveAdmin
90
90
  #
91
91
  # @param [Block] block A block to call each time (before) AA loads resources
92
92
  def before_load(&block)
93
- ActiveSupport::Notifications.subscribe ActiveAdmin::Application::BeforeLoadEvent, &ActiveAdmin::Event.wrap_block_for_active_support_notifications(block)
93
+ ActiveSupport::Notifications.subscribe ActiveAdmin::Application::BeforeLoadEvent, &wrap_block_for_active_support_notifications(block)
94
94
  end
95
95
 
96
96
  # A callback is triggered each time (after) Active Admin loads the configuration files. This
@@ -108,7 +108,13 @@ module ActiveAdmin
108
108
  #
109
109
  # @param [Block] block A block to call each time (after) AA loads resources
110
110
  def after_load(&block)
111
- ActiveSupport::Notifications.subscribe ActiveAdmin::Application::AfterLoadEvent, &ActiveAdmin::Event.wrap_block_for_active_support_notifications(block)
111
+ ActiveSupport::Notifications.subscribe ActiveAdmin::Application::AfterLoadEvent, &wrap_block_for_active_support_notifications(block)
112
+ end
113
+
114
+ private
115
+
116
+ def wrap_block_for_active_support_notifications block
117
+ proc { |event, *args| block.call *args }
112
118
  end
113
119
 
114
120
  end