fallback to newnotice on reply button, new button with mouseover

darcs-hash:20080709071439-84dde-f85f0e97f7c14bb77b7174f281e3e9f75c23cac1.gz
This commit is contained in:
Evan Prodromou 2008-07-09 03:14:39 -04:00
parent 680738e053
commit a7db6216fa
3 changed files with 27 additions and 11 deletions

View File

@ -94,6 +94,13 @@ class NewnoticeAction extends Action {
function show_form($msg=NULL) { function show_form($msg=NULL) {
$content = $this->trimmed('status_textarea'); $content = $this->trimmed('status_textarea');
if (!$content) {
$replyto = $this->trimmed('replyto');
$profile = Profile::staticGet('nickname', $replyto);
if ($profile) {
$content = "@$profile ";
}
}
common_show_header(_t('New notice'), NULL, $content, common_show_header(_t('New notice'), NULL, $content,
array($this, 'show_top')); array($this, 'show_top'));
if ($msg) { if ($msg) {

View File

@ -13,20 +13,23 @@ $(document).ready(function(){
counter.attr("class", ""); counter.attr("class", "");
} }
} }
if ($("#status_textarea").length) { if ($("#status_textarea").length) {
$("#status_textarea").bind("keyup", counter); $("#status_textarea").bind("keyup", counter);
// run once in case there's something in there // run once in case there's something in there
counter(); counter();
} }
}); });
function doreply(nick) { function doreply(nick) {
rgx_username = /^[0-9a-zA-Z\-_.]*$/; rgx_username = /^[0-9a-zA-Z\-_.]*$/;
if (nick.match(rgx_username)) { if (nick.match(rgx_username)) {
replyto = "@" + nick + " "; replyto = "@" + nick + " ";
document.getElementById("status_textarea").value=replyto; if ($("#status_textarea")) {
document.getElementById("status_textarea").focus(); $("#status_textarea").value=replyto;
} $("#status_textarea").focus();
} }
}
return false;
}

View File

@ -86,7 +86,6 @@ class StreamAction extends Action {
'href' => $noticeurl, 'href' => $noticeurl,
'title' => common_exact_date($notice->created)), 'title' => common_exact_date($notice->created)),
common_date_string($notice->created)); common_date_string($notice->created));
common_element('a', array('href' => "#", 'onclick' => 'javascript: doreply("'.$profile->nickname.'")', 'class' => 'replybutton'), 'reply');
if ($replied_id) { if ($replied_id) {
$replyurl = common_local_url('shownotice', array('notice' => $replied_id)); $replyurl = common_local_url('shownotice', array('notice' => $replied_id));
common_text('('); common_text('(');
@ -95,6 +94,13 @@ class StreamAction extends Action {
_t(' in reply to...')); _t(' in reply to...'));
common_text(')'); common_text(')');
} }
common_element('a',
array('href' => common_local_url('newnotice',
array('replyto' => $profile->nickname)),
'onclick' => 'doreply("'.$profile->nickname.'")',
'title' => _t('reply'),
'class' => 'replybutton'),
_t('↺'));
common_element_end('p'); common_element_end('p');
common_element_end('li'); common_element_end('li');
} }