activeadmin 0.2.2 → 0.3.0
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 +34 -0
- data/.travis.yml +4 -0
- data/.yardopts +8 -0
- data/CHANGELOG.md +177 -0
- data/Gemfile +21 -32
- data/Guardfile +8 -0
- data/README.rdoc +75 -14
- data/Rakefile +7 -100
- data/activeadmin.gemspec +21 -353
- data/{lib/generators/active_admin/install/templates/images → app/assets/images/active_admin}/admin_notes_icon.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
- data/{lib/generators/active_admin/install/templates/images → app/assets/images/active_admin}/loading.gif +0 -0
- data/{lib/generators/active_admin/install/templates/images → app/assets/images/active_admin}/nested_menu_arrow.gif +0 -0
- data/{lib/generators/active_admin/install/templates/images → app/assets/images/active_admin}/nested_menu_arrow_dark.gif +0 -0
- data/{lib/generators/active_admin/install/templates/images → app/assets/images/active_admin}/orderable.png +0 -0
- data/app/assets/javascripts/active_admin/base.js +12 -0
- data/{lib/generators/active_admin/install/templates/active_admin_vendor.js → app/assets/javascripts/active_admin/vendor.js} +0 -0
- data/{lib/active_admin/stylesheets/active_admin.scss → app/assets/stylesheets/active_admin/_base.css.scss} +58 -82
- data/{lib/active_admin/stylesheets/active_admin/_forms.scss → app/assets/stylesheets/active_admin/_forms.css.scss} +94 -5
- data/{lib/active_admin/stylesheets/active_admin/_header.scss → app/assets/stylesheets/active_admin/_header.css.scss} +13 -11
- data/app/assets/stylesheets/active_admin/_mixins.css.scss +1 -0
- data/{lib/active_admin/stylesheets/active_admin/_typography.scss → app/assets/stylesheets/active_admin/_typography.css.scss} +0 -0
- data/{lib/active_admin/stylesheets/active_admin/_comments.scss → app/assets/stylesheets/active_admin/components/_comments.css.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/_date_picker.css.scss +123 -0
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +38 -0
- data/{lib/active_admin/stylesheets/active_admin/mixins/_all.scss → app/assets/stylesheets/active_admin/mixins/_all.css.scss} +0 -0
- data/{lib/active_admin/stylesheets/active_admin/mixins/_buttons.scss → app/assets/stylesheets/active_admin/mixins/_buttons.css.scss} +0 -0
- data/{lib/active_admin/stylesheets/active_admin/mixins/_gradients.scss → app/assets/stylesheets/active_admin/mixins/_gradients.css.scss} +8 -0
- data/{lib/active_admin/stylesheets/active_admin/mixins/_icons.scss → app/assets/stylesheets/active_admin/mixins/_icons.css.scss} +0 -0
- data/{lib/active_admin/stylesheets/active_admin/mixins/_reset.scss → app/assets/stylesheets/active_admin/mixins/_reset.css.scss} +0 -0
- data/{lib/active_admin/stylesheets/active_admin/mixins/_rounded.scss → app/assets/stylesheets/active_admin/mixins/_rounded.css.scss} +0 -0
- data/{lib/active_admin/stylesheets/active_admin/mixins/_sections.scss → app/assets/stylesheets/active_admin/mixins/_sections.css.scss} +9 -2
- data/{lib/active_admin/stylesheets/active_admin/mixins/_shadows.scss → app/assets/stylesheets/active_admin/mixins/_shadows.css.scss} +1 -1
- data/{lib/active_admin/stylesheets/active_admin/mixins/_variables.scss → app/assets/stylesheets/active_admin/mixins/_variables.css.scss} +12 -3
- data/{lib/active_admin/views/templates/active_admin_dashboard → app/views/active_admin/dashboard}/index.html.arb +0 -0
- data/{lib/active_admin/views/templates → app/views}/active_admin/devise/mailer/reset_password_instructions.html.erb +0 -0
- data/{lib/active_admin/views/templates → app/views}/active_admin/devise/mailer/unlock_instructions.html.erb +0 -0
- data/{lib/active_admin/views/templates → app/views}/active_admin/devise/passwords/edit.html.erb +0 -0
- data/{lib/active_admin/views/templates → app/views}/active_admin/devise/passwords/new.html.erb +0 -0
- data/{lib/active_admin/views/templates → app/views}/active_admin/devise/sessions/new.html.erb +1 -1
- data/{lib/active_admin/views/templates → app/views}/active_admin/devise/shared/_links.erb +0 -0
- data/{lib/active_admin/views/templates → app/views}/active_admin/devise/unlocks/new.html.erb +0 -0
- data/{lib/active_admin/views/templates/active_admin_default → app/views/active_admin/resource}/edit.html.arb +0 -0
- data/app/views/active_admin/resource/index.csv.erb +20 -0
- data/{lib/active_admin/views/templates/active_admin_default → app/views/active_admin/resource}/index.html.arb +0 -0
- data/{lib/active_admin/views/templates/active_admin_default → app/views/active_admin/resource}/new.html.arb +0 -0
- data/{lib/active_admin/views/templates/active_admin_default → app/views/active_admin/resource}/show.html.arb +0 -0
- data/app/views/layouts/active_admin.html.arb +1 -0
- data/{lib/active_admin/views/templates → app/views}/layouts/active_admin_logged_out.html.erb +8 -4
- data/docs/0-installation.md +50 -0
- data/docs/1-general-configuration.md +43 -0
- data/docs/2-resource-customization.md +35 -0
- data/docs/3-index-pages.md +55 -0
- data/docs/3-index-pages/index-as-block.md +16 -0
- data/docs/3-index-pages/index-as-blog.md +61 -0
- data/docs/3-index-pages/index-as-grid.md +21 -0
- data/docs/3-index-pages/index-as-table.md +90 -0
- data/docs/4-csv-format.md +14 -0
- data/docs/5-forms.md +39 -0
- data/docs/6-show-screens.md +22 -0
- data/docs/7-sidebars.md +35 -0
- data/docs/8-custom-actions.md +123 -0
- data/features/comments/commenting.feature +31 -4
- data/features/edit_page.feature +30 -1
- data/features/index/filters.feature +35 -0
- data/features/index/format_as_csv.feature +46 -0
- data/features/index/formats.feature +2 -0
- data/features/index/index_as_block.feature +1 -1
- data/features/index/index_as_grid.feature +1 -1
- data/features/index/index_as_table.feature +2 -0
- data/features/index/index_blank_slate.feature +56 -0
- data/features/index/pagination.feature +0 -6
- data/features/registering_assets.feature +2 -2
- data/features/sidebar_sections.feature +7 -8
- data/features/specifying_actions.feature +72 -1
- data/features/step_definitions/action_item_steps.rb +2 -2
- data/features/step_definitions/additional_web_steps.rb +26 -16
- data/features/step_definitions/attribute_steps.rb +5 -7
- data/features/step_definitions/configuration_steps.rb +9 -9
- data/features/step_definitions/factory_steps.rb +4 -3
- data/features/step_definitions/format_steps.rb +29 -1
- data/features/step_definitions/layout_steps.rb +3 -0
- data/features/step_definitions/menu_steps.rb +2 -2
- data/features/step_definitions/sidebar_steps.rb +1 -5
- data/features/step_definitions/user_steps.rb +8 -2
- data/features/step_definitions/web_steps.rb +82 -90
- data/features/sti_resource.feature +12 -0
- data/features/support/env.rb +12 -10
- data/features/support/paths.rb +2 -0
- data/features/support/selectors.rb +45 -0
- data/lib/active_admin.rb +33 -263
- data/lib/active_admin/application.rb +228 -0
- data/lib/active_admin/arbre.rb +10 -10
- data/lib/active_admin/arbre/{html.rb → builder.rb} +29 -2
- data/lib/active_admin/arbre/context.rb +8 -0
- data/lib/active_admin/arbre/{attributes.rb → html/attributes.rb} +0 -0
- data/lib/active_admin/arbre/{class_list.rb → html/class_list.rb} +0 -0
- data/lib/active_admin/arbre/{collection.rb → html/collection.rb} +0 -0
- data/lib/active_admin/arbre/{document.rb → html/document.rb} +0 -0
- data/lib/active_admin/arbre/{element.rb → html/element.rb} +6 -6
- data/lib/active_admin/arbre/{html5_elements.rb → html/html5_elements.rb} +0 -0
- data/lib/active_admin/arbre/{tag.rb → html/tag.rb} +0 -0
- data/lib/active_admin/arbre/{text_node.rb → html/text_node.rb} +0 -0
- data/lib/active_admin/asset_registration.rb +1 -1
- data/lib/active_admin/callbacks.rb +5 -3
- data/lib/active_admin/comments.rb +3 -3
- data/lib/active_admin/comments/comment.rb +6 -0
- data/lib/active_admin/comments/configuration.rb +8 -6
- data/lib/active_admin/comments/namespace_helper.rb +1 -1
- data/lib/active_admin/comments/views/active_admin_comments.rb +1 -1
- data/lib/active_admin/csv_builder.rb +45 -0
- data/lib/active_admin/dashboards.rb +1 -1
- data/lib/active_admin/dashboards/dashboard_controller.rb +3 -10
- data/lib/active_admin/dependency_checker.rb +28 -0
- data/lib/active_admin/deprecation.rb +36 -0
- data/lib/active_admin/devise.rb +14 -3
- data/lib/active_admin/dsl.rb +26 -4
- data/lib/active_admin/engine.rb +4 -0
- data/lib/active_admin/form_builder.rb +18 -9
- data/lib/active_admin/helpers/scope_chain.rb +23 -0
- data/lib/active_admin/helpers/settings.rb +70 -0
- data/lib/active_admin/locales/cs.yml +34 -0
- data/lib/active_admin/locales/da.yml +28 -0
- data/lib/active_admin/locales/en.yml +40 -0
- data/lib/active_admin/locales/es.yml +40 -0
- data/lib/active_admin/locales/fr.yml +40 -0
- data/lib/active_admin/locales/it.yml +39 -0
- data/lib/active_admin/locales/pl.yml +34 -0
- data/lib/active_admin/locales/pt-BR.yml +41 -0
- data/lib/active_admin/locales/ru.yml +40 -0
- data/lib/active_admin/locales/zh_cn.yml +40 -0
- data/lib/active_admin/menu_item.rb +6 -0
- data/lib/active_admin/namespace.rb +14 -5
- data/lib/active_admin/reloader.rb +30 -0
- data/lib/active_admin/renderer.rb +1 -1
- data/lib/active_admin/resource.rb +45 -88
- data/lib/active_admin/resource/action_items.rb +88 -0
- data/lib/active_admin/resource/menu.rb +45 -0
- data/lib/active_admin/resource/naming.rb +46 -0
- data/lib/active_admin/resource/scopes.rb +33 -0
- data/lib/active_admin/resource/sidebars.rb +36 -0
- data/lib/active_admin/resource_controller.rb +32 -37
- data/lib/active_admin/resource_controller/action_builder.rb +1 -1
- data/lib/active_admin/resource_controller/actions.rb +66 -40
- data/lib/active_admin/resource_controller/callbacks.rb +1 -1
- data/lib/active_admin/resource_controller/collection.rb +9 -14
- data/lib/active_admin/resource_controller/filters.rb +1 -1
- data/lib/active_admin/resource_controller/form.rb +1 -1
- data/lib/active_admin/resource_controller/menu.rb +1 -1
- data/lib/active_admin/resource_controller/page_configurations.rb +2 -2
- data/lib/active_admin/resource_controller/scoping.rb +1 -1
- data/lib/active_admin/resource_controller/sidebars.rb +1 -21
- data/lib/active_admin/router.rb +85 -0
- data/lib/active_admin/sass/active_admin.scss +3 -0
- data/lib/active_admin/sass/css_loader.rb +16 -0
- data/lib/active_admin/sass/helpers.rb +45 -0
- data/lib/active_admin/scope.rb +16 -2
- data/lib/active_admin/sidebar_section.rb +41 -0
- data/lib/active_admin/stylesheets/active_admin/mixins/_utilities.scss +0 -0
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +5 -3
- data/lib/active_admin/view_helpers.rb +1 -2
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
- data/lib/active_admin/view_helpers/display_helper.rb +1 -1
- data/lib/active_admin/view_helpers/filter_form_helper.rb +26 -14
- data/lib/active_admin/view_helpers/form_helper.rb +1 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -1
- data/lib/active_admin/views/components/attributes_table.rb +2 -2
- data/lib/active_admin/views/components/blank_slate.rb +17 -0
- data/lib/active_admin/views/components/columns.rb +1 -3
- data/lib/active_admin/views/components/paginated_collection.rb +26 -8
- data/lib/active_admin/views/components/scopes.rb +13 -8
- data/lib/active_admin/views/components/sidebar_section.rb +1 -3
- data/lib/active_admin/views/components/status_tag.rb +55 -0
- data/lib/active_admin/views/components/table_for.rb +25 -6
- data/lib/active_admin/views/header_renderer.rb +20 -4
- data/lib/active_admin/views/index_as_block.rb +12 -7
- data/lib/active_admin/views/index_as_blog.rb +61 -21
- data/lib/active_admin/views/index_as_grid.rb +22 -1
- data/lib/active_admin/views/index_as_table.rb +97 -6
- data/lib/active_admin/views/pages/base.rb +20 -9
- data/lib/active_admin/views/pages/dashboard.rb +7 -4
- data/lib/active_admin/views/pages/edit.rb +3 -2
- data/lib/active_admin/views/pages/index.rb +30 -5
- data/lib/active_admin/views/pages/layout.rb +26 -0
- data/lib/active_admin/views/pages/new.rb +3 -2
- data/lib/active_admin/views/pages/show.rb +1 -1
- data/lib/active_admin/views/tabbed_navigation.rb +94 -0
- data/lib/generators/active_admin/assets/assets_generator.rb +21 -0
- data/lib/generators/active_admin/assets/templates/3.0/active_admin.js +427 -0
- data/lib/generators/active_admin/assets/templates/3.1/active_admin.css.scss +6 -0
- data/lib/generators/active_admin/assets/templates/3.1/active_admin.js +1 -0
- data/lib/generators/active_admin/assets/templates/dashboards.rb +36 -0
- data/lib/generators/active_admin/install/install_generator.rb +2 -4
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +26 -4
- data/lib/generators/active_admin/install/templates/dashboards.rb +4 -2
- data/lib/generators/active_admin/install/templates/migrations/2_move_admin_notes_to_comments.rb +2 -2
- data/script/local +44 -0
- data/script/use_rails +46 -0
- data/spec/integration/belongs_to_spec.rb +1 -1
- data/spec/integration/default_namespace.rb +77 -0
- data/spec/integration/javascript_spec.rb +20 -0
- data/spec/integration/stylesheets_spec.rb +41 -0
- data/spec/spec_helper.rb +21 -11
- data/spec/support/detect_rails_version.rb +10 -0
- data/spec/support/integration_example_group.rb +1 -1
- data/spec/support/jslint.yml +80 -0
- data/spec/support/rails_template.rb +1 -1
- data/spec/support/rails_template_with_data.rb +2 -1
- data/spec/support/templates/cucumber.rb +0 -4
- data/spec/unit/active_admin_spec.rb +8 -44
- data/spec/unit/application_spec.rb +78 -0
- data/spec/unit/arbre/context_spec.rb +22 -0
- data/spec/unit/arbre/html/element_finder_methods_spec.rb +2 -2
- data/spec/unit/arbre/html/element_spec.rb +2 -3
- data/spec/unit/arbre/html/tag_attributes_spec.rb +2 -2
- data/spec/unit/arbre/html/tag_spec.rb +2 -2
- data/spec/unit/arbre/html_spec.rb +2 -3
- data/spec/unit/auto_link_spec.rb +2 -1
- data/spec/unit/belongs_to_spec.rb +2 -1
- data/spec/unit/comments_spec.rb +43 -39
- data/spec/unit/controller_filters_spec.rb +11 -3
- data/spec/unit/csv_builder_spec.rb +83 -0
- data/spec/unit/devise_spec.rb +66 -0
- data/spec/unit/display_name_spec.rb +2 -2
- data/spec/unit/filter_form_builder_spec.rb +6 -3
- data/spec/unit/form_builder_spec.rb +20 -2
- data/spec/unit/generators/install_rails_3_1_spec.rb +16 -0
- data/spec/unit/helpers/scope_chain_spec.rb +36 -0
- data/spec/unit/helpers/settings_spec.rb +30 -0
- data/spec/unit/menu_item_spec.rb +6 -0
- data/spec/unit/namespace_spec.rb +68 -19
- data/spec/unit/rails_spec.rb +43 -0
- data/spec/unit/registration_spec.rb +18 -27
- data/spec/unit/reloader_spec.rb +28 -0
- data/spec/unit/resource/action_items_spec.rb +62 -0
- data/spec/unit/resource/menu_spec.rb +80 -0
- data/spec/unit/resource/naming_spec.rb +64 -0
- data/spec/unit/resource/scopes_spec.rb +30 -0
- data/spec/unit/resource/sidebars_spec.rb +50 -0
- data/spec/unit/resource_controller/collection_spec.rb +1 -1
- data/spec/unit/resource_controller_spec.rb +29 -24
- data/spec/unit/resource_spec.rb +78 -94
- data/spec/unit/sass/helpers_spec.rb +47 -0
- data/spec/unit/scope_spec.rb +11 -1
- data/spec/unit/view_factory_spec.rb +4 -1
- data/spec/unit/{components → views/components}/attributes_table_spec.rb +2 -2
- data/spec/unit/views/components/blank_slate_spec.rb +15 -0
- data/spec/unit/{components → views/components}/columns_spec.rb +2 -2
- data/spec/unit/{components → views/components}/panel_spec.rb +1 -3
- data/spec/unit/{components → views/components}/sidebar_section_spec.rb +3 -3
- data/spec/unit/views/components/status_tag_spec.rb +79 -0
- data/spec/unit/{components → views/components}/table_for_spec.rb +2 -1
- data/spec/unit/views/pages/layout_spec.rb +22 -0
- data/spec/unit/views/tabbed_navigation_spec.rb +125 -0
- data/tasks/docs.rake +39 -0
- data/tasks/test.rake +55 -0
- data/tasks/yard.rake +6 -0
- metadata +310 -189
- data/CHANGELOG.rdoc +0 -76
- data/lib/active_admin/action_items.rb +0 -37
- data/lib/active_admin/sidebar.rb +0 -39
- data/lib/active_admin/stylesheets/active_admin/_flash_messages.scss +0 -13
- data/lib/active_admin/view_helpers/status_tag_helper.rb +0 -13
- data/lib/active_admin/view_helpers/table_helper.rb +0 -12
- data/lib/active_admin/views/tabs_renderer.rb +0 -52
- data/lib/active_admin/views/templates/active_admin_default/index.csv.erb +0 -2
- data/lib/active_admin/views/templates/layouts/active_admin.html.erb +0 -39
- data/lib/generators/active_admin/install/templates/active_admin.js +0 -51
- data/spec/controllers/index_as_csv_spec.rb +0 -35
- data/spec/unit/action_items_spec.rb +0 -27
- data/spec/unit/tabs_renderer_spec.rb +0 -56
data/CHANGELOG.rdoc
DELETED
@@ -1,76 +0,0 @@
|
|
1
|
-
== 0.2.2 (2011-05-26)
|
2
|
-
|
3
|
-
68 Commits by 13 Contributors
|
4
|
-
|
5
|
-
=== Features & Enhancements
|
6
|
-
|
7
|
-
* Arbre includes self closing tags (#100)
|
8
|
-
* Controller class & action added to body as CSS classes (#99)
|
9
|
-
* HAML is not required by default (#92)
|
10
|
-
* Devise login now respects Devise.authentication_keys (#69)
|
11
|
-
* Active Admin no longer uses <tt>ActiveRecord::Base#search</tt> (#28)
|
12
|
-
* Resource's can now override the label in the menu (#48)
|
13
|
-
* Subdirectories are now loaded in the Active Admin load path
|
14
|
-
|
15
|
-
=== Bug Fixes
|
16
|
-
|
17
|
-
* Sort order now includes table name (#38)
|
18
|
-
* Fixed table_for 'odd', 'even' row classes (#96)
|
19
|
-
* Fixed Devise installation if AdminUser already exists (#95)
|
20
|
-
* Fixed issues when ActiveAdmin.default_namespaces is false (#32)
|
21
|
-
* Added styles for missing HTML 5 inputs (#31)
|
22
|
-
* Fixed issue if adding empty Active Admin Comment (#21)
|
23
|
-
* Fixed layout issues in FF 4 (#22)
|
24
|
-
* Use Sass::Plugin.options[:css_location] instead of Rails.root (#55)
|
25
|
-
|
26
|
-
=== Test Suite
|
27
|
-
|
28
|
-
* Update RSpec to latest & fix specs (Thanks Ben Marini & Jeremt Ruppel!) (#100)
|
29
|
-
* Added tests for STI models (#52)
|
30
|
-
|
31
|
-
=== Contributors
|
32
|
-
|
33
|
-
* Ben Marini
|
34
|
-
* Bookis Smuin
|
35
|
-
* Caley Woods
|
36
|
-
* Doug Puchalski
|
37
|
-
* Federico Romero
|
38
|
-
* Greg Bell
|
39
|
-
* Ian MacLeod
|
40
|
-
* Jeremy Ruppel
|
41
|
-
* Jordan Sitkin
|
42
|
-
* Juha Suuraho
|
43
|
-
* Mathieu Martin
|
44
|
-
* Paul Annesley
|
45
|
-
* Philippe Creux
|
46
|
-
|
47
|
-
== 0.2.1 (2011-05-12)
|
48
|
-
|
49
|
-
=== Bug Fixes
|
50
|
-
* Fixed issue with dashboard rendering a sidebar
|
51
|
-
|
52
|
-
== 0.2.0 (2011-05-12)
|
53
|
-
|
54
|
-
0.2.0 is essentially an entire re-write of Active Admin. Here are some
|
55
|
-
of the highlights. 250 commits. Enough said.
|
56
|
-
|
57
|
-
=== Features & Enhancements
|
58
|
-
|
59
|
-
* Full visual redesign
|
60
|
-
* Integrated Devise for authentication
|
61
|
-
* Brand new view and component layer called Arbre (Project coming soon)
|
62
|
-
* Added ActiveAdmin::Comments
|
63
|
-
|
64
|
-
=== Bug Fixes
|
65
|
-
|
66
|
-
* Too many to list! Been in production for close to a year
|
67
|
-
|
68
|
-
== 0.1.1 (2010-09-15)
|
69
|
-
|
70
|
-
=== Bug Fixes
|
71
|
-
|
72
|
-
* Fixed issues running on Ruby 1.9.2
|
73
|
-
|
74
|
-
== 0.1.0
|
75
|
-
|
76
|
-
* Initial release
|
@@ -1,37 +0,0 @@
|
|
1
|
-
require 'active_admin/helpers/optional_display'
|
2
|
-
|
3
|
-
module ActiveAdmin
|
4
|
-
module ActionItems
|
5
|
-
extend ActiveSupport::Concern
|
6
|
-
|
7
|
-
included do
|
8
|
-
self.class_inheritable_accessor :action_items
|
9
|
-
self.action_items = []
|
10
|
-
end
|
11
|
-
|
12
|
-
module ClassMethods
|
13
|
-
def action_item(options = {}, &block)
|
14
|
-
self.action_items << ActiveAdmin::ActionItems::ActionItem.new(options, &block)
|
15
|
-
end
|
16
|
-
|
17
|
-
def clear_action_items!
|
18
|
-
self.action_items = []
|
19
|
-
end
|
20
|
-
|
21
|
-
def action_items_for(action)
|
22
|
-
action_items.select{|item| item.display_on?(action) }
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
class ActionItem
|
27
|
-
include ActiveAdmin::OptionalDisplay
|
28
|
-
|
29
|
-
attr_accessor :block
|
30
|
-
|
31
|
-
def initialize(options = {}, &block)
|
32
|
-
@options, @block = options, block
|
33
|
-
normalize_display_options!
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
data/lib/active_admin/sidebar.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module Sidebar
|
3
|
-
|
4
|
-
class Section
|
5
|
-
include ActiveAdmin::OptionalDisplay
|
6
|
-
|
7
|
-
attr_accessor :name, :options, :block
|
8
|
-
|
9
|
-
def initialize(name, options = {}, &block)
|
10
|
-
@name, @options, @block = name, options, block
|
11
|
-
normalize_display_options!
|
12
|
-
end
|
13
|
-
|
14
|
-
# The id gets used for the div in the view
|
15
|
-
def id
|
16
|
-
name.to_s.downcase.underscore + '_sidebar_section'
|
17
|
-
end
|
18
|
-
|
19
|
-
def icon?
|
20
|
-
options[:icon]
|
21
|
-
end
|
22
|
-
|
23
|
-
def icon
|
24
|
-
options[:icon] if icon?
|
25
|
-
end
|
26
|
-
|
27
|
-
# The title gets displayed within the section in the view
|
28
|
-
def title
|
29
|
-
name.to_s.titlecase
|
30
|
-
end
|
31
|
-
|
32
|
-
# If a block is not passed in, the name of the partial to render
|
33
|
-
def partial_name
|
34
|
-
options[:partial] || "#{name.to_s.downcase.gsub(' ', '_')}_sidebar"
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
.flash {
|
2
|
-
@include primary-gradient;
|
3
|
-
@include shadow;
|
4
|
-
@include text-shadow(#222);
|
5
|
-
border: none;
|
6
|
-
font-weight: bold;
|
7
|
-
padding: 10px 10px 8px 10px;
|
8
|
-
margin-bottom: 10px;
|
9
|
-
color: #fff;
|
10
|
-
|
11
|
-
&.flash_notice { @include gradient(#87a28b, #657b6a); }
|
12
|
-
&.flash_error { @include gradient(#ca5b4f, #97443c); }
|
13
|
-
}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module ViewHelpers
|
3
|
-
module StatusTagHelper
|
4
|
-
|
5
|
-
def status_tag(status, options = {})
|
6
|
-
options[:class] ||= ""
|
7
|
-
options[:class] << ["status", status.downcase].join(' ')
|
8
|
-
content_tag :span, status, options
|
9
|
-
end
|
10
|
-
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,12 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module ViewHelpers
|
3
|
-
module TableHelper
|
4
|
-
|
5
|
-
# Helper to render a table for a collection
|
6
|
-
def table_for(collection, options = {}, &block)
|
7
|
-
ActiveAdmin::TableBuilder.new(&block).to_html(self, collection, options)
|
8
|
-
end
|
9
|
-
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module Views
|
3
|
-
|
4
|
-
# Renders out a horizontal list of tabs.
|
5
|
-
class TabsRenderer < Renderer
|
6
|
-
|
7
|
-
# Pass in an ActiveAdmin::Menu and it will display the first level
|
8
|
-
# of navigation as a horizontal list of tabs
|
9
|
-
def to_html(menu, options = {})
|
10
|
-
@options = default_options.merge(options)
|
11
|
-
render_menu(menu)
|
12
|
-
end
|
13
|
-
|
14
|
-
protected
|
15
|
-
|
16
|
-
def render_menu(menu)
|
17
|
-
content_tag :ul, :id => @options[:id] do
|
18
|
-
menu.items.collect do |item|
|
19
|
-
render_item(item)
|
20
|
-
end.join.html_safe
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def render_item(item)
|
25
|
-
content_tag :li, :id => item.dom_id, :class => [("current" if current?(item)), ("has_nested" unless item.children.blank?)].compact.join(" ") do
|
26
|
-
unless item.children.blank?
|
27
|
-
link_to(item.name, item.url || "#") + render_nested_menu(item)
|
28
|
-
else
|
29
|
-
link_to item.name, item.url
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
def render_nested_menu(item)
|
35
|
-
content_tag :ul do
|
36
|
-
item.children.collect {|child| render_item(child)}.join.html_safe
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
# Returns true if the menu item name is @current_tab
|
41
|
-
def current?(menu_item)
|
42
|
-
@current_tab.split("/").include?(menu_item.name) unless @current_tab.blank?
|
43
|
-
end
|
44
|
-
|
45
|
-
def default_options
|
46
|
-
{ :id => "tabs" }
|
47
|
-
end
|
48
|
-
|
49
|
-
end
|
50
|
-
|
51
|
-
end
|
52
|
-
end
|
@@ -1,39 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
5
|
-
|
6
|
-
<title><%= [@page_title, ActiveAdmin.site_title].join(" | ") %></title>
|
7
|
-
|
8
|
-
<%= stylesheet_link_tag *ActiveAdmin.stylesheets %>
|
9
|
-
<%= javascript_include_tag *ActiveAdmin.javascripts %>
|
10
|
-
<%= csrf_meta_tag %>
|
11
|
-
|
12
|
-
</head>
|
13
|
-
<body class="<%= controller.action_name %>">
|
14
|
-
<div id="wrapper">
|
15
|
-
<div id="header">
|
16
|
-
<%= yield :header %>
|
17
|
-
</div>
|
18
|
-
<div id="title_bar">
|
19
|
-
<%= yield :title_bar %>
|
20
|
-
</div>
|
21
|
-
<div id="content" class="<%= skip_sidebar? ? 'without_sidebar' : 'with_sidebar' %>">
|
22
|
-
<%= flash_messages %>
|
23
|
-
<div id="main_content_wrapper">
|
24
|
-
<div id="main_content">
|
25
|
-
<%= yield %>
|
26
|
-
</div>
|
27
|
-
</div>
|
28
|
-
<% unless skip_sidebar? %>
|
29
|
-
<div id="sidebar">
|
30
|
-
<%= yield :sidebar %>
|
31
|
-
</div>
|
32
|
-
<% end %>
|
33
|
-
</div>
|
34
|
-
<div id="footer">
|
35
|
-
<%= yield :footer %>
|
36
|
-
</div>
|
37
|
-
</div>
|
38
|
-
</body>
|
39
|
-
</html>
|
@@ -1,51 +0,0 @@
|
|
1
|
-
/* Active Admin JS */
|
2
|
-
|
3
|
-
$(function(){
|
4
|
-
$(".datepicker").datepicker({dateFormat: 'yy-mm-dd'});
|
5
|
-
|
6
|
-
$(".clear_filters_btn").click(function(){
|
7
|
-
window.location.search = "";
|
8
|
-
return false;
|
9
|
-
});
|
10
|
-
|
11
|
-
// AJAX Comments
|
12
|
-
$('form#admin_note_new').submit(function() {
|
13
|
-
|
14
|
-
if ($(this).find('#admin_note_body').val() != "") {
|
15
|
-
$(this).fadeOut('slow', function() {
|
16
|
-
$('.loading_indicator').fadeIn();
|
17
|
-
$.ajax({
|
18
|
-
url: $(this).attr('action'),
|
19
|
-
type: 'POST',
|
20
|
-
dataType: 'json',
|
21
|
-
data: $(this).serialize(),
|
22
|
-
success: function(data, textStatus, xhr) {
|
23
|
-
$('.loading_indicator').fadeOut('slow', function(){
|
24
|
-
|
25
|
-
// Hide the empty message
|
26
|
-
$('.admin_notes_list li.empty').fadeOut().remove();
|
27
|
-
|
28
|
-
// Add the note
|
29
|
-
$('.admin_notes_list').append(data['note']);
|
30
|
-
|
31
|
-
// Update the number of notes
|
32
|
-
$('.admin_notes h3 span.admin_notes_count').html("(" + data['number_of_notes'] + ")");
|
33
|
-
|
34
|
-
// Reset the form
|
35
|
-
$('form#new_active_admin_admin_note').find('#active_admin_admin_note_body').val("");
|
36
|
-
|
37
|
-
// Show the form
|
38
|
-
$('form#new_active_admin_admin_note').fadeIn('slow');
|
39
|
-
})
|
40
|
-
},
|
41
|
-
error: function(xhr, textStatus, errorThrown) {
|
42
|
-
//called when there is an error
|
43
|
-
}
|
44
|
-
});
|
45
|
-
});
|
46
|
-
|
47
|
-
};
|
48
|
-
|
49
|
-
return false;
|
50
|
-
});
|
51
|
-
});
|
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe_with_render Admin::PostsController do
|
4
|
-
describe "get index with format csv" do
|
5
|
-
|
6
|
-
before do
|
7
|
-
Post.create :title => "Hello World"
|
8
|
-
Post.create :title => "Goodbye World"
|
9
|
-
end
|
10
|
-
|
11
|
-
it "should return csv" do
|
12
|
-
get :index, 'format' => 'csv'
|
13
|
-
response.content_type.should == 'text/csv'
|
14
|
-
end
|
15
|
-
|
16
|
-
it "should return a header and a line for each item" do
|
17
|
-
get :index, 'format' => 'csv'
|
18
|
-
response.body.split("\n").size.should == 3
|
19
|
-
end
|
20
|
-
|
21
|
-
Post.columns.each do |column|
|
22
|
-
it "should include a header for #{column.name}" do
|
23
|
-
get :index, 'format' => 'csv'
|
24
|
-
response.body.split("\n").first.should include(column.name.titleize)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
it "should set a much higher per page pagination" do
|
29
|
-
100.times{ Post.create :title => "woot" }
|
30
|
-
get :index, 'format' => 'csv'
|
31
|
-
response.body.split("\n").size.should == 103
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe ActiveAdmin::ActionItems do
|
4
|
-
|
5
|
-
describe "rendering" do
|
6
|
-
include Arbre::HTML
|
7
|
-
let(:assigns){ {} }
|
8
|
-
let(:action_item) do
|
9
|
-
ActiveAdmin::ActionItems::ActionItem.new do
|
10
|
-
h2 "Hello World"
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
let(:rendered){ insert_tag ActiveAdmin::Views::ActionItems, [action_item]}
|
15
|
-
|
16
|
-
it "should have a parent .action_items div" do
|
17
|
-
rendered.tag_name.should == 'div'
|
18
|
-
rendered.class_list.should include('action_items')
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should render the contents of each action item" do
|
22
|
-
rendered.children.size.should == 1
|
23
|
-
rendered.content.strip.should == "<span class=\"action_item\">\n <h2>Hello World</h2>\n </span>"
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
@@ -1,56 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe ActiveAdmin::Views::TabsRenderer do
|
4
|
-
|
5
|
-
let(:renderer){ ActiveAdmin::Views::TabsRenderer.new(mock_action_view) }
|
6
|
-
let(:menu){ ActiveAdmin::Menu.new }
|
7
|
-
let(:html){ renderer.to_html(menu) }
|
8
|
-
|
9
|
-
# Generate a menu to use
|
10
|
-
before do
|
11
|
-
menu.add "Blog Posts", "/admin/blog-posts"
|
12
|
-
menu.add "Reports", "/admin/reports"
|
13
|
-
reports = menu["Reports"]
|
14
|
-
reports.add "A Sub Reports", "/admin/a-sub-reports"
|
15
|
-
reports.add "B Sub Reports", "/admin/b-sub-reports"
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should generate a ul" do
|
19
|
-
html.should have_tag("ul")
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should generate an li for each item" do
|
23
|
-
html.should have_tag("li", :parent => { :tag => "ul" })
|
24
|
-
end
|
25
|
-
|
26
|
-
it "should generate a link for each item" do
|
27
|
-
html.should have_tag("a", "Blog Posts", :attributes => { :href => '/admin/blog-posts' })
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should generate a " do
|
31
|
-
html.should have_tag("a", "Blog Posts", :attributes => { :href => '/admin/blog-posts' })
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should generate a nested list for children" do
|
35
|
-
html.should have_tag("ul", :parent => { :tag => "li" })
|
36
|
-
end
|
37
|
-
|
38
|
-
it "should generate a nested list with li for each child" do
|
39
|
-
html.should have_tag("li", :parent => { :tag => "ul" }, :attributes => {:id => "a_sub_reports"})
|
40
|
-
html.should have_tag("li", :parent => { :tag => "ul" }, :attributes => {:id => "b_sub_reports"})
|
41
|
-
end
|
42
|
-
|
43
|
-
describe "marking current item" do
|
44
|
-
it "should add the 'current' class to the li" do
|
45
|
-
renderer.instance_variable_set :@current_tab, "Blog Posts"
|
46
|
-
html.should have_tag("li", :attributes => { :class => "current" })
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should add the 'current' and 'has_nested' classes to the li and 'current' to the sub li" do
|
50
|
-
renderer.instance_variable_set :@current_tab, "Reports/A Sub Reports"
|
51
|
-
html.should have_tag("li", :attributes => { :id => "reports", :class => "current has_nested" })
|
52
|
-
html.should have_tag("li", :attributes => { :id => "a_sub_reports", :class => "current" })
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|