Skip to content

Commit 05443d7

Browse files
fixed confirmation message for deleting ffrom detail window
1 parent 167d92e commit 05443d7

File tree

3 files changed

+90
-59
lines changed

3 files changed

+90
-59
lines changed
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
/**
2+
* Copyright © Magento, Inc. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
define([
6+
'jquery',
7+
'Magento_MediaGalleryUi/js/action/getDetails',
8+
'Magento_MediaGalleryUi/js/action/deleteImage'
9+
], function ($, getDetails, deleteImage) {
10+
'use strict';
11+
12+
return {
13+
14+
/**
15+
* Returns confirmation content with information about related content
16+
*
17+
* @param {Object} imageDetails
18+
* @return String
19+
*/
20+
getConfirmationContentByImageDetails: function (imageDetails) {
21+
var details = imageDetails.details;
22+
23+
if (_.isObject(details) && !_.isUndefined(details['6'])) {
24+
return this.getRecordRelatedContentMessage(details['6'].value);
25+
}
26+
27+
return '';
28+
},
29+
30+
/**
31+
* Get information about image use
32+
*
33+
* @param {Object|String} value
34+
* @return {String}
35+
*/
36+
getRecordRelatedContentMessage: function (value) {
37+
var usedInMessage = $.mage.__('This image is used in %s.'),
38+
usedIn = '';
39+
40+
if (_.isObject(value) && !_.isEmpty(value)) {
41+
_.each(value, function (numberOfTimeUsed, moduleName) {
42+
usedIn += numberOfTimeUsed + ' ' + moduleName + ', ';
43+
});
44+
usedIn = usedIn.replace(/,\s*$/, '');
45+
46+
return usedInMessage.replace('%s', usedIn);
47+
}
48+
49+
return '';
50+
},
51+
52+
/**
53+
* Get information about image use
54+
*
55+
* @param {Object} record
56+
* @param {String} imageDetailsUrl
57+
* @param {String} deleteImageUrl
58+
* @return {String}
59+
*/
60+
deleteImageAction: function (record, imageDetailsUrl, deleteImageUrl) {
61+
var confirmationContent = $.mage.__('%1 Are you sure you want to delete "%2" image?')
62+
.replace('%2', record.path);
63+
64+
getDetails(imageDetailsUrl, record.id)
65+
.then(function (imageDetails) {
66+
confirmationContent = confirmationContent.replace(
67+
'%1',
68+
this.getConfirmationContentByImageDetails(imageDetails)
69+
);
70+
}.bind(this)).fail(function () {
71+
confirmationContent = confirmationContent.replace('%1', '');
72+
}).always(function () {
73+
deleteImage.deleteImageAction(record, deleteImageUrl, confirmationContent);
74+
});
75+
}
76+
}
77+
});

MediaGalleryUi/view/adminhtml/web/js/grid/columns/image/actions.js

Lines changed: 4 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@ define([
66
'jquery',
77
'underscore',
88
'uiComponent',
9-
'Magento_MediaGalleryUi/js/action/deleteImage',
10-
'Magento_MediaGalleryUi/js/action/getDetails',
9+
'Magento_MediaGalleryUi/js/action/deleteImageWithDetailConfirmation',
1110
'Magento_MediaGalleryUi/js/grid/columns/image/insertImageAction'
12-
], function ($, _, Component, deleteImage, getDetails, image) {
11+
], function ($, _, Component, deleteImageWithDetailConfirmation, image) {
1312
'use strict';
1413

1514
return Component.extend({
@@ -72,59 +71,9 @@ define([
7271
*/
7372
deleteImageAction: function (record) {
7473
var imageDetailsUrl = this.mediaGalleryImageDetails().imageDetailsUrl,
75-
deleteImageUrl = this.imageModel().deleteImageUrl,
76-
confirmationContent = $.mage.__('%1 Are you sure you want to delete "%2" image?')
77-
.replace('%2', record.path);
74+
deleteImageUrl = this.imageModel().deleteImageUrl;
7875

79-
getDetails(imageDetailsUrl, record.id)
80-
.then(function (imageDetails) {
81-
confirmationContent = confirmationContent.replace(
82-
'%1',
83-
this.getConfirmationContentByImageDetails(imageDetails)
84-
);
85-
}.bind(this)).fail(function () {
86-
confirmationContent = confirmationContent.replace('%1', '');
87-
}).always(function () {
88-
deleteImage.deleteImageAction(record, deleteImageUrl, confirmationContent);
89-
});
90-
},
91-
92-
/**
93-
* Returns confirmation content with information about related content
94-
*
95-
* @param {Object} imageDetails
96-
* @return String
97-
*/
98-
getConfirmationContentByImageDetails: function (imageDetails) {
99-
var details = imageDetails.details;
100-
101-
if (_.isObject(details) && !_.isUndefined(details['6'])) {
102-
return this.getRecordRelatedContentMessage(details['6'].value);
103-
}
104-
105-
return '';
106-
},
107-
108-
/**
109-
* Get information about image use
110-
*
111-
* @param {Object|String} value
112-
* @return {String}
113-
*/
114-
getRecordRelatedContentMessage: function (value) {
115-
var usedInMessage = $.mage.__('This image is used in %s.'),
116-
usedIn = '';
117-
118-
if (_.isObject(value) && !_.isEmpty(value)) {
119-
_.each(value, function (numberOfTimeUsed, moduleName) {
120-
usedIn += numberOfTimeUsed + ' ' + moduleName + ', ';
121-
});
122-
usedIn = usedIn.replace(/,\s*$/, '');
123-
124-
return usedInMessage.replace('%s', usedIn);
125-
}
126-
127-
return '';
76+
deleteImageWithDetailConfirmation.deleteImageAction(record, imageDetailsUrl, deleteImageUrl);
12877
},
12978

13079
/**

MediaGalleryUi/view/adminhtml/web/js/image/image-actions.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,20 @@ define([
77
'jquery',
88
'underscore',
99
'uiElement',
10-
'Magento_MediaGalleryUi/js/action/deleteImage',
10+
'Magento_MediaGalleryUi/js/action/deleteImageWithDetailConfirmation',
1111
'Magento_MediaGalleryUi/js/grid/columns/image/insertImageAction'
12-
], function ($, _, Element, deleteImage, addSelected) {
12+
], function ($, _, Element, deleteImageWithDetailConfirmation, addSelected) {
1313
'use strict';
1414

1515
return Element.extend({
1616
defaults: {
1717
modalSelector: '',
1818
modalWindowSelector: '',
19+
mediaGalleryImageDetailsName: 'mediaGalleryImageDetails',
1920
template: 'Magento_MediaGalleryUi/image/actions',
2021
modules: {
21-
imageModel: '${ $.imageModelName }'
22+
imageModel: '${ $.imageModelName }',
23+
mediaGalleryImageDetails: '${ $.mediaGalleryImageDetailsName }'
2224
}
2325
},
2426

@@ -52,7 +54,10 @@ define([
5254
* Delete image action
5355
*/
5456
deleteImageAction: function () {
55-
deleteImage.deleteImageAction(this.imageModel().getSelected(), this.imageModel().deleteImageUrl);
57+
var imageDetailsUrl = this.mediaGalleryImageDetails().imageDetailsUrl,
58+
deleteImageUrl = this.imageModel().deleteImageUrl;
59+
60+
deleteImageWithDetailConfirmation.deleteImageAction(this.imageModel().getSelected(), imageDetailsUrl, deleteImageUrl);
5661
},
5762

5863
/**

0 commit comments

Comments
 (0)