PLT-500 fixing connection msg issues

Этот коммит содержится в:
=Corey Hulen
2015-10-06 16:17:27 -07:00
родитель fe802fb9c4
Коммит 4345dce3b8
4 изменённых файлов: 63 добавлений и 22 удалений

Просмотреть файл

@@ -12,17 +12,47 @@ export default class ErrorBar extends React.Component {
this.prevTimer = null;
this.state = ErrorStore.getLastError();
if (this.state && this.state.message) {
if (this.isValidError(this.state)) {
this.prevTimer = setTimeout(this.handleClose, 10000);
}
}
isValidError(s) {
if (!s) {
return false;
}
if (!s.message) {
return false;
}
if (s.connErrorCount && s.connErrorCount >= 1 && s.connErrorCount < 7) {
return false;
}
return true;
}
isConnectionError(s) {
if (!s.connErrorCount || s.connErrorCount === 0) {
return false;
}
if (s.connErrorCount > 7) {
return true;
}
return false;
}
componentDidMount() {
ErrorStore.addChangeListener(this.onErrorChange);
$('body').css('padding-top', $(React.findDOMNode(this)).outerHeight());
$(window).resize(() => {
if (this.state && this.state.message) {
$('body').css('padding-top', $(React.findDOMNode(this)).outerHeight());
if (this.isValidError(this.state)) {
$('body').css('padding-top', '30px');
} else {
$('body').css('padding-top', '0');
}
});
}
@@ -31,6 +61,14 @@ export default class ErrorBar extends React.Component {
ErrorStore.removeChangeListener(this.onErrorChange);
}
componentWillUpdate(nextProps, nextState) {
if (this.isValidError(nextState)) {
$('body').css('padding-top', '30px');
} else {
$('body').css('padding-top', '0');
}
}
onErrorChange() {
var newState = ErrorStore.getLastError();
@@ -41,7 +79,9 @@ export default class ErrorBar extends React.Component {
if (newState) {
this.setState(newState);
this.prevTimer = setTimeout(this.handleClose, 10000);
if (!this.isConnectionError(newState)) {
this.prevTimer = setTimeout(this.handleClose, 10000);
}
} else {
this.setState({message: null});
}
@@ -52,22 +92,11 @@ export default class ErrorBar extends React.Component {
e.preventDefault();
}
ErrorStore.storeLastError(null);
ErrorStore.emitChange();
$('body').css('padding-top', '0');
this.setState({message: null});
}
render() {
if (!this.state) {
return <div/>;
}
if (!this.state.message) {
return <div/>;
}
if (this.state.connErrorCount < 7) {
if (!this.isValidError(this.state)) {
return <div/>;
}