From c65cde9e8e55b39ff468e4b5ce76d51fb0468d7e Mon Sep 17 00:00:00 2001 From: Tom Willemse Date: Thu, 4 Jul 2013 21:51:31 +0200 Subject: Add tasks to stories --- static/js/main.js | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) (limited to 'static/js') diff --git a/static/js/main.js b/static/js/main.js index 0bc589a..a3092e4 100644 --- a/static/js/main.js +++ b/static/js/main.js @@ -8,12 +8,88 @@ var StateIcon = React.createClass({ } }); +var StoryTaskRow = React.createClass({ + render: function() { + var state = " " + this.props.task.state; + + return ( + + + + + + + + + {state} + + + + {this.props.task.description} + + + ); + + } +}); + +var StoryTaskTable = React.createClass({ + render: function() { + var taskNodes = this.props.tasks.map(function (task) { + return ; + }); + return ( + + {taskNodes} +
+ ); + } +}); + +var StoryTaskForm = React.createClass({ + handleSubmit: React.autoBind(function() { + var text = this.refs.text.getDOMNode().value.trim(); + + this.props.onTaskSubmit({description: text}); + + this.refs.text.getDOMNode().value = ''; + + return false; + }), + render: function() { + return ( +
+
+ New task +
+ + +
+
+
+ ); + } +}); + var StoryData = React.createClass({ + handleTaskSubmit: React.autoBind(function (task) { + $.ajax({ + url: "/stories/" + this.props.data.id + "/tasks/new", + type: "POST", + data: task, + dataType: 'json', + mimeType: 'textPlain' + }); + }), render: function() { if (this.props.data) { return (
Assignee: {this.props.data.assignee}
{this.props.data.content}
+ +
); } -- cgit v1.2.3-54-g00ecf