From 38331508a78e955e63596e778f863996dfa7763b Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 19 Aug 2011 13:06:25 +0200 Subject: jqueryized diff checkbox script --- lib/scripts/behaviour.js | 30 ++++++++++++++++++++++++++++++ lib/scripts/script.js | 28 ---------------------------- 2 files changed, 30 insertions(+), 28 deletions(-) (limited to 'lib/scripts') diff --git a/lib/scripts/behaviour.js b/lib/scripts/behaviour.js index 0f69d5721..1580ae86f 100644 --- a/lib/scripts/behaviour.js +++ b/lib/scripts/behaviour.js @@ -18,6 +18,11 @@ var dw_behaviour = { dw_behaviour.checkWindowsShares(); dw_behaviour.initTocToggle(); dw_behaviour.subscription(); + + dw_behaviour.revisionBoxHandler(); + jQuery('#page__revisions input[type=checkbox]').click( + dw_behaviour.revisionBoxHandler + ); }, /** @@ -143,7 +148,32 @@ var dw_behaviour = { ) .filter(':checked') .click(); + }, + + /** + * disable multiple revisions checkboxes if two are checked + * + * @author Andreas Gohr + */ + revisionBoxHandler: function(){ + var $checked = jQuery('#page__revisions input[type=checkbox]:checked'); + var $all = jQuery('#page__revisions input[type=checkbox]'); + + if($checked.length < 2){ + $all.attr('disabled',false); + jQuery('#page__revisions input[type=submit]').attr('disabled',true); + }else{ + $all.attr('disabled',true); + jQuery('#page__revisions input[type=submit]').attr('disabled',false); + for(var i=0; i<$checked.length; i++){ + $checked[i].disabled = false; + if(i>1){ + $checked[i].checked = false; + } + } + } } + }; /** diff --git a/lib/scripts/script.js b/lib/scripts/script.js index 3e2ec4f89..caa2a107c 100644 --- a/lib/scripts/script.js +++ b/lib/scripts/script.js @@ -187,32 +187,4 @@ function closePopups(){ jQuery('div.JSpopup').hide(); } -/** - * disable multiple revisions checkboxes if two are checked - * - * @author Anika Henke - */ -addInitEvent(function(){ - var revForm = $('page__revisions'); - if (!revForm) return; - var elems = revForm.elements; - var countTicks = 0; - for (var i=0; i= 2) input2.disabled = (input2.type=='checkbox' && !input2.checked); - else input2.disabled = (input2.type!='checkbox'); - } - }); - input1.checked = false; // chrome reselects on back button which messes up the logic - } else if(input1.type=='submit'){ - input1.disabled = true; - } - } -}); -- cgit v1.2.3