summaryrefslogtreecommitdiff
path: root/public/assets/js/lib/views/stream/hootstream.js
diff options
context:
space:
mode:
authorjulian laplace <julescarbon@gmail.com>2022-10-28 13:47:06 +0200
committerjulian laplace <julescarbon@gmail.com>2022-10-28 13:47:06 +0200
commitb39de8cc12c83029168f311a7d3e4ddd96d52635 (patch)
tree0aa3f141e050187821e82f787f37a30e9157ea62 /public/assets/js/lib/views/stream/hootstream.js
parent02bb7181aca0298dbc8b29ba0aeac3e07f643930 (diff)
toggle form
Diffstat (limited to 'public/assets/js/lib/views/stream/hootstream.js')
-rw-r--r--public/assets/js/lib/views/stream/hootstream.js18
1 files changed, 17 insertions, 1 deletions
diff --git a/public/assets/js/lib/views/stream/hootstream.js b/public/assets/js/lib/views/stream/hootstream.js
index dcac22c..4a846d7 100644
--- a/public/assets/js/lib/views/stream/hootstream.js
+++ b/public/assets/js/lib/views/stream/hootstream.js
@@ -5,7 +5,6 @@ var HootStream = View.extend({
"click a": "onClickLink",
"click .filename": "onClickFilename",
"click .action": "onClickAction",
- "submit .streamForm form": "onSubmitComment",
},
initialize: function ({ parent }) {
@@ -20,6 +19,7 @@ var HootStream = View.extend({
this.commentFormTemplate = this.$(".commentFormTemplate").html();
this.onClickLink = this.onClickLink.bind(this);
this.onClickFilename = this.onClickFilename.bind(this);
+ this.forms = {};
},
onClickLink: function (event) {
@@ -118,15 +118,31 @@ var HootStream = View.extend({
},
onShowCommentForm: function (event, thread) {
+ if (this.forms[thread]) {
+ this.forms[thread].hide();
+ this.forms[thread].$el.remove();
+ this.forms[thread] = null;
+ return;
+ }
const $threadTitle = $(event.target).closest(".threadTitle");
const $form = $(this.commentFormTemplate);
$form.data("thread", thread);
$form.insertAfter($threadTitle);
$form.find("textarea").focus();
+ const commentForm = new CommentForm({ parent: this });
+ commentForm.action = `/api/thread/${thread}/comment`;
+ commentForm.setElement($form);
+ commentForm.initialize({
+ parent: this,
+ onSubmit: this.onSubmitComment.bind(this),
+ });
+ this.forms[thread] = commentForm;
},
onSubmitComment: function (event) {
event.preventDefault();
+ console.log("onsubmit");
+ this.forms[thread] = null;
},
load: function (data, filters) {