Skip to content

Commit

Permalink
file selector starts to work
Browse files Browse the repository at this point in the history
  • Loading branch information
fballiano committed May 9, 2023
1 parent 318ff9f commit 437b4da
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 42 deletions.
37 changes: 13 additions & 24 deletions js/mage/adminhtml/browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,15 +165,14 @@ Mediabrowser.prototype = {
return false;
}
var targetEl = this.getTargetElement();
if (! targetEl) {
if (!targetEl) {
alert("Target element not found for content update");
Windows.close('browser_window');
return;
}

var params = {filename:div.id, node:this.currentNode.id, store:this.storeId};

if (targetEl.tagName.toLowerCase() == 'textarea') {
if (targetEl.tagName && targetEl.tagName.toLowerCase() == 'textarea') {
params.as_is = 1;
}

Expand All @@ -182,17 +181,14 @@ Mediabrowser.prototype = {
onSuccess: function(transport) {
try {
this.onAjaxSuccess(transport);
if (this.getMediaBrowserOpener()) {
if (this.getMediaBrowserCallback()) {
self.blur();
}
Windows.close('browser_window');
if (targetEl.tagName.toLowerCase() == 'input') {
if (targetEl.tagName && targetEl.tagName.toLowerCase() == 'input') {
targetEl.value = transport.responseText;
} else {
updateElementAtCursor(targetEl, transport.responseText);
if (varienGlobalEvents) {
varienGlobalEvents.fireEvent('tinymceChange');
}
targetEl(transport.responseText);
}
} catch (e) {
alert(e.message);
Expand All @@ -213,9 +209,8 @@ Mediabrowser.prototype = {
*/
getTargetElement: function() {
if (typeof(tinyMCE) != 'undefined' && tinyMCE.get(this.targetElementId)) {
if ((opener = this.getMediaBrowserOpener())) {
var targetElementId = tinyMceEditors[this.targetElementId].getMediaBrowserTargetElementId();
return opener.document.getElementById(targetElementId);
if ((callbak = this.getMediaBrowserCallback())) {
return callbak;
} else {
return null;
}
Expand All @@ -225,19 +220,13 @@ Mediabrowser.prototype = {
},

/**
* Return opener Window object if it exists, not closed and editor is active
*
* return object | null
* return object|null
*/
getMediaBrowserOpener: function() {
if (typeof(tinyMCE) != 'undefined'
&& tinyMCE.get(this.targetElementId)
&& typeof(tinyMceEditors) != 'undefined'
&& ! tinyMceEditors[this.targetElementId].getMediaBrowserOpener().closed) {
return tinyMceEditors[this.targetElementId].getMediaBrowserOpener();
} else {
return null;
}
getMediaBrowserCallback: function() {
if (typeof(tinyMCE) != 'undefined' && tinyMCE.get(this.targetElementId) && typeof(tinyMceEditors) != 'undefined') {
return tinyMceEditors[this.targetElementId].getMediaBrowserCallback();
}
return null;
},

newFolder: function() {
Expand Down
34 changes: 16 additions & 18 deletions js/mage/adminhtml/wysiwyg/tinymce/setup.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@
var tinyMceWysiwygSetup = Class.create();
tinyMceWysiwygSetup.prototype =
{
mediaBrowserOpener: null,
mediaBrowserTargetElementId: null,
mediaBrowserCallback: null,
mediaBrowserMetal: null,
mediaBrowserValue: null,

initialize: function(htmlId, config)
{
Expand All @@ -27,9 +28,9 @@ tinyMceWysiwygSetup.prototype =
this.selector = 'textarea#' + htmlId;
this.config = config;
this.automatic_uploads = false;
this.file_picker_callback = function(fieldName, url, objectType, w) {
varienGlobalEvents.fireEvent("open_browser_callback", {win:w, type:objectType, field:fieldName});
};
this.file_picker_callback = (callback, value, meta) => {
varienGlobalEvents.fireEvent("open_browser_callback", {callback:callback, value:value, meta:meta});
}
varienGlobalEvents.attachEventHandler('tinymceChange', this.onChangeContent.bind(this));
if (typeof tinyMceEditors == 'undefined') {
tinyMceEditors = [];
Expand Down Expand Up @@ -408,12 +409,13 @@ tinyMceWysiwygSetup.prototype =
'target_element_id/' + this.id + '/' +
'store/' + storeId + '/';

this.mediaBrowserOpener = o.win;
this.mediaBrowserTargetElementId = o.field;
this.mediaBrowserCallback = o.callback;
this.mediaBrowserMeta = o.meta;
this.mediaBrowserValue = o.value;

if (typeof(o.type) != 'undefined' && o.type != "") {
typeTitle = 'image' == o.type ? this.translate('Insert Image...') : this.translate('Insert Media...');
wUrl = wUrl + "type/" + o.type + "/";
if (typeof(o.meta.filetype) != 'undefined' && o.meta.filetype == "image") {
typeTitle = 'image' == o.meta.filetype ? this.translate('Insert Image...') : this.translate('Insert Media...');
wUrl = wUrl + "type/" + o.meta.filetype + "/";
} else {
typeTitle = this.translate('Insert File...');
}
Expand All @@ -429,14 +431,6 @@ tinyMceWysiwygSetup.prototype =
return 'undefined' != typeof(Translator) ? Translator.translate(string) : string;
},

getMediaBrowserOpener: function() {
return this.mediaBrowserOpener;
},

getMediaBrowserTargetElementId: function() {
return this.mediaBrowserTargetElementId;
},

getToggleButton: function() {
return document.getElementById('toggle' + this.id);
},
Expand Down Expand Up @@ -583,5 +577,9 @@ tinyMceWysiwygSetup.prototype =

widgetPlaceholderExist: function(filename) {
return this.config.widget_placeholders.indexOf(filename) != -1;
},

getMediaBrowserCallback: function() {
return this.mediaBrowserCallback;
}
};

0 comments on commit 437b4da

Please sign in to comment.