ActiveAdmin Addons
ActiveAdmin Addons will extend your ActiveAdmin and enable a set of addons you can optionally use to improve the ActiveAdmin UI and make it awesome.
What you get:
Rows/Columns
- Paperclip Attachment: show file icons on your show/index views.
- Paperclip Image: show thumbnails on your show/index views.
- AASM Integration: nice looking tags for states.
- Enumerize and Rails Enum Integration: nice looking tags for enums.
- Boolean Values: beautiful boolean values.
- Toggleable Booleans: have switches to toggle values directly at the index
- Number Formatting: format you currencies with ease.
- List: show Arrays or Hashes like a list.
Inputs
- Select2 Input: cool select boxes for everyone.
- Tag Input: to add tags using select2.
- Search Select Input: easy ajax search with activeadmin.
- Selected List Input: to handle your many to many associations.
- Nested Select Input: to build related select inputs.
- Color Picker Input: select colors from a pretty popup.
- Date Time Picker Input: pick date and time comfortably.
Filters
- Numeric Range Filter: filter your results using a numeric range (i.e. age between 18-30).
- Date Time Picker Filter: filter your results using a datetime range.
- Search Select Filter: filter your results using the ajax select input.
Themes
- No Theme: ActiveAdmin default style.
- Material Theme: Material Design style provide by active_material.
Installation
Add this line to your application's Gemfile:
gem 'activeadmin_addons'
And then execute:
$ bundle
After that, run the generator:
$ rails g activeadmin_addons:install
Check here to see more information about this generator.
Default changes to behaviour
Installing this gem will enable the following changes by default:
- The default date input will be
:datepicker
instead of:date_select
- Filters and selects will offer integration with enumerize
- All select boxes will use select2
Addons
Rows/Columns
Paperclip Attachment
Displays a paperclip link with attachment related icon into index and show views.
Images
Display images in the index and show views. This implementation supports Shrine and Paperclip.
AASM Integration
You can show aasm values as active admin tags.
Enumerize and Rails Enum Integration
You can show Rails' built in enums
or enumerize values as active admin tags.
Boolean Values
Modifies how boolean values are displayed.
Toggleable Boolean Columns
Have switches to toggle values directly at the index
Number Formatting
You can show numbers with format supported by Rails NumberHelper
List
You can show Array
or Hash
values as html lists.
Markdown
You can render text as markdown.
Inputs
Select2 Input
With select2 the select control looks nicer, it works great with large collections.
Tag Input
Using tags input, you can add tags using select2.
Selected List Input
This form control allows you to handle your many to many associations.
Search Select Input
Using search_select
input, you can easily add ajax search to activeadmin.
Nested Select Input
Using nested_select
input, you can build related select inputs.
Color Picker Input
You can pick colors using JQuery Palette Color Picker
f.input :color, as: :color_picker
Date Time Picker Input
You can pick dates with time using the xdan's jQuery Plugin Date and Time Picker
f.input :updated_at, as: :date_time_picker
Filters
Numeric Range Filter
To filter based on a range of values you can use numeric_range_filter
like this:
filter :number, as: :numeric_range_filter
Date Time Picker Filter
To filter based on a range of datetimes you can use date_time_picker_filter
like this:
filter :created_at, as: :date_time_picker_filter
Search Select Filter
You can use the ajax select input to filter values on index view like this:
filter :category_id, as: :search_select_filter
Themes
NO Theme
Use default active_admin theme.
Material Theme
Not compatible when Active Admin has been installed in webpack mode
Show material design theme using active_material. If you want to use it, you should run the generator using the flag theme
as follow:
rails g activeadmin_addons:install --theme material
Also, you can modify primary color, and all other theme colors, in the first lines of the file: app/assets/stylesheets/active_admin.scss
$am-theme-primary: YOUR-COLOR;
...
other colors
...
@import 'activeadmin_addons/material';
Take care of defining these variables before the import of @import 'activeadmin_addons/material';
.
For material documentation you should go to gem documentation.
Publishing
On master/main branch...
- Change
VERSION
inlib/activeadmin_addons/version.rb
. - Change
Unreleased
title to current version inCHANGELOG.md
. - Run
bundle install
. - Commit new release. For example:
Releasing v1.0.0
. - Create tag. For example:
git tag v1.0.0
. - Push tag. For example:
git push origin v1.0.0
.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - If you changed the javascript/scss files, run
yarn build
. - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
If you want to collaborate, please check the rules first.
Credits
Thank you contributors!
activeadmin_addons is maintained by platanus.
License
ActiveAdminAddons is © 2021 Platanus, spa. It is free software and may be redistributed under the terms specified in the LICENSE file.