Fix removing node layout

* removing node has the same styles as offline node
* removing node can not be deleted from environment
* configuration of disks or interfaces is not available
  for removing node
* removing node is not selectable

Closes-Bug: #1644209

Change-Id: Ia61716aaae4eb07786e1790a355da3b383e9f95e
This commit is contained in:
Julia Aranovich 2016-12-05 11:08:07 +03:00
parent fcf4afcc39
commit 19e99022ab
3 changed files with 13 additions and 7 deletions

View File

@ -522,7 +522,7 @@ models.Node = BaseModel.extend({
).join(', ');
},
getStatus() {
if (!this.get('online')) return 'offline';
if (!this.get('online') && this.get('status') !== 'removing') return 'offline';
return this.get('status');
},
getLabel(label) {

View File

@ -2278,7 +2278,7 @@ input[type=range] {
background-color: @node-color-error + 5%;
}
}
&.offline {
&.offline, &.removing {
background-color: @node-color-offline + 10%;
border-color: @node-border-color-offline + 10%;
.node-name, .node-status, .node-settings {opacity: .7;}
@ -2286,6 +2286,11 @@ input[type=range] {
background-color: @node-color-offline + 20%;
}
}
&.removing {
.node-box {
cursor: default;
}
}
&.selected {
background-color: @node-color-selected;
border-color: @node-border-color-selected;

View File

@ -1775,10 +1775,11 @@ SelectAllMixin = {
var {
nodes, selectedNodeIds, maxNumberOfNodes, selectNodes, mode, locked, nodeActionsAvailable
} = this.props;
var nodesToSelect = nodeActionsAvailable ?
nodes
:
_.filter(nodes, (node) => node.get('online'));
var nodesToSelect = _.filter(nodes, (node) => node.isSelectable());
if (!nodeActionsAvailable) {
// exclude offline nodes from autoselection
nodesToSelect = _.filter(nodesToSelect, (node) => node.get('online'));
}
var checked = mode === 'edit' ||
nodesToSelect.length && !_.some(nodesToSelect, (node) => !selectedNodeIds[node.id]);
return (
@ -2051,7 +2052,7 @@ NodeGroup = React.createClass({
)}
key={node.id}
node={node}
renderActionButtons={!!cluster}
renderActionButtons={!!cluster && node.isSelectable()}
cluster={cluster || clusters.get(node.get('cluster'))}
checked={selectedNodeIds[node.id]}
locked={