diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx
index 75ab08de4..58e84e4fc 100644
--- a/client/homebrew/editor/editor.jsx
+++ b/client/homebrew/editor/editor.jsx
@@ -32,6 +32,7 @@ const Editor = createClass({
onTextChange : ()=>{},
onStyleChange : ()=>{},
onMetaChange : ()=>{},
+ reportError : ()=>{},
renderer : 'legacy'
};
@@ -291,7 +292,8 @@ const Editor = createClass({
rerenderParent={this.rerenderParent} />
+ onChange={this.props.onMetaChange}
+ reportError={this.props.reportError}/>
>;
}
},
diff --git a/client/homebrew/editor/metadataEditor/metadataEditor.jsx b/client/homebrew/editor/metadataEditor/metadataEditor.jsx
index 03f40e7cf..913e79d20 100644
--- a/client/homebrew/editor/metadataEditor/metadataEditor.jsx
+++ b/client/homebrew/editor/metadataEditor/metadataEditor.jsx
@@ -4,7 +4,7 @@ const React = require('react');
const createClass = require('create-react-class');
const _ = require('lodash');
const cx = require('classnames');
-const request = require('superagent');
+const request = require('../../utils/request-middleware.js');
const Nav = require('naturalcrit/nav/nav.jsx');
const StringArrayEditor = require('../stringArrayEditor/stringArrayEditor.jsx');
@@ -37,7 +37,8 @@ const MetadataEditor = createClass({
renderer : 'legacy',
theme : '5ePHB'
},
- onChange : ()=>{}
+ onChange : ()=>{},
+ reportError : ()=>{}
};
},
@@ -121,8 +122,12 @@ const MetadataEditor = createClass({
request.delete(`/api/${this.props.metadata.googleId ?? ''}${this.props.metadata.editId}`)
.send()
- .end(function(err, res){
- window.location.href = '/';
+ .end((err, res)=>{
+ if(err) {
+ this.props.reportError(err.response);
+ } else {
+ window.location.href = '/';
+ }
});
},
diff --git a/client/homebrew/pages/basePages/listPage/brewItem/brewItem.jsx b/client/homebrew/pages/basePages/listPage/brewItem/brewItem.jsx
index 327fe21be..1c150800e 100644
--- a/client/homebrew/pages/basePages/listPage/brewItem/brewItem.jsx
+++ b/client/homebrew/pages/basePages/listPage/brewItem/brewItem.jsx
@@ -19,7 +19,7 @@ const BrewItem = createClass({
authors : [],
stubbed : true
},
- reportError : null
+ reportError : ()=>{}
};
},
@@ -35,7 +35,7 @@ const BrewItem = createClass({
request.delete(`/api/${this.props.brew.googleId ?? ''}${this.props.brew.editId}`)
.send()
.end((err, res)=>{
- if(err && this.props.reportError) {
+ if(err) {
this.props.reportError(err.response);
} else {
location.reload();
diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx
index 481ac280f..59a0163bf 100644
--- a/client/homebrew/pages/editPage/editPage.jsx
+++ b/client/homebrew/pages/editPage/editPage.jsx
@@ -305,6 +305,12 @@ const EditPage = createClass({
this.warningTimer;
},
+ errorReported : function(error) {
+ this.setState({
+ error
+ });
+ },
+
renderAutoSaveButton : function(){
return
Autosave
@@ -393,6 +399,7 @@ const EditPage = createClass({
onTextChange={this.handleTextChange}
onStyleChange={this.handleStyleChange}
onMetaChange={this.handleMetaChange}
+ reportError={this.errorReported}
renderer={this.state.brew.renderer}
/>