Use older-style top reply form when replying from old-school conversation tree view (labeled with .old-school class on one of its parent nodes).

This commit is contained in:
Brion Vibber 2011-09-26 12:54:33 -07:00
parent a19b194a31
commit 1b25b75b53
3 changed files with 23 additions and 10 deletions

View File

@ -638,13 +638,23 @@ var SN = { // StatusNet
// Find the notice we're replying to... // Find the notice we're replying to...
var id = $($('.notice_id', notice)[0]).text(); var id = $($('.notice_id', notice)[0]).text();
var parentNotice = notice; var parentNotice = notice;
var stripForm = true; // strip a couple things out of reply forms that are inline
// Find the threaded replies view we'll be adding to... // Find the threaded replies view we'll be adding to...
var list = notice.closest('.notices'); var list = notice.closest('.notices');
if (list.hasClass('threaded-replies')) { if (list.closest('.old-school').length) {
// We're replying to an old-school conversation thread;
// use the old-style ping into the top form.
SN.U.switchInputFormTab("status")
replyForm = $('#input_form_status').find('form');
stripForm = false;
} else if (list.hasClass('threaded-replies')) {
// We're replying to a reply; use reply form on the end of this list. // We're replying to a reply; use reply form on the end of this list.
// We'll add our form at the end of this; grab the root notice. // We'll add our form at the end of this; grab the root notice.
parentNotice = list.closest('.notice'); parentNotice = list.closest('.notice');
// See if the form's already open...
var replyForm = $('.notice-reply-form', list);
} else { } else {
// We're replying to a parent notice; pull its threaded list // We're replying to a parent notice; pull its threaded list
// and we'll add on the end of it. Will add if needed. // and we'll add on the end of it. Will add if needed.
@ -658,18 +668,21 @@ var SN = { // StatusNet
SN.U.NoticeInlineReplyPlaceholder(notice); SN.U.NoticeInlineReplyPlaceholder(notice);
} }
} }
}
// See if the form's already open... // See if the form's already open...
var replyForm = $('.notice-reply-form', list); var replyForm = $('.notice-reply-form', list);
}
var nextStep = function() { var nextStep = function() {
// Override...? // Override...?
replyForm.find('input[name=inreplyto]').val(id); replyForm.find('input[name=inreplyto]').val(id);
replyForm.find('#notice_to').attr('disabled', 'disabled').hide(); if (stripForm) {
replyForm.find('#notice_private').attr('disabled', 'disabled').hide(); // Don't do this for old-school reply form, as they don't come back!
replyForm.find('label[for=notice_to]').hide(); replyForm.find('#notice_to').attr('disabled', 'disabled').hide();
replyForm.find('label[for=notice_private]').hide(); replyForm.find('#notice_private').attr('disabled', 'disabled').hide();
replyForm.find('label[for=notice_to]').hide();
replyForm.find('label[for=notice_private]').hide();
}
// Set focus... // Set focus...
var text = replyForm.find('textarea'); var text = replyForm.find('textarea');

2
js/util.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -62,7 +62,7 @@ class ConversationTree extends NoticeList
$this->out->elementStart('div', array('id' =>'notices_primary')); $this->out->elementStart('div', array('id' =>'notices_primary'));
// TRANS: Header on conversation page. Hidden by default (h2). // TRANS: Header on conversation page. Hidden by default (h2).
$this->out->element('h2', null, _('Notices')); $this->out->element('h2', null, _('Notices'));
$this->out->elementStart('ol', array('class' => 'notices xoxo')); $this->out->elementStart('ol', array('class' => 'notices xoxo old-school'));
if (array_key_exists('root', $this->tree)) { if (array_key_exists('root', $this->tree)) {
$rootid = $this->tree['root'][0]; $rootid = $this->tree['root'][0];