Advertisement
Guest User

Untitled

a guest
Jun 19th, 2015
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var React = require('react');
  2. var Link = require('react-router').Link;
  3.  
  4. // The root component for the homepage
  5. var HomePage = React.createClass({
  6.     render: function () {
  7.         console.log("HOME");
  8.         console.log(this.context);
  9.         return (
  10.             <div id="home-page">
  11.  
  12.                 <div id="welcome-title">Welcome to Mock</div>
  13.  
  14.                 <div id="create-team">
  15.                     <h1>Create a new team:</h1>
  16.                     <input type="text" placeholder="MyTeamName" ref="teamname"/>
  17.                     <button onClick={this.createTeam} >Create</button>
  18.                 </div>
  19.  
  20.                 <div id="existing-teams">
  21.                     <h2>or view an existing team:</h2>
  22.                     <TeamsList />
  23.                 </div>
  24.  
  25.             </div>
  26.         );
  27.     },
  28.     createTeam: function (e) {
  29.         e.preventDefault();
  30.         //FIXME: Implement
  31.         var newTeamName = React.findDOMNode(this.refs.teamname).value.trim();
  32.     }
  33. });
  34.  
  35. // The list of all existing teams
  36. var TeamsList = React.createClass({
  37.     getInitialState: function () {
  38.         return {teams: []};
  39.     },
  40.     componentDidMount: function () {
  41.         $.ajax({
  42.             url: "/api/teams",
  43.             dataType: "json",
  44.             success: function (data) {
  45.                 this.setState({teams: data});
  46.             }.bind(this),
  47.             error: function (xhr, status, err) {
  48.                 console.error(status, err.toString());
  49.             }
  50.         });
  51.     },
  52.     render: function () {
  53.         var rows = [];
  54.         $.each(this.state.teams, function (index, value) {
  55.             rows.push(<TeamRow name={value} />);
  56.         });
  57.         return (
  58.             <ul id="teams-list">
  59.               {rows}
  60.             </ul>
  61.         );
  62.     }
  63. });
  64.  
  65. // A single team item on the page
  66. var TeamRow = React.createClass({
  67.     render: function () {
  68.         console.log("TEAM ROW");
  69.         console.log(this.context);
  70.         return (
  71.             <li className="team-item block">
  72.                 <Link to="team" params={{teamID: this.props.name}}>{this.props.name}</Link>
  73.             </li>
  74.         );
  75.     }
  76. });
  77.  
  78. module.exports = HomePage;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement