/*** @jsx React.DOM */
var all_players = React.createClass({
getInitialState: function(props) {
return {
players: window.players,
};
},
componentDidMount: function() {
this.refreshPlayers();
},
refreshPlayers: function() {
AJAX.get(
Link.get('refresh'),
function(response) {
this.setState({
players: response.players,
});
// Refresh every 30 seconds
setTimeout(this.refreshPlayers, 30000);
}.bind(this)
);
},
render: function() {
return (
{ player.name };
}.bind(this),
sort: function(aid, bid) {
var a = this.state.players[aid];
var b = this.state.players[bid];
return a.name.localeCompare(b.name);
}.bind(this),
},
{
name: 'IIDX ID',
render: function(userid) {
var player = this.state.players[userid];
return player.extid;
}.bind(this),
sort: function(aid, bid) {
var a = this.state.players[aid];
var b = this.state.players[bid];
return a.extid.localeCompare(b.extid);
}.bind(this),
},
{
name: 'Play Count',
render: function(userid) {
var player = this.state.players[userid];
return player.sp + player.dp;
}.bind(this),
sort: function(aid, bid) {
var a = this.state.players[aid];
var b = this.state.players[bid];
return (a.sp + a.dp) - (b.sp + b.dp);
}.bind(this),
reverse: true,
},
{
name: 'Arcade',
render: function(userid) {
var player = this.state.players[userid];
return player.arcade;
}.bind(this),
sort: function(aid, bid) {
var a = this.state.players[aid];
var b = this.state.players[bid];
return a.arcade.localeCompare(b.arcade);
}.bind(this),
},
{
name: 'SP Dan',
render: function(userid) {
var player = this.state.players[userid];
return player.sdan;
}.bind(this),
sort: function(aid, bid) {
var a = this.state.players[aid];
var b = this.state.players[bid];
return a.srank - b.srank;
}.bind(this),
reverse: true,
},
{
name: 'DP Dan',
render: function(userid) {
var player = this.state.players[userid];
return player.ddan;
}.bind(this),
sort: function(aid, bid) {
var a = this.state.players[aid];
var b = this.state.players[bid];
return a.drank - b.drank;
}.bind(this),
reverse: true,
},
{
name: 'SP DJ Points',
render: function(userid) {
var player = this.state.players[userid];
return player.sdjp;
}.bind(this),
sort: function(aid, bid) {
var a = this.state.players[aid];
var b = this.state.players[bid];
return a.sdjp - b.sdjp;
}.bind(this),
reverse: true,
},
{
name: 'DP DJ Points',
render: function(userid) {
var player = this.state.players[userid];
return player.ddjp;
}.bind(this),
sort: function(aid, bid) {
var a = this.state.players[aid];
var b = this.state.players[bid];
return a.ddjp - b.ddjp;
}.bind(this),
reverse: true,
},
]}
rows={Object.keys(this.state.players)}
paginate={10}
/>
);
},
});
ReactDOM.render(
React.createElement(all_players, null),
document.getElementById('content')
);