var React = require('react'); var _ = require('lodash'); var cx = require('classnames'); var request = require('superagent'); var Moment = require('moment'); var BrewSearch = require('./brewSearch.jsx'); var BrewLookup = require('./brewLookup/brewLookup.jsx'); var HomebrewAdmin = React.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(){ var 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 |
|---|