Skip to content

Commit

Permalink
Added a configurable option for pjax
Browse files Browse the repository at this point in the history
Some actions, like logging in as another user, should be rendered
in the app, not via pjax.  This change allows an action to indicate
how it should be rendered.
  • Loading branch information
stympy committed Aug 25, 2012
1 parent 3c83b27 commit 115f20c
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 1 deletion.
2 changes: 1 addition & 1 deletion app/helpers/rails_admin/application_helper.rb
Expand Up @@ -114,7 +114,7 @@ def menu_for(parent, abstract_model = nil, object = nil, only_icon = false) # pe
wording = wording_for(:menu, action) wording = wording_for(:menu, action)
%{ %{
<li title="#{wording if only_icon}" rel="#{'tooltip' if only_icon}" class="icon #{action.key}_#{parent}_link #{'active' if current_action?(action)}"> <li title="#{wording if only_icon}" rel="#{'tooltip' if only_icon}" class="icon #{action.key}_#{parent}_link #{'active' if current_action?(action)}">
<a class="#{action.key == :show_in_app ? '' : 'pjax'}" href="#{url_for({ :action => action.action_name, :controller => 'rails_admin/main', :model_name => abstract_model.try(:to_param), :id => (object.try(:persisted?) && object.try(:id) || nil) })}"> <a class="#{action.pjax? ? 'pjax' : ''}" href="#{url_for({ :action => action.action_name, :controller => 'rails_admin/main', :model_name => abstract_model.try(:to_param), :id => (object.try(:persisted?) && object.try(:id) || nil) })}">
<i class="#{action.link_icon}"></i> <i class="#{action.link_icon}"></i>
<span#{only_icon ? " style='display:none'" : ""}>#{wording}</span> <span#{only_icon ? " style='display:none'" : ""}>#{wording}</span>
</a> </a>
Expand Down
5 changes: 5 additions & 0 deletions lib/rails_admin/config/actions/base.rb
Expand Up @@ -39,6 +39,11 @@ class Base
false false
end end


# Render via pjax?
register_instance_option :pjax? do
true
end

# This block is evaluated in the context of the controller when action is called # This block is evaluated in the context of the controller when action is called
# You can access: # You can access:
# - @objects if you're on a model scope # - @objects if you're on a model scope
Expand Down
4 changes: 4 additions & 0 deletions lib/rails_admin/config/actions/show_in_app.rb
Expand Up @@ -21,6 +21,10 @@ class ShowInApp < RailsAdmin::Config::Actions::Base
register_instance_option :link_icon do register_instance_option :link_icon do
'icon-eye-open' 'icon-eye-open'
end end

register_instance_option :pjax? do
false
end
end end
end end
end end
Expand Down

0 comments on commit 115f20c

Please sign in to comment.