summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorsarnowski <sarnowski@cosmocode.de>2009-08-24 13:22:30 +0200
committersarnowski <sarnowski@cosmocode.de>2009-08-24 13:22:30 +0200
commitbf1f3ac4f72c26ff386c08c920dda651d91c6898 (patch)
tree4b720e186993b1f96a0b55641f85d988c7bf5bb9 /lib
parent8ec12455ec81c8832085594acd6c082b1f9e625a (diff)
downloadrpg-bf1f3ac4f72c26ff386c08c920dda651d91c6898.tar.gz
rpg-bf1f3ac4f72c26ff386c08c920dda651d91c6898.tar.bz2
Search capabilities for the media manager added.
darcs-hash:20090824112230-8c5bd-7b8d8ba14e7533c1035b7b732983a0e3de8251a1.gz
Diffstat (limited to 'lib')
-rw-r--r--lib/exe/ajax.php12
-rw-r--r--lib/scripts/media.js43
2 files changed, 55 insertions, 0 deletions
diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php
index c10893db7..4d9a8105a 100644
--- a/lib/exe/ajax.php
+++ b/lib/exe/ajax.php
@@ -216,6 +216,18 @@ function ajax_medialist(){
}
/**
+ * Return list of search result for the Mediamanager
+ *
+ * @author Tobias Sarnowski <sarnowski@cosmocode.de>
+ */
+function ajax_mediasearchlist(){
+ global $conf;
+ require_once(DOKU_INC.'inc/media.php');
+
+ media_searchlist($_POST['ns']);
+}
+
+/**
* Return sub index for index view
*
* @author Andreas Gohr <andi@splitbrain.org>
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>