super-sharp-tool 0.0.1
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/activeadmin-3.5.1/CHANGELOG.md +1153 -0
- data/activeadmin-3.5.1/CODE_OF_CONDUCT.md +74 -0
- data/activeadmin-3.5.1/CONTRIBUTING.md +187 -0
- data/activeadmin-3.5.1/LICENSE +20 -0
- data/activeadmin-3.5.1/README.md +117 -0
- data/activeadmin-3.5.1/app/assets/javascripts/active_admin/base.js +520 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_base.scss +57 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_forms.scss +315 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_header.scss +188 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_mixins.scss +1 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_normalize.scss +349 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_print.scss +287 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_typography.scss +100 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_batch_actions.scss +6 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_blank_slates.scss +30 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_buttons.scss +6 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_comments.scss +41 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_date_picker.scss +148 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +154 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_pagination.scss +58 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_scopes.scss +13 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_table_tools.scss +70 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_tables.scss +112 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_tabs.scss +68 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_buttons.scss +65 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_gradients.scss +28 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_rounded.scss +22 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_sections.scss +41 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_shadows.scss +15 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_utilities.scss +17 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_variables.scss +51 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_footer.scss +19 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_title_bar.scss +43 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/base.js +28 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/ext/jquery-ui.js +7 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/ext/jquery.js +9 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/batch-actions.js +61 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/datepicker.js +19 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/filters.js +10 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/has-many.js +98 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/per-page.js +13 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/tabs.js +6 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/filters.js +39 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/modal-dialog.js +63 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/per-page.js +38 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/utils.js +40 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/passwords/edit.html.erb +18 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/passwords/new.html.erb +15 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/registrations/new.html.erb +21 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/sessions/new.html.erb +20 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/shared/_links.erb +33 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/unlocks/new.html.erb +15 -0
- data/activeadmin-3.5.1/app/views/active_admin/page/index.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/active_admin/resource/edit.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/active_admin/resource/index.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/active_admin/resource/new.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/active_admin/resource/show.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_gap.html.erb +8 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/layouts/active_admin.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/layouts/active_admin_logged_out.html.erb +50 -0
- data/activeadmin-3.5.1/config/locales/ar.yml +128 -0
- data/activeadmin-3.5.1/config/locales/az.yml +131 -0
- data/activeadmin-3.5.1/config/locales/bg.yml +112 -0
- data/activeadmin-3.5.1/config/locales/bs.yml +114 -0
- data/activeadmin-3.5.1/config/locales/ca.yml +98 -0
- data/activeadmin-3.5.1/config/locales/cs.yml +102 -0
- data/activeadmin-3.5.1/config/locales/da.yml +130 -0
- data/activeadmin-3.5.1/config/locales/de-CH.yml +94 -0
- data/activeadmin-3.5.1/config/locales/de.yml +154 -0
- data/activeadmin-3.5.1/config/locales/el.yml +119 -0
- data/activeadmin-3.5.1/config/locales/en-CA.yml +132 -0
- data/activeadmin-3.5.1/config/locales/en-GB.yml +132 -0
- data/activeadmin-3.5.1/config/locales/en.yml +154 -0
- data/activeadmin-3.5.1/config/locales/eo.yml +137 -0
- data/activeadmin-3.5.1/config/locales/es-MX.yml +90 -0
- data/activeadmin-3.5.1/config/locales/es.yml +154 -0
- data/activeadmin-3.5.1/config/locales/fa.yml +112 -0
- data/activeadmin-3.5.1/config/locales/fi.yml +105 -0
- data/activeadmin-3.5.1/config/locales/fr.yml +133 -0
- data/activeadmin-3.5.1/config/locales/he.yml +132 -0
- data/activeadmin-3.5.1/config/locales/hr.yml +116 -0
- data/activeadmin-3.5.1/config/locales/hu.yml +94 -0
- data/activeadmin-3.5.1/config/locales/id.yml +128 -0
- data/activeadmin-3.5.1/config/locales/it.yml +154 -0
- data/activeadmin-3.5.1/config/locales/ja.yml +133 -0
- data/activeadmin-3.5.1/config/locales/ko.yml +113 -0
- data/activeadmin-3.5.1/config/locales/lt.yml +134 -0
- data/activeadmin-3.5.1/config/locales/lv.yml +85 -0
- data/activeadmin-3.5.1/config/locales/mk.yml +126 -0
- data/activeadmin-3.5.1/config/locales/nb.yml +122 -0
- data/activeadmin-3.5.1/config/locales/nl.yml +136 -0
- data/activeadmin-3.5.1/config/locales/pl.yml +160 -0
- data/activeadmin-3.5.1/config/locales/pt-BR.yml +135 -0
- data/activeadmin-3.5.1/config/locales/pt-PT.yml +85 -0
- data/activeadmin-3.5.1/config/locales/ro.yml +90 -0
- data/activeadmin-3.5.1/config/locales/ru.yml +135 -0
- data/activeadmin-3.5.1/config/locales/sk.yml +160 -0
- data/activeadmin-3.5.1/config/locales/sv-SE.yml +154 -0
- data/activeadmin-3.5.1/config/locales/tr.yml +133 -0
- data/activeadmin-3.5.1/config/locales/uk.yml +132 -0
- data/activeadmin-3.5.1/config/locales/vi.yml +154 -0
- data/activeadmin-3.5.1/config/locales/zh-CN.yml +154 -0
- data/activeadmin-3.5.1/config/locales/zh-TW.yml +128 -0
- data/activeadmin-3.5.1/lib/active_admin/abstract_view_factory.rb +48 -0
- data/activeadmin-3.5.1/lib/active_admin/application.rb +234 -0
- data/activeadmin-3.5.1/lib/active_admin/application_settings.rb +43 -0
- data/activeadmin-3.5.1/lib/active_admin/asset_registration.rb +30 -0
- data/activeadmin-3.5.1/lib/active_admin/authorization_adapter.rb +132 -0
- data/activeadmin-3.5.1/lib/active_admin/base_controller/authorization.rb +129 -0
- data/activeadmin-3.5.1/lib/active_admin/base_controller/menu.rb +35 -0
- data/activeadmin-3.5.1/lib/active_admin/base_controller.rb +82 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions/controller.rb +41 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions/resource_extension.rb +157 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/batch_action_form.rb +39 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/batch_action_selector.rb +59 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/selection_cells.rb +39 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions.rb +17 -0
- data/activeadmin-3.5.1/lib/active_admin/callbacks.rb +89 -0
- data/activeadmin-3.5.1/lib/active_admin/cancan_adapter.rb +37 -0
- data/activeadmin-3.5.1/lib/active_admin/collection_decorator.rb +32 -0
- data/activeadmin-3.5.1/lib/active_admin/component.rb +6 -0
- data/activeadmin-3.5.1/lib/active_admin/controller_action.rb +14 -0
- data/activeadmin-3.5.1/lib/active_admin/csv_builder.rb +144 -0
- data/activeadmin-3.5.1/lib/active_admin/dependency.rb +97 -0
- data/activeadmin-3.5.1/lib/active_admin/devise.rb +91 -0
- data/activeadmin-3.5.1/lib/active_admin/dsl.rb +161 -0
- data/activeadmin-3.5.1/lib/active_admin/dynamic_setting.rb +39 -0
- data/activeadmin-3.5.1/lib/active_admin/dynamic_settings_node.rb +29 -0
- data/activeadmin-3.5.1/lib/active_admin/engine.rb +29 -0
- data/activeadmin-3.5.1/lib/active_admin/error.rb +63 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/active.rb +30 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/active_filter.rb +124 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/active_sidebar.rb +28 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/dsl.rb +22 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/forms.rb +86 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/formtastic_addons.rb +75 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/resource_extension.rb +180 -0
- data/activeadmin-3.5.1/lib/active_admin/filters.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/form_builder.rb +186 -0
- data/activeadmin-3.5.1/lib/active_admin/generators/boilerplate.rb +54 -0
- data/activeadmin-3.5.1/lib/active_admin/helpers/collection.rb +21 -0
- data/activeadmin-3.5.1/lib/active_admin/helpers/i18n.rb +8 -0
- data/activeadmin-3.5.1/lib/active_admin/helpers/optional_display.rb +39 -0
- data/activeadmin-3.5.1/lib/active_admin/helpers/routes/url_helpers.rb +16 -0
- data/activeadmin-3.5.1/lib/active_admin/helpers/scope_chain.rb +25 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/datepicker_input.rb +28 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/base/search_method_select.rb +76 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/base.rb +45 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/boolean_input.rb +25 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/check_boxes_input.rb +51 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/date_picker_input.rb +14 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/date_range_input.rb +53 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/numeric_input.rb +13 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/select_input.rb +59 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/string_input.rb +27 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/text_input.rb +26 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs.rb +22 -0
- data/activeadmin-3.5.1/lib/active_admin/localizers/resource_localizer.rb +36 -0
- data/activeadmin-3.5.1/lib/active_admin/localizers.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/menu.rb +107 -0
- data/activeadmin-3.5.1/lib/active_admin/menu_collection.rb +92 -0
- data/activeadmin-3.5.1/lib/active_admin/menu_item.rb +70 -0
- data/activeadmin-3.5.1/lib/active_admin/namespace.rb +267 -0
- data/activeadmin-3.5.1/lib/active_admin/namespace_settings.rb +127 -0
- data/activeadmin-3.5.1/lib/active_admin/order_clause.rb +49 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/comment.rb +40 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/namespace_helper.rb +15 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/resource_helper.rb +18 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/show_page_helper.rb +24 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +101 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views.rb +3 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments.rb +102 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record.rb +6 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/mongoid.rb +2 -0
- data/activeadmin-3.5.1/lib/active_admin/page.rb +112 -0
- data/activeadmin-3.5.1/lib/active_admin/page_controller.rb +30 -0
- data/activeadmin-3.5.1/lib/active_admin/page_dsl.rb +33 -0
- data/activeadmin-3.5.1/lib/active_admin/page_presenter.rb +34 -0
- data/activeadmin-3.5.1/lib/active_admin/pundit_adapter.rb +123 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/action_items.rb +121 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/attributes.rb +55 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/belongs_to.rb +53 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/controllers.rb +20 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/includes.rb +13 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/menu.rb +68 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/model.rb +16 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/naming.rb +63 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/ordering.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/page_presenters.rb +83 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/pagination.rb +24 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/routes.rb +146 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/scope_to.rb +75 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/scopes.rb +53 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/sidebars.rb +29 -0
- data/activeadmin-3.5.1/lib/active_admin/resource.rb +227 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_collection.rb +73 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/action_builder.rb +32 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/data_access.rb +348 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/decorators.rb +81 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/resource_class_methods.rb +27 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/scoping.rb +32 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/sidebars.rb +19 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/streaming.rb +45 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller.rb +68 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_dsl.rb +210 -0
- data/activeadmin-3.5.1/lib/active_admin/router.rb +115 -0
- data/activeadmin-3.5.1/lib/active_admin/scope.rb +65 -0
- data/activeadmin-3.5.1/lib/active_admin/settings_node.rb +20 -0
- data/activeadmin-3.5.1/lib/active_admin/sidebar_section.rb +40 -0
- data/activeadmin-3.5.1/lib/active_admin/version.rb +4 -0
- data/activeadmin-3.5.1/lib/active_admin/view_factory.rb +28 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/active_admin_application_helper.rb +13 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/auto_link_helper.rb +46 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/breadcrumb_helper.rb +34 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/display_helper.rb +119 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/download_format_links_helper.rb +60 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/fields_for.rb +51 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/flash_helper.rb +15 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/form_helper.rb +21 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/method_or_proc_helper.rb +101 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/scope_name_helper.rb +17 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/sidebar_helper.rb +16 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/title_helper.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/view_factory_helper.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers.rb +21 -0
- data/activeadmin-3.5.1/lib/active_admin/views/action_items.rb +18 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/active_admin_form.rb +164 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/attributes_table.rb +95 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/blank_slate.rb +18 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/columns.rb +162 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/dropdown_menu.rb +69 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/index_list.rb +70 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/menu.rb +33 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/menu_item.rb +59 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/paginated_collection.rb +164 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/panel.rb +39 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/scopes.rb +75 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/sidebar.rb +14 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/sidebar_section.rb +35 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/site_title.rb +55 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/status_tag.rb +76 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/table_for.rb +211 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/tabs.rb +41 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/unsupported_browser.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/views/footer.rb +32 -0
- data/activeadmin-3.5.1/lib/active_admin/views/header.rb +20 -0
- data/activeadmin-3.5.1/lib/active_admin/views/index_as_block.rb +37 -0
- data/activeadmin-3.5.1/lib/active_admin/views/index_as_blog.rb +156 -0
- data/activeadmin-3.5.1/lib/active_admin/views/index_as_grid.rb +81 -0
- data/activeadmin-3.5.1/lib/active_admin/views/index_as_table.rb +401 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/base.rb +134 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/form.rb +65 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/index.rb +166 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/layout.rb +27 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/page.rb +31 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/show.rb +60 -0
- data/activeadmin-3.5.1/lib/active_admin/views/tabbed_navigation.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/views/title_bar.rb +56 -0
- data/activeadmin-3.5.1/lib/active_admin/views.rb +9 -0
- data/activeadmin-3.5.1/lib/active_admin.rb +135 -0
- data/activeadmin-3.5.1/lib/activeadmin.rb +2 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/assets/assets_generator.rb +15 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/assets/templates/active_admin.scss +17 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/devise/devise_generator.rb +69 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/install/install_generator.rb +56 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/active_admin.rb.erb +352 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/admin_users.rb.erb +28 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +16 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/page/USAGE +8 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/page/page_generator.rb +13 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/page/templates/page.rb +6 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/resource/resource_generator.rb +21 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/data.js +39 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/disable-selection.js +51 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/focusable.js +79 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +81 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/keycode.js +51 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/labels.js +70 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/plugin.js +49 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/position.js +513 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/scroll-parent.js +50 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/tabbable.js +41 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/unique-id.js +54 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/version.js +20 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widget.js +761 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/button.js +454 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +294 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +304 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2240 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +957 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1264 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +226 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1281 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1614 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +918 -0
- data/super-sharp-tool.gemspec +12 -0
- metadata +383 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"zh-CN":
|
|
2
|
+
activerecord:
|
|
3
|
+
models:
|
|
4
|
+
comment:
|
|
5
|
+
one: "评论"
|
|
6
|
+
other: "评论"
|
|
7
|
+
active_admin/comment:
|
|
8
|
+
one: "评论"
|
|
9
|
+
other: "评论"
|
|
10
|
+
attributes:
|
|
11
|
+
active_admin/comment:
|
|
12
|
+
author_type: "作者类型"
|
|
13
|
+
body: "内容"
|
|
14
|
+
created_at: "创建"
|
|
15
|
+
namespace: "Namespace"
|
|
16
|
+
resource_type: "Resource 类型"
|
|
17
|
+
updated_at: "更新"
|
|
18
|
+
active_admin:
|
|
19
|
+
dashboard: "控制面板"
|
|
20
|
+
dashboard_welcome:
|
|
21
|
+
welcome: "欢迎使用Active Admin. 这是默认的控制面板页."
|
|
22
|
+
call_to_action: "若要添加新的面板内容, 请修改 'app/admin/dashboard.rb'"
|
|
23
|
+
view: "查看"
|
|
24
|
+
edit: "编辑"
|
|
25
|
+
delete: "删除"
|
|
26
|
+
delete_confirmation: "确定删除?"
|
|
27
|
+
create_another: "新增另一个%{model}"
|
|
28
|
+
new_model: "新增%{model}"
|
|
29
|
+
edit_model: "编辑%{model}"
|
|
30
|
+
delete_model: "删除%{model}"
|
|
31
|
+
details: "%{model}详情"
|
|
32
|
+
cancel: "取消"
|
|
33
|
+
empty: "未定义"
|
|
34
|
+
previous: "上一个"
|
|
35
|
+
next: "下一个"
|
|
36
|
+
download: "下载:"
|
|
37
|
+
has_many_new: "新增一个%{model}"
|
|
38
|
+
has_many_delete: "删除"
|
|
39
|
+
has_many_remove: "清除"
|
|
40
|
+
move: "移动"
|
|
41
|
+
filters:
|
|
42
|
+
buttons:
|
|
43
|
+
filter: "过滤"
|
|
44
|
+
clear: "清除条件"
|
|
45
|
+
predicates:
|
|
46
|
+
from: "起"
|
|
47
|
+
to: "止"
|
|
48
|
+
scopes:
|
|
49
|
+
all: "所有"
|
|
50
|
+
search_status:
|
|
51
|
+
headline: "搜索条件:"
|
|
52
|
+
current_scope: "范围:"
|
|
53
|
+
current_filters: "过滤条件:"
|
|
54
|
+
no_current_filters: "无"
|
|
55
|
+
status_tag:
|
|
56
|
+
"yes": "是"
|
|
57
|
+
"no": "否"
|
|
58
|
+
"unset": "否"
|
|
59
|
+
main_content: "请执行 %{model}#main_content 来显示内容。"
|
|
60
|
+
logout: "退出"
|
|
61
|
+
powered_by: "构建程序为 %{active_admin} %{version}"
|
|
62
|
+
sidebars:
|
|
63
|
+
filters: "所有条件"
|
|
64
|
+
search_status: "搜索条件"
|
|
65
|
+
pagination:
|
|
66
|
+
empty: "暂时没有%{model}"
|
|
67
|
+
one: "显示 <b>1</b> %{model}"
|
|
68
|
+
one_page: "显示 <b>所有 %{n}</b> %{model}"
|
|
69
|
+
multiple: "显示所有 <b>%{total}</b> %{model}中的<b>%{from} - %{to}</b> 条"
|
|
70
|
+
multiple_without_total: "%{model}中的<b>%{from} - %{to}</b> 条"
|
|
71
|
+
per_page: "每页:"
|
|
72
|
+
entry:
|
|
73
|
+
one: "条目"
|
|
74
|
+
other: "条目"
|
|
75
|
+
any: "任何"
|
|
76
|
+
blank_slate:
|
|
77
|
+
content: "暂时还没有%{resource_name}。"
|
|
78
|
+
link: "新增一个"
|
|
79
|
+
dropdown_actions:
|
|
80
|
+
button_label: "操作"
|
|
81
|
+
batch_actions:
|
|
82
|
+
button_label: "批处理"
|
|
83
|
+
default_confirmation: "你确定要这样做?"
|
|
84
|
+
delete_confirmation: "你确定要删除这些%{plural_model}?"
|
|
85
|
+
succesfully_destroyed:
|
|
86
|
+
one: "成功删除 1 %{model}"
|
|
87
|
+
other: "成功删除 %{count} %{plural_model}"
|
|
88
|
+
selection_toggle_explanation: "(切换选择)"
|
|
89
|
+
action_label: "%{title} 被选中"
|
|
90
|
+
labels:
|
|
91
|
+
destroy: "删除"
|
|
92
|
+
comments:
|
|
93
|
+
created_at: "创建于"
|
|
94
|
+
resource_type: "资源类型"
|
|
95
|
+
author_type: "作者类型"
|
|
96
|
+
body: "内容"
|
|
97
|
+
author: "作者"
|
|
98
|
+
add: "添加评论"
|
|
99
|
+
delete: "删除评论"
|
|
100
|
+
delete_confirmation: "你确定删除这些评论?"
|
|
101
|
+
resource: "资源"
|
|
102
|
+
no_comments_yet: "暂时没有评论"
|
|
103
|
+
author_missing: "匿名"
|
|
104
|
+
title_content: "(%{count})条评论"
|
|
105
|
+
errors:
|
|
106
|
+
empty_text: "评论保存失败,内空不能为空。"
|
|
107
|
+
devise:
|
|
108
|
+
username:
|
|
109
|
+
title: "用户名"
|
|
110
|
+
email:
|
|
111
|
+
title: "邮箱"
|
|
112
|
+
subdomain:
|
|
113
|
+
title: "子域"
|
|
114
|
+
password:
|
|
115
|
+
title: "密码"
|
|
116
|
+
password_confirmation:
|
|
117
|
+
title: "确认密码"
|
|
118
|
+
sign_up:
|
|
119
|
+
title: "注册"
|
|
120
|
+
submit: "注册"
|
|
121
|
+
login:
|
|
122
|
+
title: "登录"
|
|
123
|
+
remember_me: "记住我"
|
|
124
|
+
submit: "登录"
|
|
125
|
+
reset_password:
|
|
126
|
+
title: "忘记了密码?"
|
|
127
|
+
submit: "重置我的密码"
|
|
128
|
+
change_password:
|
|
129
|
+
title: "修改密码"
|
|
130
|
+
submit: "修改密码"
|
|
131
|
+
unlock:
|
|
132
|
+
title: "重新发送送解锁命令"
|
|
133
|
+
submit: "重新发送送解锁命令"
|
|
134
|
+
resend_confirmation_instructions:
|
|
135
|
+
title: " 重新发送确认说明"
|
|
136
|
+
submit: " 重新发送确认说明"
|
|
137
|
+
links:
|
|
138
|
+
sign_up: "注册"
|
|
139
|
+
sign_in: "登录"
|
|
140
|
+
forgot_your_password: "忘记了密码?"
|
|
141
|
+
sign_in_with_omniauth_provider: "通过%{provider}登录"
|
|
142
|
+
resend_unlock_instructions: "重发解锁邮件"
|
|
143
|
+
resend_confirmation_instructions: "重发确认邮件"
|
|
144
|
+
unsupported_browser:
|
|
145
|
+
headline: "很抱歉,ActiveAdmin 已不再支持 Internet Explorer 8 以下版本的浏览器。"
|
|
146
|
+
recommendation: "建议您升级到最新版本的<a href=\"http://windows.microsoft.com/ie\">Internet Explorer</a>,<a href=\"https://chrome.google.com/\">Google Chrome</a>,或是 <a href=\"https://mozilla.org/firefox/\">Firefox</a>。"
|
|
147
|
+
turn_off_compatibility_view: "如果您使用的是 IE 9 或更新的版本,请确认<a href=\"https://support.microsoft.com/zh-cn/help/17472/windows-internet-explorer-11-fix-site-display-problems-compatibility-view\">已关闭“兼容性视图”</a>。"
|
|
148
|
+
access_denied:
|
|
149
|
+
message: "您无权处理此操作"
|
|
150
|
+
index_list:
|
|
151
|
+
table: "表格"
|
|
152
|
+
block: "列表"
|
|
153
|
+
grid: "网格"
|
|
154
|
+
blog: "博客"
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"zh-TW":
|
|
2
|
+
active_admin:
|
|
3
|
+
dashboard: 儀表板
|
|
4
|
+
dashboard_welcome:
|
|
5
|
+
welcome: "歡迎來到 Active Admin,這是預設的儀表板頁面。"
|
|
6
|
+
call_to_action: "要新增儀表板內容,請查看 'app/admin/dashboard.rb'"
|
|
7
|
+
view: "檢視"
|
|
8
|
+
edit: "編輯"
|
|
9
|
+
delete: "刪除"
|
|
10
|
+
delete_confirmation: "你確定要刪除嗎?"
|
|
11
|
+
new_model: "新增 %{model}"
|
|
12
|
+
edit_model: "編輯 %{model}"
|
|
13
|
+
delete_model: "刪除 %{model}"
|
|
14
|
+
details: "%{model} 明細"
|
|
15
|
+
cancel: "取消"
|
|
16
|
+
empty: "空的"
|
|
17
|
+
previous: "前一個"
|
|
18
|
+
next: "下一個"
|
|
19
|
+
download: "下載:"
|
|
20
|
+
has_many_new: "增加新的 %{model}"
|
|
21
|
+
has_many_delete: "刪除"
|
|
22
|
+
has_many_remove: "清除"
|
|
23
|
+
filters:
|
|
24
|
+
buttons:
|
|
25
|
+
filter: "篩選"
|
|
26
|
+
clear: "清除篩選條件"
|
|
27
|
+
search_status:
|
|
28
|
+
headline: "搜尋條件:"
|
|
29
|
+
current_scope: "子集:"
|
|
30
|
+
current_filters: "目前篩選條件:"
|
|
31
|
+
no_current_filters: "無"
|
|
32
|
+
status_tag:
|
|
33
|
+
"yes": "是"
|
|
34
|
+
"no": "否"
|
|
35
|
+
"unset": "否"
|
|
36
|
+
main_content: "請實作 %{model}#main_content 以顯示內容。"
|
|
37
|
+
logout: "登出"
|
|
38
|
+
powered_by: "Powered by %{active_admin} %{version}"
|
|
39
|
+
sidebars:
|
|
40
|
+
filters: "篩選條件"
|
|
41
|
+
search_status: "搜尋條件"
|
|
42
|
+
pagination:
|
|
43
|
+
empty: "找不到 %{model} "
|
|
44
|
+
one: "顯示 <b>1</b> %{model}"
|
|
45
|
+
one_page: "顯示 <b>全部 %{n}</b> %{model}"
|
|
46
|
+
multiple: "總計 <b>%{total}</b> 顯示 %{model} 中<b>%{from} - %{to}</b> 筆"
|
|
47
|
+
multiple_without_total: "顯示 %{model} 中<b>%{from} - %{to}</b> 筆"
|
|
48
|
+
entry:
|
|
49
|
+
one: "筆"
|
|
50
|
+
other: "筆"
|
|
51
|
+
any: "任何"
|
|
52
|
+
blank_slate:
|
|
53
|
+
content: "尚無 %{resource_name}"
|
|
54
|
+
link: "建立一筆"
|
|
55
|
+
dropdown_actions:
|
|
56
|
+
button_label: "操作"
|
|
57
|
+
batch_actions:
|
|
58
|
+
button_label: "批次作業"
|
|
59
|
+
default_confirmation: "你確定你要這樣做?"
|
|
60
|
+
delete_confirmation: "你確定要刪除這些 %{plural_model} 嗎?"
|
|
61
|
+
succesfully_destroyed:
|
|
62
|
+
one: "成功刪除 1 %{model}"
|
|
63
|
+
other: "成功刪除 %{count} %{plural_model}"
|
|
64
|
+
selection_toggle_explanation: "(切換選取)"
|
|
65
|
+
action_label: "%{title} 已選取"
|
|
66
|
+
labels:
|
|
67
|
+
destroy: "刪除"
|
|
68
|
+
comments:
|
|
69
|
+
created_at: "建立"
|
|
70
|
+
resource_type: "資源種類"
|
|
71
|
+
author_type: "作者身份"
|
|
72
|
+
body: "內文"
|
|
73
|
+
author: "作者"
|
|
74
|
+
add: "新增評論"
|
|
75
|
+
delete: "刪除評論"
|
|
76
|
+
delete_confirmation: "你確定要刪除這些評論嗎?"
|
|
77
|
+
resource: "資源"
|
|
78
|
+
no_comments_yet: "尚無評論"
|
|
79
|
+
author_missing: "匿名"
|
|
80
|
+
title_content: "(%{count}) 則評論"
|
|
81
|
+
errors:
|
|
82
|
+
empty_text: "評論儲存失敗,不允許空白的內容。"
|
|
83
|
+
devise:
|
|
84
|
+
username:
|
|
85
|
+
title: "帳號"
|
|
86
|
+
email:
|
|
87
|
+
title: "電子郵件信箱"
|
|
88
|
+
subdomain:
|
|
89
|
+
title: "子網域"
|
|
90
|
+
password:
|
|
91
|
+
title: "密碼"
|
|
92
|
+
sign_up:
|
|
93
|
+
title: "註冊"
|
|
94
|
+
submit: "註冊"
|
|
95
|
+
login:
|
|
96
|
+
title: "登入"
|
|
97
|
+
remember_me: "記住我"
|
|
98
|
+
submit: "登入"
|
|
99
|
+
reset_password:
|
|
100
|
+
title: "忘記密碼?"
|
|
101
|
+
submit: "重置密碼"
|
|
102
|
+
change_password:
|
|
103
|
+
title: "更改你的密碼"
|
|
104
|
+
submit: "更改我的密碼"
|
|
105
|
+
unlock:
|
|
106
|
+
title: "重新發送解鎖指示"
|
|
107
|
+
submit: "重新發送解鎖指示"
|
|
108
|
+
resend_confirmation_instructions:
|
|
109
|
+
title: '重新發送確認信'
|
|
110
|
+
submit: '重新發送確認信'
|
|
111
|
+
links:
|
|
112
|
+
sign_up: "註冊"
|
|
113
|
+
sign_in: "登入"
|
|
114
|
+
forgot_your_password: "忘記密碼?"
|
|
115
|
+
sign_in_with_omniauth_provider: "使用 %{provider} 登入"
|
|
116
|
+
resend_unlock_instructions: "重新發送解鎖指示"
|
|
117
|
+
resend_confirmation_instructions: "重新發送確認信"
|
|
118
|
+
unsupported_browser:
|
|
119
|
+
headline: "很抱歉,ActiveAdmin 已不再支援 Internet Explorer 8 以下版本的瀏覽器。"
|
|
120
|
+
recommendation: "建議您升級到最新版本的<a href=\"http://windows.microsoft.com/ie\">Internet Explorer</a>,<a href=\"https://chrome.google.com/\">Google Chrome</a>,或是 <a href=\"https://mozilla.org/firefox/\">Firefox</a>。"
|
|
121
|
+
turn_off_compatibility_view: "若您是使用 IE 9 或更新的版本,請確認<a href=\"https://support.microsoft.com/zh-tw/help/17471\">「相容性檢視」是關閉的</a>。"
|
|
122
|
+
access_denied:
|
|
123
|
+
message: "您沒有權限執行此項操作"
|
|
124
|
+
index_list:
|
|
125
|
+
table: "表格"
|
|
126
|
+
block: "清單"
|
|
127
|
+
grid: "格狀"
|
|
128
|
+
blog: "部落格"
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module ActiveAdmin
|
|
3
|
+
class AbstractViewFactory < SettingsNode
|
|
4
|
+
|
|
5
|
+
def self.register(view_hash)
|
|
6
|
+
view_hash.each do |view_key, view_class|
|
|
7
|
+
super view_key, view_class
|
|
8
|
+
add_writer(view_key)
|
|
9
|
+
send "#{view_key}=", view_class
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def self.add_writer(name)
|
|
14
|
+
define_singleton_method("#{name}=") do |value|
|
|
15
|
+
value.builder_method name
|
|
16
|
+
instance_variable_set :"@#{name}", value
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Register a new view key with the view factory
|
|
21
|
+
#
|
|
22
|
+
# eg:
|
|
23
|
+
#
|
|
24
|
+
# factory = AbstractViewFactory.new
|
|
25
|
+
# factory.register my_view: SomeViewClass
|
|
26
|
+
#
|
|
27
|
+
# You can setup many at the same time:
|
|
28
|
+
#
|
|
29
|
+
# factory.register my_view: SomeClass,
|
|
30
|
+
# another_view: OtherViewClass
|
|
31
|
+
#
|
|
32
|
+
def register(view_hash)
|
|
33
|
+
self.class.register view_hash
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def default_for(key)
|
|
37
|
+
self.class.send key
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def [](key)
|
|
41
|
+
send key
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def []=(key, value)
|
|
45
|
+
send "#{key}=", value
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/router"
|
|
3
|
+
require "active_admin/application_settings"
|
|
4
|
+
require "active_admin/namespace_settings"
|
|
5
|
+
|
|
6
|
+
module ActiveAdmin
|
|
7
|
+
class Application
|
|
8
|
+
|
|
9
|
+
class << self
|
|
10
|
+
def setting(name, default)
|
|
11
|
+
ApplicationSettings.register name, default
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def inheritable_setting(name, default)
|
|
15
|
+
NamespaceSettings.register name, default
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def settings
|
|
20
|
+
@settings ||= SettingsNode.build(ApplicationSettings)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def namespace_settings
|
|
24
|
+
@namespace_settings ||= SettingsNode.build(NamespaceSettings)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def respond_to_missing?(method, include_private = false)
|
|
28
|
+
[settings, namespace_settings].any? { |sets| sets.respond_to?(method) } || super
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def method_missing(method, *args)
|
|
32
|
+
if settings.respond_to?(method)
|
|
33
|
+
settings.send(method, *args)
|
|
34
|
+
elsif namespace_settings.respond_to?(method)
|
|
35
|
+
namespace_settings.send(method, *args)
|
|
36
|
+
else
|
|
37
|
+
super
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
attr_reader :namespaces
|
|
42
|
+
def initialize
|
|
43
|
+
@namespaces = Namespace::Store.new
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
include AssetRegistration
|
|
47
|
+
|
|
48
|
+
# Event that gets triggered on load of Active Admin
|
|
49
|
+
BeforeLoadEvent = "active_admin.application.before_load".freeze
|
|
50
|
+
AfterLoadEvent = "active_admin.application.after_load".freeze
|
|
51
|
+
|
|
52
|
+
# Runs before the app's AA initializer
|
|
53
|
+
def setup!
|
|
54
|
+
register_default_assets
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Runs after the app's AA initializer
|
|
58
|
+
def prepare!
|
|
59
|
+
remove_active_admin_load_paths_from_rails_autoload_and_eager_load
|
|
60
|
+
attach_reloader
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Registers a brand new configuration for the given resource.
|
|
64
|
+
def register(resource, options = {}, &block)
|
|
65
|
+
ns = options.fetch(:namespace) { default_namespace }
|
|
66
|
+
namespace(ns).register resource, options, &block
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# Creates a namespace for the given name
|
|
70
|
+
#
|
|
71
|
+
# Yields the namespace if a block is given
|
|
72
|
+
#
|
|
73
|
+
# @return [Namespace] the new or existing namespace
|
|
74
|
+
def namespace(name)
|
|
75
|
+
name ||= :root
|
|
76
|
+
|
|
77
|
+
namespace = namespaces[name.to_sym] ||= begin
|
|
78
|
+
namespace = Namespace.new(self, name)
|
|
79
|
+
ActiveSupport::Notifications.instrument ActiveAdmin::Namespace::RegisterEvent, { active_admin_namespace: namespace }
|
|
80
|
+
namespace
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
yield(namespace) if block_given?
|
|
84
|
+
|
|
85
|
+
namespace
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# Register a page
|
|
89
|
+
#
|
|
90
|
+
# @param name [String] The page name
|
|
91
|
+
# @option [Hash] Accepts option :namespace.
|
|
92
|
+
# @&block The registration block.
|
|
93
|
+
#
|
|
94
|
+
def register_page(name, options = {}, &block)
|
|
95
|
+
ns = options.fetch(:namespace) { default_namespace }
|
|
96
|
+
namespace(ns).register_page name, options, &block
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# Whether all configuration files have been loaded
|
|
100
|
+
def loaded?
|
|
101
|
+
@@loaded ||= false
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# Removes all defined controllers from memory. Useful in
|
|
105
|
+
# development, where they are reloaded on each request.
|
|
106
|
+
def unload!
|
|
107
|
+
namespaces.each &:unload!
|
|
108
|
+
@@loaded = false
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Loads all ruby files that are within the load_paths setting.
|
|
112
|
+
# To reload everything simply call `ActiveAdmin.unload!`
|
|
113
|
+
def load!
|
|
114
|
+
unless loaded?
|
|
115
|
+
ActiveSupport::Notifications.instrument BeforeLoadEvent, { active_admin_application: self } # before_load hook
|
|
116
|
+
files.each { |file| load file } # load files
|
|
117
|
+
namespace(default_namespace) # init AA resources
|
|
118
|
+
ActiveSupport::Notifications.instrument AfterLoadEvent, { active_admin_application: self } # after_load hook
|
|
119
|
+
@@loaded = true
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def load(file)
|
|
124
|
+
DatabaseHitDuringLoad.capture { super }
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# Returns ALL the files to be loaded
|
|
128
|
+
def files
|
|
129
|
+
load_paths.flatten.compact.uniq.flat_map { |path| Dir["#{path}/**/*.rb"].sort }
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# Creates all the necessary routes for the ActiveAdmin configurations
|
|
133
|
+
#
|
|
134
|
+
# Use this within the routes.rb file:
|
|
135
|
+
#
|
|
136
|
+
# Application.routes.draw do |map|
|
|
137
|
+
# ActiveAdmin.routes(self)
|
|
138
|
+
# end
|
|
139
|
+
#
|
|
140
|
+
# @param rails_router [ActionDispatch::Routing::Mapper]
|
|
141
|
+
def routes(rails_router)
|
|
142
|
+
load!
|
|
143
|
+
Router.new(router: rails_router, namespaces: namespaces).apply
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
# Adds before, around and after filters to all controllers.
|
|
147
|
+
# Example usage:
|
|
148
|
+
# ActiveAdmin.before_action :authenticate_admin!
|
|
149
|
+
#
|
|
150
|
+
AbstractController::Callbacks::ClassMethods.public_instance_methods.
|
|
151
|
+
select { |m| m.match(/_action\z/) }.each do |name|
|
|
152
|
+
define_method name do |*args, &block|
|
|
153
|
+
ActiveSupport.on_load(:active_admin_controller) do
|
|
154
|
+
public_send name, *args, &block
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
def controllers_for_filters
|
|
160
|
+
controllers = [BaseController]
|
|
161
|
+
controllers.push *Devise.controllers_for_filters if Dependency.devise?
|
|
162
|
+
controllers
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
private
|
|
166
|
+
|
|
167
|
+
def register_default_assets
|
|
168
|
+
register_stylesheet "active_admin.css", media: "all"
|
|
169
|
+
register_javascript "active_admin.js"
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
# Since app/admin is alphabetically before app/models, we have to remove it
|
|
173
|
+
# from the host app's +autoload_paths+ to prevent missing constant errors.
|
|
174
|
+
#
|
|
175
|
+
# As well, we have to remove it from +eager_load_paths+ to prevent the
|
|
176
|
+
# files from being loaded twice in production.
|
|
177
|
+
def remove_active_admin_load_paths_from_rails_autoload_and_eager_load
|
|
178
|
+
ActiveSupport::Dependencies.autoload_paths -= load_paths
|
|
179
|
+
Rails.application.config.eager_load_paths -= load_paths
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
# Hook into the Rails code reloading mechanism so that things are reloaded
|
|
183
|
+
# properly in development mode.
|
|
184
|
+
#
|
|
185
|
+
# If any of the app files (e.g. models) has changed, we need to reload all
|
|
186
|
+
# the admin files. If the admin files themselves has changed, we need to
|
|
187
|
+
# regenerate the routes as well.
|
|
188
|
+
def attach_reloader
|
|
189
|
+
Rails.application.config.after_initialize do |app|
|
|
190
|
+
unload_active_admin = -> { ActiveAdmin.application.unload! }
|
|
191
|
+
|
|
192
|
+
if app.config.reload_classes_only_on_change
|
|
193
|
+
# Rails is about to unload all the app files (e.g. models), so we
|
|
194
|
+
# should first unload the classes generated by Active Admin, otherwise
|
|
195
|
+
# they will contain references to the stale (unloaded) classes.
|
|
196
|
+
ActiveSupport::Reloader.to_prepare(prepend: true, &unload_active_admin)
|
|
197
|
+
else
|
|
198
|
+
# If the user has configured the app to always reload app files after
|
|
199
|
+
# each request, so we should unload the generated classes too.
|
|
200
|
+
ActiveSupport::Reloader.to_complete(&unload_active_admin)
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
admin_dirs = {}
|
|
204
|
+
|
|
205
|
+
load_paths.each do |path|
|
|
206
|
+
admin_dirs[path] = [:rb]
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
routes_reloader = app.config.file_watcher.new([], admin_dirs) do
|
|
210
|
+
app.reload_routes!
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
app.reloaders << routes_reloader
|
|
214
|
+
|
|
215
|
+
ActiveSupport::Reloader.to_prepare do
|
|
216
|
+
# Rails might have reloaded the routes for other reasons (e.g.
|
|
217
|
+
# routes.rb has changed), in which case Active Admin would have been
|
|
218
|
+
# loaded via the `ActiveAdmin.routes` call in `routes.rb`.
|
|
219
|
+
#
|
|
220
|
+
# Otherwise, we should check if any of the admin files are changed
|
|
221
|
+
# and force the routes to reload if necessary. This would again causes
|
|
222
|
+
# Active Admin to load via `ActiveAdmin.routes`.
|
|
223
|
+
#
|
|
224
|
+
# Finally, if Active Admin is still not loaded at this point, then we
|
|
225
|
+
# would need to load it manually.
|
|
226
|
+
unless ActiveAdmin.application.loaded?
|
|
227
|
+
routes_reloader.execute_if_updated
|
|
228
|
+
ActiveAdmin.application.load!
|
|
229
|
+
end
|
|
230
|
+
end
|
|
231
|
+
end
|
|
232
|
+
end
|
|
233
|
+
end
|
|
234
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/settings_node"
|
|
3
|
+
|
|
4
|
+
module ActiveAdmin
|
|
5
|
+
class ApplicationSettings < SettingsNode
|
|
6
|
+
|
|
7
|
+
# The default namespace to put controllers and routes inside. Set this
|
|
8
|
+
# in config/initializers/active_admin.rb using:
|
|
9
|
+
#
|
|
10
|
+
# config.default_namespace = :super_admin
|
|
11
|
+
#
|
|
12
|
+
register :default_namespace, :admin
|
|
13
|
+
|
|
14
|
+
register :app_path, Rails.root
|
|
15
|
+
|
|
16
|
+
# Load paths for admin configurations. Add folders to this load path
|
|
17
|
+
# to load up other resources for administration. External gems can
|
|
18
|
+
# include their paths in this load path to provide active_admin UIs
|
|
19
|
+
register :load_paths, [File.expand_path("app/admin", Rails.root)]
|
|
20
|
+
|
|
21
|
+
# Set default localize format for Date/Time values
|
|
22
|
+
register :localize_format, :long
|
|
23
|
+
|
|
24
|
+
# Active Admin makes educated guesses when displaying objects, this is
|
|
25
|
+
# the list of methods it tries calling in order
|
|
26
|
+
# Note that Formtastic also has 'collection_label_methods' similar to this
|
|
27
|
+
# used by auto generated dropdowns in filter or belongs_to field of Active Admin
|
|
28
|
+
register :display_name_methods, [ :display_name,
|
|
29
|
+
:full_name,
|
|
30
|
+
:name,
|
|
31
|
+
:username,
|
|
32
|
+
:login,
|
|
33
|
+
:title,
|
|
34
|
+
:email,
|
|
35
|
+
:to_s ]
|
|
36
|
+
|
|
37
|
+
# To make debugging easier, by default don't stream in development
|
|
38
|
+
register :disable_streaming_in, ["development"]
|
|
39
|
+
|
|
40
|
+
# Remove sensitive attributes from being displayed, made editable, or exported by default
|
|
41
|
+
register :filter_attributes, [:encrypted_password, :password, :password_confirmation]
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module ActiveAdmin
|
|
3
|
+
module AssetRegistration
|
|
4
|
+
|
|
5
|
+
def register_stylesheet(path, options = {})
|
|
6
|
+
stylesheets[path] = options
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def stylesheets
|
|
10
|
+
@stylesheets ||= {}
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def clear_stylesheets!
|
|
14
|
+
stylesheets.clear
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def register_javascript(path, options = {})
|
|
18
|
+
javascripts[path] = options
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def javascripts
|
|
22
|
+
@javascripts ||= {}
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def clear_javascripts!
|
|
26
|
+
javascripts.clear
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
end
|