hyper-max-sys 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/hyper-max-sys.gemspec +12 -0
- data/rails_admin-3.3.0/Gemfile +56 -0
- data/rails_admin-3.3.0/LICENSE.md +20 -0
- data/rails_admin-3.3.0/README.md +105 -0
- data/rails_admin-3.3.0/Rakefile +37 -0
- data/rails_admin-3.3.0/app/assets/javascripts/rails_admin/application.js.erb +30 -0
- data/rails_admin-3.3.0/app/assets/javascripts/rails_admin/custom/ui.js +1 -0
- data/rails_admin-3.3.0/app/assets/stylesheets/rails_admin/application.scss.erb +35 -0
- data/rails_admin-3.3.0/app/assets/stylesheets/rails_admin/custom/mixins.scss +11 -0
- data/rails_admin-3.3.0/app/assets/stylesheets/rails_admin/custom/theming.scss +13 -0
- data/rails_admin-3.3.0/app/assets/stylesheets/rails_admin/custom/variables.scss +15 -0
- data/rails_admin-3.3.0/app/controllers/rails_admin/application_controller.rb +84 -0
- data/rails_admin-3.3.0/app/controllers/rails_admin/main_controller.rb +153 -0
- data/rails_admin-3.3.0/app/helpers/rails_admin/application_helper.rb +264 -0
- data/rails_admin-3.3.0/app/helpers/rails_admin/form_builder.rb +157 -0
- data/rails_admin-3.3.0/app/helpers/rails_admin/main_helper.rb +61 -0
- data/rails_admin-3.3.0/app/views/kaminari/ra-twitter-bootstrap/_gap.html.erb +5 -0
- data/rails_admin-3.3.0/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.erb +9 -0
- data/rails_admin-3.3.0/app/views/kaminari/ra-twitter-bootstrap/_page.html.erb +9 -0
- data/rails_admin-3.3.0/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.erb +15 -0
- data/rails_admin-3.3.0/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.erb +9 -0
- data/rails_admin-3.3.0/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.erb +9 -0
- data/rails_admin-3.3.0/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.erb +8 -0
- data/rails_admin-3.3.0/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.erb +9 -0
- data/rails_admin-3.3.0/app/views/layouts/rails_admin/_head.html.erb +32 -0
- data/rails_admin-3.3.0/app/views/layouts/rails_admin/_navigation.html.erb +17 -0
- data/rails_admin-3.3.0/app/views/layouts/rails_admin/_secondary_navigation.html.erb +26 -0
- data/rails_admin-3.3.0/app/views/layouts/rails_admin/_sidebar_navigation.html.erb +5 -0
- data/rails_admin-3.3.0/app/views/layouts/rails_admin/application.html.erb +27 -0
- data/rails_admin-3.3.0/app/views/layouts/rails_admin/content.html.erb +22 -0
- data/rails_admin-3.3.0/app/views/layouts/rails_admin/modal.js.erb +7 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_dashboard_history.html.erb +45 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_delete_notice.html.erb +35 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_action_text.html.erb +8 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_boolean.html.erb +14 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_ck_editor.html.erb +10 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_code_mirror.html.erb +9 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_colorpicker.html.erb +5 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_datetime.html.erb +10 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_enumeration.html.erb +25 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_field.html.erb +1 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_file_upload.html.erb +17 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_filtering_multiselect.html.erb +19 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_filtering_select.html.erb +21 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_froala.html.erb +8 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_multiple_file_upload.html.erb +20 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_nested_many.html.erb +21 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_nested_one.html.erb +21 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_polymorphic_association.html.erb +23 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_simple_mde.html.erb +8 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_text.html.erb +1 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_form_wysihtml5.html.erb +8 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/_submit_buttons.html.erb +25 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/bulk_delete.html.erb +19 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/dashboard.html.erb +64 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/delete.html.erb +21 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/edit.html.erb +3 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/export.html.erb +149 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/history.html.erb +80 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/index.html.erb +184 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/new.html.erb +3 -0
- data/rails_admin-3.3.0/app/views/rails_admin/main/show.html.erb +30 -0
- data/rails_admin-3.3.0/config/initializers/active_record_extensions.rb +23 -0
- data/rails_admin-3.3.0/config/initializers/mongoid_extensions.rb +6 -0
- data/rails_admin-3.3.0/config/locales/rails_admin.en.yml +158 -0
- data/rails_admin-3.3.0/config/routes.rb +14 -0
- data/rails_admin-3.3.0/lib/generators/rails_admin/importmap_formatter.rb +28 -0
- data/rails_admin-3.3.0/lib/generators/rails_admin/install_generator.rb +142 -0
- data/rails_admin-3.3.0/lib/generators/rails_admin/templates/initializer.erb +42 -0
- data/rails_admin-3.3.0/lib/generators/rails_admin/templates/rails_admin.js +1 -0
- data/rails_admin-3.3.0/lib/generators/rails_admin/templates/rails_admin.scss.erb +1 -0
- data/rails_admin-3.3.0/lib/generators/rails_admin/templates/rails_admin.vite.js +2 -0
- data/rails_admin-3.3.0/lib/generators/rails_admin/templates/rails_admin.webpacker.js +2 -0
- data/rails_admin-3.3.0/lib/generators/rails_admin/utils.rb +21 -0
- data/rails_admin-3.3.0/lib/rails_admin/abstract_model.rb +275 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/active_record/association.rb +130 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/active_record/object_extension.rb +13 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/active_record/property.rb +58 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/active_record.rb +367 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/active_record.rb.bak +348 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/mongoid/association.rb +161 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/mongoid/bson.rb +31 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/mongoid/extension.rb +49 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/mongoid/object_extension.rb +29 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/mongoid/property.rb +101 -0
- data/rails_admin-3.3.0/lib/rails_admin/adapters/mongoid.rb +312 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/base.rb +162 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/bulk_delete.rb +67 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/dashboard.rb +62 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/delete.rb +58 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/edit.rb +56 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/export.rb +41 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/history_index.rb +40 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/history_show.rb +40 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/index.rb +98 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/new.rb +69 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/show.rb +36 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions/show_in_app.rb +37 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/actions.rb +122 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/configurable.rb +107 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/const_load_suppressor.rb +78 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/association.rb +168 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/base.rb +391 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/collection_association.rb +90 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/factories/action_text.rb +14 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/factories/active_storage.rb +34 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/factories/association.rb +32 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/factories/carrierwave.rb +30 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/factories/devise.rb +28 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/factories/dragonfly.rb +28 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/factories/enum.rb +23 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/factories/paperclip.rb +29 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/factories/password.rb +19 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/factories/shrine.rb +29 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/group.rb +77 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/singular_association.rb +59 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/action_text.rb +36 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/active_record_enum.rb +62 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/active_storage.rb +70 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/all.rb +43 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/belongs_to_association.rb +48 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/boolean.rb +70 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/bson_object_id.rb +42 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/carrierwave.rb +34 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/citext.rb +15 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/ck_editor.rb +40 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/code_mirror.rb +48 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/color.rb +43 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/date.rb +41 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/datetime.rb +96 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/decimal.rb +23 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/dragonfly.rb +44 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/enum.rb +52 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/file_upload.rb +87 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/float.rb +23 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/froala.rb +37 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +16 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/has_many_association.rb +16 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/has_one_association.rb +35 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/hidden.rb +31 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/inet.rb +15 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/integer.rb +20 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/json.rb +37 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/multiple_active_storage.rb +82 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/multiple_carrierwave.rb +59 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/multiple_file_upload.rb +134 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/numeric.rb +24 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/paperclip.rb +30 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/password.rb +45 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/polymorphic_association.rb +118 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/serialized.rb +28 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/shrine.rb +56 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/simple_mde.rb +38 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/string.rb +50 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/string_like.rb +25 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/text.rb +28 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/time.rb +36 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/timestamp.rb +16 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/uuid.rb +15 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types/wysihtml5.rb +43 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields/types.rb +29 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/fields.rb +92 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/groupable.rb +20 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/has_description.rb +14 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/has_fields.rb +144 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/has_groups.rb +27 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/hideable.rb +30 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/inspectable.rb +39 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/lazy_model.rb +74 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/model.rb +120 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/proxyable/proxy.rb +39 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/proxyable.rb +26 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/sections/base.rb +36 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/sections/create.rb +13 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/sections/edit.rb +13 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/sections/export.rb +13 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/sections/list.rb +63 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/sections/modal.rb +12 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/sections/nested.rb +12 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/sections/show.rb +12 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/sections/update.rb +12 -0
- data/rails_admin-3.3.0/lib/rails_admin/config/sections.rb +39 -0
- data/rails_admin-3.3.0/lib/rails_admin/config.rb +403 -0
- data/rails_admin-3.3.0/lib/rails_admin/engine.rb +84 -0
- data/rails_admin-3.3.0/lib/rails_admin/extension.rb +35 -0
- data/rails_admin-3.3.0/lib/rails_admin/extensions/cancancan/authorization_adapter.rb +90 -0
- data/rails_admin-3.3.0/lib/rails_admin/extensions/cancancan.rb +5 -0
- data/rails_admin-3.3.0/lib/rails_admin/extensions/controller_extension.rb +8 -0
- data/rails_admin-3.3.0/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +187 -0
- data/rails_admin-3.3.0/lib/rails_admin/extensions/paper_trail.rb +5 -0
- data/rails_admin-3.3.0/lib/rails_admin/extensions/pundit/authorization_adapter.rb +72 -0
- data/rails_admin-3.3.0/lib/rails_admin/extensions/pundit.rb +5 -0
- data/rails_admin-3.3.0/lib/rails_admin/extensions/url_for_extension.rb +15 -0
- data/rails_admin-3.3.0/lib/rails_admin/support/composite_keys_serializer.rb +15 -0
- data/rails_admin-3.3.0/lib/rails_admin/support/csv_converter.rb +107 -0
- data/rails_admin-3.3.0/lib/rails_admin/support/datetime.rb +66 -0
- data/rails_admin-3.3.0/lib/rails_admin/support/es_module_processor.rb +23 -0
- data/rails_admin-3.3.0/lib/rails_admin/support/hash_helper.rb +31 -0
- data/rails_admin-3.3.0/lib/rails_admin/version.rb +54 -0
- data/rails_admin-3.3.0/lib/rails_admin.rb +62 -0
- data/rails_admin-3.3.0/lib/tasks/rails_admin.rake +47 -0
- data/rails_admin-3.3.0/package.json +30 -0
- data/rails_admin-3.3.0/src/rails_admin/abstract-select.js +30 -0
- data/rails_admin-3.3.0/src/rails_admin/base.js +32 -0
- data/rails_admin-3.3.0/src/rails_admin/filter-box.js +360 -0
- data/rails_admin-3.3.0/src/rails_admin/filtering-multiselect.js +387 -0
- data/rails_admin-3.3.0/src/rails_admin/filtering-select.js +306 -0
- data/rails_admin-3.3.0/src/rails_admin/i18n.js +18 -0
- data/rails_admin-3.3.0/src/rails_admin/jquery.js +3 -0
- data/rails_admin-3.3.0/src/rails_admin/nested-form-hooks.js +110 -0
- data/rails_admin-3.3.0/src/rails_admin/remote-form.js +193 -0
- data/rails_admin-3.3.0/src/rails_admin/sidescroll.js +20 -0
- data/rails_admin-3.3.0/src/rails_admin/styles/base/README.txt +2 -0
- data/rails_admin-3.3.0/src/rails_admin/styles/base/mixins.scss +1 -0
- data/rails_admin-3.3.0/src/rails_admin/styles/base/theming.scss +342 -0
- data/rails_admin-3.3.0/src/rails_admin/styles/base/variables.scss +3 -0
- data/rails_admin-3.3.0/src/rails_admin/styles/base.scss +27 -0
- data/rails_admin-3.3.0/src/rails_admin/styles/filtering-multiselect.scss +53 -0
- data/rails_admin-3.3.0/src/rails_admin/styles/filtering-select.scss +70 -0
- data/rails_admin-3.3.0/src/rails_admin/styles/widgets.scss +26 -0
- data/rails_admin-3.3.0/src/rails_admin/ui.js +176 -0
- data/rails_admin-3.3.0/src/rails_admin/vendor/jquery_nested_form.js +122 -0
- data/rails_admin-3.3.0/src/rails_admin/widgets.js +507 -0
- data/rails_admin-3.3.0/vendor/assets/fonts/rails_admin/fa-solid-900.ttf +0 -0
- data/rails_admin-3.3.0/vendor/assets/fonts/rails_admin/fa-solid-900.woff2 +0 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/bootstrap.js +5046 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/flatpickr-with-locales.js +11246 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/data.js +41 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/effect.js +1637 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/ie.js +17 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/keycode.js +47 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/position.js +500 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/safe-active-element.js +42 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/scroll-parent.js +47 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/unique-id.js +51 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/version.js +17 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/widget.js +735 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/autocomplete.js +689 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/menu.js +680 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/mouse.js +230 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/sortable.js +1561 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/jquery3.js +10881 -0
- data/rails_admin-3.3.0/vendor/assets/javascripts/rails_admin/popper.js +1974 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_accordion.scss +118 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_alert.scss +57 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_badge.scss +29 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumb.scss +28 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_button-group.scss +139 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +111 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_card.scss +216 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +229 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_close.scss +40 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_containers.scss +41 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdown.scss +240 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_forms.scss +9 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_functions.scss +302 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_grid.scss +33 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_helpers.scss +9 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_images.scss +42 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +174 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +43 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_modal.scss +209 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_nav.scss +139 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +335 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_offcanvas.scss +83 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +64 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_placeholders.scss +51 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_popover.scss +158 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_progress.scss +48 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_reboot.scss +625 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_root.scss +54 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_spinners.scss +69 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_tables.scss +155 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_toasts.scss +51 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +115 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_transitions.scss +27 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_type.scss +104 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +630 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/_variables.scss +1641 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +53 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_floating-labels.scss +63 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-check.scss +152 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-control.scss +219 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-range.scss +91 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-select.scss +72 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-text.scss +11 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_input-group.scss +121 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_labels.scss +36 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_validation.scss +12 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_clearfix.scss +3 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_colored-links.scss +12 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_position.scss +30 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_ratio.scss +26 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stacks.scss +15 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stretched-link.scss +15 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_text-truncation.scss +7 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_visually-hidden.scss +8 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_vr.scss +8 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alert.scss +11 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_backdrop.scss +14 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +78 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_box-shadow.scss +18 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_breakpoints.scss +127 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +133 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_caret.scss +64 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +9 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_color-scheme.scss +7 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_container.scss +9 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_deprecate.scss +10 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +144 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +47 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +151 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +16 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +24 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_lists.scss +7 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +31 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-text.scss +17 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +6 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-variants.scss +21 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_text-truncate.scss +8 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_transition.scss +26 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_utilities.scss +89 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_visually-hidden.scss +29 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/utilities/_api.scss +47 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/bootstrap/vendor/_rfs.scss +354 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/flatpickr.css +791 -0
- data/rails_admin-3.3.0/vendor/assets/stylesheets/rails_admin/font-awesome.scss +6351 -0
- metadata +368 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rails_admin/config/fields/types/string_like'
|
|
4
|
+
|
|
5
|
+
module RailsAdmin
|
|
6
|
+
module Config
|
|
7
|
+
module Fields
|
|
8
|
+
module Types
|
|
9
|
+
class Text < StringLike
|
|
10
|
+
# Register field type for the type loader
|
|
11
|
+
RailsAdmin::Config::Fields::Types.register(self)
|
|
12
|
+
|
|
13
|
+
register_instance_option :html_attributes do
|
|
14
|
+
{
|
|
15
|
+
required: required?,
|
|
16
|
+
cols: '48',
|
|
17
|
+
rows: '3',
|
|
18
|
+
}
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
register_instance_option :partial do
|
|
22
|
+
:form_text
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rails_admin/config/fields/types/datetime'
|
|
4
|
+
|
|
5
|
+
module RailsAdmin
|
|
6
|
+
module Config
|
|
7
|
+
module Fields
|
|
8
|
+
module Types
|
|
9
|
+
class Time < RailsAdmin::Config::Fields::Types::Datetime
|
|
10
|
+
RailsAdmin::Config::Fields::Types.register(self)
|
|
11
|
+
|
|
12
|
+
def parse_value(value)
|
|
13
|
+
abstract_model.model.type_for_attribute(name.to_s).serialize(super)&.change(year: 2000, month: 1, day: 1)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
register_instance_option :filter_operators do
|
|
17
|
+
%w[default between] + (required? ? [] : %w[_separator _not_null _null])
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
register_instance_option :datepicker_options do
|
|
21
|
+
{
|
|
22
|
+
allowInput: true,
|
|
23
|
+
altFormat: flatpickr_format,
|
|
24
|
+
enableTime: true,
|
|
25
|
+
noCalendar: true,
|
|
26
|
+
}
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
register_instance_option :strftime_format do
|
|
30
|
+
'%H:%M'
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rails_admin/config/fields/types/datetime'
|
|
4
|
+
|
|
5
|
+
module RailsAdmin
|
|
6
|
+
module Config
|
|
7
|
+
module Fields
|
|
8
|
+
module Types
|
|
9
|
+
class Timestamp < RailsAdmin::Config::Fields::Types::Datetime
|
|
10
|
+
# Register field type for the type loader
|
|
11
|
+
RailsAdmin::Config::Fields::Types.register(self)
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rails_admin/config/fields/types/string'
|
|
4
|
+
|
|
5
|
+
module RailsAdmin
|
|
6
|
+
module Config
|
|
7
|
+
module Fields
|
|
8
|
+
module Types
|
|
9
|
+
class Uuid < RailsAdmin::Config::Fields::Types::String
|
|
10
|
+
RailsAdmin::Config::Fields::Types.register(self)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rails_admin/config/fields/types/text'
|
|
4
|
+
|
|
5
|
+
module RailsAdmin
|
|
6
|
+
module Config
|
|
7
|
+
module Fields
|
|
8
|
+
module Types
|
|
9
|
+
class Wysihtml5 < Text
|
|
10
|
+
# Register field type for the type loader
|
|
11
|
+
RailsAdmin::Config::Fields::Types.register(self)
|
|
12
|
+
|
|
13
|
+
# If you want to have a different toolbar configuration for wysihtml5
|
|
14
|
+
# you can use a Ruby hash to configure these options:
|
|
15
|
+
# https://github.com/bootstrap-wysiwyg/bootstrap3-wysiwyg
|
|
16
|
+
register_instance_option :config_options do
|
|
17
|
+
{
|
|
18
|
+
toolbar: {
|
|
19
|
+
fa: true,
|
|
20
|
+
},
|
|
21
|
+
}
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
register_instance_option :version do
|
|
25
|
+
'0.3.3'
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
register_instance_option :css_location do
|
|
29
|
+
"https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-wysiwyg/#{version}/bootstrap3-wysihtml5.min.css"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
register_instance_option :js_location do
|
|
33
|
+
"https://cdnjs.cloudflare.com/ajax/libs/bootstrap3-wysiwyg/#{version}/bootstrap3-wysihtml5.all.min.js"
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
register_instance_option :partial do
|
|
37
|
+
:form_wysihtml5
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'active_support/core_ext/string/inflections'
|
|
4
|
+
require 'rails_admin/config/fields'
|
|
5
|
+
require 'rails_admin/config/fields/association'
|
|
6
|
+
|
|
7
|
+
module RailsAdmin
|
|
8
|
+
module Config
|
|
9
|
+
module Fields
|
|
10
|
+
module Types
|
|
11
|
+
@@registry = {}
|
|
12
|
+
|
|
13
|
+
def self.load(type)
|
|
14
|
+
@@registry.fetch(type.to_sym) { raise "Unsupported field datatype: #{type}" }
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.register(type, klass = nil)
|
|
18
|
+
if klass.nil? && type.is_a?(Class)
|
|
19
|
+
klass = type
|
|
20
|
+
type = klass.name.to_s.demodulize.underscore
|
|
21
|
+
end
|
|
22
|
+
@@registry[type.to_sym] = klass
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
require 'rails_admin/config/fields/types/all'
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RailsAdmin
|
|
4
|
+
module Config
|
|
5
|
+
module Fields
|
|
6
|
+
# Default field factory loads fields based on their property type or
|
|
7
|
+
# association type.
|
|
8
|
+
#
|
|
9
|
+
# @see RailsAdmin::Config::Fields.registry
|
|
10
|
+
mattr_reader :default_factory
|
|
11
|
+
@@default_factory = proc do |parent, properties, fields|
|
|
12
|
+
# If it's an association
|
|
13
|
+
if properties.association?
|
|
14
|
+
association = parent.abstract_model.associations.detect { |a| a.name.to_s == properties.name.to_s }
|
|
15
|
+
field = RailsAdmin::Config::Fields::Types.load("#{association.polymorphic? ? :polymorphic : properties.type}_association").new(parent, properties.name, association)
|
|
16
|
+
else
|
|
17
|
+
field = RailsAdmin::Config::Fields::Types.load(properties.type).new(parent, properties.name, properties)
|
|
18
|
+
end
|
|
19
|
+
fields << field
|
|
20
|
+
field
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# Registry of field factories.
|
|
24
|
+
#
|
|
25
|
+
# Field factory is an anonymous function that receives the parent object,
|
|
26
|
+
# an array of field properties and an array of fields already instantiated.
|
|
27
|
+
#
|
|
28
|
+
# If the factory returns true then that property will not be run through
|
|
29
|
+
# the rest of the registered factories. If it returns false then the
|
|
30
|
+
# arguments will be passed to the next factory.
|
|
31
|
+
#
|
|
32
|
+
# By default a basic factory is registered which loads fields by their
|
|
33
|
+
# database column type. Also a password factory is registered which
|
|
34
|
+
# loads fields if their name is password. Third default factory is a
|
|
35
|
+
# devise specific factory which loads fields for devise user models.
|
|
36
|
+
#
|
|
37
|
+
# @see RailsAdmin::Config::Fields.register_factory
|
|
38
|
+
# @see rails_admin/config/fields/factories/password.rb
|
|
39
|
+
# @see rails_admin/config/fields/factories/devise.rb
|
|
40
|
+
@@registry = [@@default_factory]
|
|
41
|
+
|
|
42
|
+
# Build an array of fields by the provided parent object's abstract_model's
|
|
43
|
+
# property and association information. Each property and association is
|
|
44
|
+
# passed to the registered field factories which will populate the fields
|
|
45
|
+
# array that will be returned.
|
|
46
|
+
#
|
|
47
|
+
# @see RailsAdmin::Config::Fields.registry
|
|
48
|
+
def self.factory(parent)
|
|
49
|
+
fields = []
|
|
50
|
+
# Load fields for all properties (columns)
|
|
51
|
+
|
|
52
|
+
parent.abstract_model.properties.each do |properties|
|
|
53
|
+
# Unless a previous factory has already loaded current field as well
|
|
54
|
+
next if fields.detect { |f| f.name == properties.name }
|
|
55
|
+
|
|
56
|
+
# Loop through factories until one returns true
|
|
57
|
+
@@registry.detect { |factory| factory.call(parent, properties, fields) }
|
|
58
|
+
end
|
|
59
|
+
# Load fields for all associations (relations)
|
|
60
|
+
parent.abstract_model.associations.reject { |a| a.type == :belongs_to }.each do |association| # :belongs_to are created by factory for belongs_to fields
|
|
61
|
+
# Unless a previous factory has already loaded current field as well
|
|
62
|
+
next if fields.detect { |f| f.name == association.name }
|
|
63
|
+
|
|
64
|
+
# Loop through factories until one returns true
|
|
65
|
+
@@registry.detect { |factory| factory.call(parent, association, fields) }
|
|
66
|
+
end
|
|
67
|
+
fields
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Register a field factory to be included in the factory stack.
|
|
71
|
+
#
|
|
72
|
+
# Factories are invoked lifo (last in first out).
|
|
73
|
+
#
|
|
74
|
+
# @see RailsAdmin::Config::Fields.registry
|
|
75
|
+
def self.register_factory(&block)
|
|
76
|
+
@@registry.unshift(block)
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
require 'rails_admin/config/fields/types'
|
|
83
|
+
require 'rails_admin/config/fields/factories/password'
|
|
84
|
+
require 'rails_admin/config/fields/factories/enum'
|
|
85
|
+
require 'rails_admin/config/fields/factories/devise'
|
|
86
|
+
require 'rails_admin/config/fields/factories/paperclip'
|
|
87
|
+
require 'rails_admin/config/fields/factories/dragonfly'
|
|
88
|
+
require 'rails_admin/config/fields/factories/carrierwave'
|
|
89
|
+
require 'rails_admin/config/fields/factories/active_storage'
|
|
90
|
+
require 'rails_admin/config/fields/factories/shrine'
|
|
91
|
+
require 'rails_admin/config/fields/factories/action_text'
|
|
92
|
+
require 'rails_admin/config/fields/factories/association'
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rails_admin/config/fields/group'
|
|
4
|
+
|
|
5
|
+
module RailsAdmin
|
|
6
|
+
module Config
|
|
7
|
+
module Groupable
|
|
8
|
+
# Register a group instance variable and accessor methods for objects
|
|
9
|
+
# extending the has groups mixin. The extended objects must implement
|
|
10
|
+
# reader for a parent object which includes this module.
|
|
11
|
+
#
|
|
12
|
+
# @see RailsAdmin::Config::HasGroups.group
|
|
13
|
+
# @see RailsAdmin::Config::Fields::Group
|
|
14
|
+
def group(name = nil)
|
|
15
|
+
@group = parent.group(name) unless name.nil? # setter
|
|
16
|
+
@group ||= parent.group(:default) # getter
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RailsAdmin
|
|
4
|
+
module Config
|
|
5
|
+
# Provides accessor and autoregistering of model's description.
|
|
6
|
+
module HasDescription
|
|
7
|
+
attr_reader :description
|
|
8
|
+
|
|
9
|
+
def desc(description, &_block)
|
|
10
|
+
@description ||= description
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RailsAdmin
|
|
4
|
+
module Config
|
|
5
|
+
# Provides accessors and autoregistering of model's fields.
|
|
6
|
+
module HasFields
|
|
7
|
+
# Defines a configuration for a field.
|
|
8
|
+
def field(name, type = nil, add_to_section = true, &block)
|
|
9
|
+
field = _fields.detect { |f| name == f.name }
|
|
10
|
+
|
|
11
|
+
# some fields are hidden by default (belongs_to keys, has_many associations in list views.)
|
|
12
|
+
# unhide them if config specifically defines them
|
|
13
|
+
field.show if field && !field.instance_variable_get("@#{field.name}_registered").is_a?(Proc)
|
|
14
|
+
# Specify field as virtual if type is not specifically set and field was not
|
|
15
|
+
# found in default stack
|
|
16
|
+
if field.nil? && type.nil?
|
|
17
|
+
field = (_fields << RailsAdmin::Config::Fields::Types.load(:string).new(self, name, nil)).last
|
|
18
|
+
|
|
19
|
+
# Register a custom field type if one is provided and it is different from
|
|
20
|
+
# one found in default stack
|
|
21
|
+
elsif type && type != (field.nil? ? nil : field.type)
|
|
22
|
+
if field
|
|
23
|
+
properties = field.properties
|
|
24
|
+
field = _fields[_fields.index(field)] = RailsAdmin::Config::Fields::Types.load(type).new(self, name, properties)
|
|
25
|
+
else
|
|
26
|
+
properties = abstract_model.properties.detect { |p| name == p.name }
|
|
27
|
+
field = (_fields << RailsAdmin::Config::Fields::Types.load(type).new(self, name, properties)).last
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# If field has not been yet defined add some default properties
|
|
32
|
+
if add_to_section && !field.defined
|
|
33
|
+
field.defined = true
|
|
34
|
+
field.order = _fields.count(&:defined)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# If a block has been given evaluate it and sort fields after that
|
|
38
|
+
field.instance_eval(&block) if block
|
|
39
|
+
field
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# configure field(s) from the default group in a section without changing the original order.
|
|
43
|
+
def configure(name, type = nil, &block)
|
|
44
|
+
[*name].each { |field_name| field(field_name, type, false, &block) }
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# include fields by name and apply an optional block to each (through a call to fields),
|
|
48
|
+
# or include fields by conditions if no field names
|
|
49
|
+
def include_fields(*field_names, &block)
|
|
50
|
+
if field_names.empty?
|
|
51
|
+
_fields.select { |f| f.instance_eval(&block) }.each do |f|
|
|
52
|
+
next if f.defined
|
|
53
|
+
|
|
54
|
+
f.defined = true
|
|
55
|
+
f.order = _fields.count(&:defined)
|
|
56
|
+
end
|
|
57
|
+
else
|
|
58
|
+
fields(*field_names, &block)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# exclude fields by name or by condition (block)
|
|
63
|
+
def exclude_fields(*field_names, &block)
|
|
64
|
+
block ||= proc { |f| field_names.include?(f.name) }
|
|
65
|
+
_fields.each { |f| f.defined = true } if _fields.select(&:defined).empty?
|
|
66
|
+
_fields.select { |f| f.instance_eval(&block) }.each { |f| f.defined = false }
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# API candy
|
|
70
|
+
alias_method :exclude_fields_if, :exclude_fields
|
|
71
|
+
alias_method :include_fields_if, :include_fields
|
|
72
|
+
|
|
73
|
+
def include_all_fields
|
|
74
|
+
include_fields_if { true }
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Returns all field configurations for the model configuration instance. If no fields
|
|
78
|
+
# have been defined returns all fields. Defined fields are sorted to match their
|
|
79
|
+
# order property. If order was not specified it will match the order in which fields
|
|
80
|
+
# were defined.
|
|
81
|
+
#
|
|
82
|
+
# If a block is passed it will be evaluated in the context of each field
|
|
83
|
+
def fields(*field_names, &block)
|
|
84
|
+
return all_fields if field_names.empty? && !block
|
|
85
|
+
|
|
86
|
+
if field_names.empty?
|
|
87
|
+
defined = _fields.select(&:defined)
|
|
88
|
+
defined = _fields if defined.empty?
|
|
89
|
+
else
|
|
90
|
+
defined = field_names.collect { |field_name| _fields.detect { |f| f.name == field_name } }
|
|
91
|
+
end
|
|
92
|
+
defined.collect do |f|
|
|
93
|
+
unless f.defined
|
|
94
|
+
f.defined = true
|
|
95
|
+
f.order = _fields.count(&:defined)
|
|
96
|
+
end
|
|
97
|
+
f.instance_eval(&block) if block
|
|
98
|
+
f
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# Defines configuration for fields by their type.
|
|
103
|
+
def fields_of_type(type, &block)
|
|
104
|
+
_fields.select { |f| type == f.type }.map! { |f| f.instance_eval(&block) } if block
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Accessor for all fields
|
|
108
|
+
def all_fields
|
|
109
|
+
((ro_fields = _fields(true)).select(&:defined).presence || ro_fields).collect do |f|
|
|
110
|
+
f.section = self
|
|
111
|
+
f
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Get all fields defined as visible, in the correct order.
|
|
116
|
+
def visible_fields
|
|
117
|
+
i = 0
|
|
118
|
+
all_fields.collect { |f| f.with(bindings) }.select(&:visible?).sort_by { |f| [f.order, i += 1] } # stable sort, damn
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def possible_fields
|
|
122
|
+
_fields(true)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
protected
|
|
126
|
+
|
|
127
|
+
# Raw fields.
|
|
128
|
+
# Recursively returns parent section's raw fields
|
|
129
|
+
# Duping it if accessed for modification.
|
|
130
|
+
def _fields(readonly = false)
|
|
131
|
+
return @_fields if @_fields
|
|
132
|
+
return @_ro_fields if readonly && @_ro_fields
|
|
133
|
+
|
|
134
|
+
if instance_of?(RailsAdmin::Config::Sections::Base)
|
|
135
|
+
@_ro_fields = @_fields = RailsAdmin::Config::Fields.factory(self)
|
|
136
|
+
else
|
|
137
|
+
# parent is RailsAdmin::Config::Model, recursion is on Section's classes
|
|
138
|
+
@_ro_fields ||= parent.send(self.class.superclass.to_s.underscore.split('/').last)._fields(true).clone.freeze
|
|
139
|
+
end
|
|
140
|
+
readonly ? @_ro_fields : (@_fields ||= @_ro_fields.collect(&:clone))
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rails_admin/config/fields/group'
|
|
4
|
+
|
|
5
|
+
module RailsAdmin
|
|
6
|
+
module Config
|
|
7
|
+
module HasGroups
|
|
8
|
+
# Accessor for a group
|
|
9
|
+
#
|
|
10
|
+
# If group with given name does not yet exist it will be created. If a
|
|
11
|
+
# block is passed it will be evaluated in the context of the group
|
|
12
|
+
def group(name, &block)
|
|
13
|
+
group = parent.groups.detect { |g| name == g.name }
|
|
14
|
+
group ||= (parent.groups << RailsAdmin::Config::Fields::Group.new(self, name)).last
|
|
15
|
+
group.tap { |g| g.section = self }.instance_eval(&block) if block
|
|
16
|
+
group
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Reader for groups that are marked as visible
|
|
20
|
+
def visible_groups
|
|
21
|
+
parent.groups.collect { |f| f.section = self; f.with(bindings) }.select(&:visible?).select do |g| # rubocop:disable Style/Semicolon
|
|
22
|
+
g.visible_fields.present?
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RailsAdmin
|
|
4
|
+
module Config
|
|
5
|
+
# Defines a visibility configuration
|
|
6
|
+
module Hideable
|
|
7
|
+
# Visibility defaults to true.
|
|
8
|
+
def self.included(klass)
|
|
9
|
+
klass.register_instance_option :visible? do
|
|
10
|
+
!root.try :excluded?
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Reader whether object is hidden.
|
|
15
|
+
def hidden?
|
|
16
|
+
!visible
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Writer to hide object.
|
|
20
|
+
def hide(&block)
|
|
21
|
+
visible block ? proc { instance_eval(&block) == false } : false
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Writer to show field.
|
|
25
|
+
def show(&block)
|
|
26
|
+
visible block || true
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RailsAdmin
|
|
4
|
+
module Config
|
|
5
|
+
module Inspectable
|
|
6
|
+
def inspect
|
|
7
|
+
set_named_instance_variables
|
|
8
|
+
|
|
9
|
+
instance_name = try(:name) || try(:abstract_model).try(:model).try(:name)
|
|
10
|
+
instance_name = instance_name ? "[#{instance_name}]" : ''
|
|
11
|
+
|
|
12
|
+
instance_vars = instance_variables.collect do |v|
|
|
13
|
+
instance_variable_name(v)
|
|
14
|
+
end.join(', ')
|
|
15
|
+
|
|
16
|
+
"#<#{self.class.name}#{instance_name} #{instance_vars}>"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def instance_variable_name(variable)
|
|
22
|
+
value = instance_variable_get(variable)
|
|
23
|
+
if self.class::NAMED_INSTANCE_VARIABLES.include?(variable)
|
|
24
|
+
if value.respond_to?(:name)
|
|
25
|
+
"#{variable}=#{value.name.inspect}"
|
|
26
|
+
else
|
|
27
|
+
"#{variable}=#{value.class.name}"
|
|
28
|
+
end
|
|
29
|
+
else
|
|
30
|
+
"#{variable}=#{value.inspect}"
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def set_named_instance_variables
|
|
35
|
+
self.class.const_set('NAMED_INSTANCE_VARIABLES', []) unless defined?(self.class::NAMED_INSTANCE_VARIABLES)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rails_admin/config/model'
|
|
4
|
+
|
|
5
|
+
module RailsAdmin
|
|
6
|
+
module Config
|
|
7
|
+
class LazyModel < BasicObject
|
|
8
|
+
def initialize(entity, &block)
|
|
9
|
+
@entity = entity
|
|
10
|
+
@deferred_blocks = [*block]
|
|
11
|
+
@initialized = false
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def add_deferred_block(&block)
|
|
15
|
+
if @initialized
|
|
16
|
+
@model.instance_eval(&block)
|
|
17
|
+
else
|
|
18
|
+
@deferred_blocks << block
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def target
|
|
23
|
+
@model ||= ::RailsAdmin::Config::Model.new(@entity)
|
|
24
|
+
# When evaluating multiple configuration blocks, the order of
|
|
25
|
+
# execution is important. As one would expect (in my opinion),
|
|
26
|
+
# options defined within a resource should take precedence over
|
|
27
|
+
# more general options defined in an initializer. This way,
|
|
28
|
+
# general settings for a number of resources could be specified
|
|
29
|
+
# in the initializer, while models could override these settings
|
|
30
|
+
# later, if required.
|
|
31
|
+
#
|
|
32
|
+
# CAVEAT: It cannot be guaranteed that blocks defined in an initializer
|
|
33
|
+
# will be loaded (and adde to @deferred_blocks) first. For instance, if
|
|
34
|
+
# the initializer references a model class before defining
|
|
35
|
+
# a RailsAdmin configuration block, the configuration from the
|
|
36
|
+
# resource will get added to @deferred_blocks first:
|
|
37
|
+
#
|
|
38
|
+
# # app/models/some_model.rb
|
|
39
|
+
# class SomeModel
|
|
40
|
+
# rails_admin do
|
|
41
|
+
# :
|
|
42
|
+
# end
|
|
43
|
+
# end
|
|
44
|
+
#
|
|
45
|
+
# # config/initializers/rails_admin.rb
|
|
46
|
+
# model = 'SomeModel'.constantize # blocks from SomeModel get loaded
|
|
47
|
+
# model.config model do # blocks from initializer gets loaded
|
|
48
|
+
# :
|
|
49
|
+
# end
|
|
50
|
+
#
|
|
51
|
+
# Thus, sort all blocks to execute for a resource by Proc.source_path,
|
|
52
|
+
# to guarantee that blocks from 'config/initializers' evaluate before
|
|
53
|
+
# blocks defined within a model class.
|
|
54
|
+
unless @deferred_blocks.empty?
|
|
55
|
+
@deferred_blocks.
|
|
56
|
+
partition { |block| block.source_location.first =~ %r{config/initializers} }.
|
|
57
|
+
flatten.
|
|
58
|
+
each { |block| @model.instance_eval(&block) }
|
|
59
|
+
@deferred_blocks = []
|
|
60
|
+
end
|
|
61
|
+
@initialized = true
|
|
62
|
+
@model
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def method_missing(method_name, *args, &block)
|
|
66
|
+
target.send(method_name, *args, &block)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def respond_to_missing?(method_name, include_private = false)
|
|
70
|
+
super || target.respond_to?(method_name, include_private)
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|