From 7c12321d187ce5919ea5e443612321b404be8cab Mon Sep 17 00:00:00 2001 From: Ondrej Mular Date: Tue, 15 Sep 2015 11:03:59 +0200 Subject: [PATCH] web UI: fixes in nodes, resources, fence devices - fix creating disabled resource - add sorting for cluster list, resource list and fence device list - hide resource (fence device) details when there is no resource (fence device) - in resource list color of resource name depends on its status - fix group selector - disabled autocorrect for ordering set constraints - fix status detection of master/slave resources --- pcsd/cluster_entity.rb | 2 +- pcsd/pcsd.rb | 2 +- pcsd/public/css/style.css | 8 +++++++ pcsd/public/js/nodes-ember.js | 56 +++++++++++++++++++++++++++++++------------ pcsd/public/js/pcsd.js | 5 +++- pcsd/views/main.erb | 4 +++- 6 files changed, 58 insertions(+), 19 deletions(-) diff --git a/pcsd/cluster_entity.rb b/pcsd/cluster_entity.rb index b5d2719..8f29a40 100644 --- a/pcsd/cluster_entity.rb +++ b/pcsd/cluster_entity.rb @@ -914,7 +914,7 @@ module ClusterEntity end @masters, @slaves = get_masters_slaves(primitive_list) if (@masters.empty? and - @member.status != ClusterEntity::ResourceStatus.new(:disabled) + @member.status == ClusterEntity::ResourceStatus.new(:running) ) @status = ClusterEntity::ResourceStatus.new(:partially_running) end diff --git a/pcsd/pcsd.rb b/pcsd/pcsd.rb index 9a07ee8..b7c2a49 100644 --- a/pcsd/pcsd.rb +++ b/pcsd/pcsd.rb @@ -178,7 +178,7 @@ helpers do param_line << "#{myparam}=#{val}" end if param == "disabled" - meta_options << "meta target-role=Stopped" + meta_options << 'meta' << 'target-role=Stopped' end } return param_line + meta_options diff --git a/pcsd/public/css/style.css b/pcsd/public/css/style.css index a3f6638..1c003bd 100644 --- a/pcsd/public/css/style.css +++ b/pcsd/public/css/style.css @@ -778,3 +778,11 @@ li.menuheader { .issue_table { margin-top: 1.5em; } + +.status-error { + color: red; +} + +.status-warning { + color: #ff6600; +} diff --git a/pcsd/public/js/nodes-ember.js b/pcsd/public/js/nodes-ember.js index bbeed55..1e00a94 100644 --- a/pcsd/public/js/nodes-ember.js +++ b/pcsd/public/js/nodes-ember.js @@ -147,8 +147,10 @@ Pcs = Ember.Application.createWithMixins({ } else { if (self.get('fence_list').length > 0) { cur_fence = self.get('fence_list')[0]; - fence_change = true; + } else { + cur_fence = null; } + fence_change = true; } if (cur_resource && cur_resource.get('id') in resource_map) { @@ -158,22 +160,28 @@ Pcs = Ember.Application.createWithMixins({ } else { if (self.get('resource_list').length > 0) { cur_resource = self.get('resource_list')[0]; - resource_change = true; + } else { + cur_resource = null; } + resource_change = true; } self.set('cur_fence', cur_fence); self.set('cur_resource', cur_resource); Ember.run.scheduleOnce('afterRender', Pcs, function () { - if (fence_change) - tree_view_onclick(self.get('cur_fence').get('id'), true); - if (resource_change) - tree_view_onclick(self.get('cur_resource').get('id'), true); - if (!fence_change && self.get('cur_fence')) - tree_view_select(self.get('cur_fence').get('id')); - if (!resource_change && self.get('cur_resource')) - tree_view_select(self.get('cur_resource').get('id')); + if (self.get('cur_fence')) { + if (fence_change) + tree_view_onclick(self.get('cur_fence').get('id'), true); + else + tree_view_select(self.get('cur_fence').get('id')); + } + if (self.get('cur_resource')) { + if (resource_change) + tree_view_onclick(self.get('cur_resource').get('id'), true); + else + tree_view_select(self.get('cur_resource').get('id')); + } Pcs.selectedNodeController.reset(); disable_checkbox_clicks(); }); @@ -546,6 +554,11 @@ Pcs.resourcesContainer = Ember.Object.create({ } }); }); + $.each(resource_map, function(resource_id, resource_obj) { + resource_obj.set('group_list', self.get('group_list')); + }); + self.set('resource_list', Ember.copy(self.get('resource_list')).sort(function(a,b){return a.get('id').localeCompare(b.get('id'))})); + self.set('fence_list', Ember.copy(self.get('fence_list')).sort(function(a,b){return a.get('id').localeCompare(b.get('id'))})); } }); @@ -565,6 +578,7 @@ Pcs.ResourceObj = Ember.Object.extend({ disabled: false, error_list: [], warning_list: [], + group_list: [], get_group_id: function() { var self = this; var p = self.get('parent'); @@ -577,7 +591,7 @@ Pcs.ResourceObj = Ember.Object.extend({ var self = this; var cur_group = self.get('get_group_id'); var html = ' {{{node.status_icon}}} - {{node._id}} + + {{node._id}} + {{node.resource_type}} -- 1.9.1