Commit f831836f by David Kaltschmidt

Explore: make query field suggestions more robust

- drop invalid history items
- make highlighter more robust by defaulting to empty string on text to highlight
parent 91d97ab5
...@@ -42,7 +42,7 @@ class TypeaheadItem extends React.PureComponent<TypeaheadItemProps> { ...@@ -42,7 +42,7 @@ class TypeaheadItem extends React.PureComponent<TypeaheadItemProps> {
render() { render() {
const { isSelected, item, prefix } = this.props; const { isSelected, item, prefix } = this.props;
const className = isSelected ? 'typeahead-item typeahead-item__selected' : 'typeahead-item'; const className = isSelected ? 'typeahead-item typeahead-item__selected' : 'typeahead-item';
const { label } = item; const label = item.label || '';
return ( return (
<li ref={this.getRef} className={className} onClick={this.onClick}> <li ref={this.getRef} className={className} onClick={this.onClick}>
<Highlighter textToHighlight={label} searchWords={[prefix]} highlightClassName="typeahead-match" /> <Highlighter textToHighlight={label} searchWords={[prefix]} highlightClassName="typeahead-match" />
......
...@@ -97,9 +97,10 @@ export default class LoggingLanguageProvider extends LanguageProvider { ...@@ -97,9 +97,10 @@ export default class LoggingLanguageProvider extends LanguageProvider {
if (history && history.length > 0) { if (history && history.length > 0) {
const historyItems = _.chain(history) const historyItems = _.chain(history)
.uniqBy('query.expr')
.take(HISTORY_ITEM_COUNT)
.map(h => h.query.expr) .map(h => h.query.expr)
.filter()
.uniq()
.take(HISTORY_ITEM_COUNT)
.map(wrapLabel) .map(wrapLabel)
.map(item => addHistoryMetadata(item, history)) .map(item => addHistoryMetadata(item, history))
.value(); .value();
......
...@@ -125,9 +125,10 @@ export default class PromQlLanguageProvider extends LanguageProvider { ...@@ -125,9 +125,10 @@ export default class PromQlLanguageProvider extends LanguageProvider {
if (history && history.length > 0) { if (history && history.length > 0) {
const historyItems = _.chain(history) const historyItems = _.chain(history)
.uniqBy('query.expr')
.take(HISTORY_ITEM_COUNT)
.map(h => h.query.expr) .map(h => h.query.expr)
.filter()
.uniq()
.take(HISTORY_ITEM_COUNT)
.map(wrapLabel) .map(wrapLabel)
.map(item => addHistoryMetadata(item, history)) .map(item => addHistoryMetadata(item, history))
.value(); .value();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment