yousty-activeadmin 1.0.0.pre
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 +7 -0
- data/.gitignore +43 -0
- data/.travis.yml +8 -0
- data/.yardopts +9 -0
- data/CHANGELOG.md +1056 -0
- data/CONTRIBUTING.md +110 -0
- data/Gemfile +41 -0
- data/Guardfile +7 -0
- data/LICENSE +25 -0
- data/README.md +67 -0
- data/Rakefile +25 -0
- data/activeadmin.gemspec +33 -0
- data/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/app/assets/images/active_admin/index_list_icons/block_icon.svg +10 -0
- data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +4 -0
- data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +13 -0
- data/app/assets/images/active_admin/index_list_icons/table_icon.svg +3 -0
- data/app/assets/images/active_admin/loading.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
- data/app/assets/images/active_admin/orderable.png +0 -0
- data/app/assets/javascripts/active_admin/application.js.coffee +6 -0
- data/app/assets/javascripts/active_admin/base.js.coffee +5 -0
- data/app/assets/javascripts/active_admin/components/application.js.coffee +23 -0
- data/app/assets/javascripts/active_admin/components/batch_actions.js.coffee +26 -0
- data/app/assets/javascripts/active_admin/components/has_many.js.coffee +41 -0
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +37 -0
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +105 -0
- data/app/assets/javascripts/active_admin/lib/popover.js.coffee +97 -0
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +25 -0
- data/app/assets/stylesheets/active_admin/_base.css.scss +41 -0
- data/app/assets/stylesheets/active_admin/_forms.css.scss +293 -0
- data/app/assets/stylesheets/active_admin/_header.css.scss +152 -0
- data/app/assets/stylesheets/active_admin/_mixins.css.scss +1 -0
- data/app/assets/stylesheets/active_admin/_typography.css.scss +100 -0
- data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +31 -0
- data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_comments.css.scss +41 -0
- data/app/assets/stylesheets/active_admin/components/_date_picker.css.scss +123 -0
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +151 -0
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +39 -0
- data/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
- data/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
- data/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +34 -0
- data/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
- data/app/assets/stylesheets/active_admin/components/_popovers.css.scss +123 -0
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +10 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +95 -0
- data/app/assets/stylesheets/active_admin/components/_tables.css.scss +110 -0
- data/app/assets/stylesheets/active_admin/mixins/_all.css.scss +11 -0
- data/app/assets/stylesheets/active_admin/mixins/_buttons.css.scss +66 -0
- data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +38 -0
- data/app/assets/stylesheets/active_admin/mixins/_icons.css.scss +21 -0
- data/app/assets/stylesheets/active_admin/mixins/_reset.css.scss +165 -0
- data/app/assets/stylesheets/active_admin/mixins/_rounded.css.scss +43 -0
- data/app/assets/stylesheets/active_admin/mixins/_sections.css.scss +36 -0
- data/app/assets/stylesheets/active_admin/mixins/_shadows.css.scss +22 -0
- data/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
- data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +26 -0
- data/app/assets/stylesheets/active_admin/mixins/_variables.css.scss +32 -0
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
- data/app/assets/stylesheets/active_admin/print.css.scss +284 -0
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +14 -0
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +43 -0
- data/app/views/active_admin/dashboard/index.html.arb +1 -0
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/active_admin/devise/passwords/edit.html.erb +19 -0
- data/app/views/active_admin/devise/passwords/new.html.erb +14 -0
- data/app/views/active_admin/devise/sessions/new.html.erb +20 -0
- data/app/views/active_admin/devise/shared/_links.erb +27 -0
- data/app/views/active_admin/devise/unlocks/new.html.erb +14 -0
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.csv.erb +17 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -0
- data/app/views/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +37 -0
- data/config/locales/bg.yml +101 -0
- data/config/locales/ca.yml +98 -0
- data/config/locales/cs.yml +105 -0
- data/config/locales/da.yml +102 -0
- data/config/locales/de-CH.yml +117 -0
- data/config/locales/de.yml +119 -0
- data/config/locales/en-GB.yml +91 -0
- data/config/locales/en.yml +110 -0
- data/config/locales/es.yml +106 -0
- data/config/locales/es_MX.yml +104 -0
- data/config/locales/fi.yml +109 -0
- data/config/locales/fr.yml +97 -0
- data/config/locales/he.yml +91 -0
- data/config/locales/hr.yml +93 -0
- data/config/locales/hu.yml +92 -0
- data/config/locales/it.yml +89 -0
- data/config/locales/ja.yml +104 -0
- data/config/locales/ko.yml +84 -0
- data/config/locales/lt.yml +90 -0
- data/config/locales/lv.yml +89 -0
- data/config/locales/nl.yml +90 -0
- data/config/locales/no-NB.yml +85 -0
- data/config/locales/pl.yml +93 -0
- data/config/locales/pt-BR.yml +90 -0
- data/config/locales/pt-PT.yml +89 -0
- data/config/locales/ro.yml +93 -0
- data/config/locales/ru.yml +103 -0
- data/config/locales/sv-SE.yml +89 -0
- data/config/locales/tr.yml +90 -0
- data/config/locales/uk.yml +100 -0
- data/config/locales/vi.yml +90 -0
- data/config/locales/zh-CN.yml +90 -0
- data/config/locales/zh-TW.yml +90 -0
- data/cucumber.yml +3 -0
- data/docs/0-installation.md +84 -0
- data/docs/1-general-configuration.md +137 -0
- data/docs/10-custom-pages.md +98 -0
- data/docs/11-decorators.md +66 -0
- data/docs/12-arbre-components.md +144 -0
- data/docs/13-authorization-adapter.md +227 -0
- data/docs/2-resource-customization.md +340 -0
- data/docs/3-index-pages/create-an-index.md +29 -0
- data/docs/3-index-pages/index-as-block.md +21 -0
- data/docs/3-index-pages/index-as-blog.md +71 -0
- data/docs/3-index-pages/index-as-grid.md +29 -0
- data/docs/3-index-pages/index-as-table.md +154 -0
- data/docs/3-index-pages.md +206 -0
- data/docs/4-csv-format.md +39 -0
- data/docs/5-forms.md +110 -0
- data/docs/6-show-pages.md +77 -0
- data/docs/7-sidebars.md +42 -0
- data/docs/8-custom-actions.md +139 -0
- data/docs/9-batch-actions.md +155 -0
- data/features/action_item.feature +73 -0
- data/features/authorization.feature +64 -0
- data/features/authorization_cancan.feature +52 -0
- data/features/belongs_to.feature +63 -0
- data/features/breadcrumb.feature +27 -0
- data/features/comments/commenting.feature +140 -0
- data/features/comments/viewing_index.feature +19 -0
- data/features/dashboard.feature +16 -0
- data/features/decorators.feature +41 -0
- data/features/development_reloading.feature +31 -0
- data/features/edit_page.feature +127 -0
- data/features/favicon.feature +20 -0
- data/features/first_boot.feature +16 -0
- data/features/global_navigation.feature +29 -0
- data/features/i18n.feature +38 -0
- data/features/index/batch_actions.feature +123 -0
- data/features/index/filters.feature +138 -0
- data/features/index/format_as_csv.feature +117 -0
- data/features/index/formats.feature +66 -0
- data/features/index/index_as_block.feature +15 -0
- data/features/index/index_as_blog.feature +69 -0
- data/features/index/index_as_grid.feature +45 -0
- data/features/index/index_as_table.feature +195 -0
- data/features/index/index_blank_slate.feature +61 -0
- data/features/index/index_parameters.feature +75 -0
- data/features/index/index_scope_to.feature +56 -0
- data/features/index/index_scopes.feature +251 -0
- data/features/index/page_title.feature +30 -0
- data/features/index/pagination.feature +59 -0
- data/features/index/switch_index_view.feature +73 -0
- data/features/menu.feature +53 -0
- data/features/new_page.feature +119 -0
- data/features/registering_assets.feature +35 -0
- data/features/registering_pages.feature +148 -0
- data/features/registering_resources.feature +33 -0
- data/features/root_to.feature +17 -0
- data/features/show/default_content.feature +43 -0
- data/features/show/page_title.feature +47 -0
- data/features/sidebar_sections.feature +198 -0
- data/features/site_title.feature +47 -0
- data/features/specifying_actions.feature +93 -0
- data/features/step_definitions/action_item_steps.rb +7 -0
- data/features/step_definitions/action_link_steps.rb +7 -0
- data/features/step_definitions/additional_web_steps.rb +82 -0
- data/features/step_definitions/asset_steps.rb +15 -0
- data/features/step_definitions/attribute_steps.rb +13 -0
- data/features/step_definitions/batch_action_steps.rb +55 -0
- data/features/step_definitions/breadcrumb_steps.rb +3 -0
- data/features/step_definitions/comment_steps.rb +12 -0
- data/features/step_definitions/configuration_steps.rb +100 -0
- data/features/step_definitions/dashboard_steps.rb +15 -0
- data/features/step_definitions/factory_steps.rb +34 -0
- data/features/step_definitions/filter_steps.rb +17 -0
- data/features/step_definitions/flash_steps.rb +11 -0
- data/features/step_definitions/format_steps.rb +45 -0
- data/features/step_definitions/i18n_steps.rb +3 -0
- data/features/step_definitions/index_scope_steps.rb +21 -0
- data/features/step_definitions/index_views_steps.rb +3 -0
- data/features/step_definitions/layout_steps.rb +3 -0
- data/features/step_definitions/member_link_steps.rb +7 -0
- data/features/step_definitions/menu_steps.rb +11 -0
- data/features/step_definitions/pagination_steps.rb +8 -0
- data/features/step_definitions/sidebar_steps.rb +8 -0
- data/features/step_definitions/site_title_steps.rb +15 -0
- data/features/step_definitions/symbol_leak_steps.rb +3 -0
- data/features/step_definitions/tab_steps.rb +3 -0
- data/features/step_definitions/table_steps.rb +119 -0
- data/features/step_definitions/user_steps.rb +39 -0
- data/features/step_definitions/web_steps.rb +86 -0
- data/features/sti_resource.feature +73 -0
- data/features/support/env.rb +112 -0
- data/features/support/paths.rb +71 -0
- data/features/support/selectors.rb +45 -0
- data/features/symbol_leak.feature +35 -0
- data/features/users/logging_in.feature +34 -0
- data/features/users/logging_out.feature +13 -0
- data/features/users/resetting_password.feature +34 -0
- data/lib/active_admin/abstract_view_factory.rb +95 -0
- data/lib/active_admin/application.rb +242 -0
- data/lib/active_admin/asset_registration.rb +29 -0
- data/lib/active_admin/authorization_adapter.rb +132 -0
- data/lib/active_admin/base_controller/authorization.rb +151 -0
- data/lib/active_admin/base_controller/menu.rb +34 -0
- data/lib/active_admin/base_controller.rb +78 -0
- data/lib/active_admin/batch_actions/controller.rb +24 -0
- data/lib/active_admin/batch_actions/resource_extension.rb +127 -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 +66 -0
- data/lib/active_admin/batch_actions/views/selection_cells.rb +37 -0
- data/lib/active_admin/batch_actions.rb +17 -0
- data/lib/active_admin/callbacks.rb +87 -0
- data/lib/active_admin/cancan_adapter.rb +40 -0
- data/lib/active_admin/component.rb +5 -0
- data/lib/active_admin/controller_action.rb +12 -0
- data/lib/active_admin/csv_builder.rb +49 -0
- data/lib/active_admin/deprecation.rb +36 -0
- data/lib/active_admin/devise.rb +70 -0
- data/lib/active_admin/dsl.rb +166 -0
- data/lib/active_admin/engine.rb +7 -0
- data/lib/active_admin/event.rb +33 -0
- data/lib/active_admin/filters/dsl.rb +21 -0
- data/lib/active_admin/filters/forms.rb +89 -0
- data/lib/active_admin/filters/formtastic_addons.rb +70 -0
- data/lib/active_admin/filters/resource_extension.rb +136 -0
- data/lib/active_admin/filters.rb +9 -0
- data/lib/active_admin/form_builder.rb +152 -0
- data/lib/active_admin/helpers/collection.rb +23 -0
- data/lib/active_admin/helpers/optional_display.rb +38 -0
- data/lib/active_admin/helpers/scope_chain.rb +23 -0
- data/lib/active_admin/helpers/settings.rb +108 -0
- data/lib/active_admin/iconic/icons.rb +142 -0
- data/lib/active_admin/iconic.rb +51 -0
- data/lib/active_admin/inputs/datepicker_input.rb +20 -0
- data/lib/active_admin/inputs/filter_base/search_method_select.rb +73 -0
- data/lib/active_admin/inputs/filter_base.rb +33 -0
- data/lib/active_admin/inputs/filter_boolean_input.rb +32 -0
- data/lib/active_admin/inputs/filter_check_boxes_input.rb +51 -0
- data/lib/active_admin/inputs/filter_date_range_input.rb +34 -0
- data/lib/active_admin/inputs/filter_numeric_input.rb +10 -0
- data/lib/active_admin/inputs/filter_select_input.rb +61 -0
- data/lib/active_admin/inputs/filter_string_input.rb +24 -0
- data/lib/active_admin/inputs.rb +15 -0
- data/lib/active_admin/menu.rb +107 -0
- data/lib/active_admin/menu_collection.rb +96 -0
- data/lib/active_admin/menu_item.rb +97 -0
- data/lib/active_admin/namespace.rb +224 -0
- data/lib/active_admin/orm/active_record/comments/comment.rb +39 -0
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +14 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +17 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +23 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +75 -0
- data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
- data/lib/active_admin/orm/active_record/comments.rb +84 -0
- data/lib/active_admin/orm/active_record.rb +3 -0
- data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/page.rb +88 -0
- data/lib/active_admin/page_controller.rb +29 -0
- data/lib/active_admin/page_dsl.rb +28 -0
- data/lib/active_admin/page_presenter.rb +32 -0
- data/lib/active_admin/resource/action_items.rb +91 -0
- data/lib/active_admin/resource/belongs_to.rb +36 -0
- data/lib/active_admin/resource/controllers.rb +18 -0
- data/lib/active_admin/resource/menu.rb +64 -0
- data/lib/active_admin/resource/naming.rb +84 -0
- data/lib/active_admin/resource/page_presenters.rb +82 -0
- data/lib/active_admin/resource/pagination.rb +19 -0
- data/lib/active_admin/resource/routes.rb +99 -0
- data/lib/active_admin/resource/scope_to.rb +74 -0
- data/lib/active_admin/resource/scopes.rb +50 -0
- data/lib/active_admin/resource/sidebars.rb +27 -0
- data/lib/active_admin/resource.rb +153 -0
- data/lib/active_admin/resource_collection.rb +42 -0
- data/lib/active_admin/resource_controller/action_builder.rb +21 -0
- data/lib/active_admin/resource_controller/data_access.rb +298 -0
- data/lib/active_admin/resource_controller/decorators.rb +20 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +24 -0
- data/lib/active_admin/resource_controller/scoping.rb +31 -0
- data/lib/active_admin/resource_controller/sidebars.rb +18 -0
- data/lib/active_admin/resource_controller.rb +50 -0
- data/lib/active_admin/resource_dsl.rb +134 -0
- data/lib/active_admin/router.rb +106 -0
- data/lib/active_admin/scope.rb +57 -0
- data/lib/active_admin/sidebar_section.rb +37 -0
- data/lib/active_admin/version.rb +3 -0
- data/lib/active_admin/view_factory.rb +27 -0
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
- data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +7 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +34 -0
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +26 -0
- data/lib/active_admin/view_helpers/display_helper.rb +49 -0
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +49 -0
- data/lib/active_admin/view_helpers/fields_for.rb +50 -0
- data/lib/active_admin/view_helpers/flash_helper.rb +13 -0
- data/lib/active_admin/view_helpers/form_helper.rb +24 -0
- data/lib/active_admin/view_helpers/icon_helper.rb +12 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +93 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
- data/lib/active_admin/view_helpers/title_helper.rb +11 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
- data/lib/active_admin/view_helpers.rb +21 -0
- data/lib/active_admin/views/action_items.rb +17 -0
- data/lib/active_admin/views/components/action_list_popover.rb +29 -0
- data/lib/active_admin/views/components/attributes_table.rb +103 -0
- data/lib/active_admin/views/components/blank_slate.rb +17 -0
- data/lib/active_admin/views/components/columns.rb +150 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +73 -0
- data/lib/active_admin/views/components/index_list.rb +68 -0
- data/lib/active_admin/views/components/paginated_collection.rb +125 -0
- data/lib/active_admin/views/components/panel.rb +34 -0
- data/lib/active_admin/views/components/popover.rb +27 -0
- data/lib/active_admin/views/components/scopes.rb +66 -0
- data/lib/active_admin/views/components/sidebar_section.rb +28 -0
- data/lib/active_admin/views/components/site_title.rb +55 -0
- data/lib/active_admin/views/components/status_tag.rb +56 -0
- data/lib/active_admin/views/components/table_for.rb +191 -0
- data/lib/active_admin/views/footer.rb +20 -0
- data/lib/active_admin/views/header.rb +32 -0
- data/lib/active_admin/views/index_as_block.rb +36 -0
- data/lib/active_admin/views/index_as_blog.rb +156 -0
- data/lib/active_admin/views/index_as_grid.rb +80 -0
- data/lib/active_admin/views/index_as_table.rb +264 -0
- data/lib/active_admin/views/pages/base.rb +139 -0
- data/lib/active_admin/views/pages/form.rb +51 -0
- data/lib/active_admin/views/pages/index.rb +147 -0
- data/lib/active_admin/views/pages/layout.rb +26 -0
- data/lib/active_admin/views/pages/page.rb +30 -0
- data/lib/active_admin/views/pages/show.rb +59 -0
- data/lib/active_admin/views/tabbed_navigation.rb +62 -0
- data/lib/active_admin/views/title_bar.rb +53 -0
- data/lib/active_admin/views.rb +8 -0
- data/lib/active_admin.rb +125 -0
- data/lib/activeadmin.rb +1 -0
- data/lib/generators/active_admin/assets/assets_generator.rb +16 -0
- data/lib/generators/active_admin/assets/templates/active_admin.css.scss +17 -0
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +1 -0
- data/lib/generators/active_admin/devise/devise_generator.rb +86 -0
- data/lib/generators/active_admin/install/install_generator.rb +46 -0
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +235 -0
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +27 -0
- data/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +19 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +16 -0
- data/lib/generators/active_admin/resource/templates/admin.rb +3 -0
- data/lib/ransack_ext.rb +12 -0
- data/script/local +44 -0
- data/script/use_rails +53 -0
- data/spec/integration/default_namespace_spec.rb +61 -0
- data/spec/integration/javascript_spec.rb +20 -0
- data/spec/integration/memory_spec.rb +29 -0
- data/spec/integration/stylesheets_spec.rb +41 -0
- 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 +175 -0
- data/spec/spec_helper_without_rails.rb +16 -0
- data/spec/support/deferred_garbage_collection.rb +19 -0
- data/spec/support/detect_rails_version.rb +42 -0
- data/spec/support/integration_example_group.rb +31 -0
- data/spec/support/jslint.yml +80 -0
- data/spec/support/rails_template.rb +111 -0
- data/spec/support/rails_template_with_data.rb +59 -0
- data/spec/support/templates/admin/stores.rb +11 -0
- data/spec/support/templates/cucumber.rb +24 -0
- data/spec/support/templates/cucumber_with_reloading.rb +5 -0
- data/spec/support/templates/en.yml +8 -0
- data/spec/support/templates/post_decorator.rb +53 -0
- data/spec/unit/abstract_view_factory_spec.rb +79 -0
- data/spec/unit/action_builder_spec.rb +126 -0
- data/spec/unit/active_admin_spec.rb +11 -0
- data/spec/unit/application_spec.rb +141 -0
- data/spec/unit/asset_registration_spec.rb +52 -0
- data/spec/unit/authorization/authorization_adapter_spec.rb +61 -0
- data/spec/unit/authorization/controller_authorization_spec.rb +39 -0
- data/spec/unit/auto_link_spec.rb +32 -0
- data/spec/unit/batch_actions/resource_spec.rb +91 -0
- data/spec/unit/batch_actions/settings_spec.rb +61 -0
- data/spec/unit/belongs_to_spec.rb +42 -0
- data/spec/unit/cancan_adapter_spec.rb +43 -0
- data/spec/unit/comments_spec.rb +106 -0
- data/spec/unit/component_spec.rb +18 -0
- data/spec/unit/config_shared_examples.rb +59 -0
- data/spec/unit/controller_filters_spec.rb +32 -0
- data/spec/unit/csv_builder_spec.rb +103 -0
- data/spec/unit/devise_spec.rb +116 -0
- data/spec/unit/dsl_spec.rb +61 -0
- data/spec/unit/event_spec.rb +47 -0
- data/spec/unit/filters/filter_form_builder_spec.rb +423 -0
- data/spec/unit/filters/resource_spec.rb +119 -0
- data/spec/unit/form_builder_spec.rb +514 -0
- data/spec/unit/generators/install_spec.rb +23 -0
- data/spec/unit/helpers/collection_spec.rb +65 -0
- data/spec/unit/helpers/scope_chain_spec.rb +36 -0
- data/spec/unit/helpers/settings_spec.rb +30 -0
- data/spec/unit/menu_collection_spec.rb +62 -0
- data/spec/unit/menu_item_spec.rb +143 -0
- data/spec/unit/menu_spec.rb +71 -0
- data/spec/unit/namespace/authorization_spec.rb +27 -0
- data/spec/unit/namespace/register_page_spec.rb +74 -0
- data/spec/unit/namespace/register_resource_spec.rb +163 -0
- data/spec/unit/namespace_spec.rb +103 -0
- data/spec/unit/page_controller_spec.rb +5 -0
- data/spec/unit/page_spec.rb +72 -0
- data/spec/unit/pretty_format_spec.rb +35 -0
- data/spec/unit/resource/action_items_spec.rb +62 -0
- data/spec/unit/resource/menu_spec.rb +18 -0
- data/spec/unit/resource/naming_spec.rb +122 -0
- data/spec/unit/resource/page_presenters_spec.rb +44 -0
- data/spec/unit/resource/pagination_spec.rb +38 -0
- data/spec/unit/resource/routes_spec.rb +73 -0
- data/spec/unit/resource/scopes_spec.rb +43 -0
- data/spec/unit/resource/sidebars_spec.rb +43 -0
- data/spec/unit/resource_collection_spec.rb +160 -0
- data/spec/unit/resource_controller/data_access_spec.rb +73 -0
- data/spec/unit/resource_controller/sidebars_spec.rb +46 -0
- data/spec/unit/resource_controller_spec.rb +265 -0
- data/spec/unit/resource_registration_spec.rb +56 -0
- data/spec/unit/resource_spec.rb +243 -0
- data/spec/unit/routing_spec.rb +172 -0
- data/spec/unit/scope_spec.rb +108 -0
- data/spec/unit/settings_spec.rb +88 -0
- data/spec/unit/view_factory_spec.rb +21 -0
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +149 -0
- data/spec/unit/view_helpers/display_name_spec.rb +41 -0
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +39 -0
- data/spec/unit/view_helpers/fields_for_spec.rb +50 -0
- data/spec/unit/view_helpers/form_helper_spec.rb +56 -0
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +101 -0
- data/spec/unit/views/components/action_list_popover_spec.rb +30 -0
- data/spec/unit/views/components/attributes_table_spec.rb +230 -0
- data/spec/unit/views/components/batch_action_popover_spec.rb +33 -0
- data/spec/unit/views/components/blank_slate_spec.rb +17 -0
- data/spec/unit/views/components/columns_spec.rb +142 -0
- data/spec/unit/views/components/index_list_spec.rb +32 -0
- data/spec/unit/views/components/paginated_collection_spec.rb +227 -0
- data/spec/unit/views/components/panel_spec.rb +51 -0
- data/spec/unit/views/components/popover_spec.rb +33 -0
- data/spec/unit/views/components/sidebar_section_spec.rb +37 -0
- data/spec/unit/views/components/site_title_spec.rb +78 -0
- data/spec/unit/views/components/status_tag_spec.rb +95 -0
- data/spec/unit/views/components/table_for_spec.rb +201 -0
- data/spec/unit/views/pages/form_spec.rb +35 -0
- data/spec/unit/views/pages/layout_spec.rb +63 -0
- data/spec/unit/views/pages/show_spec.rb +20 -0
- data/spec/unit/views/tabbed_navigation_spec.rb +149 -0
- data/tasks/docs.rake +37 -0
- data/tasks/js.rake +32 -0
- data/tasks/parallel_tests.rake +60 -0
- data/tasks/test.rake +79 -0
- data/tasks/yard.rake +7 -0
- metadata +896 -0
data/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
## Contributing
|
|
2
|
+
|
|
3
|
+
This is a guide to contributing to Active Admin. It should walk you through the
|
|
4
|
+
major steps to contributing code to the project.
|
|
5
|
+
|
|
6
|
+
### 1. Create an Issue on GitHub
|
|
7
|
+
|
|
8
|
+
The first step to contributing to Active Admin is creating a ticket in our
|
|
9
|
+
[ticketing system on GitHub](https://github.com/gregbell/active_admin/issues).
|
|
10
|
+
The community has been hard at work already, so please take a second to search
|
|
11
|
+
for the issue or feature before creating a new one.
|
|
12
|
+
|
|
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.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### 2. Fork & Create a Feature Branch
|
|
18
|
+
|
|
19
|
+
The next step is to fork Active Admin (if you haven't already done so) and
|
|
20
|
+
create a new git branch based on the feature or issue you're working on. Please
|
|
21
|
+
use a descriptive name for your branch.
|
|
22
|
+
|
|
23
|
+
For example a great branch name would be (where issue #325 is the ticket you're
|
|
24
|
+
working on):
|
|
25
|
+
|
|
26
|
+
```sh
|
|
27
|
+
git checkout -b 325-add-japanese-translations
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### 3. Get the test suite running
|
|
31
|
+
|
|
32
|
+
Install the development dependencies:
|
|
33
|
+
```sh
|
|
34
|
+
bundle install
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Now you should be able to run the entire suite using:
|
|
38
|
+
```sh
|
|
39
|
+
rake test
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Which will generate a rails application in `spec/rails` to run the tests against.
|
|
43
|
+
|
|
44
|
+
If your tests are passing locally but they're failing on Travis, reset test your environment:
|
|
45
|
+
```sh
|
|
46
|
+
rm -rf spec/rails && bundle update
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### 4. Implement your fix or feature
|
|
50
|
+
|
|
51
|
+
At this point, you should be ready to implement your feature!
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
### 5. View your changes in a Rails application
|
|
55
|
+
|
|
56
|
+
Active Admin is meant to be used by humans, not cucumbers. So make sure to take
|
|
57
|
+
a look at your changes in a browser (preferably a few browsers if you made view
|
|
58
|
+
changes).
|
|
59
|
+
|
|
60
|
+
To boot up a test rails application, use the provided script:
|
|
61
|
+
```sh
|
|
62
|
+
script/local server
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
This will generate a rails application at ./test-rails-app with some sane
|
|
66
|
+
defaults and use your local version of Active Admin.
|
|
67
|
+
|
|
68
|
+
If you have any Bundler issues, call the provided `use_rails` script then prepend
|
|
69
|
+
the version of rails you would like to use in an environment variable:
|
|
70
|
+
```sh
|
|
71
|
+
script/use_rails 4.0.0
|
|
72
|
+
RAILS=4.0.0 script/local server
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
You should be able to open `http://localhost:3000/admin` and view a test
|
|
76
|
+
environment.
|
|
77
|
+
|
|
78
|
+
If you need to perform any other commands on the test application, use the
|
|
79
|
+
`local` script. For example to boot the rails console:
|
|
80
|
+
```sh
|
|
81
|
+
script/local console
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Or to migrate the database:
|
|
85
|
+
```sh
|
|
86
|
+
script/local rake db:migrate
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### 6. Run tests against major supported rails versions
|
|
90
|
+
|
|
91
|
+
Once you've implemented your code, got the tests passing, previewed it in a
|
|
92
|
+
browser, you're ready to test it against multiple versions of Rails.
|
|
93
|
+
```sh
|
|
94
|
+
rake test:major_supported_rails
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
This command runs the cukes and specs against a couple of major versions of
|
|
98
|
+
Rails. We will run this command when we review your pull request, if this
|
|
99
|
+
rake task isn't passing, the pull request will not be merged in.
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
### 7. Make a pull request
|
|
103
|
+
|
|
104
|
+
At this point, you should switch back to your master branch and make sure it's
|
|
105
|
+
up to date with Active Admin's master branch. If there were any changes, you
|
|
106
|
+
should rebase your feature branch and make sure that it will merge correctly. If
|
|
107
|
+
there are any merge conflicts, your pull request will not be merged in.
|
|
108
|
+
|
|
109
|
+
Now push your changes up to your feature branch on GitHub and make a pull request!
|
|
110
|
+
We will pull your changes, run the test suite, review the code and merge it in.
|
data/Gemfile
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
source 'https://rubygems.org'
|
|
2
|
+
|
|
3
|
+
gemspec
|
|
4
|
+
|
|
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)
|
|
8
|
+
|
|
9
|
+
rails_version = detect_rails_version
|
|
10
|
+
gem 'rails', rails_version
|
|
11
|
+
|
|
12
|
+
group :development do
|
|
13
|
+
gem 'better_errors', '~> 1.0.0' # Web UI to debug exceptions. Go to /__better_errors to access the latest one
|
|
14
|
+
gem 'binding_of_caller', '~> 0.7.1' # Retrieve the binding of a method's caller in MRI Ruby >= 1.9.2
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
group :development, :test do
|
|
18
|
+
gem 'rake', '~> 10.1.0', require: false
|
|
19
|
+
gem 'rails-i18n' # Provides default i18n for many languages
|
|
20
|
+
gem 'redcarpet' # Markdown implementation (for yard)
|
|
21
|
+
gem 'yard'
|
|
22
|
+
gem 'yard-redcarpet-ext' # Enables Markdown tables, which are disabled by default
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
group :test do
|
|
26
|
+
gem 'cancan'
|
|
27
|
+
gem 'capybara', '= 1.1.2'
|
|
28
|
+
gem 'simplecov', require: false
|
|
29
|
+
gem 'coveralls', '~> 0.7.0', require: false # Test coverage tool: www.coveralls.io
|
|
30
|
+
# Move to next stable version including: https://github.com/cucumber/cucumber-rails/pull/253
|
|
31
|
+
gem 'cucumber-rails', github: 'cucumber/cucumber-rails', require: false
|
|
32
|
+
gem 'database_cleaner', '~> 1.2.0'
|
|
33
|
+
gem 'guard-rspec'
|
|
34
|
+
gem 'jasmine'
|
|
35
|
+
gem 'jslint_on_rails', '~> 1.1.1'
|
|
36
|
+
gem 'launchy'
|
|
37
|
+
gem 'parallel_tests'
|
|
38
|
+
gem 'rspec-rails', '~> 2.14.0'
|
|
39
|
+
gem 'shoulda-matchers'
|
|
40
|
+
gem 'sqlite3'
|
|
41
|
+
end
|
data/Guardfile
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# More info at https://github.com/guard/guard#readme
|
|
2
|
+
|
|
3
|
+
guard 'rspec', :all_on_start => false, :version => 2 do
|
|
4
|
+
watch(%r{^spec/.+_spec\.rb$})
|
|
5
|
+
watch(%r{^lib/active_admin/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}_spec.rb" }
|
|
6
|
+
watch('spec/spec_helper.rb') { "spec/" }
|
|
7
|
+
end
|
data/LICENSE
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
Copyright (c) 2013 Greg Bell, VersaPay Corporation
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
|
+
|
|
22
|
+
Iconic Icons are designed by P.J. Onori and are shared under
|
|
23
|
+
the Creative Commons Attribution-Share Alike 3.0 license:
|
|
24
|
+
http://creativecommons.org/licenses/by-sa/3.0/us
|
|
25
|
+
http://somerandomdude.com/projects/iconic/
|
data/README.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Active Admin
|
|
2
|
+
|
|
3
|
+
Active Admin is a Ruby on Rails framework for creating elegant backends for website administration.
|
|
4
|
+
|
|
5
|
+
[ ](https://travis-ci.org/gregbell/active_admin)
|
|
6
|
+
[ ](https://codeclimate.com/github/gregbell/active_admin)
|
|
7
|
+
[ ](https://gemnasium.com/gregbell/active_admin)
|
|
8
|
+
[](https://coveralls.io/r/gregbell/active_admin)
|
|
9
|
+
[ ](https://www.gittip.com/activeadmin)
|
|
10
|
+
|
|
11
|
+
## Links
|
|
12
|
+
|
|
13
|
+
* Website: <http://www.activeadmin.info>
|
|
14
|
+
* Live demo: <http://demo.activeadmin.info/admin>
|
|
15
|
+
* Documentation
|
|
16
|
+
* Guides: <http://activeadmin.info/documentation.html>
|
|
17
|
+
* YARD: <http://rubydoc.info/gems/activeadmin/frames>
|
|
18
|
+
* Wiki: <https://github.com/gregbell/active_admin/wiki>
|
|
19
|
+
|
|
20
|
+
## Goals
|
|
21
|
+
|
|
22
|
+
1. Allow developers to quickly create gorgeous administration interfaces __(Not Just CRUD)__
|
|
23
|
+
2. Build a DSL for developers and an interface for businesses.
|
|
24
|
+
3. Ensure that developers can easily customize every nook and cranny of the interface.
|
|
25
|
+
4. Build common interfaces as shareable gems so that the entire community benefits.
|
|
26
|
+
|
|
27
|
+
## Rails 4
|
|
28
|
+
|
|
29
|
+
There isn't yet an official release that supports Rails 4. For now, you'll have to use master:
|
|
30
|
+
```ruby
|
|
31
|
+
gem 'activeadmin', github: 'gregbell/active_admin'
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Getting started
|
|
35
|
+
|
|
36
|
+
Check out [the docs](https://github.com/gregbell/active_admin/blob/master/docs/0-installation.md)!
|
|
37
|
+
|
|
38
|
+
## Need help?
|
|
39
|
+
|
|
40
|
+
Ask the [mailing list](http://groups.google.com/group/activeadmin) or
|
|
41
|
+
[Stack Overflow](http://stackoverflow.com/questions/tagged/activeadmin).
|
|
42
|
+
|
|
43
|
+
## Want to contribute?
|
|
44
|
+
|
|
45
|
+
The [contributing guide](https://github.com/gregbell/active_admin/blob/master/CONTRIBUTING.md)
|
|
46
|
+
is a good place to start. If you have questions, feel free to ask
|
|
47
|
+
[@seanlinsley](https://twitter.com/seanlinsley).
|
|
48
|
+
|
|
49
|
+
## Dependencies
|
|
50
|
+
|
|
51
|
+
We try not to reinvent the wheel, so Active Admin is built with other open source projects:
|
|
52
|
+
|
|
53
|
+
Tool | Description
|
|
54
|
+
--------------------- | -----------
|
|
55
|
+
[Arbre] | Ruby -> HTML, just like that.
|
|
56
|
+
[Devise] | Powerful, extensible user authentication
|
|
57
|
+
[Formtastic] | A Rails form builder plugin with semantically rich and accessible markup
|
|
58
|
+
[Iconic Icons] | An excellent SVG icon set designed by P.J. Onori
|
|
59
|
+
[Inherited Resources] | Simplifies controllers with pre-built RESTful controller actions
|
|
60
|
+
[Kaminari] | Elegant pagination for any sort of collection
|
|
61
|
+
|
|
62
|
+
[Arbre]: https://github.com/gregbell/arbre
|
|
63
|
+
[Devise]: https://github.com/plataformatec/devise
|
|
64
|
+
[Formtastic]: https://github.com/justinfrench/formtastic
|
|
65
|
+
[Iconic Icons]: http://somerandomdude.com/projects/iconic
|
|
66
|
+
[Inherited Resources]: https://github.com/josevalim/inherited_resources
|
|
67
|
+
[Kaminari]: https://github.com/amatsuda/kaminari
|
data/Rakefile
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require "bundler"
|
|
2
|
+
require 'rake'
|
|
3
|
+
Bundler.setup
|
|
4
|
+
Bundler::GemHelper.install_tasks
|
|
5
|
+
|
|
6
|
+
def cmd(command)
|
|
7
|
+
puts command
|
|
8
|
+
raise unless system command
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
require File.expand_path('../spec/support/detect_rails_version', __FILE__)
|
|
12
|
+
|
|
13
|
+
# Import all our rake tasks
|
|
14
|
+
FileList['tasks/**/*.rake'].each { |task| import task }
|
|
15
|
+
|
|
16
|
+
task :default => :test
|
|
17
|
+
|
|
18
|
+
begin
|
|
19
|
+
require 'jasmine'
|
|
20
|
+
load 'jasmine/tasks/jasmine.rake'
|
|
21
|
+
rescue LoadError
|
|
22
|
+
task :jasmine do
|
|
23
|
+
abort "Jasmine is not available. In order to run jasmine, you must: (sudo) gem install jasmine"
|
|
24
|
+
end
|
|
25
|
+
end
|
data/activeadmin.gemspec
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
|
3
|
+
require "active_admin/version"
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |s|
|
|
6
|
+
s.name = %q{yousty-activeadmin}
|
|
7
|
+
s.license = "MIT"
|
|
8
|
+
s.version = ActiveAdmin::VERSION
|
|
9
|
+
s.platform = Gem::Platform::RUBY
|
|
10
|
+
s.homepage = %q{http://activeadmin.info}
|
|
11
|
+
s.authors = ["Greg Bell"]
|
|
12
|
+
s.email = ["gregdbell@gmail.com"]
|
|
13
|
+
s.description = %q{The administration framework for Ruby on Rails.}
|
|
14
|
+
s.summary = %q{The administration framework for Ruby on Rails.}
|
|
15
|
+
|
|
16
|
+
s.files = `git ls-files`.split("\n").sort
|
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
19
|
+
s.require_paths = ["lib"]
|
|
20
|
+
|
|
21
|
+
s.add_dependency "arbre", "~> 1.0"
|
|
22
|
+
s.add_dependency "bourbon"
|
|
23
|
+
s.add_dependency "coffee-rails"
|
|
24
|
+
s.add_dependency "devise", "~> 3.0"
|
|
25
|
+
s.add_dependency "formtastic", "~> 2.3.0.rc2" # change to 2.3 when stable is released
|
|
26
|
+
s.add_dependency "inherited_resources", "~> 1.3"
|
|
27
|
+
s.add_dependency "jquery-rails"
|
|
28
|
+
s.add_dependency "jquery-ui-rails"
|
|
29
|
+
s.add_dependency "kaminari", "~> 0.13"
|
|
30
|
+
s.add_dependency "rails", ">= 3.2", "< 4.1"
|
|
31
|
+
s.add_dependency "ransack", "~> 1.0"
|
|
32
|
+
s.add_dependency "sass-rails"
|
|
33
|
+
end
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="87.5px" viewBox="0 0 100 87.5" style="enable-background:new 0 0 100 87.5;" xml:space="preserve">
|
|
2
|
+
<path style="fill:#010101;" d="M12.5,6.25c0,3.455-2.795,6.25-6.25,6.25C2.795,12.5,0,9.705,0,6.25C0,2.795,2.795,0,6.25,0 C9.705,0,12.5,2.795,12.5,6.25z"/>
|
|
3
|
+
<rect x="25" style="fill:#010101;" width="75" height="12.5"/>
|
|
4
|
+
<path style="fill:#010101;" d="M12.5,56.25c0,3.455-2.795,6.25-6.25,6.25C2.795,62.5,0,59.705,0,56.25S2.795,50,6.25,50 C9.705,50,12.5,52.795,12.5,56.25z"/>
|
|
5
|
+
<rect x="25" y="50" style="fill:#010101;" width="75" height="12.5"/>
|
|
6
|
+
<path style="fill:#010101;" d="M12.5,31.25c0,3.455-2.795,6.25-6.25,6.25C2.795,37.5,0,34.705,0,31.25S2.795,25,6.25,25 C9.705,25,12.5,27.795,12.5,31.25z"/>
|
|
7
|
+
<path style="fill:#010101;" d="M12.5,81.25c0,3.455-2.795,6.25-6.25,6.25C2.795,87.5,0,84.705,0,81.25S2.795,75,6.25,75 C9.705,75,12.5,77.795,12.5,81.25z"/>
|
|
8
|
+
<rect x="25" y="25" style="fill:#010101;" width="75" height="12.5"/>
|
|
9
|
+
<rect x="25" y="75" style="fill:#010101;" width="75" height="12.5"/>
|
|
10
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="63.62px" viewBox="0 0 100 63.62" enable-background="new 0 0 100 63.62" xml:space="preserve">
|
|
2
|
+
<path d="M40.592,41.293V23.226c0-4.67,3.617-8.457,8.079-8.457h17.675v-4.307C66.346,4.685,61.868,0,56.35,0H9.996 C4.477,0,0,4.685,0,10.463v22.354c0,5.777,4.477,10.463,9.996,10.463h7.649c0,4.115,0,8.234,0,12.352 c0,0.682,0.936,1.162,1.422,0.59c3.645-4.314,7.287-8.627,10.933-12.941h10.825C40.677,42.641,40.592,41.979,40.592,41.293z"/>
|
|
3
|
+
<path d="M45.178,26.205v20.168c0,4.211,3.263,7.627,7.289,7.627h19.21c2.658,3.145,5.313,6.289,7.97,9.434 c0.354,0.42,1.036,0.068,1.036-0.428c0-3.002,0-6.004,0-9.006h12.029c4.025,0,7.288-3.416,7.288-7.627V26.205 c0-4.212-3.263-7.629-7.288-7.629H52.467C48.441,18.576,45.178,21.992,45.178,26.205z"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
|
|
2
|
+
<g>
|
|
3
|
+
<path fill="#000000" d="M24.666,2.5H5.334C3.769,2.5,2.5,3.769,2.5,5.334v19.331c0,1.565,1.269,2.834,2.834,2.834h19.331 c1.565,0,2.834-1.269,2.834-2.834V5.334C27.5,3.769,26.231,2.5,24.666,2.5z"/>
|
|
4
|
+
<path fill="#000000" d="M59.704,2.5H40.373c-1.565,0-2.834,1.269-2.834,2.834v19.331c0,1.565,1.269,2.834,2.834,2.834h19.331 c1.565,0,2.835-1.269,2.835-2.834V5.334C62.539,3.769,61.27,2.5,59.704,2.5z"/>
|
|
5
|
+
<path fill="#000000" d="M94.742,2.5h-19.33c-1.566,0-2.835,1.269-2.835,2.834v19.331c0,1.565,1.269,2.834,2.835,2.834h19.33 c1.566,0,2.836-1.269,2.836-2.834V5.334C97.578,3.769,96.309,2.5,94.742,2.5z"/>
|
|
6
|
+
<path fill="#000000" d="M24.666,37.667H5.334c-1.565,0-2.834,1.269-2.834,2.834v19.331c0,1.565,1.269,2.834,2.834,2.834h19.331 c1.565,0,2.834-1.269,2.834-2.834V40.501C27.5,38.936,26.231,37.667,24.666,37.667z"/>
|
|
7
|
+
<path fill="#000000" d="M59.704,37.667H40.373c-1.565,0-2.834,1.269-2.834,2.834v19.331c0,1.565,1.269,2.834,2.834,2.834h19.331 c1.565,0,2.835-1.269,2.835-2.834V40.501C62.539,38.936,61.27,37.667,59.704,37.667z"/>
|
|
8
|
+
<path fill="#000000" d="M94.742,37.667h-19.33c-1.566,0-2.835,1.269-2.835,2.834v19.331c0,1.565,1.269,2.834,2.835,2.834h19.33 c1.566,0,2.836-1.269,2.836-2.834V40.501C97.578,38.936,96.309,37.667,94.742,37.667z"/>
|
|
9
|
+
<path fill="#000000" d="M24.666,72.833H5.334c-1.565,0-2.834,1.269-2.834,2.835v19.33c0,1.566,1.269,2.834,2.834,2.834h19.331 c1.565,0,2.834-1.268,2.834-2.834v-19.33C27.5,74.102,26.231,72.833,24.666,72.833z"/>
|
|
10
|
+
<path fill="#000000" d="M59.704,72.833H40.373c-1.565,0-2.834,1.269-2.834,2.835v19.33c0,1.566,1.269,2.834,2.834,2.834h19.331 c1.565,0,2.835-1.268,2.835-2.834v-19.33C62.539,74.102,61.27,72.833,59.704,72.833z"/>
|
|
11
|
+
<path fill="#000000" d="M94.742,72.833h-19.33c-1.566,0-2.835,1.269-2.835,2.835v19.33c0,1.566,1.269,2.834,2.835,2.834h19.33 c1.566,0,2.836-1.268,2.836-2.834v-19.33C97.578,74.102,96.309,72.833,94.742,72.833z"/>
|
|
12
|
+
</g>
|
|
13
|
+
</svg>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 100 100" enable-background="new 0 0 100 100" xml:space="preserve">
|
|
2
|
+
<path d="M0,0v100h100V0H0z M93.164,39.662H66.55V25.469h2.396h24.219V39.662z M64.499,58.308H35.501V41.706h28.998V58.308z M35.501,39.662V25.469h2.389h24.219h2.39v14.193H35.501z M31.055,25.469h2.396v14.193H6.836V25.469H31.055z M33.451,41.706v16.602 H6.836V41.706H33.451z M6.836,60.352h26.615v16.575H6.836V60.352z M35.501,60.352h28.998v16.575H35.501V60.352z M66.55,60.352 h26.614v16.575H66.55V60.352z M66.55,58.308V41.706h26.614v16.602H66.55z M6.836,93.164v-14.18h26.615v14.18H6.836z M35.501,93.164 v-14.18h28.998v14.18H35.501z M66.55,78.984h26.614v14.18H66.55V78.984z"/>
|
|
3
|
+
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Initializers
|
|
2
|
+
$ ->
|
|
3
|
+
# jQuery datepickers (also evaluates dynamically added HTML)
|
|
4
|
+
$(document).on 'focus', '.datepicker:not(.hasDatepicker)', ->
|
|
5
|
+
defaults = dateFormat: 'yy-mm-dd'
|
|
6
|
+
options = $(@).data 'datepicker-options'
|
|
7
|
+
$(@).datepicker $.extend(defaults, options)
|
|
8
|
+
|
|
9
|
+
# Clear Filters button
|
|
10
|
+
$('.clear_filters_btn').click ->
|
|
11
|
+
window.location.search = ''
|
|
12
|
+
|
|
13
|
+
# Batch Actions dropdown
|
|
14
|
+
$('.dropdown_button').popover()
|
|
15
|
+
|
|
16
|
+
# Filter form: don't send any inputs that are empty
|
|
17
|
+
$('.filter_form').submit ->
|
|
18
|
+
$(@).find(':input').filter(-> @value is '').prop 'disabled', true
|
|
19
|
+
|
|
20
|
+
# Filter form: for filters that let you choose the query method from
|
|
21
|
+
# a dropdown, apply that choice to the filter input field.
|
|
22
|
+
$('.filter_form_field.select_and_search select').change ->
|
|
23
|
+
$(@).siblings('input').prop name: "q[#{@value}]"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
jQuery ($) ->
|
|
2
|
+
|
|
3
|
+
#
|
|
4
|
+
# Use Rails.js click handler to allow for Rails' confirm dialogs
|
|
5
|
+
#
|
|
6
|
+
|
|
7
|
+
$(document).delegate "#batch_actions_selector li a", "click.rails", ->
|
|
8
|
+
$("#batch_action").val $(@).attr("data-action")
|
|
9
|
+
$("#collection_selection").submit()
|
|
10
|
+
|
|
11
|
+
#
|
|
12
|
+
# Add checkbox selection to resource tables and lists if batch actions are enabled
|
|
13
|
+
#
|
|
14
|
+
|
|
15
|
+
if $("#batch_actions_selector").length && $(":checkbox.toggle_all").length
|
|
16
|
+
|
|
17
|
+
if $(".paginated_collection table.index_table").length
|
|
18
|
+
$(".paginated_collection table.index_table").tableCheckboxToggler()
|
|
19
|
+
else
|
|
20
|
+
$(".paginated_collection").checkboxToggler()
|
|
21
|
+
|
|
22
|
+
$(".paginated_collection").find(":checkbox").bind "change", ->
|
|
23
|
+
if $(".paginated_collection").find(":checkbox").filter(":checked").length > 0
|
|
24
|
+
$("#batch_actions_selector").aaDropdownMenu("enable")
|
|
25
|
+
else
|
|
26
|
+
$("#batch_actions_selector").aaDropdownMenu("disable")
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
$ ->
|
|
2
|
+
# Provides a before-removal hook:
|
|
3
|
+
# $ ->
|
|
4
|
+
# # This is a good place to tear down JS plugins to prevent memory leaks.
|
|
5
|
+
# $(document).on 'has_many_remove:before', '.has_many', (e, fieldset)->
|
|
6
|
+
# fieldset.find('.select2').select2 'destroy'
|
|
7
|
+
#
|
|
8
|
+
$(document).on 'click', 'a.button.has_many_remove', (e)->
|
|
9
|
+
e.preventDefault()
|
|
10
|
+
parent = $(@).closest '.has_many'
|
|
11
|
+
to_remove = $(@).closest 'fieldset'
|
|
12
|
+
|
|
13
|
+
parent.trigger 'has_many_remove:before', [ to_remove ]
|
|
14
|
+
to_remove.remove()
|
|
15
|
+
|
|
16
|
+
# Provides before and after creation hooks:
|
|
17
|
+
# $ ->
|
|
18
|
+
# # The before hook allows you to prevent the creation of new records.
|
|
19
|
+
# $(document).on 'has_many_add:before', '.has_many', (e)->
|
|
20
|
+
# if $(@).children('fieldset').length >= 3
|
|
21
|
+
# alert "you've reached the maximum number of items"
|
|
22
|
+
# e.preventDefault()
|
|
23
|
+
#
|
|
24
|
+
# # The after hook is a good place to initialize JS plugins and the like.
|
|
25
|
+
# $(document).on 'has_many_add:after', '.has_many', (e, fieldset)->
|
|
26
|
+
# fieldset.find('select').chosen()
|
|
27
|
+
#
|
|
28
|
+
$(document).on 'click', 'a.button.has_many_add', (e)->
|
|
29
|
+
e.preventDefault()
|
|
30
|
+
elem = $(@)
|
|
31
|
+
parent = elem.closest '.has_many'
|
|
32
|
+
parent.trigger before_add = $.Event 'has_many_add:before'
|
|
33
|
+
|
|
34
|
+
unless before_add.isDefaultPrevented()
|
|
35
|
+
index = parent.data('has_many_index') || parent.children('fieldset').length - 1
|
|
36
|
+
parent.data has_many_index: ++index
|
|
37
|
+
|
|
38
|
+
regex = new RegExp elem.data('placeholder'), 'g'
|
|
39
|
+
html = elem.data('html').replace regex, index
|
|
40
|
+
|
|
41
|
+
parent.trigger 'has_many_add:after', [ $(html).insertBefore(@) ]
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
window.ActiveAdmin.CheckboxToggler = class ActiveAdmin.CheckboxToggler
|
|
2
|
+
constructor: (@options, @container)->
|
|
3
|
+
defaults = {}
|
|
4
|
+
@options = $.extend {}, defaults, options
|
|
5
|
+
@_init()
|
|
6
|
+
@_bind()
|
|
7
|
+
|
|
8
|
+
_init: ->
|
|
9
|
+
if not @container
|
|
10
|
+
throw new Error('Container element not found')
|
|
11
|
+
else
|
|
12
|
+
@$container = $(@container)
|
|
13
|
+
|
|
14
|
+
if not @$container.find('.toggle_all').length
|
|
15
|
+
throw new Error('"toggle all" checkbox not found')
|
|
16
|
+
else
|
|
17
|
+
@toggle_all_checkbox = @$container.find '.toggle_all'
|
|
18
|
+
|
|
19
|
+
@checkboxes = @$container.find(':checkbox').not @toggle_all_checkbox
|
|
20
|
+
|
|
21
|
+
_bind: ->
|
|
22
|
+
@checkboxes.change (e)=> @_didChangeCheckbox e.target
|
|
23
|
+
@toggle_all_checkbox.change => @_didChangeToggleAllCheckbox()
|
|
24
|
+
|
|
25
|
+
_didChangeCheckbox: (checkbox)->
|
|
26
|
+
switch @checkboxes.filter(':checked').length
|
|
27
|
+
when @checkboxes.length - 1 then @toggle_all_checkbox.prop checked: null
|
|
28
|
+
when @checkboxes.length then @toggle_all_checkbox.prop checked: true
|
|
29
|
+
|
|
30
|
+
_didChangeToggleAllCheckbox: ->
|
|
31
|
+
setting = if @toggle_all_checkbox.prop 'checked' then true else null
|
|
32
|
+
@checkboxes.each (index, el)=>
|
|
33
|
+
$(el).prop checked: setting
|
|
34
|
+
@_didChangeCheckbox(el)
|
|
35
|
+
|
|
36
|
+
jQuery ($)->
|
|
37
|
+
$.widget.bridge 'checkboxToggler', ActiveAdmin.CheckboxToggler
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
window.ActiveAdmin.DropdownMenu = class ActiveAdmin.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
|
+
open: ->
|
|
24
|
+
@isOpen = true
|
|
25
|
+
@$menuList.fadeIn @options.fadeInDuration
|
|
26
|
+
|
|
27
|
+
@_positionMenuList()
|
|
28
|
+
@_positionNipple()
|
|
29
|
+
|
|
30
|
+
return @
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
close: ->
|
|
34
|
+
@isOpen = false
|
|
35
|
+
@$menuList.fadeOut this.options.fadeOutDuration
|
|
36
|
+
|
|
37
|
+
return @
|
|
38
|
+
|
|
39
|
+
destroy: ->
|
|
40
|
+
@$element.unbind()
|
|
41
|
+
@$element = null
|
|
42
|
+
|
|
43
|
+
return @
|
|
44
|
+
|
|
45
|
+
isDisabled: ->
|
|
46
|
+
@$menuButton.hasClass("disabled")
|
|
47
|
+
|
|
48
|
+
disable: ->
|
|
49
|
+
@$menuButton.addClass("disabled")
|
|
50
|
+
|
|
51
|
+
enable: ->
|
|
52
|
+
@$menuButton.removeClass("disabled")
|
|
53
|
+
|
|
54
|
+
option: (key, value) ->
|
|
55
|
+
if $.isPlainObject(key)
|
|
56
|
+
return @options = $.extend(true, @options, key)
|
|
57
|
+
|
|
58
|
+
else if key?
|
|
59
|
+
return @options[key]
|
|
60
|
+
|
|
61
|
+
else
|
|
62
|
+
return @options[key] = value
|
|
63
|
+
|
|
64
|
+
# Private
|
|
65
|
+
|
|
66
|
+
_buildMenuList: ->
|
|
67
|
+
@$menuList.prepend("<div class=\"dropdown_menu_nipple\"></div>")
|
|
68
|
+
@$menuList.hide()
|
|
69
|
+
|
|
70
|
+
_bind: ->
|
|
71
|
+
$("body").bind 'click', () =>
|
|
72
|
+
if @isOpen is true
|
|
73
|
+
@close()
|
|
74
|
+
|
|
75
|
+
@$menuButton.bind 'click', () =>
|
|
76
|
+
unless @isDisabled()
|
|
77
|
+
if @isOpen is true
|
|
78
|
+
@close()
|
|
79
|
+
else
|
|
80
|
+
@open()
|
|
81
|
+
|
|
82
|
+
# Return false so that the event is stopped
|
|
83
|
+
false
|
|
84
|
+
|
|
85
|
+
_positionMenuList: ->
|
|
86
|
+
centerOfButtonFromLeft = @$menuButton.position().left + @$menuButton.outerWidth() / 2
|
|
87
|
+
centerOfmenuListFromLeft = @$menuList.outerWidth() / 2
|
|
88
|
+
menuListLeftPos = centerOfButtonFromLeft - centerOfmenuListFromLeft
|
|
89
|
+
@$menuList.css "left", menuListLeftPos
|
|
90
|
+
|
|
91
|
+
_positionNipple: ->
|
|
92
|
+
centerOfmenuListFromLeft = @$menuList.outerWidth() / 2
|
|
93
|
+
bottomOfButtonFromTop = @$menuButton.position().top + @$menuButton.outerHeight() + 10
|
|
94
|
+
@$menuList.css "top", bottomOfButtonFromTop
|
|
95
|
+
$nipple = @$menuList.find(".dropdown_menu_nipple")
|
|
96
|
+
centerOfnippleFromLeft = $nipple.outerWidth() / 2
|
|
97
|
+
nippleLeftPos = centerOfmenuListFromLeft - centerOfnippleFromLeft
|
|
98
|
+
$nipple.css "left", nippleLeftPos
|
|
99
|
+
|
|
100
|
+
(($) ->
|
|
101
|
+
$.widget.bridge 'aaDropdownMenu', ActiveAdmin.DropdownMenu
|
|
102
|
+
|
|
103
|
+
$ ->
|
|
104
|
+
$(".dropdown_menu").aaDropdownMenu()
|
|
105
|
+
)(jQuery)
|