summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorPierre Spring <pierre.spring@caillou.ch>2010-09-23 18:27:00 +0200
committerPierre Spring <pierre.spring@caillou.ch>2010-10-10 17:29:21 +0200
commite85b879945c938df3c8deeee91623bacb697fe86 (patch)
treea76d3e9eb3ed9ac9d5df3727fa50b6ee917b57e8 /lib
parent231b8c34be6825ff235f1b201f5176791f713f6c (diff)
downloadrpg-e85b879945c938df3c8deeee91623bacb697fe86.tar.gz
rpg-e85b879945c938df3c8deeee91623bacb697fe86.tar.bz2
jQueryfied toggle function.
Diffstat (limited to 'lib')
-rw-r--r--lib/scripts/media.js89
1 files changed, 50 insertions, 39 deletions
diff --git a/lib/scripts/media.js b/lib/scripts/media.js
index c8ddfa40a..859da9e22 100644
--- a/lib/scripts/media.js
+++ b/lib/scripts/media.js
@@ -2,7 +2,55 @@
* JavaScript functionality for the media management popup
*
* @author Andreas Gohr <andi@splitbrain.org>
+ * @author Pierre Spring <pierre.spring@caillou.ch>
*/
+(function ($) {
+ /**
+ * Open or close a subtree using AJAX
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ */
+ toggle = function (event) {
+ var clicky, listitem, sublist, link, ul;
+
+ var clicky = $(this);
+ var listitem = clicky.parent();
+
+ // if already open, close by removing the sublist
+ var sublist = listitem.find('ul').first();
+ if(sublist.size()){
+ sublist.remove(); // TODO: really? we could just hide it, right?
+ clicky.attr('src', DOKU_BASE + 'lib/images/plus.gif');
+ event.preventDefault(); // TODO: really here?
+ return;
+ }
+
+ // get the enclosed link (is always the first one)
+ link = listitem.find('a').first();
+
+ //prepare the new ul
+ ul = $('<ul/>');
+
+ //fixme add classname here
+
+ $.post(
+ DOKU_BASE + 'lib/exe/ajax.php',
+ link.attr('search').substr(1) + '&call=medians',
+ function (data) {
+ ul.html(data)
+ listitem.append(ul);
+ },
+ 'html'
+ );
+
+ clicky.attr('src', DOKU_BASE + 'lib/images/minus.gif');
+ };
+
+ $(function () {
+ $('#media__tree').delegate('img', 'click', toggle);
+ });
+}(jQuery));
+
var media_manager = {
keepopen: false,
hide: false,
@@ -29,7 +77,7 @@ var media_manager = {
// attach action to make the +/- clickable
var clicky = elem.getElementsByTagName('img')[0];
clicky.style.cursor = 'pointer';
- addEvent(clicky,'click',function(event){ return media_manager.toggle(event,this); });
+ //addEvent(clicky,'click',function(event){ return media_manager.toggle(event,this); });
// attach action load folder list via AJAX
var link = elem.getElementsByTagName('a')[0];
@@ -578,43 +626,6 @@ var media_manager = {
return false;
},
-
- /**
- * Open or close a subtree using AJAX
- *
- * @author Andreas Gohr <andi@splitbrain.org>
- */
- toggle: function(event,clicky){
- var listitem = clicky.parentNode;
-
- // if already open, close by removing the sublist
- var sublists = listitem.getElementsByTagName('ul');
- if(sublists.length){
- listitem.removeChild(sublists[0]);
- clicky.src = DOKU_BASE+'lib/images/plus.gif';
- return false;
- }
-
- // get the enclosed link (is always the first one)
- var link = listitem.getElementsByTagName('a')[0];
-
- // prepare an AJAX call to fetch the subtree
- var ajax = new sack(DOKU_BASE + 'lib/exe/ajax.php');
- ajax.AjaxFailedAlert = '';
- ajax.encodeURIString = false;
- if(ajax.failed) return true;
-
- //prepare the new ul
- var ul = document.createElement('ul');
- //fixme add classname here
- listitem.appendChild(ul);
- ajax.elementObj = ul;
- ajax.afterCompletion = function(){ media_manager.treeattach(ul); };
- ajax.runAJAX(link.search.substr(1)+'&call=medians');
- clicky.src = DOKU_BASE+'lib/images/minus.gif';
- return false;
- },
-
/**
* Prefills the wikiname.
*
@@ -762,7 +773,7 @@ var media_manager = {
};
addInitEvent(function(){
- media_manager.treeattach($('media__tree'));
+ //media_manager.treeattach($('media__tree'));
media_manager.selectorattach($('media__content'));
media_manager.confirmattach($('media__content'));
media_manager.attachoptions($('media__opts'));