aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/lib/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/scripts')
-rw-r--r--lib/scripts/media.js37
-rw-r--r--lib/scripts/qsearch.js3
2 files changed, 31 insertions, 9 deletions
diff --git a/lib/scripts/media.js b/lib/scripts/media.js
index 2995addfd..dc0191d49 100644
--- a/lib/scripts/media.js
+++ b/lib/scripts/media.js
@@ -214,14 +214,12 @@ var dw_mediamanager = {
* @author Pierre Spring <pierre.spring@caillou.ch>
*/
insert: function (id) {
- var opts, alignleft, alignright, edid, s;
+ var opts, cb, edid, s;
// set syntax options
dw_mediamanager.$popup.dialog('close');
opts = '';
- alignleft = '';
- alignright = '';
if ({img: 1, swf: 1}[dw_mediamanager.ext] === 1) {
@@ -254,16 +252,14 @@ var dw_mediamanager = {
}
}
}
- if (dw_mediamanager.align !== '1') {
- alignleft = dw_mediamanager.align === '2' ? '' : ' ';
- alignright = dw_mediamanager.align === '4' ? '' : ' ';
- }
}
}
edid = String.prototype.match.call(document.location, /&edid=([^&]+)/);
- opener.insertTags(edid ? edid[1] : 'wiki__text',
- '{{'+alignleft+id+opts+alignright+'|','}}','');
+ edid = edid ? edid[1] : 'wiki__text';
+ cb = String.prototype.match.call(document.location, /&onselect=([^&]+)/);
+ cb = cb ? cb[1].replace(/[^\w]+/, '') : 'dw_mediamanager_item_select';
+ opener[cb](edid, id, opts, dw_mediamanager.align);
if(!dw_mediamanager.keepopen) {
window.close();
}
@@ -271,6 +267,8 @@ var dw_mediamanager = {
return false;
},
+
+
/**
* Prefills the wikiname.
*
@@ -921,4 +919,25 @@ var dw_mediamanager = {
}
};
+/**
+ * Default implementation for the media manager's select action
+ *
+ * Can be overriden with the onselect URL parameter. Is called on the opener context
+ *
+ * @param {string} edid
+ * @param {string} mediaid
+ * @param {string} opts
+ * @param {string} align [none, left, center, right]
+ */
+function dw_mediamanager_item_select(edid, mediaid, opts, align) {
+ var alignleft = '';
+ var alignright = '';
+ if (align !== '1') {
+ alignleft = align === '2' ? '' : ' ';
+ alignright = align === '4' ? '' : ' ';
+ }
+
+ insertTags(edid, '{{' + alignleft + mediaid + opts + alignright + '|', '}}', '');
+}
+
jQuery(dw_mediamanager.init);
diff --git a/lib/scripts/qsearch.js b/lib/scripts/qsearch.js
index 95c632e45..56cf8df25 100644
--- a/lib/scripts/qsearch.js
+++ b/lib/scripts/qsearch.js
@@ -45,6 +45,7 @@ jQuery.fn.dw_qsearch = function (overrides) {
dw_qsearch.clear_results();
return;
}
+ dw_qsearch.$inObj.parents('form').addClass('searching');
dw_qsearch.curRequest = jQuery.post(
DOKU_BASE + 'lib/exe/ajax.php',
{
@@ -81,6 +82,7 @@ jQuery.fn.dw_qsearch = function (overrides) {
* Empty and hide the output div
*/
clear_results: function () {
+ dw_qsearch.$inObj.parents('form').removeClass('searching');
dw_qsearch.$outObj.hide();
dw_qsearch.$outObj.text('');
},
@@ -95,6 +97,7 @@ jQuery.fn.dw_qsearch = function (overrides) {
*/
onCompletion: function (data) {
var max, $links, too_big;
+ dw_qsearch.$inObj.parents('form').removeClass('searching');
dw_qsearch.curRequest = null;