Correctly pass tap errors into the ErrorBanner component (#1443)

We have a new format for displaying errors in ErrorBanner. 
When a websocket error occurred, we'd pass in text where ErrorBanner 
expects and object. This PR puts the websocket errors in an object

Also clean up the display of the error by removing redundant text.
This commit is contained in:
Risha Mars 2018-08-13 12:20:12 -07:00 committed by GitHub
parent e63e28e243
commit 142d1d8747
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 11 additions and 9 deletions

View File

@ -47,9 +47,9 @@ class ErrorMessage extends React.Component {
<Row gutter={0}>
<div className="error-message-container">
<Col span={20}>
<div><b>Error:</b> {status} {statusText}</div>
{ !error ? null : <div><b>Message:</b> {error}</div> }
<div><b>URL:</b> {url}</div>
{ !status && !statusText ? null : <div>{status} {statusText}</div> }
{ !error ? null : <div>{error}</div> }
{ !url ? null : <div>{url}</div> }
</Col>
<Col span={4}>
<div className="dismiss" onClick={this.hideMessage} role="presentation">Dismiss X</div>

View File

@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
import React from 'react';
import { Button, Icon, Modal, Switch } from 'antd';
// max characters we displaly for error messages before truncating them
// max characters we display for error messages before truncating them
const maxErrorLength = 500;
export default class ErrorModal extends React.Component {

View File

@ -53,7 +53,7 @@ class Namespaces extends React.Component {
metrics: {},
pendingRequests: false,
loaded: false,
error: ''
error: null
};
}

View File

@ -91,7 +91,7 @@ class Tap extends React.Component {
}));
this.setState({
awaitingWebSocketConnection: false,
error: ""
error: null
});
}
@ -104,14 +104,16 @@ class Tap extends React.Component {
if (!e.wasClean) {
this.setState({
error: `Websocket [${e.code}] ${e.reason}`
error: {
error: `Websocket [${e.code}] ${e.reason}`
}
});
}
}
onWebsocketError = e => {
this.setState({
error: e.message
error: { error: e.message }
});
this.stopTapStreaming();
@ -588,7 +590,7 @@ class Tap extends React.Component {
return (
<div>
{!this.state.error ? null :
<ErrorBanner message={this.state.error} onHideMessage={() => this.setState({ error: "" })} />}
<ErrorBanner message={this.state.error} onHideMessage={() => this.setState({ error: null })} />}
<PageHeader header="Tap" />
{this.renderTapForm()}