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-09-27 11:52:17 +0200
commit5771cddc97acf00f17c34fa7ed87df07d6457bf0 (patch)
tree16223b4e72ccb59dd435d0ddc8259c6fd3c1716d /lib
parent7376d06d31338413985f586b5fbd1f93dfb18a24 (diff)
downloadrpg-5771cddc97acf00f17c34fa7ed87df07d6457bf0.tar.gz
rpg-5771cddc97acf00f17c34fa7ed87df07d6457bf0.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 95b1ab69e..809169363 100644
--- a/lib/scripts/media.js
+++ b/lib/scripts/media.js
@@ -2,7 +2,55 @@
* JavaScript functionalitiy 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];
@@ -585,43 +633,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.
*
@@ -769,7 +780,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'));