Class: RailsAdminGlobalizeField::GlobalizeTabs
- Inherits:
-
RailsAdmin::Config::Fields::Association
- Object
- RailsAdmin::Config::Fields::Association
- RailsAdminGlobalizeField::GlobalizeTabs
- Defined in:
- lib/rails_admin_globalize_field/globalize_tabs.rb
Instance Method Summary collapse
- #activate_tab(tabs) ⇒ Object
- #available_locales ⇒ Object
- #method_name ⇒ Object
-
#submit_action? ⇒ Boolean
Hack to distinguish between REST new/edit and create/update actions.
- #tabs ⇒ Object
Instance Method Details
#activate_tab(tabs) ⇒ Object
44 45 46 47 |
# File 'lib/rails_admin_globalize_field/globalize_tabs.rb', line 44 def activate_tab(tabs) opened = tabs.find(&:invalid?) || tabs.first opened&.active! end |
#available_locales ⇒ Object
23 24 25 |
# File 'lib/rails_admin_globalize_field/globalize_tabs.rb', line 23 def available_locales I18n.available_locales end |
#method_name ⇒ Object
19 20 21 |
# File 'lib/rails_admin_globalize_field/globalize_tabs.rb', line 19 def method_name "#{super}_attributes".to_sym end |
#submit_action? ⇒ Boolean
Hack to distinguish between REST new/edit and create/update actions. Taken from rails_admin/configs/new.rb
40 41 42 |
# File 'lib/rails_admin_globalize_field/globalize_tabs.rb', line 40 def submit_action? !bindings[:controller].request.get? end |
#tabs ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rails_admin_globalize_field/globalize_tabs.rb', line 27 def tabs tabs = available_locales.map do |locale| translation = bindings[:object].translation_for(locale, build_if_missing) RailsAdminGlobalizeField::Tab.new(locale, translation, validate: submit_action?) if translation end.compact activate_tab(tabs) tabs end |