Skip to content

Commit

Permalink
Limit number of objects on topology screens
Browse files Browse the repository at this point in the history
  • Loading branch information
Ari Zellner committed Jan 19, 2017
1 parent a470992 commit 95c819d
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,20 @@ function ContainerTopologyCtrl($scope, $http, $interval, $location, topologyServ

if (currentSelectedKinds && (Object.keys(currentSelectedKinds).length != Object.keys($scope.kinds).length)) {
$scope.kinds = currentSelectedKinds;
} else {
remove_hierarchy = ['Container', 'ContainerGroup', 'ContainerReplicator', 'ContainerService',
'ContainerRoute', 'Host', 'Vm', 'ContainerNode', 'ContainerManager'];
// Cant use Object.values...
var tmp_list = _.values($scope.items)
var kind_index = 0;
while ((tmp_list.length > data.data.size_limit) && kind_index < remove_hierarchy.length) {
var kind_to_hide = remove_hierarchy[kind_index];
tmp_list = tmp_list.filter(function(item) {
return item['kind'] != kind_to_hide
});
kind_index++;
delete $scope.kinds[kind_to_hide]
}
}
});
};
Expand Down Expand Up @@ -133,6 +147,16 @@ function ContainerTopologyCtrl($scope, $http, $interval, $location, topologyServ
* added: Just the ones that were added
*/

/*
If we remove some kinds beforehand, and then try to bring them back we
get the hash {kind: undefined} instead of {kind: true}.
*/
if ($scope.kinds) {
Object.keys($scope.kinds).forEach(function (key) {
$scope.kinds[key] = true
});
}

added.attr("class", function(d) {
return d.item.kind;
});
Expand Down
1 change: 1 addition & 0 deletions app/controllers/configuration_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,7 @@ def get_form_vars
@edit[:new][:perpage][:tile] = params[:perpage_tile].to_i if params[:perpage_tile]
@edit[:new][:perpage][:list] = params[:perpage_list].to_i if params[:perpage_list]
@edit[:new][:perpage][:reports] = params[:perpage_reports].to_i if params[:perpage_reports]
@edit[:new][:perpage][:topology] = params[:perpage_topology].to_i if params[:perpage_topology]
@edit[:new][:display][:theme] = params[:display_theme] unless params[:display_theme].nil?
@edit[:new][:display][:bg_color] = params[:bg_color] unless params[:bg_color].nil?
@edit[:new][:display][:reporttheme] = params[:display_reporttheme] unless params[:display_reporttheme].nil?
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/topology_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,6 @@ def get_session_data
end

def generate_topology(provider_id)
self.class.service_class.new(provider_id).build_topology
self.class.service_class.new(provider_id).build_topology.merge({:size_limit => current_user.settings[:perpage][:topology]})
end
end
11 changes: 6 additions & 5 deletions app/helpers/ui_constants.rb
Original file line number Diff line number Diff line change
Expand Up @@ -254,11 +254,12 @@ module UiConstants
:vmortemplate => "grid",
:vmcompare => "compressed"
},
:perpage => { # Items per page, by view setting
:grid => 20,
:tile => 20,
:list => 20,
:reports => 20
:perpage => { # Items per page, by view setting
:grid => 20,
:tile => 20,
:list => 20,
:reports => 20,
:topology => 100
},
:display => {
:startpage => "/dashboard/show",
Expand Down
9 changes: 5 additions & 4 deletions app/views/configuration/_ui_1.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,11 @@
%fieldset
%h3
= _('Default Items Per Page')
- [[_("Grid View"), "perpage_grid", :grid],
[_("Tile View"), "perpage_tile", :tile],
[_("List View"), "perpage_list", :list],
[_("Reports"), "perpage_reports", :reports]].each do |item_per_page|
- [[_("Grid View"), "perpage_grid", :grid],
[_("Tile View"), "perpage_tile", :tile],
[_("List View"), "perpage_list", :list],
[_("Reports"), "perpage_reports", :reports],
[_("Topology View"), "perpage_topology", :topology]].each do |item_per_page|
.form-group
%label.col-md-3.control-label
= _(item_per_page[0])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -349,5 +349,8 @@
"Vm":{"type":"glyph","icon":"","fontfamily":"PatternFlyIcons-webfont"},
"Kubernetes":{"type":"image","icon":"/assets/svg/vendor-kubernetes-72d5f7ebb2b7162e35b2ff33e0d7e094a7d2c23d662e99835735d3350401f088.svg"},
"Openshift":{"type":"image","icon":"/assets/svg/vendor-openshift-1d618a8a9b84a545ce01bf41e996f2614b8cf433e1845fcf953af8ff43788707.svg"},
"OpenshiftEnterprise":{"type":"image","icon":"/assets/svg/vendor-openshift_enterprise-1d618a8a9b84a545ce01bf41e996f2614b8cf433e1845fcf953af8ff43788707.svg"}}}
"OpenshiftEnterprise":{"type":"image","icon":"/assets/svg/vendor-openshift_enterprise-1d618a8a9b84a545ce01bf41e996f2614b8cf433e1845fcf953af8ff43788707.svg"}
},
"size_limit": 100
}
}

0 comments on commit 95c819d

Please sign in to comment.