diff options
author | sarnowski <sarnowski@cosmocode.de> | 2009-08-24 13:22:30 +0200 |
---|---|---|
committer | sarnowski <sarnowski@cosmocode.de> | 2009-08-24 13:22:30 +0200 |
commit | bf1f3ac4f72c26ff386c08c920dda651d91c6898 (patch) | |
tree | 4b720e186993b1f96a0b55641f85d988c7bf5bb9 /lib/scripts | |
parent | 8ec12455ec81c8832085594acd6c082b1f9e625a (diff) | |
download | rpg-bf1f3ac4f72c26ff386c08c920dda651d91c6898.tar.gz rpg-bf1f3ac4f72c26ff386c08c920dda651d91c6898.tar.bz2 |
Search capabilities for the media manager added.
darcs-hash:20090824112230-8c5bd-7b8d8ba14e7533c1035b7b732983a0e3de8251a1.gz
Diffstat (limited to 'lib/scripts')
-rw-r--r-- | lib/scripts/media.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/scripts/media.js b/lib/scripts/media.js index 4ae31a989..7726d0664 100644 --- a/lib/scripts/media.js +++ b/lib/scripts/media.js @@ -94,6 +94,22 @@ media = { attachoptions: function(obj){ if(!obj) return; + // search link + var searcha = document.createElement('a'); + searcha.id = 'media__search'; + searcha.href = '#'; + addEvent(searcha,'click',function(event){ return media.showsearchfield(event,this); }); + + var searchlbl = document.createElement('label'); + searchlbl.htmlFor = 'media__searchmedia'; + searchlbl.innerHTML = LANG['searchmedia']; + + var searchbr = document.createElement('br'); + + searcha.appendChild(searchlbl); + obj.appendChild(searcha); + obj.appendChild(searchbr); + // keep open if(opener){ var kobox = document.createElement('input'); @@ -141,6 +157,33 @@ media = { }, /** + * Opens the searchfield + * + * @author Tobias Sarnowski <sarnowski@cosmocode.de> + */ + showsearchfield: function(event,link){ + // prepare an AJAX call to fetch the search + var ajax = new sack(DOKU_BASE + 'lib/exe/ajax.php'); + ajax.AjaxFailedAlert = ''; + ajax.encodeURIString = false; + if(ajax.failed) return true; + + cleanMsgArea(); + + var content = $('media__content'); + content.innerHTML = '<img src="'+DOKU_BASE+'lib/images/loading.gif" alt="..." class="load" />'; + + ajax.elementObj = content; + ajax.afterCompletion = function(){ + media.selectorattach(content); + media.confirmattach(content); + media.updatehide(); + }; + ajax.runAJAX(link.search.substr(1)+'&call=mediasearchlist'); + return false; + }, + + /** * Toggles the keep open state * * @author Andreas Gohr <andi@splitbrain.org> |