add explicit message display for 'Fetching Annotation Layer' error (#3631)

This commit is contained in:
Grace Guo
2017-10-10 11:49:53 -07:00
committed by Maxime Beauchemin
parent b866b33dee
commit bd45e3b19a
3 changed files with 15 additions and 14 deletions

View File

@@ -42,19 +42,20 @@ class AsyncSelect extends React.PureComponent {
fetchOptions() {
this.setState({ isLoading: true });
const mutator = this.props.mutator;
$.get(this.props.dataEndpoint, (data) => {
this.setState({ options: mutator ? mutator(data) : data, isLoading: false });
$.get(this.props.dataEndpoint)
.done((data) => {
this.setState({ options: mutator ? mutator(data) : data, isLoading: false });
if (!this.props.value && this.props.autoSelect && this.state.options.length) {
this.onChange(this.state.options[0]);
}
})
.fail(() => {
this.props.onAsyncError();
})
.always(() => {
this.setState({ isLoading: false });
});
if (!this.props.value && this.props.autoSelect && this.state.options.length) {
this.onChange(this.state.options[0]);
}
})
.fail((xhr) => {
this.props.onAsyncError(xhr.responseText);
})
.always(() => {
this.setState({ isLoading: false });
});
}
render() {
return (

View File

@@ -37,7 +37,7 @@ const SelectAsyncControl = ({ value, onChange, dataEndpoint,
<Select
dataEndpoint={dataEndpoint}
onChange={onSelectionChange}
onAsyncError={() => notify.error(onAsyncErrorMessage)}
onAsyncError={errorMsg => notify.error(onAsyncErrorMessage + ': ' + errorMsg)}
mutator={mutator}
multi={multi}
value={value}

View File

@@ -512,7 +512,7 @@ function nvd3Vis(slice, payload) {
.call(chart);
// add annotation_layer
if (isTimeSeries && payload.annotations.length) {
if (isTimeSeries && payload.annotations && payload.annotations.length) {
const tip = d3tip()
.attr('class', 'd3-tip')
.direction('n')