activeadmin 0.4.4 → 0.5.0.pre
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activeadmin might be problematic. Click here for more details.
- data/.gitignore +3 -0
- data/.travis.yml +5 -0
- data/CHANGELOG.md +50 -0
- data/CONTRIBUTING.md +2 -4
- data/Gemfile +10 -4
- data/Guardfile +0 -1
- data/LICENSE +1 -1
- data/README.rdoc +19 -8
- data/Rakefile +10 -1
- data/activeadmin.gemspec +2 -1
- data/app/assets/javascripts/active_admin/application.js +3 -9
- data/app/assets/javascripts/active_admin/base.js +1 -0
- data/app/assets/javascripts/active_admin/components/jquery.aa.checkbox-toggler.js.coffee +64 -0
- data/app/assets/javascripts/active_admin/components/jquery.aa.dropdown-menu.js.coffee +107 -0
- data/app/assets/javascripts/active_admin/components/jquery.aa.popover.js.coffee +100 -0
- data/app/assets/javascripts/active_admin/components/jquery.aa.table-checkbox-toggler.js.coffee +27 -0
- data/app/assets/javascripts/active_admin/lib/namespace.js.coffee +3 -0
- data/app/assets/javascripts/active_admin/pages/application.js.coffee +13 -0
- data/app/assets/javascripts/active_admin/pages/batch_actions.js.coffee +26 -0
- data/app/assets/stylesheets/active_admin/_base.css.scss +32 -26
- data/app/assets/stylesheets/active_admin/_forms.css.scss +12 -5
- data/app/assets/stylesheets/active_admin/_header.css.scss +1 -2
- data/app/assets/stylesheets/active_admin/_typography.css.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +151 -0
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +3 -3
- data/app/assets/stylesheets/active_admin/components/_popovers.css.scss +123 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +20 -27
- data/app/assets/stylesheets/active_admin/components/_tables.css.scss +1 -0
- data/app/assets/stylesheets/active_admin/mixins/_buttons.css.scss +38 -36
- data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +5 -5
- data/app/assets/stylesheets/active_admin/mixins/_icons.css.scss +7 -3
- data/app/assets/stylesheets/active_admin/mixins/_variables.css.scss +19 -17
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +2 -2
- data/app/assets/stylesheets/active_admin/print.css.scss +290 -0
- data/app/views/active_admin/dashboard/index.html.arb +1 -1
- data/app/views/active_admin/devise/passwords/edit.html.erb +17 -14
- data/app/views/active_admin/devise/passwords/new.html.erb +4 -4
- data/app/views/active_admin/devise/sessions/new.html.erb +6 -6
- data/app/views/active_admin/devise/shared/_links.erb +6 -6
- data/app/views/active_admin/page/index.html.arb +1 -1
- data/app/views/active_admin/resource/edit.html.arb +1 -1
- data/app/views/active_admin/resource/index.csv.erb +1 -1
- data/app/views/active_admin/resource/index.html.arb +1 -1
- data/app/views/active_admin/resource/new.html.arb +1 -1
- data/app/views/active_admin/resource/show.html.arb +1 -1
- data/app/views/layouts/active_admin.html.arb +1 -1
- data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
- data/cucumber.yml +1 -1
- data/docs/0-installation.md +10 -1
- data/docs/{9-custom-pages.md → 10-custom-pages.md} +0 -0
- data/docs/2-resource-customization.md +19 -1
- data/docs/3-index-pages.md +31 -0
- data/docs/4-csv-format.md +9 -0
- data/docs/6-show-screens.md +1 -1
- data/docs/9-batch-actions.md +161 -0
- data/features/dashboard.feature +31 -8
- data/features/development_reloading.feature +1 -1
- data/features/edit_page.feature +3 -3
- data/features/i18n.feature +35 -0
- data/features/index/batch_actions.feature +98 -0
- data/features/index/filters.feature +26 -0
- data/features/index/format_as_csv.feature +35 -0
- data/features/index/index_as_table.feature +30 -2
- data/features/index/index_blank_slate.feature +8 -3
- data/features/index/index_scopes.feature +130 -24
- data/features/index/page_title.feature +12 -0
- data/features/new_page.feature +3 -3
- data/features/registering_pages.feature +61 -0
- data/features/root_to.feature +17 -0
- data/features/show/default_content.feature +1 -1
- data/features/show/page_title.feature +14 -0
- data/features/sidebar_sections.feature +26 -0
- data/features/site_title.feature +1 -1
- data/features/specifying_actions.feature +7 -6
- data/features/step_definitions/action_link_steps.rb +1 -1
- data/features/step_definitions/additional_web_steps.rb +7 -1
- data/features/step_definitions/batch_action_steps.rb +94 -0
- data/features/step_definitions/configuration_steps.rb +30 -8
- data/features/step_definitions/factory_steps.rb +12 -0
- data/features/step_definitions/format_steps.rb +6 -2
- data/features/step_definitions/i18n_steps.rb +3 -0
- data/features/step_definitions/table_steps.rb +114 -0
- data/features/step_definitions/user_steps.rb +30 -4
- data/features/support/env.rb +54 -15
- data/features/support/paths.rb +2 -0
- data/features/users/logging_in.feature +1 -1
- data/features/users/logging_out.feature +2 -1
- data/features/users/resetting_password.feature +34 -0
- data/lib/active_admin.rb +46 -7
- data/lib/active_admin/application.rb +30 -15
- data/lib/active_admin/base_controller/menu.rb +3 -3
- data/lib/active_admin/batch_actions.rb +17 -0
- data/lib/active_admin/batch_actions/controller.rb +25 -0
- data/lib/active_admin/batch_actions/resource_extension.rb +126 -0
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +35 -0
- data/lib/active_admin/batch_actions/views/batch_action_popover.rb +28 -0
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +63 -0
- data/lib/active_admin/batch_actions/views/selection_cells.rb +37 -0
- data/lib/active_admin/comments.rb +5 -2
- data/lib/active_admin/comments/comment.rb +4 -3
- data/lib/active_admin/comments/views/active_admin_comments.rb +5 -5
- data/lib/active_admin/component.rb +1 -18
- data/lib/active_admin/csv_builder.rb +8 -3
- data/lib/active_admin/dashboards.rb +21 -4
- data/lib/active_admin/dashboards/dashboard_controller.rb +1 -5
- data/lib/active_admin/dependency_checker.rb +1 -1
- data/lib/active_admin/dsl.rb +61 -4
- data/lib/active_admin/engine.rb +1 -1
- data/lib/active_admin/filters.rb +8 -0
- data/lib/active_admin/filters/dsl.rb +12 -0
- data/lib/active_admin/filters/forms.rb +93 -0
- data/lib/active_admin/filters/resource_extension.rb +92 -0
- data/lib/active_admin/form_builder.rb +88 -33
- data/lib/active_admin/helpers/collection.rb +23 -0
- data/lib/active_admin/helpers/optional_display.rb +1 -1
- data/lib/active_admin/inputs/filter_select_input.rb +1 -1
- data/lib/active_admin/locales/bg.yml +37 -1
- data/lib/active_admin/locales/ca.yml +36 -0
- data/lib/active_admin/locales/cs.yml +36 -0
- data/lib/active_admin/locales/da.yml +36 -0
- data/lib/active_admin/locales/de.yml +42 -0
- data/lib/active_admin/locales/en.yml +27 -2
- data/lib/active_admin/locales/es.yml +45 -4
- data/lib/active_admin/locales/fr.yml +22 -0
- data/lib/active_admin/locales/{he_il.yml → he.yml} +37 -2
- data/lib/active_admin/locales/hr.yml +49 -5
- data/lib/active_admin/locales/hu.yml +21 -0
- data/lib/active_admin/locales/it.yml +36 -1
- data/lib/active_admin/locales/ja.yml +36 -0
- data/lib/active_admin/locales/ko.yml +36 -1
- data/lib/active_admin/locales/lv.yml +28 -2
- data/lib/active_admin/locales/nl.yml +42 -1
- data/lib/active_admin/locales/no-NB.yml +15 -0
- data/lib/active_admin/locales/pl.yml +45 -1
- data/lib/active_admin/locales/pt-BR.yml +36 -1
- data/lib/active_admin/locales/ro.yml +67 -0
- data/lib/active_admin/locales/ru.yml +43 -3
- data/lib/active_admin/locales/sv-SE.yml +41 -1
- data/lib/active_admin/locales/tr.yml +80 -0
- data/lib/active_admin/locales/vi.yml +80 -0
- data/lib/active_admin/locales/{zh_cn.yml → zh-CN.yml} +42 -2
- data/lib/active_admin/locales/zh-TW.yml +36 -1
- data/lib/active_admin/menu.rb +55 -30
- data/lib/active_admin/menu_builder.rb +65 -0
- data/lib/active_admin/menu_item.rb +55 -14
- data/lib/active_admin/namespace.rb +25 -55
- data/lib/active_admin/page.rb +15 -10
- data/lib/active_admin/resource.rb +9 -0
- data/lib/active_admin/resource/action_items.rb +4 -4
- data/lib/active_admin/resource/controllers.rb +1 -1
- data/lib/active_admin/resource/menu.rb +19 -21
- data/lib/active_admin/resource/naming.rb +55 -45
- data/lib/active_admin/resource/sidebars.rb +0 -13
- data/lib/active_admin/resource_collection.rb +10 -10
- data/lib/active_admin/resource_controller.rb +5 -5
- data/lib/active_admin/resource_controller/actions.rb +2 -0
- data/lib/active_admin/resource_controller/collection.rb +13 -4
- data/lib/active_admin/resource_dsl.rb +12 -6
- data/lib/active_admin/router.rb +27 -8
- data/lib/active_admin/scope.rb +1 -0
- data/lib/active_admin/sidebar_section.rb +2 -6
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +18 -13
- data/lib/active_admin/view_helpers.rb +0 -2
- data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +24 -25
- data/lib/active_admin/view_helpers/display_helper.rb +1 -1
- data/lib/active_admin/view_helpers/fields_for.rb +44 -0
- data/lib/active_admin/view_helpers/form_helper.rb +6 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -1
- data/lib/active_admin/views/components/action_list_popover.rb +29 -0
- data/lib/active_admin/views/components/attributes_table.rb +6 -2
- data/lib/active_admin/views/components/dropdown_menu.rb +73 -0
- data/lib/active_admin/views/components/paginated_collection.rb +13 -14
- data/lib/active_admin/views/components/popover.rb +27 -0
- data/lib/active_admin/views/components/scopes.rb +8 -13
- data/lib/active_admin/views/components/sidebar_section.rb +1 -1
- data/lib/active_admin/views/components/site_title.rb +55 -0
- data/lib/active_admin/views/components/status_tag.rb +4 -4
- data/lib/active_admin/views/components/table_for.rb +18 -18
- data/lib/active_admin/views/dashboard_section_renderer.rb +1 -1
- data/lib/active_admin/views/footer.rb +18 -0
- data/lib/active_admin/views/header.rb +31 -0
- data/lib/active_admin/views/index_as_block.rb +3 -0
- data/lib/active_admin/views/index_as_blog.rb +4 -0
- data/lib/active_admin/views/index_as_grid.rb +2 -0
- data/lib/active_admin/views/index_as_table.rb +19 -6
- data/lib/active_admin/views/pages/base.rb +14 -48
- data/lib/active_admin/views/pages/form.rb +3 -3
- data/lib/active_admin/views/pages/index.rb +56 -24
- data/lib/active_admin/views/pages/layout.rb +2 -2
- data/lib/active_admin/views/pages/page.rb +10 -4
- data/lib/active_admin/views/pages/show.rb +11 -8
- data/lib/active_admin/views/tabbed_navigation.rb +3 -3
- data/lib/active_admin/views/title_bar.rb +50 -0
- data/lib/active_admin/views/utility_nav.rb +41 -0
- data/lib/generators/active_admin/assets/assets_generator.rb +1 -1
- data/lib/generators/active_admin/assets/templates/3.0/active_admin.js +1 -0
- data/lib/generators/active_admin/assets/templates/3.1/active_admin.css.scss +26 -3
- data/lib/generators/active_admin/devise/devise_generator.rb +2 -2
- data/lib/generators/active_admin/install/install_generator.rb +10 -10
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +21 -1
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +20 -0
- data/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
- data/lib/generators/active_admin/resource/templates/admin.rb +1 -1
- data/spec/integration/memory_spec.rb +1 -11
- data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +50 -0
- data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +82 -0
- data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +34 -0
- data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +60 -0
- data/spec/javascripts/compiled/jquery.aa.popover-spec.js +106 -0
- data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +37 -0
- data/spec/javascripts/fixtures/checkboxes.html +9 -0
- data/spec/javascripts/fixtures/table_checkboxes.html +17 -0
- data/spec/javascripts/helpers/SpecHelper.js +3 -0
- data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +108 -0
- data/spec/javascripts/helpers/vendor/jasmine-jquery.js +288 -0
- data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +2915 -0
- data/spec/javascripts/support/jasmine.yml +74 -0
- data/spec/javascripts/support/jasmine_config.rb +23 -0
- data/spec/javascripts/support/jasmine_runner.rb +32 -0
- data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +34 -0
- data/spec/javascripts/support/jquery.min.js +4 -0
- data/spec/spec_helper.rb +13 -13
- data/spec/spec_helper_without_rails.rb +2 -3
- data/spec/support/detect_rails_version.rb +16 -10
- data/spec/support/rails_template.rb +13 -1
- data/spec/support/templates/admin/stores.rb +1 -0
- data/spec/support/templates/en.yml +6 -0
- data/spec/unit/action_builder_spec.rb +38 -0
- data/spec/unit/application_spec.rb +12 -16
- data/spec/unit/base_controller_shared_examples.rb +3 -6
- data/spec/unit/batch_actions/resource_spec.rb +91 -0
- data/spec/unit/batch_actions/settings_spec.rb +61 -0
- data/spec/unit/breadcrumbs_spec.rb +33 -0
- data/spec/unit/comments_spec.rb +6 -0
- data/spec/unit/config_shared_examples.rb +17 -64
- data/spec/unit/csv_builder_spec.rb +12 -2
- data/spec/unit/dashboard_controller_spec.rb +11 -5
- data/spec/unit/dsl_include_spec.rb +20 -0
- data/spec/unit/{filter_form_builder_spec.rb → filters/filter_form_builder_spec.rb} +10 -7
- data/spec/unit/filters/resource_spec.rb +60 -0
- data/spec/unit/form_builder_spec.rb +180 -28
- data/spec/unit/helpers/collection_spec.rb +65 -0
- data/spec/unit/menu_item_spec.rb +48 -53
- data/spec/unit/menu_spec.rb +46 -32
- data/spec/unit/namespace/register_page_spec.rb +0 -6
- data/spec/unit/namespace/register_resource_spec.rb +1 -8
- data/spec/unit/namespace_spec.rb +8 -2
- data/spec/unit/page_spec.rb +20 -8
- data/spec/unit/resource/naming_spec.rb +27 -26
- data/spec/unit/resource/sidebars_spec.rb +0 -7
- data/spec/unit/resource_collection_spec.rb +11 -11
- data/spec/unit/resource_controller/collection_spec.rb +23 -1
- data/spec/unit/resource_controller/sidebars_spec.rb +46 -0
- data/spec/unit/resource_controller_spec.rb +43 -0
- data/spec/unit/resource_registration_spec.rb +2 -13
- data/spec/unit/resource_spec.rb +0 -42
- data/spec/unit/routing_spec.rb +60 -14
- data/spec/unit/scope_spec.rb +7 -0
- data/spec/unit/view_factory_spec.rb +9 -6
- data/spec/unit/view_helpers/fields_for_spec.rb +41 -0
- data/spec/unit/view_helpers/form_helper_spec.rb +18 -0
- data/spec/unit/views/components/action_list_popover_spec.rb +30 -0
- data/spec/unit/views/components/attributes_table_spec.rb +32 -20
- data/spec/unit/views/components/batch_action_popover_spec.rb +33 -0
- data/spec/unit/views/components/blank_slate_spec.rb +5 -3
- data/spec/unit/views/components/columns_spec.rb +32 -22
- data/spec/unit/views/components/paginated_collection_spec.rb +54 -12
- data/spec/unit/views/components/panel_spec.rb +11 -6
- data/spec/unit/views/components/popover_spec.rb +33 -0
- data/spec/unit/views/components/sidebar_section_spec.rb +6 -6
- data/spec/unit/views/components/site_title_spec.rb +78 -0
- data/spec/unit/views/components/status_tag_spec.rb +17 -10
- data/spec/unit/views/components/table_for_spec.rb +37 -17
- data/spec/unit/views/pages/layout_spec.rb +51 -10
- data/spec/unit/views/tabbed_navigation_spec.rb +44 -23
- data/tasks/js.rake +32 -0
- data/tasks/test.rake +1 -1
- metadata +233 -200
- data/lib/active_admin/arbre.rb +0 -22
- data/lib/active_admin/arbre/builder.rb +0 -125
- data/lib/active_admin/arbre/context.rb +0 -45
- data/lib/active_admin/arbre/html/attributes.rb +0 -20
- data/lib/active_admin/arbre/html/class_list.rb +0 -24
- data/lib/active_admin/arbre/html/collection.rb +0 -27
- data/lib/active_admin/arbre/html/document.rb +0 -42
- data/lib/active_admin/arbre/html/element.rb +0 -161
- data/lib/active_admin/arbre/html/html5_elements.rb +0 -47
- data/lib/active_admin/arbre/html/tag.rb +0 -145
- data/lib/active_admin/arbre/html/text_node.rb +0 -35
- data/lib/active_admin/filter_form_builder.rb +0 -53
- data/lib/active_admin/renderer.rb +0 -87
- data/lib/active_admin/resource_controller/filters.rb +0 -58
- data/lib/active_admin/stylesheets/active_admin/mixins/_utilities.scss +0 -0
- data/lib/active_admin/view_helpers/filter_form_helper.rb +0 -36
- data/lib/active_admin/view_helpers/renderer_helper.rb +0 -29
- data/lib/active_admin/views/header_renderer.rb +0 -82
- data/lib/generators/active_admin/assets/templates/dashboards.rb +0 -36
- data/lib/generators/active_admin/install/templates/dashboards.rb +0 -44
- data/spec/unit/arbre/context_spec.rb +0 -35
- data/spec/unit/arbre/html/element_finder_methods_spec.rb +0 -110
- data/spec/unit/arbre/html/element_spec.rb +0 -236
- data/spec/unit/arbre/html/tag_attributes_spec.rb +0 -61
- data/spec/unit/arbre/html/tag_spec.rb +0 -63
- data/spec/unit/arbre/html_spec.rb +0 -228
- data/spec/unit/renderer_spec.rb +0 -126
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,37 @@
|
|
1
1
|
## Master (unreleased)
|
2
2
|
|
3
|
+
### Enhancements
|
4
|
+
|
5
|
+
* Created new view components (Footer, TitleBar, Header, UtilityNav) to more
|
6
|
+
easily customize the views in Active Admin and per namespace. (@gregbell)
|
7
|
+
* All CSS is now encapsulated under the `body.active_admin` class. This may
|
8
|
+
change the precedence of styles that you created to override or use in
|
9
|
+
other areas of your application.
|
10
|
+
* Dashboards are now implemented as pages. For more details of how to configure
|
11
|
+
a page, checkout http://activeadmin.info/docs/9-custom-pages.html
|
12
|
+
* Root route can be set to any controller#action using `#root_to`.
|
13
|
+
* Batch Actions allows you to select entries on index page and perform
|
14
|
+
an action against them.
|
15
|
+
* CSV separators are configurable.
|
16
|
+
* Lot of bug fixes.
|
17
|
+
|
18
|
+
### Deprecations
|
19
|
+
|
20
|
+
* Removed all references to ActiveAdmin::Renderer. If you were using these
|
21
|
+
please update code to use an Arbre component. Removed
|
22
|
+
`ActiveAdmin:Views::HeaderRender` and replaced with
|
23
|
+
`ActiveAdmin::Views::Header` component.
|
24
|
+
* ActiveAdmin::Menu and ActiveAdmin::MenuItem API has changed. If you were
|
25
|
+
creating custom menu items, the builder syntax has changed to. Menu#add now
|
26
|
+
accepts a MenuItem, instead of building the menu item for you.
|
27
|
+
* `ActiveAdmin::Dashboards.build` is deprecated in favour of generating a page
|
28
|
+
and using the new `config.root_to` option.
|
29
|
+
* Arbre is now a gem on its own.
|
30
|
+
|
31
|
+
### Contributions
|
32
|
+
|
33
|
+
552 commits (140 Pull Requests) by 88 contributors.
|
34
|
+
|
3
35
|
## 0.4.4
|
4
36
|
|
5
37
|
### Dependencies
|
@@ -25,6 +57,7 @@
|
|
25
57
|
* [#1032][]: The html body now includes a class for the namespace name ([@mattvague][])
|
26
58
|
* [#1013][]: Hide the count from one specific scope using `:show_count => false`
|
27
59
|
([@latortuga][])
|
60
|
+
* [#1023][]: Add localization support for comments ([@MoritzMoritz][])
|
28
61
|
|
29
62
|
### Bug Fixes
|
30
63
|
|
@@ -34,6 +67,21 @@
|
|
34
67
|
* [#983][]: Fixed compatibility with pry-rails ([@pcreux][])
|
35
68
|
* [#409][]: Install generator handles custom class names for user ([@gregbell][])
|
36
69
|
|
70
|
+
### Contributors
|
71
|
+
|
72
|
+
42 Commits by 10 authors
|
73
|
+
|
74
|
+
* Allen Huang
|
75
|
+
* Daniel Lepage
|
76
|
+
* Thibaut Barrère
|
77
|
+
* Drew Ulmer
|
78
|
+
* Juan Schwindt
|
79
|
+
* Moritz Behr
|
80
|
+
* Jeff Ancel
|
81
|
+
* Matt Vague
|
82
|
+
* Greg Bell
|
83
|
+
* Philippe Creux
|
84
|
+
|
37
85
|
|
38
86
|
## 0.4.1
|
39
87
|
|
@@ -525,12 +573,14 @@ of the highlights. 250 commits. Enough said.
|
|
525
573
|
[#994]: https://github.com/gregbell/active_admin/issues/994
|
526
574
|
[#1013]: https://github.com/gregbell/active_admin/issues/1013
|
527
575
|
[#1016]: https://github.com/gregbell/active_admin/issues/1016
|
576
|
+
[#1023]: https://github.com/gregbell/active_admin/issues/1023
|
528
577
|
[#1032]: https://github.com/gregbell/active_admin/issues/1032
|
529
578
|
[#1033]: https://github.com/gregbell/active_admin/issues/1033
|
530
579
|
[#1041]: https://github.com/gregbell/active_admin/issues/1041
|
531
580
|
[#1063]: https://github.com/gregbell/active_admin/issues/1063
|
532
581
|
[@BoboFraggins]: https://github.com/BoboFraggins
|
533
582
|
[@DMajrekar]: https://github.com/DMajrekar
|
583
|
+
[@MoritzMoritz]: https://github.com/MoritzMoritz
|
534
584
|
[@ZequeZ]: https://github.com/ZequeZ
|
535
585
|
[@bobbytables]: https://github.com/bobbytables
|
536
586
|
[@comboy]: https://github.com/comboy
|
data/CONTRIBUTING.md
CHANGED
@@ -10,10 +10,8 @@ The first step to contributing to Active Admin is creating a ticket in our
|
|
10
10
|
The community has been hard at work already, so please take a second to search
|
11
11
|
for the issue or feature before creating a new one.
|
12
12
|
|
13
|
-
All
|
14
|
-
to discuss the code and know if a fix is already in progress for an issue.
|
15
|
-
it's a feature, the team can prioritize what it should work on based on these
|
16
|
-
tickets.
|
13
|
+
All bug fixes should have a ticket. This makes it easy for everyone
|
14
|
+
to discuss the code and know if a fix is already in progress for an issue.
|
17
15
|
|
18
16
|
|
19
17
|
### 2. Fork & Create a Feature Branch
|
data/Gemfile
CHANGED
@@ -2,10 +2,13 @@ source 'http://rubygems.org'
|
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
-
|
5
|
+
ACTIVE_ADMIN_PATH = File.dirname(__FILE__) unless defined?(ACTIVE_ADMIN_PATH)
|
6
|
+
|
7
|
+
require File.expand_path('spec/support/detect_rails_version', ACTIVE_ADMIN_PATH)
|
6
8
|
|
7
9
|
rails_version = detect_rails_version
|
8
10
|
gem 'rails', rails_version
|
11
|
+
gem 'bourbon'
|
9
12
|
|
10
13
|
case rails_version
|
11
14
|
when /^3\.0/
|
@@ -19,17 +22,18 @@ else
|
|
19
22
|
end
|
20
23
|
|
21
24
|
group :development, :test do
|
22
|
-
gem 'sqlite3
|
25
|
+
gem 'sqlite3'
|
23
26
|
|
24
27
|
gem 'rake', '~> 0.9.2.2', :require => false
|
25
28
|
gem 'haml', '~> 3.1.1', :require => false
|
26
29
|
gem 'yard'
|
27
30
|
gem 'rdiscount' # For yard
|
31
|
+
gem "sprockets"
|
32
|
+
gem 'rails-i18n' # Gives us default i18n for many languages
|
28
33
|
end
|
29
34
|
|
30
35
|
group :test do
|
31
|
-
gem 'rspec-rails', '~> 2.
|
32
|
-
gem 'cucumber', '1.1.4'
|
36
|
+
gem 'rspec-rails', '~> 2.9.0'
|
33
37
|
gem 'cucumber-rails', '1.2.1', :require => false
|
34
38
|
gem 'capybara', '1.1.2'
|
35
39
|
gem 'database_cleaner'
|
@@ -37,4 +41,6 @@ group :test do
|
|
37
41
|
gem 'launchy'
|
38
42
|
gem 'jslint_on_rails', '~> 1.0.6'
|
39
43
|
gem 'guard-rspec'
|
44
|
+
gem "guard-coffeescript"
|
45
|
+
gem 'jasmine'
|
40
46
|
end
|
data/Guardfile
CHANGED
data/LICENSE
CHANGED
data/README.rdoc
CHANGED
@@ -4,30 +4,41 @@ Active Admin is a framework for creating administration style interfaces. It
|
|
4
4
|
abstracts common business application patterns to make it simple for developers
|
5
5
|
to implement beautiful and elegant interfaces with very little effort.
|
6
6
|
|
7
|
-
{<img src="https://secure.travis-ci.org/gregbell/active_admin.png" />}[http://travis-ci.org/gregbell/active_admin]
|
7
|
+
{<img src="https://secure.travis-ci.org/gregbell/active_admin.png?branch=master" />}[http://travis-ci.org/gregbell/active_admin] {<img src="https://codeclimate.com/badge.png" />}[https://codeclimate.com/github/gregbell/active_admin]
|
8
8
|
|
9
9
|
== Documentation & Support
|
10
10
|
|
11
11
|
* Documentation & Guides: http://activeadmin.info/documentation.html
|
12
12
|
* Wiki: https://github.com/gregbell/active_admin/wiki
|
13
|
-
* RDoc: http://rubydoc.info/
|
13
|
+
* RDoc: http://rubydoc.info/gems/activeadmin/frames
|
14
14
|
* Live demo: http://demo.activeadmin.info/admin
|
15
15
|
* Website: http://www.activeadmin.info
|
16
16
|
* <b>Need Support?</b> Ask the Mailing list: http://groups.google.com/group/activeadmin
|
17
17
|
|
18
|
-
== Bugs & Feature Requests
|
19
|
-
|
20
|
-
* Bug Reports & Feature Requests: https://github.com/gregbell/active_admin/issues
|
21
|
-
* Want to Contribute? Read the Guide: https://github.com/gregbell/active_admin/blob/master/CONTRIBUTING.md
|
22
|
-
|
23
18
|
== Goals
|
24
19
|
|
25
20
|
1. Allow developers to quickly create gorgeous administration interfaces
|
26
|
-
<
|
21
|
+
<b>(Not Just CRUD)</b>
|
27
22
|
2. Build a DSL for developers and an interface for businesses.
|
28
23
|
3. Ensure that developers can easily customize every nook and cranny of the interface.
|
29
24
|
4. Build common interfaces as shareable gems so that the entire community benefits.
|
30
25
|
|
26
|
+
== Bugs Reports & Contributing
|
27
|
+
|
28
|
+
* Bug Reports: https://github.com/gregbell/active_admin/issues
|
29
|
+
* Want to Contribute? Read the Guide: https://github.com/gregbell/active_admin/blob/master/CONTRIBUTING.md
|
30
|
+
|
31
|
+
== Feature Requests
|
32
|
+
|
33
|
+
Please don't put feature requests in Github Issues. They will be closed as soon as they
|
34
|
+
are reviewed by one of the core team members. If you would like a feature in Active Admin,
|
35
|
+
please submit a well tested pull request with the desired changes. If you're not a coder,
|
36
|
+
then the mailing list may be a good place to try to convince someone to help you out
|
37
|
+
with your cause.
|
38
|
+
|
39
|
+
If you are going to submit a pull request, please read the contributing guide:
|
40
|
+
https://github.com/gregbell/active_admin/blob/master/CONTRIBUTING.md
|
41
|
+
|
31
42
|
|
32
43
|
== Getting Started
|
33
44
|
|
data/Rakefile
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require "bundler"
|
2
|
+
require 'rake'
|
2
3
|
Bundler.setup
|
3
4
|
Bundler::GemHelper.install_tasks
|
4
5
|
|
5
|
-
require 'rake'
|
6
6
|
|
7
7
|
def cmd(command)
|
8
8
|
puts command
|
@@ -16,3 +16,12 @@ FileList['tasks/**/*.rake'].each { |task| import task }
|
|
16
16
|
|
17
17
|
# Run the specs & cukes
|
18
18
|
task :default => :test
|
19
|
+
|
20
|
+
begin
|
21
|
+
require 'jasmine'
|
22
|
+
load 'jasmine/tasks/jasmine.rake'
|
23
|
+
rescue LoadError
|
24
|
+
task :jasmine do
|
25
|
+
abort "Jasmine is not available. In order to run jasmine, you must: (sudo) gem install jasmine"
|
26
|
+
end
|
27
|
+
end
|
data/activeadmin.gemspec
CHANGED
@@ -22,9 +22,10 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_dependency("bourbon", ">= 1.0.0")
|
23
23
|
s.add_dependency("meta_search", ">= 0.9.2")
|
24
24
|
s.add_dependency("devise", ">= 1.1.2")
|
25
|
-
s.add_dependency("formtastic", "
|
25
|
+
s.add_dependency("formtastic", ">= 2.0.0")
|
26
26
|
s.add_dependency("inherited_resources", ">= 1.3.1")
|
27
27
|
s.add_dependency("kaminari", ">= 0.13.0")
|
28
28
|
s.add_dependency("sass", ">= 3.1.0")
|
29
29
|
s.add_dependency("fastercsv", ">= 0")
|
30
|
+
s.add_dependency("arbre", ">= 1.0.1")
|
30
31
|
end
|
@@ -1,9 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
$(".clear_filters_btn").click(function(){
|
6
|
-
window.location.search = "";
|
7
|
-
return false;
|
8
|
-
});
|
9
|
-
});
|
1
|
+
//= require_tree ./lib/
|
2
|
+
//= require_tree ./components/
|
3
|
+
//= require_tree ./pages/
|
@@ -0,0 +1,64 @@
|
|
1
|
+
window.AA.CheckboxToggler = class AA.CheckboxToggler
|
2
|
+
|
3
|
+
constructor: (@options, @container) ->
|
4
|
+
|
5
|
+
defaults = {}
|
6
|
+
|
7
|
+
@options = $.extend( {}, defaults, options );
|
8
|
+
|
9
|
+
@_init()
|
10
|
+
@_bind()
|
11
|
+
|
12
|
+
_init: ->
|
13
|
+
|
14
|
+
if not @container
|
15
|
+
throw new Error("Container element not found")
|
16
|
+
else
|
17
|
+
@$container = $(@container)
|
18
|
+
|
19
|
+
if not @$container.find(".toggle_all").length
|
20
|
+
throw new Error("'toggle all' checkbox not found")
|
21
|
+
else
|
22
|
+
@toggle_all_checkbox = @$container.find(".toggle_all")
|
23
|
+
|
24
|
+
@checkboxes = @$container.find(":checkbox").not(@toggle_all_checkbox)
|
25
|
+
|
26
|
+
_bind: ->
|
27
|
+
@checkboxes.bind "change", (e) =>
|
28
|
+
@_didChangeCheckbox(e.target)
|
29
|
+
|
30
|
+
@toggle_all_checkbox.bind "change", (e) =>
|
31
|
+
@_didChangeToggleAllCheckbox()
|
32
|
+
|
33
|
+
_didChangeCheckbox: (checkbox) ->
|
34
|
+
if @checkboxes.filter(":checked").length == @checkboxes.length - 1
|
35
|
+
@_uncheckToggleAllCheckbox()
|
36
|
+
else if @checkboxes.filter(":checked").length == @checkboxes.length
|
37
|
+
@_checkToggleAllCheckbox()
|
38
|
+
|
39
|
+
_didChangeToggleAllCheckbox: ->
|
40
|
+
if @toggle_all_checkbox.attr("checked") == "checked"
|
41
|
+
@_checkAllCheckboxes()
|
42
|
+
else
|
43
|
+
@_uncheckAllCheckboxes()
|
44
|
+
|
45
|
+
_uncheckToggleAllCheckbox: ->
|
46
|
+
@toggle_all_checkbox.removeAttr("checked")
|
47
|
+
|
48
|
+
_checkToggleAllCheckbox: ->
|
49
|
+
@toggle_all_checkbox.attr("checked","checked")
|
50
|
+
|
51
|
+
_uncheckAllCheckboxes: ->
|
52
|
+
@checkboxes.each (index, el) =>
|
53
|
+
$(el).removeAttr("checked")
|
54
|
+
@_didChangeCheckbox(el)
|
55
|
+
|
56
|
+
_checkAllCheckboxes: ->
|
57
|
+
@checkboxes.each (index, el) =>
|
58
|
+
$(el).attr("checked","checked")
|
59
|
+
@_didChangeCheckbox(el)
|
60
|
+
|
61
|
+
|
62
|
+
( ( $ ) ->
|
63
|
+
$.widget.bridge 'checkboxToggler', AA.CheckboxToggler
|
64
|
+
)( jQuery )
|
@@ -0,0 +1,107 @@
|
|
1
|
+
window.AA.DropdownMenu = class AA.DropdownMenu
|
2
|
+
|
3
|
+
constructor: (@options, @element) ->
|
4
|
+
|
5
|
+
@$element = $(@element)
|
6
|
+
|
7
|
+
defaults = {
|
8
|
+
fadeInDuration: 20,
|
9
|
+
fadeOutDuration: 100,
|
10
|
+
onClickActionItemCallback: null
|
11
|
+
}
|
12
|
+
|
13
|
+
@options = $.extend({}, defaults, options)
|
14
|
+
|
15
|
+
@$menuButton = @$element.find(".dropdown_menu_button")
|
16
|
+
@$menuList = @$element.find(".dropdown_menu_list_wrapper")
|
17
|
+
|
18
|
+
@isOpen = false
|
19
|
+
|
20
|
+
@_buildMenuList()
|
21
|
+
@_bind()
|
22
|
+
|
23
|
+
return @
|
24
|
+
|
25
|
+
open: ->
|
26
|
+
@isOpen = true
|
27
|
+
@$menuList.fadeIn @options.fadeInDuration
|
28
|
+
|
29
|
+
@_positionMenuList()
|
30
|
+
@_positionNipple()
|
31
|
+
|
32
|
+
return @
|
33
|
+
|
34
|
+
|
35
|
+
close: ->
|
36
|
+
@isOpen = false
|
37
|
+
@$menuList.fadeOut this.options.fadeOutDuration
|
38
|
+
|
39
|
+
return @
|
40
|
+
|
41
|
+
destroy: ->
|
42
|
+
@$element.unbind()
|
43
|
+
@$element = null
|
44
|
+
|
45
|
+
return @
|
46
|
+
|
47
|
+
isDisabled: ->
|
48
|
+
@$menuButton.hasClass("disabled")
|
49
|
+
|
50
|
+
disable: ->
|
51
|
+
@$menuButton.addClass("disabled")
|
52
|
+
|
53
|
+
enable: ->
|
54
|
+
@$menuButton.removeClass("disabled")
|
55
|
+
|
56
|
+
option: (key, value) ->
|
57
|
+
if $.isPlainObject(key)
|
58
|
+
return @options = $.extend(true, @options, key)
|
59
|
+
|
60
|
+
else if key?
|
61
|
+
return @options[key]
|
62
|
+
|
63
|
+
else
|
64
|
+
return @options[key] = value
|
65
|
+
|
66
|
+
# Private
|
67
|
+
|
68
|
+
_buildMenuList: ->
|
69
|
+
@$menuList.prepend("<div class=\"dropdown_menu_nipple\"></div>")
|
70
|
+
@$menuList.hide()
|
71
|
+
|
72
|
+
_bind: ->
|
73
|
+
$("body").bind 'click', () =>
|
74
|
+
if @isOpen is true
|
75
|
+
@close()
|
76
|
+
|
77
|
+
@$menuButton.bind 'click', () =>
|
78
|
+
unless @isDisabled()
|
79
|
+
if @isOpen is true
|
80
|
+
@close()
|
81
|
+
else
|
82
|
+
@open()
|
83
|
+
|
84
|
+
# Return false so that the event is stopped
|
85
|
+
false
|
86
|
+
|
87
|
+
_positionMenuList: ->
|
88
|
+
centerOfButtonFromLeft = @$menuButton.offset().left + @$menuButton.outerWidth() / 2
|
89
|
+
centerOfmenuListFromLeft = @$menuList.outerWidth() / 2
|
90
|
+
menuListLeftPos = centerOfButtonFromLeft - centerOfmenuListFromLeft
|
91
|
+
@$menuList.css "left", menuListLeftPos
|
92
|
+
|
93
|
+
_positionNipple: ->
|
94
|
+
centerOfmenuListFromLeft = @$menuList.outerWidth() / 2
|
95
|
+
bottomOfButtonFromTop = @$menuButton.offset().top + @$menuButton.outerHeight() + 10
|
96
|
+
@$menuList.css "top", bottomOfButtonFromTop
|
97
|
+
$nipple = @$menuList.find(".dropdown_menu_nipple")
|
98
|
+
centerOfnippleFromLeft = $nipple.outerWidth() / 2
|
99
|
+
nippleLeftPos = centerOfmenuListFromLeft - centerOfnippleFromLeft
|
100
|
+
$nipple.css "left", nippleLeftPos
|
101
|
+
|
102
|
+
(($) ->
|
103
|
+
$.widget.bridge 'aaDropdownMenu', AA.DropdownMenu
|
104
|
+
|
105
|
+
$ ->
|
106
|
+
$(".dropdown_menu").aaDropdownMenu()
|
107
|
+
)(jQuery)
|