activeadmin 2.6.1 → 3.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +438 -9
- data/CONTRIBUTING.md +12 -36
- data/README.md +8 -8
- data/app/assets/javascripts/active_admin/base.js +27 -25
- data/app/assets/stylesheets/active_admin/_base.scss +53 -37
- data/app/assets/stylesheets/active_admin/_forms.scss +2 -13
- data/app/assets/stylesheets/active_admin/_header.scss +37 -3
- data/app/assets/stylesheets/active_admin/_normalize.scss +25 -123
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +7 -5
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +5 -2
- data/app/assets/stylesheets/active_admin/components/_table_tools.scss +9 -6
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +10 -7
- data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +2 -2
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +12 -0
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +6 -4
- data/app/javascript/active_admin/initializers/has-many.js +4 -1
- data/app/javascript/active_admin/initializers/per-page.js +1 -1
- data/app/javascript/active_admin/lib/checkbox-toggler.js +3 -3
- data/app/javascript/active_admin/lib/dropdown-menu.js +1 -1
- data/app/javascript/active_admin/lib/modal-dialog.js +7 -7
- data/app/javascript/active_admin/lib/per-page.js +1 -1
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +1 -1
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
- data/app/views/active_admin/devise/shared/_links.erb +1 -1
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -0
- data/app/views/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +18 -7
- data/config/locales/ar.yml +6 -13
- data/config/locales/az.yml +0 -7
- data/config/locales/bg.yml +0 -7
- data/config/locales/bs.yml +0 -7
- data/config/locales/ca.yml +0 -7
- data/config/locales/cs.yml +0 -7
- data/config/locales/da.yml +0 -7
- data/config/locales/de-CH.yml +0 -7
- data/config/locales/de.yml +0 -8
- data/config/locales/el.yml +0 -7
- data/config/locales/en-CA.yml +0 -7
- data/config/locales/en-GB.yml +0 -7
- data/config/locales/en.yml +0 -8
- data/config/locales/eo.yml +0 -8
- data/config/locales/es-MX.yml +2 -8
- data/config/locales/es.yml +2 -10
- data/config/locales/fa.yml +0 -7
- data/config/locales/fi.yml +0 -7
- data/config/locales/fr.yml +3 -11
- data/config/locales/he.yml +0 -9
- data/config/locales/hr.yml +0 -7
- data/config/locales/hu.yml +0 -8
- data/config/locales/id.yml +0 -7
- data/config/locales/it.yml +18 -8
- data/config/locales/ja.yml +2 -10
- data/config/locales/ko.yml +1 -8
- data/config/locales/lt.yml +0 -8
- data/config/locales/lv.yml +0 -7
- data/config/locales/mk.yml +0 -8
- data/config/locales/nb.yml +0 -8
- data/config/locales/nl.yml +1 -9
- data/config/locales/pl.yml +0 -8
- data/config/locales/pt-BR.yml +0 -8
- data/config/locales/pt-PT.yml +0 -7
- data/config/locales/ro.yml +3 -9
- data/config/locales/ru.yml +0 -6
- data/config/locales/sk.yml +0 -8
- data/config/locales/sv-SE.yml +58 -39
- data/config/locales/tr.yml +0 -11
- data/config/locales/uk.yml +0 -6
- data/config/locales/vi.yml +38 -19
- data/config/locales/zh-CN.yml +34 -23
- data/config/locales/zh-TW.yml +0 -7
- data/lib/active_admin/abstract_view_factory.rb +1 -0
- data/lib/active_admin/application.rb +19 -19
- data/lib/active_admin/application_settings.rb +4 -3
- data/lib/active_admin/asset_registration.rb +4 -3
- data/lib/active_admin/authorization_adapter.rb +6 -3
- data/lib/active_admin/base_controller/authorization.rb +15 -13
- data/lib/active_admin/base_controller/menu.rb +1 -0
- data/lib/active_admin/base_controller.rb +6 -5
- data/lib/active_admin/batch_actions/controller.rb +4 -3
- data/lib/active_admin/batch_actions/resource_extension.rb +10 -8
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
- data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
- data/lib/active_admin/batch_actions.rb +1 -0
- data/lib/active_admin/callbacks.rb +1 -0
- data/lib/active_admin/cancan_adapter.rb +2 -1
- data/lib/active_admin/collection_decorator.rb +32 -0
- data/lib/active_admin/component.rb +1 -0
- data/lib/active_admin/controller_action.rb +1 -0
- data/lib/active_admin/csv_builder.rb +25 -17
- data/lib/active_admin/dependency.rb +12 -15
- data/lib/active_admin/devise.rb +16 -5
- data/lib/active_admin/dsl.rb +2 -1
- data/lib/active_admin/dynamic_setting.rb +1 -0
- data/lib/active_admin/dynamic_settings_node.rb +3 -2
- data/lib/active_admin/engine.rb +17 -9
- data/lib/active_admin/error.rb +1 -2
- data/lib/active_admin/filters/active.rb +2 -1
- data/lib/active_admin/filters/active_filter.rb +6 -6
- data/lib/active_admin/filters/active_sidebar.rb +4 -30
- data/lib/active_admin/filters/dsl.rb +1 -0
- data/lib/active_admin/filters/forms.rb +9 -8
- data/lib/active_admin/filters/formtastic_addons.rb +3 -7
- data/lib/active_admin/filters/resource_extension.rb +6 -5
- data/lib/active_admin/filters.rb +8 -7
- data/lib/active_admin/form_builder.rb +25 -20
- data/lib/active_admin/generators/boilerplate.rb +2 -1
- data/lib/active_admin/helpers/collection.rb +2 -0
- data/lib/active_admin/helpers/i18n.rb +1 -0
- data/lib/active_admin/helpers/optional_display.rb +3 -2
- data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
- data/lib/active_admin/helpers/scope_chain.rb +1 -0
- data/lib/active_admin/inputs/datepicker_input.rb +2 -1
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
- data/lib/active_admin/inputs/filters/base.rb +2 -1
- data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
- data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +3 -2
- data/lib/active_admin/inputs/filters/numeric_input.rb +2 -1
- data/lib/active_admin/inputs/filters/select_input.rb +5 -2
- data/lib/active_admin/inputs/filters/string_input.rb +2 -1
- data/lib/active_admin/inputs/filters/text_input.rb +1 -0
- data/lib/active_admin/inputs.rb +1 -0
- data/lib/active_admin/localizers/resource_localizer.rb +4 -3
- data/lib/active_admin/localizers.rb +2 -1
- data/lib/active_admin/menu.rb +8 -3
- data/lib/active_admin/menu_collection.rb +1 -0
- data/lib/active_admin/menu_item.rb +8 -7
- data/lib/active_admin/namespace.rb +16 -15
- data/lib/active_admin/namespace_settings.rb +9 -5
- data/lib/active_admin/order_clause.rb +2 -1
- data/lib/active_admin/orm/active_record/comments/comment.rb +12 -3
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +21 -20
- data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
- data/lib/active_admin/orm/active_record/comments.rb +28 -27
- data/lib/active_admin/orm/active_record.rb +2 -1
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/page.rb +2 -1
- data/lib/active_admin/page_controller.rb +1 -0
- data/lib/active_admin/page_dsl.rb +1 -0
- data/lib/active_admin/page_presenter.rb +1 -0
- data/lib/active_admin/pundit_adapter.rb +58 -16
- data/lib/active_admin/resource/action_items.rb +6 -5
- data/lib/active_admin/resource/attributes.rb +9 -1
- data/lib/active_admin/resource/belongs_to.rb +3 -2
- data/lib/active_admin/resource/controllers.rb +2 -1
- data/lib/active_admin/resource/includes.rb +1 -0
- data/lib/active_admin/resource/menu.rb +5 -4
- data/lib/active_admin/resource/model.rb +1 -0
- data/lib/active_admin/resource/naming.rb +5 -4
- data/lib/active_admin/resource/ordering.rb +1 -0
- data/lib/active_admin/resource/page_presenters.rb +1 -0
- data/lib/active_admin/resource/pagination.rb +1 -0
- data/lib/active_admin/resource/routes.rb +6 -7
- data/lib/active_admin/resource/scope_to.rb +8 -7
- data/lib/active_admin/resource/scopes.rb +1 -0
- data/lib/active_admin/resource/sidebars.rb +2 -1
- data/lib/active_admin/resource.rb +20 -19
- data/lib/active_admin/resource_collection.rb +1 -0
- data/lib/active_admin/resource_controller/action_builder.rb +1 -0
- data/lib/active_admin/resource_controller/data_access.rb +31 -5
- data/lib/active_admin/resource_controller/decorators.rb +7 -28
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +1 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +1 -0
- data/lib/active_admin/resource_controller/scoping.rb +1 -0
- data/lib/active_admin/resource_controller/sidebars.rb +1 -0
- data/lib/active_admin/resource_controller/streaming.rb +9 -7
- data/lib/active_admin/resource_controller.rb +13 -11
- data/lib/active_admin/resource_dsl.rb +11 -25
- data/lib/active_admin/router.rb +1 -0
- data/lib/active_admin/scope.rb +7 -6
- data/lib/active_admin/settings_node.rb +1 -0
- data/lib/active_admin/sidebar_section.rb +1 -0
- data/lib/active_admin/version.rb +2 -1
- data/lib/active_admin/view_factory.rb +18 -17
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +4 -3
- data/lib/active_admin/view_helpers/display_helper.rb +23 -8
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -1
- data/lib/active_admin/view_helpers/fields_for.rb +3 -2
- data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
- data/lib/active_admin/view_helpers/form_helper.rb +1 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -0
- data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
- data/lib/active_admin/view_helpers/title_helper.rb +1 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
- data/lib/active_admin/view_helpers.rb +2 -1
- data/lib/active_admin/views/action_items.rb +1 -0
- data/lib/active_admin/views/components/active_admin_form.rb +8 -11
- data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
- data/lib/active_admin/views/components/attributes_table.rb +6 -5
- data/lib/active_admin/views/components/blank_slate.rb +2 -1
- data/lib/active_admin/views/components/columns.rb +1 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
- data/lib/active_admin/views/components/index_list.rb +4 -3
- data/lib/active_admin/views/components/menu.rb +2 -1
- data/lib/active_admin/views/components/menu_item.rb +5 -4
- data/lib/active_admin/views/components/paginated_collection.rb +19 -18
- data/lib/active_admin/views/components/panel.rb +2 -1
- data/lib/active_admin/views/components/scopes.rb +8 -5
- data/lib/active_admin/views/components/sidebar.rb +1 -0
- data/lib/active_admin/views/components/sidebar_section.rb +1 -0
- data/lib/active_admin/views/components/site_title.rb +2 -1
- data/lib/active_admin/views/components/status_tag.rb +12 -11
- data/lib/active_admin/views/components/table_for.rb +18 -17
- data/lib/active_admin/views/components/tabs.rb +4 -3
- data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
- data/lib/active_admin/views/footer.rb +3 -1
- data/lib/active_admin/views/header.rb +3 -2
- data/lib/active_admin/views/index_as_block.rb +1 -0
- data/lib/active_admin/views/index_as_blog.rb +2 -1
- data/lib/active_admin/views/index_as_grid.rb +2 -1
- data/lib/active_admin/views/index_as_table.rb +16 -19
- data/lib/active_admin/views/pages/base.rb +17 -11
- data/lib/active_admin/views/pages/form.rb +1 -0
- data/lib/active_admin/views/pages/index.rb +15 -13
- data/lib/active_admin/views/pages/layout.rb +1 -0
- data/lib/active_admin/views/pages/page.rb +1 -0
- data/lib/active_admin/views/pages/show.rb +2 -7
- data/lib/active_admin/views/tabbed_navigation.rb +3 -2
- data/lib/active_admin/views/title_bar.rb +2 -1
- data/lib/active_admin/views.rb +2 -1
- data/lib/active_admin.rb +63 -61
- data/lib/activeadmin.rb +2 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
- data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
- data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
- data/lib/generators/active_admin/install/install_generator.rb +15 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +27 -3
- data/lib/generators/active_admin/install/templates/dashboard.rb +1 -0
- data/lib/generators/active_admin/page/page_generator.rb +2 -1
- data/lib/generators/active_admin/page/templates/page.rb +1 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
- data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
- data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
- data/vendor/assets/javascripts/jquery-ui/data.js +12 -8
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +10 -7
- data/vendor/assets/javascripts/jquery-ui/focusable.js +12 -9
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +60 -57
- data/vendor/assets/javascripts/jquery-ui/form.js +15 -12
- data/vendor/assets/javascripts/jquery-ui/ie.js +5 -2
- data/vendor/assets/javascripts/jquery-ui/keycode.js +11 -7
- data/vendor/assets/javascripts/jquery-ui/labels.js +46 -40
- data/vendor/assets/javascripts/jquery-ui/plugin.js +5 -2
- data/vendor/assets/javascripts/jquery-ui/position.js +30 -17
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +6 -2
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +6 -2
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +10 -7
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +11 -8
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +10 -7
- data/vendor/assets/javascripts/jquery-ui/version.js +6 -3
- data/vendor/assets/javascripts/jquery-ui/widget.js +53 -30
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +87 -24
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +276 -273
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +15 -11
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +182 -62
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +53 -36
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +28 -19
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +22 -11
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +47 -26
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +186 -125
- data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +20 -20
- metadata +48 -114
- data/docs/.gitignore +0 -1
- data/docs/0-installation.md +0 -118
- data/docs/1-general-configuration.md +0 -224
- data/docs/10-custom-pages.md +0 -150
- data/docs/11-decorators.md +0 -59
- data/docs/12-arbre-components.md +0 -214
- data/docs/13-authorization-adapter.md +0 -285
- data/docs/14-gotchas.md +0 -138
- data/docs/2-resource-customization.md +0 -466
- data/docs/3-index-pages/custom-index.md +0 -35
- data/docs/3-index-pages/index-as-block.md +0 -19
- data/docs/3-index-pages/index-as-blog.md +0 -69
- data/docs/3-index-pages/index-as-grid.md +0 -27
- data/docs/3-index-pages/index-as-table.md +0 -234
- data/docs/3-index-pages.md +0 -328
- data/docs/4-csv-format.md +0 -74
- data/docs/5-forms.md +0 -232
- data/docs/6-show-pages.md +0 -81
- data/docs/7-sidebars.md +0 -75
- data/docs/8-custom-actions.md +0 -177
- data/docs/9-batch-actions.md +0 -237
- data/docs/CNAME +0 -1
- data/docs/Gemfile +0 -3
- data/docs/Gemfile.lock +0 -248
- data/docs/README.md +0 -24
- data/docs/_config.yml +0 -4
- data/docs/_includes/footer.html +0 -8
- data/docs/_includes/google-analytics.html +0 -16
- data/docs/_includes/head.html +0 -7
- data/docs/_includes/toc.html +0 -98
- data/docs/_includes/top-menu.html +0 -17
- data/docs/_layouts/default.html +0 -21
- data/docs/documentation.md +0 -60
- data/docs/images/activeadmin.png +0 -0
- data/docs/images/code-header.png +0 -0
- data/docs/images/divider.png +0 -0
- data/docs/images/features.png +0 -0
- data/docs/images/tidelift.svg +0 -14
- data/docs/index.html +0 -226
- data/docs/stylesheets/main.css +0 -1205
- data/lib/active_admin/deprecation.rb +0 -10
- data/lib/ransack_ext.rb +0 -20
- data/vendor/assets/javascripts/jquery-ui/escape-selector.js +0 -23
- /data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +0 -0
data/CONTRIBUTING.md
CHANGED
@@ -25,8 +25,7 @@ git checkout -b 325-add-japanese-translations
|
|
25
25
|
|
26
26
|
### Get the test suite running
|
27
27
|
|
28
|
-
Make sure you're using a recent
|
29
|
-
least version `1.14.3`.
|
28
|
+
Make sure you're using a recent Ruby version.
|
30
29
|
|
31
30
|
You'll also need chrome installed in order to run cucumber scenarios.
|
32
31
|
|
@@ -56,14 +55,14 @@ Now you should be able to run the entire suite using:
|
|
56
55
|
bin/rake
|
57
56
|
```
|
58
57
|
|
59
|
-
The
|
60
|
-
|
58
|
+
The task will generate a sample Rails application in `tmp/test_apps` to run the
|
59
|
+
test suite against.
|
61
60
|
|
62
61
|
If you want to test against a Rails version different from the latest, make sure
|
63
62
|
you use the correct Gemfile, for example:
|
64
63
|
|
65
64
|
```sh
|
66
|
-
export BUNDLE_GEMFILE=gemfiles/
|
65
|
+
export BUNDLE_GEMFILE=gemfiles/rails_61/Gemfile
|
67
66
|
```
|
68
67
|
|
69
68
|
**Warning** SCSS assets are aimed to be used indifferently with Sprockets **and** webpacker.
|
@@ -108,29 +107,6 @@ with the db:
|
|
108
107
|
bin/rake local db:migrate
|
109
108
|
```
|
110
109
|
|
111
|
-
### Get the style right
|
112
|
-
|
113
|
-
Your patch should follow the same conventions & pass the same code quality
|
114
|
-
checks as the rest of the project. `bin/rake lint` will give you feedback in
|
115
|
-
this regard. You can check & fix style issues by running each linter
|
116
|
-
individually. Run `bin/rake -T lint` to see the available linters.
|
117
|
-
|
118
|
-
### Add a changelog entry
|
119
|
-
|
120
|
-
If your PR includes user-observable changes, you'll be asked to add a changelog
|
121
|
-
entry following the existing changelog format.
|
122
|
-
|
123
|
-
The changelog format is the following:
|
124
|
-
|
125
|
-
* One line per PR describing your fix or enhancement.
|
126
|
-
* Entries end with a dot, followed by "[#pr-number] by [@github-username]".
|
127
|
-
* Entries are added under the "Unreleased" section at the top of the file, under
|
128
|
-
the "Bug Fixes" or "Enhancements" subsection.
|
129
|
-
* References to github usernames and pull requests use [shortcut reference
|
130
|
-
links].
|
131
|
-
* Your github username reference definition is included in the correct
|
132
|
-
alphabetical position at the bottom of the file.
|
133
|
-
|
134
110
|
### Make a Pull Request
|
135
111
|
|
136
112
|
At this point, you should switch back to your master branch and make sure it's
|
@@ -152,12 +128,12 @@ git push --set-upstream origin 325-add-japanese-translations
|
|
152
128
|
|
153
129
|
Finally, go to GitHub and [make a Pull Request][] :D
|
154
130
|
|
155
|
-
|
156
|
-
about quality, so your PR won't be merged until all tests pass. It's
|
157
|
-
but it's possible that your changes pass tests in one Rails version
|
158
|
-
another. In that case, you'll have to setup your development
|
159
|
-
explained in step 3) to use the problematic Rails version, and
|
160
|
-
what's going on!
|
131
|
+
Github Actions will run our test suite against all supported Rails versions. We
|
132
|
+
care about quality, so your PR won't be merged until all tests pass. It's
|
133
|
+
unlikely, but it's possible that your changes pass tests in one Rails version
|
134
|
+
but fail in another. In that case, you'll have to setup your development
|
135
|
+
environment (as explained in step 3) to use the problematic Rails version, and
|
136
|
+
investigate what's going on!
|
161
137
|
|
162
138
|
### Keeping your Pull Request updated
|
163
139
|
|
@@ -190,12 +166,12 @@ met.
|
|
190
166
|
|
191
167
|
Maintainers need to do the following to push out a release:
|
192
168
|
|
193
|
-
* Make sure all pull requests are in and that changelog is current
|
194
169
|
* Switch to the master branch and make sure it's up to date.
|
195
170
|
* Make sure you have [chandler] properly configured. Chandler is used to
|
196
171
|
automatically submit github release notes from the changelog right after
|
197
172
|
pushing the gem to rubygems.
|
198
173
|
* Run one of `bin/rake release:prepare_{prerelease,prepatch,patch,preminor,minor,premajor,major}`, push the result and create a PR.
|
174
|
+
* Review and merge the PR. The generated changelog in the PR should include all user visible changes you intend to ship.
|
199
175
|
* Run `bin/rake release` from the target branch once the PR is merged.
|
200
176
|
|
201
177
|
[chandler]: https://github.com/mattbrictson/chandler#2-configure-credentials
|
@@ -204,7 +180,7 @@ Maintainers need to do the following to push out a release:
|
|
204
180
|
[fork Active Admin]: https://help.github.com/articles/fork-a-repo
|
205
181
|
[make a pull request]: https://help.github.com/articles/creating-a-pull-request
|
206
182
|
[git rebasing]: http://git-scm.com/book/en/Git-Branching-Rebasing
|
207
|
-
[interactive rebase]: https://help.github.com/
|
183
|
+
[interactive rebase]: https://help.github.com/en/github/using-git/about-git-rebase
|
208
184
|
[shortcut reference links]: https://github.github.com/gfm/#shortcut-reference-link
|
209
185
|
[Rollup]: https://rollupjs.org/guide/en/#quick-start
|
210
186
|
[Yarn]: https://yarnpkg.com/en/docs/install
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
creating elegant backends for website administration.
|
5
5
|
|
6
6
|
[![Version ][rubygems_badge]][rubygems]
|
7
|
-
[![
|
7
|
+
[![Github Actions ][actions_badge]][actions]
|
8
8
|
[![Coverage ][coverage_badge]][coverage]
|
9
9
|
[![Tidelift ][tidelift_badge]][tidelift]
|
10
10
|
[![Inch CI ][inch_badge]][inch]
|
@@ -85,23 +85,23 @@ Thanks to [Tidelift][tidelift] and all our Tidelift subscribers.
|
|
85
85
|
Thanks to [Open Collective][opencollective contributors] and all our Open Collective contributors.
|
86
86
|
|
87
87
|
[Arbre]: https://github.com/activeadmin/arbre
|
88
|
-
[Devise]: https://github.com/
|
89
|
-
[Formtastic]: https://github.com/
|
88
|
+
[Devise]: https://github.com/heartcombo/devise
|
89
|
+
[Formtastic]: https://github.com/formtastic/formtastic
|
90
90
|
[Inherited Resources]: https://github.com/activeadmin/inherited_resources
|
91
91
|
[Kaminari]: https://github.com/kaminari/kaminari
|
92
92
|
[Ransack]: https://github.com/activerecord-hackery/ransack
|
93
93
|
|
94
94
|
[rubygems_badge]: http://img.shields.io/gem/v/activeadmin.svg
|
95
95
|
[rubygems]: https://rubygems.org/gems/activeadmin
|
96
|
-
[
|
97
|
-
[
|
98
|
-
[coverage_badge]: https://
|
99
|
-
[coverage]: https://
|
96
|
+
[actions_badge]: https://github.com/activeadmin/activeadmin/workflows/ci/badge.svg
|
97
|
+
[actions]: https://github.com/activeadmin/activeadmin/actions
|
98
|
+
[coverage_badge]: https://codecov.io/gh/activeadmin/activeadmin/branch/master/graph/badge.svg?token=NAjeBdkQXW
|
99
|
+
[coverage]: https://codecov.io/gh/activeadmin/activeadmin
|
100
100
|
[inch_badge]: http://inch-ci.org/github/activeadmin/activeadmin.svg?branch=master
|
101
101
|
[inch]: http://inch-ci.org/github/activeadmin/activeadmin
|
102
102
|
[tidelift_badge]: https://tidelift.com/badges/github/activeadmin/activeadmin
|
103
103
|
[tidelift]: https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=readme
|
104
|
-
[tidelift_enterprise]: https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=
|
104
|
+
[tidelift_enterprise]: https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=enterprise
|
105
105
|
[tidelift_support]: https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=referral&utm_campaign=github&utm_content=support
|
106
106
|
|
107
107
|
[docs]: http://activeadmin.info/0-installation.html
|
@@ -11,7 +11,7 @@
|
|
11
11
|
//= require_self
|
12
12
|
|
13
13
|
(function(global, factory) {
|
14
|
-
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("jquery"), require("jquery-ui/ui/widgets/datepicker"), require("jquery-ui/ui/widgets/dialog"), require("jquery-ui/ui/widgets/sortable"), require("jquery-ui/ui/widgets/tabs"), require("jquery-ui/ui/widget"), require("jquery-ujs")) : typeof define === "function" && define.amd ? define([ "exports", "jquery", "jquery-ui/ui/widgets/datepicker", "jquery-ui/ui/widgets/dialog", "jquery-ui/ui/widgets/sortable", "jquery-ui/ui/widgets/tabs", "jquery-ui/ui/widget", "jquery-ujs" ], factory) : (global = global || self,
|
14
|
+
typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("jquery"), require("jquery-ui/ui/widgets/datepicker"), require("jquery-ui/ui/widgets/dialog"), require("jquery-ui/ui/widgets/sortable"), require("jquery-ui/ui/widgets/tabs"), require("jquery-ui/ui/widget"), require("jquery-ujs")) : typeof define === "function" && define.amd ? define([ "exports", "jquery", "jquery-ui/ui/widgets/datepicker", "jquery-ui/ui/widgets/dialog", "jquery-ui/ui/widgets/sortable", "jquery-ui/ui/widgets/tabs", "jquery-ui/ui/widget", "jquery-ujs" ], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self,
|
15
15
|
factory(global.ActiveAdmin = {}));
|
16
16
|
})(this, function(exports) {
|
17
17
|
"use strict";
|
@@ -27,18 +27,17 @@
|
|
27
27
|
function ModalDialog(message, inputs, callback) {
|
28
28
|
var html = '<form id="dialog_confirm" title="' + message + '"><ul>';
|
29
29
|
for (var name in inputs) {
|
30
|
-
var
|
30
|
+
var opts, wrapper;
|
31
31
|
var type = inputs[name];
|
32
32
|
if (/^(datepicker|checkbox|text|number)$/.test(type)) {
|
33
33
|
wrapper = "input";
|
34
34
|
} else if (type === "textarea") {
|
35
35
|
wrapper = "textarea";
|
36
36
|
} else if ($.isArray(type)) {
|
37
|
-
var _ref = [ "select",
|
37
|
+
var _ref = [ "select", type, "" ];
|
38
38
|
wrapper = _ref[0];
|
39
|
-
|
40
|
-
|
41
|
-
type = _ref[3];
|
39
|
+
opts = _ref[1];
|
40
|
+
type = _ref[2];
|
42
41
|
} else {
|
43
42
|
throw new Error("Unsupported input type: {" + name + ": " + type + "}");
|
44
43
|
}
|
@@ -46,29 +45,28 @@
|
|
46
45
|
html += "<li>\n <label>" + (name.charAt(0).toUpperCase() + name.slice(1)) + "</label>\n <" + wrapper + ' name="' + name + '" class="' + klass + '" type="' + type + '">' + (opts ? function() {
|
47
46
|
var result = [];
|
48
47
|
opts.forEach(function(v) {
|
49
|
-
var $elem = $("<"
|
48
|
+
var $elem = $("<option></option>");
|
50
49
|
if ($.isArray(v)) {
|
51
50
|
$elem.text(v[0]).val(v[1]);
|
52
51
|
} else {
|
53
52
|
$elem.text(v);
|
54
53
|
}
|
55
|
-
result.push($elem.wrap("<div>").parent().html());
|
54
|
+
result.push($elem.wrap("<div></div>").parent().html());
|
56
55
|
});
|
57
56
|
return result;
|
58
57
|
}().join("") : "") + ("</" + wrapper + ">") + "</li>";
|
59
58
|
var _ref2 = [];
|
60
59
|
wrapper = _ref2[0];
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
klass = _ref2[4];
|
60
|
+
opts = _ref2[1];
|
61
|
+
type = _ref2[2];
|
62
|
+
klass = _ref2[3];
|
65
63
|
}
|
66
64
|
html += "</ul></form>";
|
67
65
|
var form = $(html).appendTo("body");
|
68
66
|
$("body").trigger("modal_dialog:before_open", [ form ]);
|
69
67
|
form.dialog({
|
70
68
|
modal: true,
|
71
|
-
open: function open(
|
69
|
+
open: function open(_event, _ui) {
|
72
70
|
$("body").trigger("modal_dialog:after_open", [ form ]);
|
73
71
|
},
|
74
72
|
dialogClass: "active_admin_dialog",
|
@@ -83,7 +81,7 @@
|
|
83
81
|
}
|
84
82
|
});
|
85
83
|
}
|
86
|
-
var onDOMReady = function onDOMReady() {
|
84
|
+
var onDOMReady$2 = function onDOMReady() {
|
87
85
|
$(".batch_actions_selector li a").off("click confirm:complete");
|
88
86
|
$(".batch_actions_selector li a").on("click", function(event) {
|
89
87
|
var _this = this;
|
@@ -127,7 +125,7 @@
|
|
127
125
|
});
|
128
126
|
}
|
129
127
|
};
|
130
|
-
$(document).ready(onDOMReady).on("page:load turbolinks:load", onDOMReady);
|
128
|
+
$(document).ready(onDOMReady$2).on("page:load turbolinks:load", onDOMReady$2);
|
131
129
|
var CheckboxToggler = function() {
|
132
130
|
function CheckboxToggler(options, container) {
|
133
131
|
this.options = options;
|
@@ -136,7 +134,7 @@
|
|
136
134
|
this._bind();
|
137
135
|
}
|
138
136
|
var _proto = CheckboxToggler.prototype;
|
139
|
-
_proto.option = function option(
|
137
|
+
_proto.option = function option(_key, _value) {};
|
140
138
|
_proto._init = function _init() {
|
141
139
|
if (!this.container) {
|
142
140
|
throw new Error("Container element not found");
|
@@ -159,7 +157,7 @@
|
|
159
157
|
return _this._didChangeToggleAllCheckbox();
|
160
158
|
});
|
161
159
|
};
|
162
|
-
_proto._didChangeCheckbox = function _didChangeCheckbox(
|
160
|
+
_proto._didChangeCheckbox = function _didChangeCheckbox(_checkbox) {
|
163
161
|
var numChecked = this.checkboxes.filter(":checked").length;
|
164
162
|
var allChecked = numChecked === this.checkboxes.length;
|
165
163
|
var someChecked = numChecked > 0 && numChecked < this.checkboxes.length;
|
@@ -394,7 +392,6 @@
|
|
394
392
|
$(document).on("change", '.has_many_container[data-sortable] :input[name$="[_destroy]"]', function() {
|
395
393
|
recompute_positions($(this).closest(".has_many"));
|
396
394
|
});
|
397
|
-
init_sortable();
|
398
395
|
$(document).on("has_many_add:after", ".has_many_container", init_sortable);
|
399
396
|
});
|
400
397
|
var init_sortable = function init_sortable() {
|
@@ -428,6 +425,7 @@
|
|
428
425
|
}
|
429
426
|
});
|
430
427
|
};
|
428
|
+
$(document).ready(init_sortable).on("page:load turbolinks:load", init_sortable);
|
431
429
|
var PerPage = function() {
|
432
430
|
function PerPage(element) {
|
433
431
|
this.element = element;
|
@@ -464,7 +462,7 @@
|
|
464
462
|
return PerPage;
|
465
463
|
}();
|
466
464
|
(function($) {
|
467
|
-
$(document).on("change", ".pagination_per_page > select", function(
|
465
|
+
$(document).on("change", ".pagination_per_page > select", function(_event) {
|
468
466
|
PerPage._jQueryInterface.call($(this), "update");
|
469
467
|
});
|
470
468
|
$.fn["perPage"] = PerPage._jQueryInterface;
|
@@ -473,7 +471,14 @@
|
|
473
471
|
function _inheritsLoose(subClass, superClass) {
|
474
472
|
subClass.prototype = Object.create(superClass.prototype);
|
475
473
|
subClass.prototype.constructor = subClass;
|
476
|
-
subClass
|
474
|
+
_setPrototypeOf(subClass, superClass);
|
475
|
+
}
|
476
|
+
function _setPrototypeOf(o, p) {
|
477
|
+
_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
|
478
|
+
o.__proto__ = p;
|
479
|
+
return o;
|
480
|
+
};
|
481
|
+
return _setPrototypeOf(o, p);
|
477
482
|
}
|
478
483
|
var TableCheckboxToggler = function(_CheckboxToggler) {
|
479
484
|
_inheritsLoose(TableCheckboxToggler, _CheckboxToggler);
|
@@ -503,17 +508,14 @@
|
|
503
508
|
return TableCheckboxToggler;
|
504
509
|
}(CheckboxToggler);
|
505
510
|
$.widget.bridge("tableCheckboxToggler", TableCheckboxToggler);
|
506
|
-
var onDOMReady
|
511
|
+
var onDOMReady = function onDOMReady() {
|
507
512
|
return $("#active_admin_content .tabs").tabs();
|
508
513
|
};
|
509
|
-
$(document).ready(onDOMReady
|
514
|
+
$(document).ready(onDOMReady).on("page:load turbolinks:load", onDOMReady);
|
510
515
|
function modal_dialog(message, inputs, callback) {
|
511
516
|
console.warn("ActiveAdmin.modal_dialog is deprecated in favor of ActiveAdmin.ModalDialog, please update usage.");
|
512
517
|
return ModalDialog(message, inputs, callback);
|
513
518
|
}
|
514
519
|
exports.ModalDialog = ModalDialog;
|
515
520
|
exports.modal_dialog = modal_dialog;
|
516
|
-
Object.defineProperty(exports, "__esModule", {
|
517
|
-
value: true
|
518
|
-
});
|
519
521
|
});
|
@@ -1,41 +1,57 @@
|
|
1
1
|
/* Active Admin CSS */
|
2
|
-
|
3
|
-
|
2
|
+
@media screen {
|
3
|
+
// Normalize
|
4
|
+
@import "./normalize";
|
4
5
|
|
5
|
-
// Partials
|
6
|
-
@import "./typography";
|
7
|
-
@import "./header";
|
8
|
-
@import "./forms";
|
9
|
-
@import "./components/comments";
|
10
|
-
@import "./components/flash_messages";
|
11
|
-
@import "./components/date_picker";
|
12
|
-
@import "./components/tables";
|
13
|
-
@import "./components/batch_actions";
|
14
|
-
@import "./components/modal_dialog";
|
15
|
-
@import "./components/blank_slates";
|
16
|
-
@import "./components/breadcrumbs";
|
17
|
-
@import "./components/dropdown_menu";
|
18
|
-
@import "./components/buttons";
|
19
|
-
@import "./components/grid";
|
20
|
-
@import "./components/links";
|
21
|
-
@import "./components/pagination";
|
22
|
-
@import "./components/panels";
|
23
|
-
@import "./components/columns";
|
24
|
-
@import "./components/scopes";
|
25
|
-
@import "./components/status_tags";
|
26
|
-
@import "./components/table_tools";
|
27
|
-
@import "./components/index_list";
|
28
|
-
@import "./components/unsupported_browser";
|
29
|
-
@import "./components/tabs";
|
30
|
-
@import "./pages/logged_out";
|
31
|
-
@import "./structure/footer";
|
32
|
-
@import "./structure/main_structure";
|
33
|
-
@import "./structure/title_bar";
|
6
|
+
// Partials
|
7
|
+
@import "./typography";
|
8
|
+
@import "./header";
|
9
|
+
@import "./forms";
|
10
|
+
@import "./components/comments";
|
11
|
+
@import "./components/flash_messages";
|
12
|
+
@import "./components/date_picker";
|
13
|
+
@import "./components/tables";
|
14
|
+
@import "./components/batch_actions";
|
15
|
+
@import "./components/modal_dialog";
|
16
|
+
@import "./components/blank_slates";
|
17
|
+
@import "./components/breadcrumbs";
|
18
|
+
@import "./components/dropdown_menu";
|
19
|
+
@import "./components/buttons";
|
20
|
+
@import "./components/grid";
|
21
|
+
@import "./components/links";
|
22
|
+
@import "./components/pagination";
|
23
|
+
@import "./components/panels";
|
24
|
+
@import "./components/columns";
|
25
|
+
@import "./components/scopes";
|
26
|
+
@import "./components/status_tags";
|
27
|
+
@import "./components/table_tools";
|
28
|
+
@import "./components/index_list";
|
29
|
+
@import "./components/unsupported_browser";
|
30
|
+
@import "./components/tabs";
|
31
|
+
@import "./pages/logged_out";
|
32
|
+
@import "./structure/footer";
|
33
|
+
@import "./structure/main_structure";
|
34
|
+
@import "./structure/title_bar";
|
34
35
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
36
|
+
html {
|
37
|
+
box-sizing: border-box;
|
38
|
+
}
|
39
|
+
|
40
|
+
*,
|
41
|
+
*:before,
|
42
|
+
*:after {
|
43
|
+
box-sizing: inherit;
|
44
|
+
}
|
45
|
+
|
46
|
+
body {
|
47
|
+
@include sans-family;
|
48
|
+
line-height: 1.5;
|
49
|
+
font-size: 72%;
|
50
|
+
background: $body-background-color;
|
51
|
+
color: $text-color;
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
@media print {
|
56
|
+
@import "./print";
|
41
57
|
}
|
@@ -171,7 +171,7 @@ form {
|
|
171
171
|
&.boolean {
|
172
172
|
min-height: 1.1em;
|
173
173
|
label {
|
174
|
-
width:
|
174
|
+
width: 100%;
|
175
175
|
padding-left:20%;
|
176
176
|
padding-right: 10px;
|
177
177
|
text-transform: none !important;
|
@@ -220,9 +220,8 @@ form {
|
|
220
220
|
/* Buttons */
|
221
221
|
|
222
222
|
input[type=submit], input[type=button], button {
|
223
|
-
@include dark-button;
|
224
223
|
cursor: pointer;
|
225
|
-
|
224
|
+
@include dark-button;
|
226
225
|
}
|
227
226
|
|
228
227
|
.buttons, .actions {
|
@@ -250,8 +249,6 @@ form {
|
|
250
249
|
|
251
250
|
// -------------------------------------- Sidebar Forms
|
252
251
|
|
253
|
-
$sidebar-inner-content-width: $sidebar-width - ($section-padding * 2);
|
254
|
-
|
255
252
|
.sidebar_section {
|
256
253
|
|
257
254
|
label {
|
@@ -274,13 +271,6 @@ $sidebar-inner-content-width: $sidebar-width - ($section-padding * 2);
|
|
274
271
|
|
275
272
|
// -------------------------------------- Filter Forms
|
276
273
|
|
277
|
-
$filter-field-seperator-width: 12px;
|
278
|
-
|
279
|
-
$side-by-side-filter-input-width: ($sidebar-inner-content-width / 2) - ($text-input-horizontal-padding * 2) - $filter-field-seperator-width;
|
280
|
-
$side-by-side-filter-select-width: ($sidebar-inner-content-width / 2) - $filter-field-seperator-width;
|
281
|
-
|
282
|
-
$date-range-filter-input-width: ($sidebar-inner-content-width / 2) - ($filter-field-seperator-width / 2);
|
283
|
-
|
284
274
|
form.filter_form {
|
285
275
|
.filter_form_field {
|
286
276
|
margin-bottom: 10px;
|
@@ -313,7 +303,6 @@ form.filter_form {
|
|
313
303
|
|
314
304
|
&.filter_date_range {
|
315
305
|
input[type=text] {
|
316
|
-
box-sizing: border-box;
|
317
306
|
width: $date-range-filter-input-width;
|
318
307
|
|
319
308
|
+ input {
|
@@ -52,6 +52,11 @@
|
|
52
52
|
margin: 0;
|
53
53
|
padding: 0;
|
54
54
|
|
55
|
+
li {
|
56
|
+
/* Hover on li, display the ul */
|
57
|
+
&:hover > ul { display: block;}
|
58
|
+
}
|
59
|
+
|
55
60
|
& > li {
|
56
61
|
display: inline-block;
|
57
62
|
margin-right: 4px;
|
@@ -95,8 +100,6 @@
|
|
95
100
|
}
|
96
101
|
|
97
102
|
|
98
|
-
/* Hover on li, display the ul */
|
99
|
-
&:hover ul { display: block;}
|
100
103
|
/* Drop down menus */
|
101
104
|
ul {
|
102
105
|
background: $hover-menu-item-background;
|
@@ -114,6 +117,7 @@
|
|
114
117
|
z-index: 1010;
|
115
118
|
|
116
119
|
li {
|
120
|
+
position: relative;
|
117
121
|
margin: 0px;
|
118
122
|
a {
|
119
123
|
background: none;
|
@@ -124,10 +128,40 @@
|
|
124
128
|
&.current {
|
125
129
|
a { @include rounded(0) }
|
126
130
|
}
|
131
|
+
|
132
|
+
&.has_nested > a {
|
133
|
+
background: url($menu-arrow-right-light-icon-url) no-repeat calc(100% - 7px) 55%;
|
134
|
+
padding-right: 20px;
|
135
|
+
}
|
136
|
+
|
137
|
+
&.has_nested:hover > a {
|
138
|
+
background: url($menu-arrow-right-dark-icon-url) no-repeat calc(100% - 7px) 55%;
|
139
|
+
color: #fff;
|
140
|
+
}
|
141
|
+
|
142
|
+
ul {
|
143
|
+
@include rounded-all(10px,10px,10px,10px);
|
144
|
+
margin-top: 0;
|
145
|
+
top: -3px;
|
146
|
+
left: 100%;
|
147
|
+
|
148
|
+
/* Create an invisible backdrop that adds 8px margin around the dropdown menu or submenu
|
149
|
+
that maintains the hover. This makes it much easier to navigate to submenus in
|
150
|
+
particular without losing hover accientally, especially near rounded corners. */
|
151
|
+
&:after {
|
152
|
+
content: "";
|
153
|
+
display: block;
|
154
|
+
position: absolute;
|
155
|
+
top: -8px;
|
156
|
+
left: -8px;
|
157
|
+
height: calc(100% + 16px);
|
158
|
+
width: calc(100% + 16px);
|
159
|
+
z-index: -2;
|
160
|
+
}
|
161
|
+
}
|
127
162
|
}
|
128
163
|
}
|
129
164
|
}
|
130
|
-
|
131
165
|
}
|
132
166
|
|
133
167
|
#tabs {
|