Package Exports
- @activeadmin-plugins/active_admin_datetimepicker
- @activeadmin-plugins/active_admin_datetimepicker/src/active_admin_datetimepicker.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@activeadmin-plugins/active_admin_datetimepicker) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
ActiveAdminDatetimepicker
Adds XDSoft's DateTime picker as a date_time_picker
input for forms, and date_time_range
for filters.
Installation
Add this line to your application's Gemfile
:
gem 'active_admin_datetimepicker'
And then execute:
$ bundle
Or install it yourself as:
$ gem install active_admin_datetimepicker
Using assets via Sprockets
Add the following line into app/assets/stylesheets/active_admin.scss
:
@import "active_admin_datetimepicker";
Add the following line into app/assets/javascripts/active_admin.js
:
//= require active_admin_datetimepicker
Using assets via Webpacker (or any other assets bundler) as a NPM module (Yarn package)
Execute:
$ npm i @activeadmin-plugins/active_admin_datetimepicker
Or
$ yarn add @activeadmin-plugins/active_admin_datetimepicker
Or add manually to package.json
:
"dependencies": {
"@activeadmin-plugins/active_admin_datetimepicker": "1.0.0"
}
and execute:
$ yarn
Add the following line into app/assets/javascripts/active_admin.js
:
import '@activeadmin-plugins/active_admin_datetimepicker';
Add the following line into app/assets/stylesheets/active_admin.scss
:
@import '@activeadmin-plugins/active_admin_datetimepicker';
Usage
This plugin adds the date_time_picker
input and date_time_range
filter, which use the XDSoft DateTime Picker.
The date_time_picker
input accepts many of the options available to the standard jQueryUI Datepicker. For example:
# Index page filters
filter :created_at, as: :date_time_range
# New/Edit form
form do |f|
f.input :starts_at, as: :date_time_picker, datepicker_options: { min_date: "2013-10-8", max_date: "+3D" }
f.input :ends_at, as: :date_time_picker, datepicker_options: { min_date: 3.days.ago.to_date, max_date: "+1W +5D" }
end
Override behaviour in initializer
# This if for the front-end JavaScript side
ActiveAdminDatetimepicker::Base.default_datetime_picker_options = {
defaultDate: proc { Time.current.strftime("%Y-%m-%d 00:00") }
}
# This if for the Ruby backend
ActiveAdminDatetimepicker::Base.format = "%Y-%m-%d %H:%M:%S"
Change datetime format
If you want to change the format you need to make sure that front-end and back-end formats are identical. And remember JS and Ruby datetime format have different syntaxes.
Create configuration file config/initializers/init_datetimepicker.rb
:
# Example "11/03/2016 13:00"
ActiveAdminDatetimepicker::Base.default_datetime_picker_options = {
format: 'd/m/Y H:i', # JS format
defaultTime: proc { Time.current.strftime('%H:00') } # not necessary
}
ActiveAdminDatetimepicker::Base.format = "%d/%m/%Y %H:%M" # Ruby format
See the datetimepicker documentation for more details.
Contributing
- Fork it ( https://github.com/activeadmin-plugins/activeadmin_datetimepicker/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request