diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2009-01-21 11:47:23 -0500 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2009-01-21 11:47:23 -0500 |
commit | 4491e82762e498a02ec4f8a9f6c98cc194071e1f (patch) | |
tree | 93a85db6e93eea9626282e70111b4ec8ba0542d6 /js | |
parent | dcf973ab46f8e56ffbcf2b8112d9290b71c3c0d5 (diff) |
Add actions for joining or leaving a group, and fixup JS to match
Diffstat (limited to 'js')
-rw-r--r-- | js/util.js | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/js/util.js b/js/util.js index 0a03b86c2..4aad84134 100644 --- a/js/util.js +++ b/js/util.js @@ -24,7 +24,7 @@ $(document).ready(function(){ var remaining = maxLength - currentLength; var counter = $("#notice_text-count"); counter.text(remaining); - + if (remaining <= 0) { $("#form_notice").addClass("warning"); } else { @@ -45,10 +45,10 @@ $(document).ready(function(){ 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 $("#notice_data-text").focus(); } @@ -73,6 +73,24 @@ $(document).ready(function(){ } }; + var joinoptions = { dataType: 'xml', + success: function(xml) { var new_form = document._importNode($('form', xml).get(0), true); + var leave = new_form.id; + var join = leave.replace('leave', 'join'); + $('form#'+join).replaceWith(new_form); + $('form#'+leave).ajaxForm(leaveoptions).each(addAjaxHidden); + } + }; + + var leaveoptions = { dataType: 'xml', + success: function(xml) { var new_form = document._importNode($('form', xml).get(0), true); + var join = new_form.id; + var leave = join.replace('join', 'leave'); + $('form#'+leave).replaceWith(new_form); + $('form#'+join).ajaxForm(joinoptions).each(addAjaxHidden); + } + }; + function addAjaxHidden() { var ajax = document.createElement('input'); ajax.setAttribute('type', 'hidden'); @@ -83,14 +101,18 @@ $(document).ready(function(){ $("form.form_favor").ajaxForm(favoptions); $("form.form_disfavor").ajaxForm(disoptions); + $("form.form_group_join").ajaxForm(joinoptions); + $("form.form_group_leave").ajaxForm(leaveoptions); $("form.form_favor").each(addAjaxHidden); $("form.form_disfavor").each(addAjaxHidden); + $("form.form_group_join").each(addAjaxHidden); + $("form.form_group_leave").each(addAjaxHidden); $("#nudge").ajaxForm ({ dataType: 'xml', beforeSubmit: function(xml) { $("form#nudge input[type=submit]").attr("disabled", "disabled"); $("form#nudge input[type=submit]").addClass("disabled"); }, - success: function(xml) { $("#nudge").replaceWith(document._importNode($("#nudge_response", xml).get(0),true)); + success: function(xml) { $("#nudge").replaceWith(document._importNode($("#nudge_response", xml).get(0),true)); $("#nudge input[type=submit]").removeAttr("disabled"); $("#nudge input[type=submit]").removeClass("disabled"); } @@ -134,7 +156,6 @@ $(document).ready(function(){ $("form.subscribe").each(addAjaxHidden); $("form.unsubscribe").each(addAjaxHidden); - var PostNotice = { dataType: 'xml', beforeSubmit: function(formData, jqForm, options) { if ($("#notice_data-text").get(0).value.length == 0) { $("#form_notice").addClass("warning"); @@ -166,7 +187,7 @@ $(document).ready(function(){ $(".notice").hover( function () { $(this).addClass('hover'); - }, + }, function () { $(this).removeClass('hover'); } |