From 664058fa66b678ea92f62cbcc25a3f8d42ff51a4 Mon Sep 17 00:00:00 2001
From: Roland Synnestvedt <git@rsynnest.com>
Date: Thu, 31 Aug 2017 11:29:11 -0700
Subject: [PATCH] Fix for Issue #2079 (change cursor position if media manager
 is in 'keep open' mode)

---
 lib/scripts/media.js | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/lib/scripts/media.js b/lib/scripts/media.js
index 89925d8c8..70807bda2 100644
--- a/lib/scripts/media.js
+++ b/lib/scripts/media.js
@@ -272,7 +272,8 @@ var dw_mediamanager = {
         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);
+        // arguments here only match the dw_mediamanager_item_select function, these will need to change if you override cb with onselect GET param
+        opener[cb](edid, id, opts, dw_mediamanager.align, dw_mediamanager.keepopen);
         if (!dw_mediamanager.keepopen) {
             window.close();
         }
@@ -937,15 +938,18 @@ var dw_mediamanager = {
  * @param {string} opts
  * @param {string} align [none, left, center, right]
  */
-function dw_mediamanager_item_select(edid, mediaid, opts, align) {
+function dw_mediamanager_item_select(edid, mediaid, opts, align, keepopen) {
     var alignleft = '';
     var alignright = '';
     if (align !== '1') {
         alignleft = align === '2' ? '' : ' ';
         alignright = align === '4' ? '' : ' ';
     }
-
-    insertTags(edid, '{{' + alignleft + mediaid + opts + alignright + '|', '}}', '');
+    if (keepopen) {
+        insertTags(edid, '{{' + alignleft + mediaid + opts + alignright + '|}}', '', '');
+    } else {
+        insertTags(edid, '{{' + alignleft + mediaid + opts + alignright + '|', '}}', '');
+    }
 }
 
 jQuery(dw_mediamanager.init);
-- 
GitLab