aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorMikael Nordfeldth <mmn@hethane.se>2015-03-06 21:20:46 +0100
committerMikael Nordfeldth <mmn@hethane.se>2015-03-06 21:20:46 +0100
commit45861c6d9ca5153263a86208d0c18a439717f437 (patch)
treeee44c9d16499af91a3203ce76c7aa3397e99d7bf /js
parent8abc2d3b8d603d45d1228684f7366b5e4e8ab8de (diff)
downloadgnu-social-45861c6d9ca5153263a86208d0c18a439717f437.tar
gnu-social-45861c6d9ca5153263a86208d0c18a439717f437.zip
Reply notice forms are functional again, but not AJAX
Diffstat (limited to 'js')
-rw-r--r--js/util.js62
1 files changed, 27 insertions, 35 deletions
diff --git a/js/util.js b/js/util.js
index ceeb1776a9..a90c3bea63 100644
--- a/js/util.js
+++ b/js/util.js
@@ -661,41 +661,32 @@ var SN = { // StatusNet
}
};
- // See if the form's already open...
- replyForm = $('.notice-reply-form', list);
- if (replyForm.length > 0) {
- // Update the existing form...
- nextStep();
- } else {
- // Create the reply form entry at the end
- var replyItem = $('li.notice-reply > form', list);
- if (replyItem.length == 0) {
- replyItem = $('<li class="notice-reply"></li>');
-
- var intermediateStep = function (formMaster) {
- var formEl = document._importNode(formMaster, true);
- replyItem.append(formEl);
- list.append(replyItem); // *after* the placeholder
-
- var form = $(formEl);
- replyForm = form;
- SN.Init.NoticeFormSetup(form);
+ // Create the reply form entry at the end
+ var replyItem = $('li.notice-reply', list);
+ if (replyItem.length == 0) {
+ replyItem = $('<li class="notice-reply"></li>');
- nextStep();
- };
- if (SN.C.I.NoticeFormMaster) {
- // We've already saved a master copy of the form.
- // Clone it in!
- intermediateStep(SN.C.I.NoticeFormMaster);
- } else {
- // Fetch a fresh copy of the notice form over AJAX.
- // Warning: this can have a delay, which looks bad.
- // @fixme this fallback may or may not work
- var url = $('#form_notice').attr('action');
- $.get(url, {ajax: 1}, function (data, textStatus, xhr) {
- intermediateStep($('form', data)[0]);
- });
- }
+ var intermediateStep = function (formMaster) {
+ var formEl = document._importNode(formMaster, true);
+ replyItem.append(formEl);
+ list.append(replyItem); // *after* the placeholder
+
+ var form = $(formEl);
+ replyForm = form;
+ SN.Init.NoticeFormSetup(form);
+
+ nextStep();
+ };
+ if (SN.C.I.NoticeFormMaster) {
+ // We've already saved a master copy of the form.
+ // Clone it in!
+ intermediateStep(SN.C.I.NoticeFormMaster);
+ }
+ } else {
+ replyItem.show();
+ replyTextarea = replyItem.find('textarea');
+ if (replyTextarea) {
+ replyTextarea.focus();
}
}
},
@@ -706,6 +697,7 @@ var SN = { // StatusNet
* Uses 'on' rather than 'live' or 'bind', so applies to future as well as present items.
*/
NoticeInlineReplySetup: function () {
+ $('#content .notice-reply').hide();
// Expand conversation links
$(document).on('click', 'li.notice-reply-comments a', function () {
var url = $(this).attr('href');
@@ -1418,7 +1410,7 @@ var SN = { // StatusNet
// Only close if there's been no edit.
if (cur == '' || cur == textarea.data('initialText')) {
var parentNotice = replyItem.closest('li.notice');
- replyItem.remove();
+ replyItem.hide();
parentNotice.find('li.notice-reply-placeholder').show();
}
}