Project

General

Profile

« Previous | Next » 

Revision 1dd18c34

Added by Ohad Levy almost 10 years ago

fixes #6857 improve two-pane load times

View differences:

app/assets/javascripts/two-pane.js
$.ajax({
type:'GET',
url: href,
headers: {"X-Foreman-Layout": "two-pane"},
success: function(response){
right_pane_content(response);
},
......
$.ajax({
type:'POST',
url: url,
headers: {"X-Foreman-Layout": "two-pane"},
data: $('form').serialize(),
success: function(response){
right_pane_content(response);
......
function right_pane_content(response){
if (handle_redirect(response)) return; //session expired redirect to login
var form_content = $("#content form.well", response);
if (form_content.length){
$('.two-pane-right').html(form_content);
if (!$("#content", response).length){
$('.two-pane-right').html(response);
$('.two-pane-right form').prepend("<div class='fr close-button'><a class='two-pane-close' href='#'>&times;</a></div>");
$('.form-actions a').addClass('two-pane-close');
fix_multi_checkbox();
app/controllers/application_controller.rb
before_filter :set_taxonomy, :require_mail, :check_empty_taxonomy
before_filter :welcome, :only => :index, :unless => :api_request?
before_filter :authorize
layout :display_layout?
attr_reader :original_search_parameter
......
(@remote_user = request.env["REMOTE_USER"]).present?
end
def display_layout?
return nil if two_pane?
"application"
end
private
def detect_notices
@notices = current_user.notices
......
errors.any? ? {:status => N_("Error"), :message => errors.full_messages.join('<br>')} : {:status => N_("OK"), :message =>""}
end
def two_pane?
request.headers["X-Foreman-Layout"] == 'two-pane' && params[:action] != 'index'
end
end
app/views/media/index.html.erb
<%= javascript "nfs_visibility" %>
<% title _("Installation Media") %>
<% title_actions display_link_if_authorized(_("New Medium"), hash_for_new_medium_path), help_path %>

Also available in: Unified diff