diff options
Diffstat (limited to 'lib/scripts')
-rw-r--r-- | lib/scripts/media.js | 37 | ||||
-rw-r--r-- | lib/scripts/qsearch.js | 3 |
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; |