diff options
author | Sarven Capadisli <csarven@status.net> | 2010-02-10 11:16:27 +0100 |
---|---|---|
committer | Sarven Capadisli <csarven@status.net> | 2010-02-10 11:16:27 +0100 |
commit | dcd9b2a405eba8861459d1aa5e645c84688e8837 (patch) | |
tree | ab99638e83f5ca90e4063fccaeb2310b554e0495 /js | |
parent | f4ebac503665928fb3102bb957a5c0a0259d5ef9 (diff) |
Refactored repeat confirmation dialog. Also fixes dialog skipping.
Diffstat (limited to 'js')
-rw-r--r-- | js/util.js | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/js/util.js b/js/util.js index c6a9682de..639049668 100644 --- a/js/util.js +++ b/js/util.js @@ -356,42 +356,44 @@ var SN = { // StatusNet }, NoticeRepeat: function() { - $('.form_repeat').live('click', function() { - SN.U.FormXHR($(this)); + $('.form_repeat').live('click', function(e) { + e.preventDefault(); + SN.U.NoticeRepeatConfirmation($(this)); return false; }); }, NoticeRepeatConfirmation: function(form) { - function NRC() { - form.closest('.notice-options').addClass('opaque'); - form.addClass('dialogbox'); + var submit_i = form.find('.submit'); - form.append('<button class="close">×</button>'); - form.find('button.close').click(function(){ - $(this).remove(); + var submit = submit_i.clone(); + submit + .addClass('submit_dialogbox') + .removeClass('submit'); + form.append(submit); + submit.bind('click', function() { SN.U.FormXHR(form); return false; }); - form.closest('.notice-options').removeClass('opaque'); - form.removeClass('dialogbox'); - form.find('.submit_dialogbox').remove(); - form.find('.submit').show(); + submit_i.hide(); - return false; - }); - }; + form + .addClass('dialogbox') + .append('<button class="close">×</button>') + .closest('.notice-options') + .addClass('opaque'); - form.find('.submit').bind('click', function(e) { - e.preventDefault(); + form.find('button.close').click(function(){ + $(this).remove(); - var submit = form.find('.submit').clone(); - submit.addClass('submit_dialogbox'); - submit.removeClass('submit'); - form.append(submit); + form + .removeClass('dialogbox') + .closest('.notice-options') + .removeClass('opaque'); - $(this).hide(); + form.find('.submit_dialogbox').remove(); + form.find('.submit').show(); - NRC(); + return false; }); }, |