const React = require('react'); const createClass = require('create-react-class'); const _ = require('lodash'); const cx = require('classnames'); const request = require('superagent'); const Moment = require('moment'); const BrewLookup = require('./brewLookup/brewLookup.jsx'); const HomebrewAdmin = createClass({ getDefaultProps : function() { return { admin_key : '' }; }, getInitialState : function() { return { page : 0, count : 20, brewCache : {}, total : 0, processingOldBrews : false }; }, fetchBrews : function(page){ request.get('/api/search') .query({ admin_key : this.props.admin_key, count : this.state.count, page : page }) .end((err, res)=>{ if(err || !res.body || !res.body.brews) return; this.state.brewCache[page] = res.body.brews; this.setState({ brewCache : this.state.brewCache, total : res.body.total, count : res.body.count }); }); }, componentDidMount : function() { this.fetchBrews(this.state.page); }, changePageTo : function(page){ if(!this.state.brewCache[page]){ this.fetchBrews(page); } this.setState({ page : page }); }, clearInvalidBrews : function(){ request.get('/api/invalid') .query({ admin_key: this.props.admin_key }) .end((err, res)=>{ if(!confirm(`This will remove ${res.body.count} brews. Are you sure?`)) return; request.get('/api/invalid') .query({ admin_key: this.props.admin_key, do_it: true }) .end((err, res)=>{ alert('Done!'); }); }); }, deleteBrew : function(brewId){ if(!confirm(`Are you sure you want to delete '${brewId}'?`)) return; request.get(`/api/remove/${brewId}`) .query({ admin_key: this.props.admin_key }) .end(function(err, res){ window.location.reload(); }); }, handlePageChange : function(dir){ this.changePageTo(this.state.page + dir); }, renderPagnination : function(){ let outOf; if(this.state.total){ outOf = `${this.state.page} / ${Math.round(this.state.total/this.state.count)}`; } return
| Edit Id | Share Id | Created At | Last Updated | Last Viewed | Views |
|---|