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 (
+
+ );
+ }
+});
+
+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 (
+
+ );
+ }
+});
+
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