Skip to content

Fix missing CSS-styling in production mode #44

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Gemfile.lock
coverage/
spec/rails/rails-5.2.1/
23 changes: 14 additions & 9 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
sudo: required
language: ruby
addons:
chrome: stable

before_install: gem install bundler -v 1.16.0.pre.3

script: bundle exec rspec spec
cache: bundler

env:
matrix:
- RAILS=4.2.6 AA=1.1.0
- RAILS=5.0.0 AA=1.2.1
- RAILS=4.2.10 AA=1.1.0
- RAILS=5.1.0 AA=1.2.1
- RAILS=5.2.1 AA=1.3.1
rvm:
- 2.2.6
- 2.3.3
before_install:
- gem update --system
- rvm @global do gem install bundler -v 1.14.6
- gem --version
- 2.3
- 2.4
- 2.5
13 changes: 7 additions & 6 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,19 @@ source 'https://rubygems.org'
# Specify your gem's dependencies in active_admin_datetimepicker.gemspec
gemspec
group :test do
default_rails_version = '4.2.7'
default_activeadmin_version = '1.1.0'
gem 'sprockets-rails', '2.3.3'
gem 'rails', "#{ENV['RAILS'] || default_rails_version}"
default_rails_version = '5.2.1'
default_activeadmin_version = '1.3.1'

gem 'rails', "~> #{ENV['RAILS'] || default_rails_version}"
gem 'activeadmin', "~> #{ENV['AA'] || default_activeadmin_version}"

gem 'rspec-rails'
gem 'activeadmin', "#{ENV['AA'] || default_activeadmin_version}"
gem 'coveralls', require: false # Test coverage website. Go to https://coveralls.io
gem 'sass-rails'
gem 'sqlite3'
gem 'launchy'
gem 'database_cleaner'
gem 'capybara'
gem 'selenium-webdriver'
gem 'poltergeist'
gem 'chromedriver-helper'
end
43 changes: 25 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

# ActiveAdminDatetimepicker

Adds ability to use XDSoft's DateTime picker as the date_time_picker input for forms, and date_time_range for filters
Adds ability to use XDSoft's DateTime picker as the `date_time_picker` input for forms, and `date_time_range` for filters


![ActiveAdminDatetimepicker](https://raw.githubusercontent.com/ActiveAdminPlugins/activeadmin_datetimepicker/master/screen/screen.png "ActiveAdminDatetimepicker")
Expand All @@ -25,31 +25,37 @@ Or install it yourself as:

$ gem install active_admin_datetimepicker

## Usage
Add following line into `app/assets/stylesheets/active_admin.css.scss`

Plugin offers the `date_time_picker` input and `date_time_range` filter , which use the [XDSoft DateTime Picker gem](https://github.com/shekibobo/xdan-datetimepicker-rails).
The `date_time_picker` input accepts many of the options available to the standard jQueryUI Datepicker. For example:
```css
@import "active_admin_datetimepicker";
```

JS asset
```//= require active_admin_datetimepicker```
Add following line into `app/assets/javascripts/active_admin.js.coffee`

CSS
```@import "active_admin_datetimepicker";```
```coffee
#= require active_admin_datetimepicker
```


```ruby
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
```
## Usage

Plugin offers the `date_time_picker` input and `date_time_range` filter, which use the [XDSoft DateTime Picker gem](https://github.com/shekibobo/xdan-datetimepicker-rails).
The `date_time_picker` input accepts many of the options available to the standard jQueryUI Datepicker. For example:

```ruby
filter :created_at, as: :date_time_range
# 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

```ruby
# This if for front-end javascript side
ActiveAdminDatetimepicker::Base.default_datetime_picker_options = {
Expand All @@ -60,9 +66,10 @@ ActiveAdminDatetimepicker::Base.format = "%Y-%m-%d %H:%M:%S"
```

## Change datetime format
If you want to change format - you need to make sure that front-end and back-end formats are identical. And remember JS and Ruby datetime format has different syntax.
If you want to change format - you need to make sure that front-end and back-end formats are identical.
And remember JS and Ruby datetime format has different syntax.

Create configuration file '/config/initializers/init_datetimpicker.rb'
Create configuration file `/config/initializers/init_datetimpicker.rb`

```ruby
# Example "11/03/2016 13:00"
Expand Down
5 changes: 1 addition & 4 deletions active_admin_datetimepicker.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]

spec.add_dependency "xdan-datetimepicker-rails", "~> 2.5.1"
spec.add_dependency "activeadmin", "~> 1.1"
spec.add_development_dependency "bundler", "~> 1.8"
spec.add_development_dependency "rake", "~> 10.0"

spec.add_dependency "xdan-datetimepicker-rails", "~> 2.5.4"
end
2 changes: 0 additions & 2 deletions app/assets/stylesheets/active_admin_datetimepicker.scss
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
@import "jquery.xdan.datetimepicker";

form.filter_form {
.filter_form_field {
&.filter_date_time_range {
Expand Down
3 changes: 3 additions & 0 deletions config/initializers/active_admin_datetimepicker.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ActiveAdmin.setup do |config|
config.register_stylesheet 'jquery.xdan.datetimepicker.css'
end
Empty file added spec/rails/.keep
Empty file.
38 changes: 5 additions & 33 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,12 @@
ActiveAdmin.application.current_user_method = false

require 'rspec/rails'
require 'support/admin'
require 'capybara/rails'
require 'capybara/rspec'
require 'capybara/poltergeist'
require 'selenium-webdriver'

require 'support/admin'
require 'support/capybara'

RSpec.configure do |config|
config.use_transactional_fixtures = false
Expand All @@ -43,42 +44,13 @@
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean_with(:truncation)
end

config.before(:each) do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.start
end

config.after(:each) do
DatabaseCleaner.clean
end

end


Capybara.default_selector = :css

Capybara.configure do |config|
config.match = :prefer_exact
config.ignore_hidden_elements = false
end

# Capybara.javascript_driver = :selenium
#
# RSpec.configure do |config|
# config.before(:each, js: true) do
# page.driver.browser.manage.window.maximize if page.driver.browser.respond_to?(:manage)
# end
# end
#

Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new(app, {
js_errors: true,
timeout: 80,
debug: true,
:phantomjs_options => ['--debug=no', '--load-images=no']

})
end

Capybara.javascript_driver = :poltergeist

14 changes: 14 additions & 0 deletions spec/support/capybara.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Capybara.server = :webrick

Capybara.configure do |config|
config.match = :prefer_exact
end

Capybara.register_driver :selenium_chrome do |app|
options = Selenium::WebDriver::Chrome::Options.new(
args: %w[headless disable-gpu no-sandbox]
)
Capybara::Selenium::Driver.new(app, browser: :chrome, options: options)
end

Capybara.javascript_driver = :selenium_chrome
11 changes: 9 additions & 2 deletions tasks/test.rake
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
desc "Creates a test rails app for the specs to run against"
task :setup do
require 'rails/version'
system("mkdir spec/rails") unless File.exists?("spec/rails")
system "bundle exec rails new spec/rails/rails-#{Rails::VERSION::STRING} -m spec/support/rails_template.rb --skip-spring"

rails_new_opts = %w(
--skip-turbolinks
--skip-spring
--skip-bootsnap
-m
spec/support/rails_template.rb
)
system "bundle exec rails new spec/rails/rails-#{Rails::VERSION::STRING} #{rails_new_opts.join(' ')}"
end