Skip to content
Snippets Groups Projects
Commit e85b8799 authored by Pierre Spring's avatar Pierre Spring
Browse files

jQueryfied toggle function.

parent 231b8c34
No related branches found
No related tags found
No related merge requests found
......@@ -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'));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment