Skip to content

Commit d56760f

Browse files
committed
Merge branch 'MC-2294' into team3-delivery
2 parents 0384fe0 + e9338c3 commit d56760f

File tree

5 files changed

+54
-2
lines changed

5 files changed

+54
-2
lines changed

app/code/Magento/Cms/Test/Mftf/Section/TinyMCESection.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<element name="Browse" type="button" selector=".mce-i-browse"/>
3737
<element name="BrowseUploadImage" type="file" selector=".fileupload" />
3838
<element name="image" type="text" selector="//small[text()='{{var1}}']" parameterized="true"/>
39-
<element name="imageOrImageCopy" type="text" selector="//img[contains(@alt, '{{arg1}}.{{arg2}}')]|//img[contains(@alt,'{{arg1}}_') and contains(@alt,'.{{arg2}}')]" parameterized="true"/>
39+
<element name="imageOrImageCopy" type="text" selector="//div[contains(@class,'media-gallery-modal')]//img[contains(@alt, '{{arg1}}.{{arg2}}')]|//img[contains(@alt,'{{arg1}}_') and contains(@alt,'.{{arg2}}')]" parameterized="true"/>
4040
<element name="imageSelected" type="text" selector="//small[text()='{{var1}}']/parent::*[@class='filecnt selected']" parameterized="true"/>
4141
<element name="ImageSource" type="input" selector=".mce-combobox.mce-abs-layout-item.mce-last.mce-has-open" />
4242
<element name="ImageDescription" type="input" selector=".mce-textbox.mce-abs-layout-item.mce-last" />

app/code/Magento/Ui/view/base/web/js/form/element/abstract.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ define([
407407
this.bubble('error', message);
408408

409409
//TODO: Implement proper result propagation for form
410-
if (!isValid) {
410+
if (this.source && !isValid) {
411411
this.source.set('params.invalid', true);
412412
}
413413

app/code/Magento/Ui/view/base/web/js/form/element/file-uploader.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
/**
77
* @api
88
*/
9+
/* global Base64 */
910
define([
1011
'jquery',
1112
'underscore',
@@ -168,6 +169,10 @@ define([
168169
processFile: function (file) {
169170
file.previewType = this.getFilePreviewType(file);
170171

172+
if (!file.id && file.name) {
173+
file.id = Base64.mageEncode(file.name).replace(/g/);
174+
}
175+
171176
this.observe.call(file, true, [
172177
'previewWidth',
173178
'previewHeight'

app/code/Magento/Ui/view/base/web/js/form/element/image-uploader.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,15 @@ define([
1717
'use strict';
1818

1919
return Element.extend({
20+
/**
21+
* {@inheritDoc}
22+
*/
23+
initialize: function () {
24+
this._super();
25+
26+
// Listen for file deletions from the media browser
27+
$(window).on('fileDeleted.mediabrowser', this.onDeleteFile.bind(this));
28+
},
2029

2130
/**
2231
* Assign uid for media gallery
@@ -76,6 +85,40 @@ define([
7685
browser.openDialog(openDialogUrl, null, null, this.mediaGallery.openDialogTitle);
7786
},
7887

88+
/**
89+
* @param {jQuery.event} e
90+
* @param {Object} data
91+
* @returns {Object} Chainables
92+
*/
93+
onDeleteFile: function (e, data) {
94+
var fileId = this.getFileId(),
95+
deletedFileIds = data.ids;
96+
97+
if (fileId && $.inArray(fileId, deletedFileIds) > -1) {
98+
this.clear();
99+
}
100+
101+
return this;
102+
},
103+
104+
/**
105+
* {@inheritDoc}
106+
*/
107+
clear: function () {
108+
this.value([]);
109+
110+
return this;
111+
},
112+
113+
/**
114+
* Gets the ID of the file used if set
115+
*
116+
* @return {String|Null} ID
117+
*/
118+
getFileId: function () {
119+
return this.hasData() ? this.value()[0].id : null;
120+
},
121+
79122
/**
80123
* Trigger native browser file upload UI via clicking on 'Upload' button
81124
*

lib/web/mage/adminhtml/browser.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,10 @@ define([
435435
}).done($.proxy(function () {
436436
self.reload();
437437
self.element.find('#delete_files').toggleClass(self.options.hidden, true);
438+
439+
$(window).trigger('fileDeleted.mediabrowser', {
440+
ids: ids
441+
});
438442
}, this));
439443
},
440444

0 commit comments

Comments
 (0)