From 877327a18e15d768df3bda658ce9dded116399fa Mon Sep 17 00:00:00 2001 From: sarven Date: Fri, 16 Jan 2009 17:02:46 +0000 Subject: Update to XHR post notice --- actions/newnotice.php | 2 +- js/util.js | 57 +++++++++++++++++++++++++++++---------------------- lib/action.php | 4 ++++ 3 files changed, 38 insertions(+), 25 deletions(-) diff --git a/actions/newnotice.php b/actions/newnotice.php index cb02854a1..b6ed87f81 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -91,7 +91,7 @@ class NewnoticeAction extends Action common_broadcast_notice($notice); if ($this->boolean('ajax')) { - common_start_html('text/xml;charset=utf-8', true); + $this->startHTML('text/xml;charset=utf-8', true); $this->elementStart('head'); $this->element('title', null, _('Notice posted')); $this->elementEnd('head'); diff --git a/js/util.js b/js/util.js index 38a958968..c43af2333 100644 --- a/js/util.js +++ b/js/util.js @@ -20,21 +20,21 @@ $(document).ready(function(){ // count character on keyup function counter(event){ var maxLength = 140; - var currentLength = $("#status_textarea").val().length; + var currentLength = $("#notice_data-text").val().length; var remaining = maxLength - currentLength; var counter = $("#counter"); counter.text(remaining); if (remaining <= 0) { - $("#status_form").addClass("response_error"); + $("#form_notice").addClass("response_error"); } else { - $("#status_form").removeClass("response_error"); + $("#form_notice").removeClass("response_error"); } } function submitonreturn(event) { if (event.keyCode == 13) { - $("#status_form").submit(); + $("#form_notice").submit(); event.preventDefault(); event.stopPropagation(); return false; @@ -42,15 +42,15 @@ $(document).ready(function(){ return true; } - if ($("#status_textarea").length) { - $("#status_textarea").bind("keyup", counter); - $("#status_textarea").bind("keydown", submitonreturn); + if ($("#notice_data-text").length) { + $("#notice_data-text").bind("keyup", counter); + $("#notice_data-text").bind("keydown", submitonreturn); // run once in case there's something in there counter(); // set the focus - $("#status_textarea").focus(); + $("#notice_data-text").focus(); } // XXX: refactor this code @@ -136,12 +136,12 @@ $(document).ready(function(){ var PostNotice = { dataType: 'xml', - beforeSubmit: function(formData, jqForm, options) { if ($("#status_textarea").get(0).value.length == 0) { - $("#status_form").addClass("response_error"); + beforeSubmit: function(formData, jqForm, options) { if ($("#notice_data-text").get(0).value.length == 0) { + $("#form_notice").addClass("warning"); return false; } - $("#status_form input[type=submit]").attr("disabled", "disabled"); - $("#status_form input[type=submit]").addClass("disabled"); + $("#notice_action-submit").attr("disabled", "disabled"); + $("#notice_action-submit").addClass("disabled"); return true; }, success: function(xml) { if ($("#error", xml).length > 0 || $("#command_result", xml).length > 0) { @@ -150,28 +150,37 @@ $(document).ready(function(){ alert(result); } else { - $("#notices").prepend(document._importNode($("li", xml).get(0), true)); - $("#status_textarea").val(""); + $("#notices_primary .notices").prepend(document._importNode($("li", xml).get(0), true)); + $("#notice_data-text").val(""); counter(); - $(".notice_single:first").css({display:"none"}); - $(".notice_single:first").fadeIn(2500); + $("#notices_primary .notice:first").css({display:"none"}); + $("#notices_primary .notice:first").fadeIn(2500); } - $("#status_form input[type=submit]").removeAttr("disabled"); - $("#status_form input[type=submit]").removeClass("disabled"); + $("#notice_action-submit").removeAttr("disabled"); + $("#notice_action-submit").removeClass("disabled"); } }; - $("#status_form").ajaxForm(PostNotice); - $("#status_form").each(addAjaxHidden); + $("#form_notice").ajaxForm(PostNotice); + $("#form_notice").each(addAjaxHidden); + + $(".notice").hover( + function () { + $(this).addClass('hover'); + }, + function () { + $(this).removeClass('hover'); + } + ); }); function doreply(nick,id) { rgx_username = /^[0-9a-zA-Z\-_.]*$/; if (nick.match(rgx_username)) { replyto = "@" + nick + " "; - if ($("#status_textarea").length) { - $("#status_textarea").val(replyto); - $("form#status_form input#inreplyto").val(id); - $("#status_textarea").focus(); + if ($("#notice_data-text").length) { + $("#notice_data-text").val(replyto); + $("form#form_notice input#inreplyto").val(id); + $("#notice_data-text").focus(); return false; } } diff --git a/lib/action.php b/lib/action.php index 94be04b52..129a4b24b 100644 --- a/lib/action.php +++ b/lib/action.php @@ -126,6 +126,10 @@ class Action extends HTMLOutputter // lawsuit 'type' => 'text/css', 'href' => theme_path('css/display.css', 'base') . '?version=' . LACONICA_VERSION, 'media' => 'screen, projection, tv')); + $this->element('link', array('rel' => 'stylesheet', + 'type' => 'text/css', + 'href' => theme_path('css/thickbox.css', 'base') . '?version=' . LACONICA_VERSION, + 'media' => 'screen, projection, tv')); $this->element('link', array('rel' => 'stylesheet', 'type' => 'text/css', 'href' => theme_path('css/display.css', null) . '?version=' . LACONICA_VERSION, -- cgit v1.2.3-54-g00ecf