Fix render of node label filter
Also node label name and value are not trimmed any more Closes-Bug: #1508084 Change-Id: I95960a168832e5bee57000a8a5357cc4e1cf89d9
This commit is contained in:
parent
0f4dfa4c5d
commit
5fb121c890
|
@ -1151,7 +1151,10 @@ function($, _, i18n, Backbone, React, utils, models, dispatcher, controls, dialo
|
|||
return (
|
||||
<div
|
||||
key={'sort_by-' + sorter.name + (sorter.isLabel && '-label')}
|
||||
className={'sorter-control pull-left sort-by-' + sorter.name + '-' + sorter.order}
|
||||
className={utils.classNames({
|
||||
'sorter-control pull-left': true,
|
||||
['sort-by-' + sorter.name + '-' + sorter.order]: !sorter.isLabel
|
||||
})}
|
||||
>
|
||||
<button className='btn btn-default' onClick={_.partial(this.props.changeSortingOrder, sorter)}>
|
||||
{sorter.title}
|
||||
|
@ -1196,7 +1199,10 @@ function($, _, i18n, Backbone, React, utils, models, dispatcher, controls, dialo
|
|||
ref: filter.name,
|
||||
name: filter.name,
|
||||
values: filter.values,
|
||||
className: 'filter-control filter-by-' + filter.name,
|
||||
className: utils.classNames({
|
||||
'filter-control': true,
|
||||
['filter-by-' + filter.name]: !filter.isLabel
|
||||
}),
|
||||
label: filter.title,
|
||||
extraContent: this.renderDeleteFilterButton(filter),
|
||||
onChange: _.partial(this.props.changeFilter, filter),
|
||||
|
@ -1337,7 +1343,7 @@ function($, _, i18n, Backbone, React, utils, models, dispatcher, controls, dialo
|
|||
changeLabelKey: function(index, oldKey, newKey) {
|
||||
var labels = this.state.labels,
|
||||
labelData = labels[index];
|
||||
labelData.key = _.trim(newKey);
|
||||
labelData.key = newKey;
|
||||
if (!labelData.indeterminate) labelData.checked = true;
|
||||
labelData.error = this.validateLabelKey(labelData, index);
|
||||
this.setState({labels: labels});
|
||||
|
@ -1353,7 +1359,7 @@ function($, _, i18n, Backbone, React, utils, models, dispatcher, controls, dialo
|
|||
changeLabelValue: function(index, key, value) {
|
||||
var labels = this.state.labels,
|
||||
labelData = labels[index];
|
||||
labelData.values = [_.trim(value) || null];
|
||||
labelData.values = [value || null];
|
||||
if (!labelData.indeterminate) labelData.checked = true;
|
||||
labelData.error = this.validateLabelKey(labelData, index);
|
||||
this.setState({labels: labels});
|
||||
|
@ -1361,12 +1367,12 @@ function($, _, i18n, Backbone, React, utils, models, dispatcher, controls, dialo
|
|||
validateLabelKey: function(labelData, labelIndex) {
|
||||
if (labelData.checked || labelData.indeterminate) {
|
||||
var ns = 'cluster_page.nodes_tab.node_management_panel.labels.';
|
||||
if (!labelData.key) {
|
||||
if (!_.trim(labelData.key)) {
|
||||
return i18n(ns + 'empty_label_key');
|
||||
}
|
||||
if (_.any(this.state.labels, function(data, index) {
|
||||
if (index == labelIndex) return false;
|
||||
return data.key == labelData.key && (data.checked || data.indeterminate);
|
||||
return _.trim(data.key) == _.trim(labelData.key) && (data.checked || data.indeterminate);
|
||||
})) {
|
||||
return i18n(ns + 'existing_label');
|
||||
}
|
||||
|
@ -1472,7 +1478,7 @@ function($, _, i18n, Backbone, React, utils, models, dispatcher, controls, dialo
|
|||
/>
|
||||
<controls.Input
|
||||
type='text'
|
||||
maxLength={100}
|
||||
maxLength='100'
|
||||
label={showControlLabels && i18n(ns + 'label_key')}
|
||||
value={labelData.key}
|
||||
onChange={_.partial(this.changeLabelKey, index)}
|
||||
|
@ -1482,7 +1488,7 @@ function($, _, i18n, Backbone, React, utils, models, dispatcher, controls, dialo
|
|||
/>
|
||||
<controls.Input {...labelValueProps}
|
||||
type='text'
|
||||
maxLength={100}
|
||||
maxLength='100'
|
||||
label={showControlLabels && i18n(ns + 'label_value')}
|
||||
onChange={_.partial(this.changeLabelValue, index)}
|
||||
/>
|
||||
|
|
Loading…
Reference in New Issue