46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
var PlayerControls = React.createClass({
|
|
|
|
selectedCardIds: function() {
|
|
var checkedCards = $(':checkbox:checked[name^=player_card_ids]');
|
|
var card_ids = {player_card_ids: checkedCards.map(function(card){ return this.value; }).toArray() };
|
|
return card_ids;
|
|
},
|
|
|
|
handlePass: function(e) {
|
|
e.preventDefault();
|
|
this.props.onPlayHandSubmit({game: {hand_type: 'pass'}});
|
|
},
|
|
|
|
handleSubmit: function(e) {
|
|
e.preventDefault();
|
|
this.props.onPlayHandSubmit(this.selectedCardIds());
|
|
},
|
|
|
|
render: function() {
|
|
return (
|
|
<form
|
|
id={"player_controls_" + this.props.player_id}
|
|
method="post"
|
|
action={"/games/" + this.props.game_id + "/play_hand"}
|
|
acceptCharset="UTF-8"
|
|
onSubmit={this.handleSubmit}>
|
|
|
|
<input type="hidden" value="patch" name="_method"></input>
|
|
<div><Inventory ref="inventory" cards={this.props.inventory} player_id={this.props.id} /></div>
|
|
<input id={"play_hand_button_" + this.props.player_id}
|
|
disabled={this.props.current_player_id == this.props.player_id ? null : 'disabled'}
|
|
type="submit"
|
|
value="Play Hand"
|
|
name="commit">
|
|
</input>
|
|
<input id={"pass_hand_button_" + this.props.player_id}
|
|
type="submit"
|
|
onClick={this.handlePass}
|
|
value="Pass"
|
|
name="pass">
|
|
</input>
|
|
</form>
|
|
);
|
|
}
|
|
});
|