activeadmin 1.0.0 → 1.1.0
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.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE.md +20 -0
- data/.mdlrc +1 -0
- data/.rubocop.yml +52 -3
- data/.simplecov +13 -0
- data/.travis.yml +9 -24
- data/.yardopts +0 -1
- data/CHANGELOG.md +85 -4
- data/CONTRIBUTING.md +33 -57
- data/Gemfile +26 -17
- data/Rakefile +1 -12
- data/activeadmin.gemspec +9 -11
- data/app/assets/javascripts/active_admin/base.js.coffee +6 -2
- data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +6 -3
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +9 -7
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +5 -2
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +6 -2
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +3 -5
- data/app/assets/stylesheets/active_admin/_base.scss +2 -2
- data/app/assets/stylesheets/active_admin/_forms.scss +6 -12
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +1 -0
- data/app/assets/stylesheets/active_admin/components/_tables.scss +4 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -2
- data/app/assets/stylesheets/active_admin/print.scss +2 -3
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/shared/_links.erb +12 -6
- data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
- data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
- data/codecov.yml +14 -12
- data/config/i18n-tasks.yml +26 -0
- data/config/locales/ar.yml +1 -3
- data/config/locales/bg.yml +0 -2
- data/config/locales/bs.yml +0 -2
- data/config/locales/ca.yml +0 -2
- data/config/locales/cs.yml +0 -2
- data/config/locales/da.yml +1 -3
- data/config/locales/de-CH.yml +1 -3
- data/config/locales/de.yml +1 -3
- data/config/locales/el.yml +1 -3
- data/config/locales/en-CA.yml +138 -0
- data/config/locales/en-GB.yml +43 -3
- data/config/locales/en.yml +8 -4
- data/config/locales/es-MX.yml +3 -2
- data/config/locales/es.yml +10 -4
- data/config/locales/fa.yml +0 -2
- data/config/locales/fi.yml +0 -2
- data/config/locales/fr.yml +9 -2
- data/config/locales/he.yml +53 -7
- data/config/locales/hr.yml +0 -2
- data/config/locales/hu.yml +0 -2
- data/config/locales/id.yml +1 -3
- data/config/locales/it.yml +2 -4
- data/config/locales/ja.yml +1 -3
- data/config/locales/ko.yml +0 -2
- data/config/locales/lt.yml +24 -4
- data/config/locales/lv.yml +0 -2
- data/config/locales/nb.yml +0 -2
- data/config/locales/nl.yml +1 -3
- data/config/locales/pl.yml +3 -2
- data/config/locales/pt-BR.yml +1 -3
- data/config/locales/pt-PT.yml +0 -2
- data/config/locales/ro.yml +0 -2
- data/config/locales/ru.yml +1 -3
- data/config/locales/sk.yml +0 -2
- data/config/locales/sv-SE.yml +1 -3
- data/config/locales/tr.yml +0 -2
- data/config/locales/uk.yml +1 -3
- data/config/locales/vi.yml +0 -2
- data/config/locales/zh-CN.yml +0 -2
- data/config/locales/zh-TW.yml +1 -3
- data/config/mdl_style.rb +9 -0
- data/cucumber.yml +3 -3
- data/docs/0-installation.md +15 -12
- data/docs/1-general-configuration.md +10 -3
- data/docs/10-custom-pages.md +10 -5
- data/docs/11-decorators.md +1 -0
- data/docs/12-arbre-components.md +7 -9
- data/docs/13-authorization-adapter.md +39 -24
- data/docs/14-gotchas.md +41 -22
- data/docs/2-resource-customization.md +41 -18
- data/docs/3-index-pages.md +30 -12
- data/docs/3-index-pages/custom-index.md +1 -0
- data/docs/3-index-pages/index-as-block.md +0 -5
- data/docs/3-index-pages/index-as-blog.md +0 -5
- data/docs/3-index-pages/index-as-grid.md +0 -5
- data/docs/3-index-pages/index-as-table.md +1 -9
- data/docs/4-csv-format.md +2 -1
- data/docs/5-forms.md +45 -21
- data/docs/6-show-pages.md +2 -1
- data/docs/7-sidebars.md +2 -1
- data/docs/8-custom-actions.md +4 -1
- data/docs/9-batch-actions.md +4 -2
- data/docs/documentation.md +19 -21
- data/features/comments/commenting.feature +20 -0
- data/features/index/filters.feature +41 -1
- data/features/index/format_as_csv.feature +17 -0
- data/features/index/index_scopes.feature +15 -0
- data/features/registering_assets.feature +8 -4
- data/features/show/attributes_table_title.feature +54 -0
- data/features/show/tabs.feature +10 -4
- data/features/step_definitions/action_link_steps.rb +0 -1
- data/features/step_definitions/attributes_table_title_steps.rb +11 -0
- data/features/step_definitions/batch_action_steps.rb +2 -2
- data/features/step_definitions/comment_steps.rb +21 -1
- data/features/step_definitions/configuration_steps.rb +1 -1
- data/features/step_definitions/filter_steps.rb +9 -0
- data/features/step_definitions/format_steps.rb +1 -1
- data/features/step_definitions/index_scope_steps.rb +4 -0
- data/features/support/env.rb +5 -4
- data/features/support/regular_env.rb +7 -0
- data/features/support/reload_env.rb +7 -0
- data/gemfiles/rails_42.gemfile +2 -37
- data/gemfiles/rails_50.gemfile +5 -40
- data/gemfiles/rails_51.gemfile +5 -40
- data/lib/active_admin.rb +0 -3
- data/lib/active_admin/application.rb +6 -4
- data/lib/active_admin/asset_registration.rb +8 -0
- data/lib/active_admin/authorization_adapter.rb +0 -3
- data/lib/active_admin/base_controller.rb +1 -2
- data/lib/active_admin/base_controller/authorization.rb +0 -1
- data/lib/active_admin/base_controller/menu.rb +9 -9
- data/lib/active_admin/batch_actions/controller.rb +1 -1
- data/lib/active_admin/batch_actions/views/selection_cells.rb +6 -5
- data/lib/active_admin/csv_builder.rb +3 -3
- data/lib/active_admin/dependency.rb +1 -1
- data/lib/active_admin/devise.rb +2 -2
- data/lib/active_admin/dsl.rb +2 -2
- data/lib/active_admin/filters.rb +2 -0
- data/lib/active_admin/filters/active.rb +13 -14
- data/lib/active_admin/filters/active_filter.rb +87 -0
- data/lib/active_admin/filters/active_sidebar.rb +50 -0
- data/lib/active_admin/filters/forms.rb +1 -2
- data/lib/active_admin/filters/resource_extension.rb +2 -30
- data/lib/active_admin/helpers/settings.rb +0 -1
- data/lib/active_admin/inputs/datepicker_input.rb +5 -5
- data/lib/active_admin/inputs/filters/date_range_input.rb +12 -4
- data/lib/active_admin/inputs/filters/text_input.rb +0 -1
- data/lib/active_admin/menu.rb +4 -4
- data/lib/active_admin/menu_collection.rb +0 -2
- data/lib/active_admin/namespace.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/comment.rb +1 -5
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +4 -2
- data/lib/active_admin/page_controller.rb +1 -1
- data/lib/active_admin/resource/action_items.rb +4 -0
- data/lib/active_admin/resource/attributes.rb +1 -1
- data/lib/active_admin/resource/page_presenters.rb +1 -1
- data/lib/active_admin/resource/routes.rb +0 -1
- data/lib/active_admin/resource/scopes.rb +2 -1
- data/lib/active_admin/resource_controller.rb +1 -1
- data/lib/active_admin/resource_controller/data_access.rb +8 -9
- data/lib/active_admin/resource_dsl.rb +10 -10
- data/lib/active_admin/router.rb +1 -1
- data/lib/active_admin/scope.rb +3 -3
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers.rb +1 -0
- data/lib/active_admin/view_helpers/display_helper.rb +1 -1
- data/lib/active_admin/view_helpers/form_helper.rb +1 -1
- data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
- data/lib/active_admin/views/action_items.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +1 -1
- data/lib/active_admin/views/components/dropdown_menu.rb +2 -2
- data/lib/active_admin/views/components/index_list.rb +0 -2
- data/lib/active_admin/views/components/paginated_collection.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +2 -10
- data/lib/active_admin/views/components/status_tag.rb +19 -11
- data/lib/active_admin/views/components/tabs.rb +2 -2
- data/lib/active_admin/views/header.rb +0 -1
- data/lib/active_admin/views/index_as_blog.rb +1 -2
- data/lib/active_admin/views/index_as_grid.rb +2 -2
- data/lib/active_admin/views/index_as_table.rb +19 -1
- data/lib/active_admin/views/pages/base.rb +4 -4
- data/lib/active_admin/views/pages/show.rb +6 -1
- data/lib/active_admin/views/title_bar.rb +4 -4
- data/lib/bug_report_templates/{rails_5_master.rb → active_admin_master.rb} +35 -40
- data/lib/generators/active_admin/devise/devise_generator.rb +1 -1
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +1 -1
- data/spec/bug_report_templates_spec.rb +2 -3
- data/spec/rails_helper.rb +0 -3
- data/spec/spec_helper.rb +1 -12
- data/spec/support/active_admin_integration_spec_helper.rb +1 -1
- data/spec/support/rails_template.rb +5 -37
- data/spec/support/rails_template_with_data.rb +262 -3
- data/spec/support/templates/policies/active_admin/comment_policy.rb +1 -1
- data/spec/support/templates/policies/active_admin/page_policy.rb +1 -1
- data/spec/support/templates/policies/application_policy.rb +1 -2
- data/spec/support/templates/post_decorator.rb +0 -1
- data/spec/unit/abstract_view_factory_spec.rb +0 -1
- data/spec/unit/application_spec.rb +4 -0
- data/spec/unit/asset_registration_spec.rb +29 -0
- data/spec/unit/belongs_to_spec.rb +1 -2
- data/spec/unit/config_shared_examples.rb +1 -1
- data/spec/unit/csv_builder_spec.rb +2 -4
- data/spec/unit/dependency_spec.rb +7 -7
- data/spec/unit/dsl_spec.rb +0 -2
- data/spec/unit/filters/active_filter_spec.rb +135 -0
- data/spec/unit/filters/active_spec.rb +11 -1
- data/spec/unit/filters/filter_form_builder_spec.rb +9 -7
- data/spec/unit/form_builder_spec.rb +14 -14
- data/spec/unit/helpers/scope_chain_spec.rb +0 -1
- data/spec/unit/i18n_spec.rb +17 -0
- data/spec/unit/menu_item_spec.rb +1 -3
- data/spec/unit/namespace/register_page_spec.rb +1 -1
- data/spec/unit/namespace_spec.rb +0 -1
- data/spec/unit/page_spec.rb +0 -3
- data/spec/unit/resource/action_items_spec.rb +5 -1
- data/spec/unit/resource/attributes_spec.rb +1 -2
- data/spec/unit/resource/ordering_spec.rb +0 -3
- data/spec/unit/resource/scopes_spec.rb +1 -1
- data/spec/unit/resource_controller/data_access_spec.rb +2 -2
- data/spec/unit/resource_controller_spec.rb +1 -2
- data/spec/unit/resource_spec.rb +9 -2
- data/spec/unit/routing_spec.rb +0 -2
- data/spec/unit/scope_spec.rb +3 -3
- data/spec/unit/settings_spec.rb +0 -1
- data/spec/unit/view_factory_spec.rb +1 -1
- data/spec/unit/view_helpers/flash_helper_spec.rb +0 -1
- data/spec/unit/view_helpers/form_helper_spec.rb +3 -4
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -1
- data/spec/unit/views/components/attributes_table_spec.rb +0 -1
- data/spec/unit/views/components/columns_spec.rb +0 -2
- data/spec/unit/views/components/site_title_spec.rb +0 -2
- data/spec/unit/views/components/status_tag_spec.rb +23 -7
- data/spec/unit/views/components/tabs_spec.rb +29 -1
- data/spec/unit/views/pages/index_spec.rb +1 -1
- data/tasks/docs.rake +37 -10
- data/tasks/lint.rake +14 -1
- data/tasks/local.rake +2 -2
- data/tasks/test.rake +8 -25
- data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
- data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
- data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
- data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
- data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +300 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
- data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
- metadata +62 -51
- data/.hound.yml +0 -14
- data/Appraisals +0 -41
- data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
- data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -18
- data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
- data/lib/active_admin/filters/humanized.rb +0 -68
- data/spec/requests/javascript_spec.rb +0 -22
- data/spec/support/jslint.yml +0 -80
- data/spec/unit/filters/humanized_spec.rb +0 -64
- data/tasks/yard.rake +0 -9
data/Gemfile
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
source 'https://rubygems.org'
|
|
2
2
|
|
|
3
|
+
# Trick to use https without warnings and without having to specify full URLs
|
|
4
|
+
# TODO: Can be removed when Bundler 2.x is released.
|
|
5
|
+
git_source(:github) do |repo_name|
|
|
6
|
+
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
|
|
7
|
+
"https://github.com/#{repo_name}.git"
|
|
8
|
+
end
|
|
9
|
+
|
|
3
10
|
# Optional dependencies
|
|
4
11
|
gem 'cancan'
|
|
5
12
|
gem 'pundit'
|
|
@@ -9,38 +16,40 @@ gem 'rake'
|
|
|
9
16
|
gem 'parallel_tests'
|
|
10
17
|
|
|
11
18
|
# Debugging
|
|
12
|
-
gem 'pry'
|
|
19
|
+
gem 'pry' # Easily debug from your console with `binding.pry`
|
|
13
20
|
|
|
14
21
|
# Code style
|
|
15
|
-
gem 'rubocop', '0.
|
|
22
|
+
gem 'rubocop', '0.49.1'
|
|
23
|
+
gem 'mdl', '0.4.0'
|
|
24
|
+
|
|
25
|
+
# Translations
|
|
26
|
+
gem 'i18n-tasks'
|
|
27
|
+
|
|
28
|
+
# Documentation
|
|
29
|
+
gem 'yard' # Documentation generator
|
|
30
|
+
gem 'redcarpet', platforms: :mri # Markdown implementation (for yard)
|
|
31
|
+
gem 'kramdown', platforms: :jruby # Markdown implementation (for yard)
|
|
16
32
|
|
|
17
33
|
group :development do
|
|
18
34
|
# Debugging
|
|
19
|
-
gem 'better_errors'
|
|
35
|
+
gem 'better_errors' # Web UI to debug exceptions. Go to /__better_errors to access the latest one
|
|
20
36
|
|
|
21
|
-
gem 'binding_of_caller', platforms: :mri
|
|
37
|
+
gem 'binding_of_caller', platforms: :mri # Retrieve the binding of a method's caller
|
|
22
38
|
|
|
23
39
|
# Performance
|
|
24
|
-
gem 'rack-mini-profiler'
|
|
25
|
-
|
|
26
|
-
# Documentation
|
|
27
|
-
gem 'yard' # Documentation generator
|
|
28
|
-
gem 'redcarpet', platforms: :mri # Markdown implementation (for yard)
|
|
29
|
-
gem 'kramdown', platforms: :jruby # Markdown implementation (for yard)
|
|
30
|
-
gem 'appraisal', '~> 2.2', require: false
|
|
40
|
+
gem 'rack-mini-profiler' # Inline app profiler. See ?pp=help for options.
|
|
31
41
|
end
|
|
32
42
|
|
|
33
43
|
group :test do
|
|
34
44
|
gem 'capybara'
|
|
35
|
-
gem 'simplecov', require: false
|
|
36
|
-
gem 'codecov', require: false
|
|
45
|
+
gem 'simplecov', require: false # Test coverage generator. Go to /coverage/ after running tests
|
|
46
|
+
gem 'codecov', require: false # Test coverage website. Go to https://codecov.io
|
|
37
47
|
gem 'cucumber-rails', require: false
|
|
38
|
-
gem 'cucumber'
|
|
39
|
-
gem 'database_cleaner'
|
|
48
|
+
gem 'cucumber'
|
|
49
|
+
gem 'database_cleaner'
|
|
40
50
|
gem 'jasmine'
|
|
41
|
-
gem 'jslint_on_rails'
|
|
42
51
|
gem 'launchy'
|
|
43
|
-
gem 'rails-i18n'
|
|
52
|
+
gem 'rails-i18n' # Provides default i18n for many languages
|
|
44
53
|
gem 'rspec-rails'
|
|
45
54
|
gem 'i18n-spec'
|
|
46
55
|
gem 'shoulda-matchers', '<= 2.8.0'
|
data/Rakefile
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
require 'bundler/gem_tasks'
|
|
2
2
|
|
|
3
|
-
task :enforce_version do
|
|
4
|
-
if ENV['BUNDLE_GEMFILE'] == File.expand_path('../Gemfile', __FILE__)
|
|
5
|
-
gemfile_path = File.expand_path('../gemfiles/rails_50.gemfile', __FILE__)
|
|
6
|
-
|
|
7
|
-
command = ['bundle', 'exec', 'rake', *ARGV].join(' ')
|
|
8
|
-
env = { 'BUNDLE_GEMFILE' => gemfile_path }
|
|
9
|
-
|
|
10
|
-
Bundler.with_clean_env { Kernel.exec(env, command) }
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
3
|
desc 'Creates a test rails app for the specs to run against'
|
|
15
|
-
task :setup, [:parallel, :dir, :template]
|
|
4
|
+
task :setup, [:parallel, :dir, :template] do |_t, opts|
|
|
16
5
|
require 'rails/version'
|
|
17
6
|
|
|
18
7
|
base_dir = opts[:dir] || 'spec/rails'
|
data/activeadmin.gemspec
CHANGED
|
@@ -14,21 +14,19 @@ Gem::Specification.new do |s|
|
|
|
14
14
|
f.match(%r{^(spec|features)/})
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
s.test_files
|
|
17
|
+
s.test_files = `git ls-files -- {spec,features}/*`.split("\n")
|
|
18
18
|
|
|
19
|
-
s.required_ruby_version = '>= 2.
|
|
19
|
+
s.required_ruby_version = '>= 2.2'
|
|
20
20
|
|
|
21
|
-
s.add_dependency 'arbre',
|
|
22
|
-
s.add_dependency 'bourbon'
|
|
21
|
+
s.add_dependency 'arbre', '>= 1.1.1'
|
|
23
22
|
s.add_dependency 'coffee-rails'
|
|
24
|
-
s.add_dependency 'formtastic',
|
|
23
|
+
s.add_dependency 'formtastic', '~> 3.1'
|
|
25
24
|
s.add_dependency 'formtastic_i18n'
|
|
26
25
|
s.add_dependency 'inherited_resources', '~> 1.7'
|
|
27
26
|
s.add_dependency 'jquery-rails'
|
|
28
|
-
s.add_dependency '
|
|
29
|
-
s.add_dependency '
|
|
30
|
-
s.add_dependency '
|
|
31
|
-
s.add_dependency '
|
|
32
|
-
s.add_dependency '
|
|
33
|
-
s.add_dependency 'sprockets', '< 4.1'
|
|
27
|
+
s.add_dependency 'kaminari', '>= 0.15', '< 2.0'
|
|
28
|
+
s.add_dependency 'railties', '>= 4.2', '< 5.2'
|
|
29
|
+
s.add_dependency 'ransack', '~> 1.3'
|
|
30
|
+
s.add_dependency 'sass', '~> 3.1'
|
|
31
|
+
s.add_dependency 'sprockets', '< 4.1'
|
|
34
32
|
end
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
-
#= require
|
|
2
|
-
#= require
|
|
1
|
+
#= require jquery3
|
|
2
|
+
#= require jquery-ui/widgets/datepicker
|
|
3
|
+
#= require jquery-ui/widgets/dialog
|
|
4
|
+
#= require jquery-ui/widgets/sortable
|
|
5
|
+
#= require jquery-ui/widgets/tabs
|
|
6
|
+
#= require jquery-ui/widget
|
|
3
7
|
#= require jquery_ujs
|
|
4
8
|
#= require_self
|
|
5
9
|
#= require_tree ./lib
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
onDOMReady = ->
|
|
2
2
|
# In order for index scopes to overflow properly onto the next line, we have
|
|
3
3
|
# to manually set its width based on the width of the batch action button.
|
|
4
4
|
if (batch_actions_selector = $('.table_tools .batch_actions_selector')).length
|
|
5
5
|
batch_actions_selector.next().css
|
|
6
6
|
width: "calc(100% - 10px - #{batch_actions_selector.outerWidth()}px)"
|
|
7
7
|
'float': 'right'
|
|
8
|
+
|
|
9
|
+
$(document).
|
|
10
|
+
ready(onDOMReady).
|
|
11
|
+
on 'page:load turbolinks:load', onDOMReady
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
onDOMReady = ->
|
|
2
2
|
$(document).on 'focus', 'input.datepicker:not(.hasDatepicker)', ->
|
|
3
3
|
input = $(@)
|
|
4
4
|
|
|
@@ -8,3 +8,7 @@ $(document).on 'ready page:load turbolinks:load', ->
|
|
|
8
8
|
defaults = dateFormat: 'yy-mm-dd'
|
|
9
9
|
options = input.data 'datepicker-options'
|
|
10
10
|
input.datepicker $.extend(defaults, options)
|
|
11
|
+
|
|
12
|
+
$(document).
|
|
13
|
+
ready(onDOMReady).
|
|
14
|
+
on 'page:load turbolinks:load', onDOMReady
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
onDOMReady = ->
|
|
2
2
|
# Clear Filters button
|
|
3
3
|
$('.clear_filters_btn').click (e) ->
|
|
4
4
|
params = window.location.search.slice(1).split('&')
|
|
@@ -20,3 +20,7 @@ $(document).on 'ready page:load turbolinks:load', ->
|
|
|
20
20
|
# a dropdown, apply that choice to the filter input field.
|
|
21
21
|
$('.filter_form_field.select_and_search select').change ->
|
|
22
22
|
$(@).siblings('input').prop name: "q[#{@value}]"
|
|
23
|
+
|
|
24
|
+
$(document).
|
|
25
|
+
ready(onDOMReady).
|
|
26
|
+
on 'page:load turbolinks:load', onDOMReady
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
onDOMReady = ->
|
|
3
2
|
#
|
|
4
3
|
# Use ActiveAdmin.modal_dialog to prompt user if confirmation is required for current Batch Action
|
|
5
4
|
#
|
|
@@ -14,7 +13,7 @@ $(document).on 'ready page:load turbolinks:load', ->
|
|
|
14
13
|
|
|
15
14
|
$('.batch_actions_selector li a').on 'confirm:complete', (e, inputs)->
|
|
16
15
|
if val = JSON.stringify inputs
|
|
17
|
-
$('#batch_action_inputs').val val
|
|
16
|
+
$('#batch_action_inputs').removeAttr('disabled').val val
|
|
18
17
|
else
|
|
19
18
|
$('#batch_action_inputs').attr 'disabled', 'disabled'
|
|
20
19
|
|
|
@@ -37,3 +36,7 @@ $(document).on 'ready page:load turbolinks:load', ->
|
|
|
37
36
|
$(".batch_actions_selector").each -> $(@).aaDropdownMenu("enable")
|
|
38
37
|
else
|
|
39
38
|
$(".batch_actions_selector").each -> $(@).aaDropdownMenu("disable")
|
|
39
|
+
|
|
40
|
+
$(document).
|
|
41
|
+
ready(onDOMReady).
|
|
42
|
+
on 'page:load turbolinks:load', onDOMReady
|
|
@@ -23,15 +23,17 @@ class ActiveAdmin.CheckboxToggler
|
|
|
23
23
|
@toggle_all_checkbox.change => @_didChangeToggleAllCheckbox()
|
|
24
24
|
|
|
25
25
|
_didChangeCheckbox: (checkbox)->
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
numChecked = @checkboxes.filter(':checked').length
|
|
27
|
+
|
|
28
|
+
allChecked = numChecked == @checkboxes.length
|
|
29
|
+
someChecked = numChecked > 0 && numChecked < @checkboxes.length
|
|
30
|
+
|
|
31
|
+
@toggle_all_checkbox.prop checked: allChecked, indeterminate: someChecked
|
|
29
32
|
|
|
30
33
|
_didChangeToggleAllCheckbox: ->
|
|
31
|
-
setting =
|
|
32
|
-
@checkboxes.
|
|
33
|
-
|
|
34
|
-
@_didChangeCheckbox(el)
|
|
34
|
+
setting = @toggle_all_checkbox.prop 'checked'
|
|
35
|
+
@checkboxes.prop checked: setting
|
|
36
|
+
setting
|
|
35
37
|
|
|
36
38
|
option: (key, value) ->
|
|
37
39
|
if $.isPlainObject(key)
|
|
@@ -32,7 +32,6 @@ class ActiveAdmin.DropdownMenu
|
|
|
32
32
|
@
|
|
33
33
|
|
|
34
34
|
destroy: ->
|
|
35
|
-
@$element.unbind()
|
|
36
35
|
@$element = null
|
|
37
36
|
@
|
|
38
37
|
|
|
@@ -97,5 +96,9 @@ class ActiveAdmin.DropdownMenu
|
|
|
97
96
|
|
|
98
97
|
$.widget.bridge 'aaDropdownMenu', ActiveAdmin.DropdownMenu
|
|
99
98
|
|
|
100
|
-
|
|
99
|
+
onDOMReady = ->
|
|
101
100
|
$('.dropdown_menu').aaDropdownMenu()
|
|
101
|
+
|
|
102
|
+
$(document).
|
|
103
|
+
ready(onDOMReady).
|
|
104
|
+
on 'page:load turbolinks:load', onDOMReady
|
|
@@ -23,7 +23,7 @@ class ActiveAdmin.PerPage
|
|
|
23
23
|
while m = re.exec(query)
|
|
24
24
|
params[@_decode(m[1])] = @_decode(m[2])
|
|
25
25
|
params
|
|
26
|
-
|
|
26
|
+
|
|
27
27
|
_decode: (value) ->
|
|
28
28
|
#replace "+" before decodeURIComponent
|
|
29
29
|
decodeURIComponent(value.replace(/\+/g, '%20'))
|
|
@@ -38,5 +38,9 @@ class ActiveAdmin.PerPage
|
|
|
38
38
|
|
|
39
39
|
$.widget.bridge 'perPage', ActiveAdmin.PerPage
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
onDOMReady = ->
|
|
42
42
|
$('.pagination_per_page select').perPage()
|
|
43
|
+
|
|
44
|
+
$(document).
|
|
45
|
+
ready(onDOMReady).
|
|
46
|
+
on 'page:load turbolinks:load', onDOMReady
|
|
@@ -11,12 +11,10 @@ class ActiveAdmin.TableCheckboxToggler extends ActiveAdmin.CheckboxToggler
|
|
|
11
11
|
_didChangeCheckbox: (checkbox) ->
|
|
12
12
|
super
|
|
13
13
|
|
|
14
|
-
$
|
|
14
|
+
$(checkbox).parents('tr').toggleClass 'selected', checkbox.checked
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
else
|
|
19
|
-
$row.removeClass 'selected'
|
|
16
|
+
_didChangeToggleAllCheckbox: ->
|
|
17
|
+
@$container.find('tbody tr').toggleClass 'selected', super
|
|
20
18
|
|
|
21
19
|
_didClickCell: (cell) ->
|
|
22
20
|
$(cell).parent('tr').find(':checkbox').click()
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
//= depend_on_asset "active_admin/datepicker/datepicker-input-icon.png"
|
|
2
1
|
// -------------------------------------- Active Admin Forms
|
|
3
2
|
form {
|
|
4
3
|
/* Reset margins & Padding */
|
|
@@ -291,9 +290,7 @@ $filter-field-seperator-width: 12px;
|
|
|
291
290
|
$side-by-side-filter-input-width: ($sidebar-inner-content-width / 2) - ($text-input-horizontal-padding * 2) - $filter-field-seperator-width;
|
|
292
291
|
$side-by-side-filter-select-width: ($sidebar-inner-content-width / 2) - $filter-field-seperator-width;
|
|
293
292
|
|
|
294
|
-
$date-range-filter-input-
|
|
295
|
-
$date-range-filter-input-horizontal-padding: $date-range-filter-input-right-padding + $text-input-horizontal-padding;
|
|
296
|
-
$date-range-filter-input-width: ($sidebar-inner-content-width / 2) - $filter-field-seperator-width - $date-range-filter-input-horizontal-padding;
|
|
293
|
+
$date-range-filter-input-width: ($sidebar-inner-content-width / 2) - ($filter-field-seperator-width / 2);
|
|
297
294
|
|
|
298
295
|
form.filter_form {
|
|
299
296
|
.filter_form_field {
|
|
@@ -326,16 +323,13 @@ form.filter_form {
|
|
|
326
323
|
}
|
|
327
324
|
|
|
328
325
|
&.filter_date_range {
|
|
329
|
-
.seperator {
|
|
330
|
-
display: inline-block;
|
|
331
|
-
text-align: center;
|
|
332
|
-
width: $filter-field-seperator-width;
|
|
333
|
-
}
|
|
334
|
-
|
|
335
326
|
input[type=text] {
|
|
336
|
-
|
|
337
|
-
padding-right: $date-range-filter-input-right-padding;
|
|
327
|
+
box-sizing: border-box;
|
|
338
328
|
width: $date-range-filter-input-width;
|
|
329
|
+
|
|
330
|
+
+ input {
|
|
331
|
+
margin-left: 6px;
|
|
332
|
+
}
|
|
339
333
|
}
|
|
340
334
|
}
|
|
341
335
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
padding: 3px 5px 2px 5px;
|
|
7
7
|
font-size: 0.8em;
|
|
8
8
|
|
|
9
|
+
// TODO: deprecated, remove in a v2 release
|
|
9
10
|
&.ok, &.published, &.complete, &.completed, &.green { background: #8daa92; }
|
|
10
11
|
&.warn, &.warning, &.orange { background: #e29b20; }
|
|
11
12
|
&.error, &.errored, &.red { background: #d45f53; }
|
|
@@ -5,6 +5,10 @@ table tr {
|
|
|
5
5
|
td {
|
|
6
6
|
vertical-align: top;
|
|
7
7
|
}
|
|
8
|
+
|
|
9
|
+
th {
|
|
10
|
+
text-align: left;
|
|
11
|
+
}
|
|
8
12
|
}
|
|
9
13
|
|
|
10
14
|
// --------- Index Tables
|
|
@@ -18,7 +22,6 @@ table.index_table {
|
|
|
18
22
|
th {
|
|
19
23
|
@include section-header;
|
|
20
24
|
border-right: none;
|
|
21
|
-
text-align: left;
|
|
22
25
|
padding-left: $cell-horizontal-padding;
|
|
23
26
|
padding-right: $cell-horizontal-padding;
|
|
24
27
|
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
@import "active_admin/mixins/variables";
|
|
2
|
-
@import "active_admin/mixins/reset";
|
|
3
2
|
@import "active_admin/mixins/gradients";
|
|
4
3
|
@import "active_admin/mixins/shadows";
|
|
5
4
|
@import "active_admin/mixins/rounded";
|
|
@@ -7,4 +6,3 @@
|
|
|
7
6
|
@import "active_admin/mixins/sections";
|
|
8
7
|
@import "active_admin/mixins/utilities";
|
|
9
8
|
@import "active_admin/mixins/typography";
|
|
10
|
-
@import "bourbon";
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<%= active_admin_form_for(resource, as: resource_name, url: send(:"#{scope}_session_path"), html: { id: "session_new" }) do |f|
|
|
6
6
|
f.inputs do
|
|
7
7
|
resource.class.authentication_keys.each_with_index { |key, index|
|
|
8
|
-
f.input key, label: t(
|
|
8
|
+
f.input key, label: t("active_admin.devise.#{key}.title"), input_html: { autofocus: index.zero? }
|
|
9
9
|
}
|
|
10
10
|
f.input :password, label: t('active_admin.devise.password.title')
|
|
11
11
|
f.input :remember_me, label: t('active_admin.devise.login.remember_me'), as: :boolean if devise_mapping.rememberable?
|
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
<%- if controller_name != 'sessions' %>
|
|
2
2
|
<% scope = Devise::Mapping.find_scope!(resource_name) %>
|
|
3
|
-
<%= link_to t('active_admin.devise.links.sign_in'), send(:"new_#{scope}_session_path")
|
|
3
|
+
<%= link_to t('active_admin.devise.links.sign_in'), send(:"new_#{scope}_session_path") %>
|
|
4
|
+
<br>
|
|
4
5
|
<% end -%>
|
|
5
6
|
|
|
6
7
|
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
|
7
|
-
<%= link_to t('active_admin.devise.links.sign_up'), new_registration_path(resource_name)
|
|
8
|
+
<%= link_to t('active_admin.devise.links.sign_up'), new_registration_path(resource_name) %>
|
|
9
|
+
<br>
|
|
8
10
|
<% end -%>
|
|
9
11
|
|
|
10
12
|
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
|
|
11
|
-
<%= link_to t('active_admin.devise.links.forgot_your_password'), new_password_path(resource_name)
|
|
13
|
+
<%= link_to t('active_admin.devise.links.forgot_your_password'), new_password_path(resource_name) %>
|
|
14
|
+
<br>
|
|
12
15
|
<% end -%>
|
|
13
16
|
|
|
14
17
|
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
|
15
|
-
<%= link_to t('active_admin.devise.links.resend_confirmation_instructions'), new_confirmation_path(resource_name)
|
|
18
|
+
<%= link_to t('active_admin.devise.links.resend_confirmation_instructions'), new_confirmation_path(resource_name) %>
|
|
19
|
+
<br>
|
|
16
20
|
<% end -%>
|
|
17
21
|
|
|
18
22
|
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
|
|
19
|
-
<%= link_to t('active_admin.devise.links.resend_unlock_instructions'), new_unlock_path(resource_name)
|
|
23
|
+
<%= link_to t('active_admin.devise.links.resend_unlock_instructions'), new_unlock_path(resource_name) %>
|
|
24
|
+
<br>
|
|
20
25
|
<% end -%>
|
|
21
26
|
|
|
22
27
|
<%- if devise_mapping.omniauthable? %>
|
|
23
28
|
<%- resource_class.omniauth_providers.each do |provider| %>
|
|
24
29
|
<%= link_to t('active_admin.devise.links.sign_in_with_omniauth_provider', provider: provider.to_s.titleize),
|
|
25
|
-
omniauth_authorize_path(resource_name, provider)
|
|
30
|
+
omniauth_authorize_path(resource_name, provider) %>
|
|
31
|
+
<br>
|
|
26
32
|
<% end -%>
|
|
27
33
|
<% end -%>
|