summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2011-06-09 10:37:19 +0200
committerAndreas Gohr <andi@splitbrain.org>2011-06-09 10:37:19 +0200
commited5218f1f645be768bb36518b24885923f980b90 (patch)
tree2444e4eef903763c8b557f901776430ceaab7156
parent782d0c09fca0a1fac3b778ce6c25f0f609376626 (diff)
downloadrpg-ed5218f1f645be768bb36518b24885923f980b90.tar.gz
rpg-ed5218f1f645be768bb36518b24885923f980b90.tar.bz2
finished jQuery port of ACL manager
-rw-r--r--lib/plugins/acl/script.js58
1 files changed, 18 insertions, 40 deletions
diff --git a/lib/plugins/acl/script.js b/lib/plugins/acl/script.js
index eccec501e..5b6c9ce1b 100644
--- a/lib/plugins/acl/script.js
+++ b/lib/plugins/acl/script.js
@@ -6,24 +6,19 @@
acl = {
/**
* Initialize the object and attach the event handlers
- *
- * @todo move to jQuery
*/
init: function(){
- this.ctl = $('acl_manager');
- if(!this.ctl) return;
-
- var sel = $('acl__user').getElementsByTagName('select')[0];
+ if(!jQuery('#acl_manager').length) return; //FIXME only one underscore!!
- addEvent(sel,'change',acl.userselhandler);
- addEvent($('acl__tree'),'click',acl.treehandler);
- addEvent($('acl__user').getElementsByTagName('input')[1],'click',acl.loadinfo);
+ jQuery('#acl__user select').change(acl.userselhandler);
+ jQuery('#acl__tree').click(acl.treehandler);
+ jQuery('#acl__user input[type=submit]').click(acl.loadinfo);
},
/**
* Handle user dropdown
*
- * Hides or shows the user/group entry box depending on wht was selected in the
+ * Hides or shows the user/group entry box depending on what was selected in the
* dropdown element
*/
userselhandler: function(e){
@@ -73,21 +68,6 @@ acl = {
},
/**
- * htmlspecialchars equivalent
- *
- * @todo put in gloabl scripts lib?
- */
- hsc: function(str) {
- str = str.replace(/&/g,"&amp;");
- str = str.replace(/\"/g,"&quot;");
- str = str.replace(/\'/g,"&#039;");
- str = str.replace(/</g,"&lt;");
- str = str.replace(/>/g,"&gt;");
- return str;
- },
-
-
- /**
* Open or close a subtree using AJAX
*
* @author Andreas Gohr <andi@splitbrain.org>
@@ -130,31 +110,29 @@ acl = {
* Handles all clicks in the tree, dispatching the right action based on the
* clicked element
*
- * @todo move to jQuery
+ * @param Event e The event object that caused the execution
*/
treehandler: function(e){
if(e.target.src){ // is it an image?
acl.treetoggle(e.target);
} else if(e.target.href){ // is it a link?
// remove highlighting
- var obj = getElementsByClass('cur',$('acl__tree'),'a');
- for(var i=0; i<obj.length; i++){
- obj[i].className = obj[i].className.replace(/ cur/,'');
- }
+ jQuery('#acl__tree a.cur').removeClass('cur');
+
+ var link = jQuery(e.target);
// add new highlighting
- e.target.className += ' cur';
+ link.addClass('cur');
// set new page to detail form
- var frm = $('acl__detail').getElementsByTagName('form')[0];
- if(e.target.className.search(/wikilink1/) > -1){
- frm.elements['ns'].value = '';
- frm.elements['id'].value = acl.hsc(acl.parseatt(e.target.search)['id']);
- }else if(e.target.className.search(/idx_dir/) > -1){
- frm.elements['ns'].value = acl.hsc(acl.parseatt(e.target.search)['ns']);
- frm.elements['id'].value = '';
+ var frm = jQuery('#acl__detail form')[0];
+ if(link.hasClass('wikilink1')){
+ jQuery('#acl__detail form input[name=ns]').val('');
+ jQuery('#acl__detail form input[name=id]').val(acl.parseatt(link[0].search)['id']);
+ }else if(link.hasClass('idx_dir')){
+ jQuery('#acl__detail form input[name=ns]').val(acl.parseatt(link[0].search)['ns']);
+ jQuery('#acl__detail form input[name=id]').val('');
}
-
acl.loadinfo();
}
@@ -165,4 +143,4 @@ acl = {
};
-addInitEvent(acl.init);
+jQuery(acl.init);