From f7fc25e8935f072ace55374240e142dc7e164f42 Mon Sep 17 00:00:00 2001 From: Martin Povolny Date: Thu, 18 Jan 2018 10:57:27 +0100 Subject: [PATCH] Merge pull request #3262 from himdel/paging-remove-bz1512957 Remove paging (not paging_div) after leaving GTL screens (cherry picked from commit c0471558f9ae23a22f5a4902dab9dffd864ca000) Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1536062 --- .../javascripts/controllers/report_data_controller.js | 7 +++++++ app/assets/javascripts/miq_explorer.js | 7 ++++++- app/controllers/catalog_controller.rb | 10 +++++----- app/controllers/chargeback_controller.rb | 6 +++--- app/controllers/infra_networking_controller.rb | 4 ++-- app/controllers/miq_ae_customization_controller.rb | 6 +++--- app/controllers/mixins/manager_controller_mixin.rb | 4 ++-- app/controllers/ops_controller.rb | 4 ++-- app/controllers/pxe_controller.rb | 4 ++-- app/controllers/report_controller.rb | 6 +++--- app/controllers/service_controller.rb | 4 ++-- app/controllers/storage_controller.rb | 4 ++-- app/controllers/vm_common.rb | 4 ++-- app/presenters/explorer_presenter.rb | 7 +++++++ 14 files changed, 48 insertions(+), 29 deletions(-) diff --git a/app/assets/javascripts/controllers/report_data_controller.js b/app/assets/javascripts/controllers/report_data_controller.js index afa2a07f6a3..82fbece0261 100644 --- a/app/assets/javascripts/controllers/report_data_controller.js +++ b/app/assets/javascripts/controllers/report_data_controller.js @@ -360,6 +360,13 @@ } }; + window.miqGtlSetExtraClasses = function() { + // need this to work even if there is no GTL instance running + return ReportDataController.prototype.setExtraClasses.call({ + $document: document, + }); + }; + ReportDataController.prototype.activateNodeSilently = function(itemId) { var treeId = angular.element('.collapse.in .treeview').attr('id'); if (EXPAND_TREES.indexOf(treeId) !== -1) { diff --git a/app/assets/javascripts/miq_explorer.js b/app/assets/javascripts/miq_explorer.js index ad236b861f5..657e1f534af 100644 --- a/app/assets/javascripts/miq_explorer.js +++ b/app/assets/javascripts/miq_explorer.js @@ -1,5 +1,5 @@ /* global miqAccordionSwap miqAddNodeChildren miqAsyncAjax miqBuildCalendar miqButtons miqDeleteTreeCookies miqDomElementExists miqExpandParentNodes miqInitDashboardCols - * miqInitAccordions miqInitMainContent miqInitToolbars miqRemoveNodeChildren miqSparkle miqSparkleOff miqTreeActivateNode miqTreeActivateNodeSilently miqTreeFindNodeByKey miqTreeObject load_c3_charts */ + * miqInitAccordions miqInitMainContent miqInitToolbars miqRemoveNodeChildren miqSparkle miqSparkleOff miqTreeActivateNode miqTreeActivateNodeSilently miqTreeFindNodeByKey miqTreeObject load_c3_charts miqGtlSetExtraClasses */ ManageIQ.explorer = {}; ManageIQ.explorer.updateElement = function(element, options) { @@ -154,6 +154,10 @@ ManageIQ.explorer.removeSand = function() { mainContent.removeClass('miq-sand-paper'); }; +ManageIQ.explorer.removePaging = function() { + miqGtlSetExtraClasses(); +}; + ManageIQ.explorer.processReplaceRightCell = function(data) { /* variables for the expression editor */ if (_.isObject(data.expEditor)) { @@ -298,6 +302,7 @@ ManageIQ.explorer.processReplaceRightCell = function(data) { if (data.lockSidebar !== undefined) { ManageIQ.explorer.lockSidebar(data.lockSidebar); } if (data.removeSand) { ManageIQ.explorer.removeSand(); } + if (data.removePaging) { ManageIQ.explorer.removePaging(); } if (_.isString(data.ajaxUrl)) { miqAsyncAjax(data.ajaxUrl); diff --git a/app/controllers/catalog_controller.rb b/app/controllers/catalog_controller.rb index 3a859544969..7ca22750ed1 100644 --- a/app/controllers/catalog_controller.rb +++ b/app/controllers/catalog_controller.rb @@ -2029,7 +2029,7 @@ def replace_right_cell(options = {}) :force_cancel_button => true, :ajax_buttons => true } - presenter.show(:form_buttons_div).hide(:pc_div_1) + presenter.show(:form_buttons_div).remove_paging presenter.update(:form_buttons_div, r[:partial => "layouts/x_edit_buttons", :locals => locals]) elsif record_showing || @in_a_form || @sb[:buttons_node] || (@pages && (@items_per_page == ONE_MILLION || @pages[:items] == 0)) @@ -2037,7 +2037,7 @@ def replace_right_cell(options = {}) 'st_new', 'st_catalog_new', 'st_catalog_edit'].include?(action) presenter.hide(:toolbar).show(:paging_div) # incase it was hidden for summary screen, and incase there were no records on show_list - presenter.hide(:pc_div_1) + presenter.remove_paging action == 'at_st_new' && ansible_playbook? ? presenter.hide(:form_buttons_div) : presenter.show(:form_buttons_div) locals = {:record_id => @edit[:rec_id]} case action @@ -2058,7 +2058,7 @@ def replace_right_cell(options = {}) elsif action == "dialog_provision" presenter.hide(:toolbar) # incase it was hidden for summary screen, and incase there were no records on show_list - presenter.hide(:form_buttons_div, :paging_div, :pc_div_1) + presenter.hide(:form_buttons_div, :paging_div).remove_paging if Settings.product.old_dialog_user_ui presenter.show(:form_buttons_div, :buttons_on) presenter.update( @@ -2073,7 +2073,7 @@ def replace_right_cell(options = {}) ) end elsif %w(ot_edit ot_copy ot_add service_dialog_from_ot).include?(action) - presenter.hide(:toolbar).show(:paging_div, :form_buttons_div).hide(:pc_div_1) + presenter.hide(:toolbar).show(:paging_div, :form_buttons_div).remove_paging locals = {:record_id => @edit[:rec_id], :action_url => "#{action}_submit", :serialize => true} @@ -2088,7 +2088,7 @@ def replace_right_cell(options = {}) presenter.hide(:buttons_on, :form_buttons_div).show(:toolbar).hide(:paging_div) end else - presenter.hide(:form_buttons_div).show(:pc_div_1, :toolbar, :paging_div) + presenter.hide(:form_buttons_div).show(:toolbar, :paging_div) end presenter.reload_toolbars(:history => h_tb, :center => c_tb, :view => v_tb) diff --git a/app/controllers/chargeback_controller.rb b/app/controllers/chargeback_controller.rb index 6a434544e36..4fb81806f5c 100644 --- a/app/controllers/chargeback_controller.rb +++ b/app/controllers/chargeback_controller.rb @@ -881,7 +881,7 @@ def replace_right_cell(options = {}) (x_active_tree == :cb_assignments_tree && ["Compute", "Storage"].include?(x_node.split('-').last)) presenter.hide(:toolbar) # incase it was hidden for summary screen, and incase there were no records on show_list - presenter.show(:paging_div, :form_buttons_div).hide(:pc_div_1) + presenter.show(:paging_div, :form_buttons_div).remove_paging locals = {:record_id => @edit[:rec_id]} if x_active_tree == :cb_rates_tree locals[:action_url] = 'cb_rate_edit' @@ -899,11 +899,11 @@ def replace_right_cell(options = {}) presenter.hide(:form_buttons_div) if params[:button] end else - presenter.hide(:form_buttons_div).show(:pc_div_1) + presenter.hide(:form_buttons_div) if (x_active_tree == :cb_assignments_tree && x_node == "root") || (x_active_tree == :cb_reports_tree && !@report) || (x_active_tree == :cb_rates_tree && x_node == "root") - presenter.hide(:toolbar, :pc_div_1) + presenter.hide(:toolbar).remove_paging end presenter.show(:paging_div) end diff --git a/app/controllers/infra_networking_controller.rb b/app/controllers/infra_networking_controller.rb index 64500d23184..14939bce0c6 100644 --- a/app/controllers/infra_networking_controller.rb +++ b/app/controllers/infra_networking_controller.rb @@ -558,9 +558,9 @@ def handle_bottom_cell(presenter) # Handle bottom cell if @pages || @in_a_form if @pages && !@in_a_form - presenter.hide(:form_buttons_div).show(:pc_div_1) + presenter.hide(:form_buttons_div) elsif @in_a_form - presenter.hide(:pc_div_1).show(:form_buttons_div) + presenter.remove_paging.show(:form_buttons_div) end presenter.show(:paging_div) else diff --git a/app/controllers/miq_ae_customization_controller.rb b/app/controllers/miq_ae_customization_controller.rb index ff3f3d5fcac..2852385a93c 100644 --- a/app/controllers/miq_ae_customization_controller.rb +++ b/app/controllers/miq_ae_customization_controller.rb @@ -304,7 +304,7 @@ def get_specific_node_info(node) def handle_bottom_cell(presenter) if @pages || @in_a_form if @pages - presenter.hide(:form_buttons_div).show(:pc_div_1) + presenter.hide(:form_buttons_div) elsif @in_a_form && @sb[:action] action_url = case x_active_tree when :old_dialogs_tree then 'old_dialogs_update' @@ -325,7 +325,7 @@ def handle_bottom_cell(presenter) :multi_record => @sb[:action] == 'ab_group_reorder', } presenter.update(:form_buttons_div, render_proc[:partial => "layouts/x_edit_buttons", :locals => locals]) - presenter.hide(:pc_div_1).show(:form_buttons_div) + presenter.remove_paging.show(:form_buttons_div) end presenter.show(:paging_div) else @@ -388,7 +388,7 @@ def setup_dialog_sample_buttons(nodetype, presenter) if x_active_tree == :dialogs_tree && @sb[:active_tab] == "sample_tab" && nodetype != "root" && @record.buttons presenter.update(:form_buttons_div, render_proc[:partial => "dialog_sample_buttons"]) - presenter.hide(:pc_div_1, :form_buttons_div).show(:paging_div) + presenter.remove_paging.hide(:form_buttons_div).show(:paging_div) end end diff --git a/app/controllers/mixins/manager_controller_mixin.rb b/app/controllers/mixins/manager_controller_mixin.rb index 5dbe2bacefb..5e5d87b2dd9 100644 --- a/app/controllers/mixins/manager_controller_mixin.rb +++ b/app/controllers/mixins/manager_controller_mixin.rb @@ -452,9 +452,9 @@ def handle_bottom_cell(presenter) # Handle bottom cell if @pages || @in_a_form if @pages && !@in_a_form - presenter.hide(:form_buttons_div).show(:pc_div_1) + presenter.hide(:form_buttons_div) elsif @in_a_form - presenter.hide(:pc_div_1).show(:form_buttons_div) + presenter.remove_paging.show(:form_buttons_div) end presenter.show(:paging_div) else diff --git a/app/controllers/ops_controller.rb b/app/controllers/ops_controller.rb index 695df438602..8bcfd2eb5bf 100644 --- a/app/controllers/ops_controller.rb +++ b/app/controllers/ops_controller.rb @@ -796,14 +796,14 @@ def handle_bottom_cell(nodetype, presenter, locals) # Handle bottom cell if @pages || @in_a_form if @pages - presenter.hide(:form_buttons_div).show(:pc_div_1) + presenter.hide(:form_buttons_div) elsif @in_a_form if nodetype == "log_depot_edit" presenter.update(:form_buttons_div, r[:partial => "layouts/angular/paging_div_buttons"]) else presenter.update(:form_buttons_div, r[:partial => "layouts/x_edit_buttons", :locals => locals]) end - presenter.show(:form_buttons_div).hide(:pc_div_1) + presenter.show(:form_buttons_div).remove_paging end presenter.show(:paging_div) else diff --git a/app/controllers/pxe_controller.rb b/app/controllers/pxe_controller.rb index b97aab1ea94..9d298e3359e 100644 --- a/app/controllers/pxe_controller.rb +++ b/app/controllers/pxe_controller.rb @@ -227,9 +227,9 @@ def replace_right_cell(options = {}) else presenter.hide(:form_buttons_div) end - presenter.hide(:pc_div_1) + presenter.remove_paging else - presenter.hide(:form_buttons_div).show(:pc_div_1) + presenter.hide(:form_buttons_div) end presenter[:record_id] = determine_record_id_for_presenter diff --git a/app/controllers/report_controller.rb b/app/controllers/report_controller.rb index 7371b0a0ed4..7f981b6ac52 100644 --- a/app/controllers/report_controller.rb +++ b/app/controllers/report_controller.rb @@ -858,13 +858,13 @@ def replace_right_cell(options = {}) # :replace_trees key can be an array of tr # Handle bottom cell if (@in_a_form || @pages) || (@sb[:pages] && @html) if @pages - presenter.hide(:form_buttons_div, :rpb_div_1).show(:pc_div_1) + presenter.hide(:form_buttons_div, :rpb_div_1) elsif @in_a_form presenter.update(:form_buttons_div, r[:partial => 'layouts/x_edit_buttons', :locals => locals]) - presenter.hide(:pc_div_1, :rpb_div_1).show(:form_buttons_div) + presenter.remove_paging.hide(:rpb_div_1).show(:form_buttons_div) elsif @sb[:pages] presenter.update(:paging_div, r[:partial => 'layouts/saved_report_paging_bar', :locals => @sb[:pages]]) - presenter.hide(:form_buttons_div).show(:rpb_div_1).hide(:pc_div_1) + presenter.hide(:form_buttons_div).show(:rpb_div_1).remove_paging end presenter.show(:paging_div) else diff --git a/app/controllers/service_controller.rb b/app/controllers/service_controller.rb index 75d30dbf500..940cfd33039 100644 --- a/app/controllers/service_controller.rb +++ b/app/controllers/service_controller.rb @@ -427,7 +427,7 @@ def replace_right_cell(options = {}) end ) if %w(dialog_provision ownership tag service_tag).include?(action) - presenter.show(:form_buttons_div).hide(:pc_div_1, :toolbar).show(:paging_div) + presenter.show(:form_buttons_div).remove_paging.hide(:toolbar).show(:paging_div) if action == "dialog_provision" && params[:pressed] == "service_reconfigure" presenter.update(:form_buttons_div, r[:partial => "layouts/x_dialog_buttons", :locals => {:action_url => action_url, @@ -452,7 +452,7 @@ def replace_right_cell(options = {}) # when trying to change a node on tree after saving a record presenter.hide(:form_buttons_div, :paging_div).show(:toolbar) else - presenter.hide(:form_buttons_div).show(:pc_div_1, :toolbar, :paging_div) + presenter.hide(:form_buttons_div).show(:toolbar, :paging_div) end # Clear the JS gtl_list_grid var if changing to a type other than list diff --git a/app/controllers/storage_controller.rb b/app/controllers/storage_controller.rb index a1466212cc4..531a01121c7 100644 --- a/app/controllers/storage_controller.rb +++ b/app/controllers/storage_controller.rb @@ -465,9 +465,9 @@ def handle_bottom_cell(presenter) # Handle bottom cell if @pages || @in_a_form if @pages && !@in_a_form - presenter.hide(:form_buttons_div).show(:pc_div_1) + presenter.hide(:form_buttons_div) elsif @in_a_form - presenter.hide(:pc_div_1).show(:form_buttons_div) + presenter.remove_paging.show(:form_buttons_div) end presenter.show(:paging_div) else diff --git a/app/controllers/vm_common.rb b/app/controllers/vm_common.rb index c7a8af3ad85..c93b15f25d9 100644 --- a/app/controllers/vm_common.rb +++ b/app/controllers/vm_common.rb @@ -1319,7 +1319,7 @@ def replace_right_cell(options = {}) # Handle bottom cell if @pages || @in_a_form if @pages && !@in_a_form - presenter.hide(:form_buttons_div).show(:pc_div_1) + presenter.hide(:form_buttons_div) elsif @in_a_form # these subviews use angular, so they need to use a special partial # so the form buttons on the outer frame can be updated. @@ -1345,7 +1345,7 @@ def replace_right_cell(options = {}) # such as "edit tags" or "manage policies". presenter.update(:form_buttons_div, '') if action == "retire" - presenter.hide(:pc_div_1).show(:form_buttons_div) + presenter.remove_paging.show(:form_buttons_div) end presenter.show(:paging_div) else diff --git a/app/presenters/explorer_presenter.rb b/app/presenters/explorer_presenter.rb index 259fd186dc9..15d6d40e0ad 100644 --- a/app/presenters/explorer_presenter.rb +++ b/app/presenters/explorer_presenter.rb @@ -79,6 +79,7 @@ def initialize(options = {}) :load_chart => nil, :open_window => nil, :remove_sand => nil, + :remove_paging => nil, :rx => nil, }.update(options) end @@ -88,6 +89,11 @@ def remove_sand self end + def remove_paging + @options[:remove_paging] = true + self + end + def reset_changes @options[:reset_changes] = true self @@ -303,6 +309,7 @@ def for_render_default data[:chartData] = @options[:load_chart] data[:resetChanges] = !!@options[:reset_changes] data[:removeSand] = !!@options[:remove_sand] + data[:removePaging] = !!@options[:remove_paging] data[:resetOneTrans] = !!@options[:reset_one_trans] data[:oneTransIE] = !!@options[:one_trans_ie] data[:focus] = @options[:focus]