summaryrefslogtreecommitdiff
path: root/lib/scripts
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2011-08-19 13:06:25 +0200
committerAndreas Gohr <andi@splitbrain.org>2011-08-19 13:06:57 +0200
commit38331508a78e955e63596e778f863996dfa7763b (patch)
tree8bfd6ae3f0f683629fd7142423ba67b327efa1e9 /lib/scripts
parent2c5ba7b2e80436af80001c436908217885ce4be3 (diff)
downloadrpg-38331508a78e955e63596e778f863996dfa7763b.tar.gz
rpg-38331508a78e955e63596e778f863996dfa7763b.tar.bz2
jqueryized diff checkbox script
Diffstat (limited to 'lib/scripts')
-rw-r--r--lib/scripts/behaviour.js30
-rw-r--r--lib/scripts/script.js28
2 files changed, 30 insertions, 28 deletions
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 <andi@splitbrain.org>
+ */
+ 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 <anika@selfthinker.org>
- */
-addInitEvent(function(){
- var revForm = $('page__revisions');
- if (!revForm) return;
- var elems = revForm.elements;
- var countTicks = 0;
- for (var i=0; i<elems.length; i++) {
- var input1 = elems[i];
- if (input1.type=='checkbox') {
- addEvent(input1,'click',function(e){
- if (this.checked) countTicks++;
- else countTicks--;
- for (var j=0; j<elems.length; j++) {
- var input2 = elems[j];
- if (countTicks >= 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;
- }
- }
-});