const React = require('react'); const createClass = require('create-react-class'); const cx = require('classnames'); const request = require('superagent'); const BrewCompress = createClass({ displayName : 'BrewCompress', getDefaultProps(){ return {}; }, getInitialState() { return { count : 0, pending : false, primed : false, err : null, ids : null }; }, prime(){ this.setState({ pending: true }); request.get('/admin/finduncompressed') .then((res)=>this.setState({ count: res.body.count, primed: true, ids: res.body.ids })) .catch((err)=>this.setState({ error: err })) .finally(()=>this.setState({ pending: false })); }, cleanup(){ this.setState({ pending: true }); this.state.ids.forEach((id)=>{ request.put(`/admin/compress/${id}`) .catch((err)=>this.setState({ error: err })) .finally(()=>this.setState({ pending: false, primed: false })); }); }, renderPrimed(){ if(!this.state.primed) return; if(!this.state.count){ return
No Matching Brews found.
; } return
Found {this.state.count} Brews that could be compressed.
; }, render(){ return

Brew Compression

Compresses the text in brews to binary

{this.renderPrimed()} {this.state.error &&
{this.state.error.toString()}
}
; } }); module.exports = BrewCompress;