Skip to content

Commit 4dc6768

Browse files
authored
ENGCOM-7975: Refactor massactionView, remove adobe-stock references #29438
2 parents 957f37e + ed56fb4 commit 4dc6768

File tree

10 files changed

+52
-82
lines changed

10 files changed

+52
-82
lines changed

app/code/Magento/MediaGalleryUi/Test/Mftf/ActionGroup/AdminEnhancedMediaGalleryEnableMassActionModeActionGroup.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<description>Activate massaction mode by click on Delete Selected..</description>
1414
</annotations>
1515

16-
<waitForElementVisible selector="{{AdminEnhancedMediaGalleryMassActionSection.deleteSelected}}" stepKey="waitForMassActionButton"/>
17-
<click selector="{{AdminEnhancedMediaGalleryMassActionSection.deleteSelected}}" stepKey="clickOnMassActionButton"/>
16+
<waitForElementVisible selector="{{AdminEnhancedMediaGalleryMassActionSection.deleteImages}}" stepKey="waitForMassActionButton"/>
17+
<click selector="{{AdminEnhancedMediaGalleryMassActionSection.deleteImages}}" stepKey="clickOnMassActionButton"/>
1818
</actionGroup>
1919
</actionGroups>

app/code/Magento/MediaGalleryUi/Test/Mftf/Section/AdminEnhancedMediaGalleryMassActionSection.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<element name="massActionCheckbox" type="button" selector="//input[@type='checkbox'][@data-ui-id ='{{imageName}}']" parameterized="true"/>
1212
<element name="totalSelected" type="text" selector=".mediagallery-massaction-items-count > .selected_count_text"/>
1313
<element name="cancelMassActionMode" type="button" selector="#cancel_massaction"/>
14-
<element name="deleteSelected" type="button" selector="#delete_massaction"/>
14+
<element name="deleteImages" type="button" selector="#delete_massaction"/>
15+
<element name="deleteSelected" type="button" selector="#delete_selected_massaction"/>
1516
</section>
1617
</sections>

app/code/Magento/MediaGalleryUi/view/adminhtml/web/css/source/_module.less

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@
311311
}
312312
}
313313

314-
.adobe-stock-icon {
314+
.media-gallery-source-icon {
315315
margin-bottom: -6px;
316316
width: 29px;
317317
}
@@ -370,7 +370,7 @@
370370
}
371371

372372
.image-type {
373-
.adobe-stock-icon {
373+
.media-gallery-source-icon {
374374
margin-bottom: -6px;
375375
width: 29px;
376376
}

app/code/Magento/MediaGalleryUi/view/adminhtml/web/js/grid/columns/image.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ define([
103103
*/
104104
updateSelected: function () {
105105
this.selected({});
106+
this.hideAddSelectedAndDeleteButon();
106107
},
107108

108109
/**

app/code/Magento/MediaGalleryUi/view/adminhtml/web/js/grid/massaction/massactionView.js

Lines changed: 27 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,23 @@ define([
77
'jquery',
88
'uiComponent',
99
'mage/translate',
10-
'text!Magento_MediaGalleryUi/template/grid/massactions/cancelButton.html'
11-
], function ($, Component, $t, cancelMassActionButton) {
10+
'text!Magento_MediaGalleryUi/template/grid/massactions/massactionButtons.html'
11+
], function ($, Component, $t, massactionButtons) {
1212
'use strict';
1313

1414
return Component.extend({
1515
defaults: {
16-
pageActionsSelector: '.page-actions-buttons',
1716
gridSelector: '[data-id="media-gallery-masonry-grid"]',
18-
originDeleteSelector: null,
19-
originCancelEvent: null,
20-
cancelMassactionButton: cancelMassActionButton,
21-
isCancelButtonInserted: false,
22-
deleteButtonSelector: '#delete_massaction',
23-
addSelectedButtonSelector: '#add_selected',
24-
cancelMassactionButtonSelector: '#cancel',
2517
standAloneTitle: 'Manage Gallery',
2618
slidePanelTitle: 'Media Gallery',
2719
defaultTitle: null,
28-
contextButtonSelector: '.three-dots',
29-
buttonsIds: [
30-
'#delete_folder',
31-
'#create_folder',
32-
'#upload_image',
33-
'#search_adobe_stock',
34-
'.three-dots',
35-
'#add_selected'
36-
],
20+
are: null,
21+
standAloneArea: 'standalone',
22+
slidepanelArea: 'slidepanel',
23+
massactionButtonsSelector: '.massaction-buttons',
24+
buttonsSelectorStandalone: '.page-actions-buttons',
25+
buttonsSelectorSlidePanel: '.page-actions.floating-header',
26+
buttons: '.page-main-actions :button',
3727
massactionModeTitle: $t('Select Images to Delete')
3828
},
3929

@@ -62,7 +52,6 @@ define([
6252
* Hide or show buttons per active mode.
6353
*/
6454
switchButtons: function () {
65-
6655
if (this.massActionMode()) {
6756
this.activateMassactionButtonView();
6857
} else {
@@ -74,66 +63,40 @@ define([
7463
* Sets buttons to default regular -mode view.
7564
*/
7665
revertButtonsToDefaultView: function () {
77-
$(this.deleteButtonSelector).replaceWith(this.originDeleteSelector);
78-
79-
if (!this.isCancelButtonInserted) {
80-
$('#cancel_massaction').replaceWith(this.originCancelEvent);
81-
} else {
82-
$(this.cancelMassactionButtonSelector).addClass('no-display');
83-
$('#cancel_massaction').remove();
84-
}
85-
86-
$.each(this.buttonsIds, function (key, value) {
87-
$(value).removeClass('no-display');
88-
});
89-
90-
$(this.addSelectedButtonSelector).addClass('no-display');
91-
$(this.deleteButtonSelector)
92-
.addClass('media-gallery-actions-buttons')
93-
.removeClass('primary');
66+
$(this.buttons).removeClass('no-display');
67+
$(this.massactionButtonsSelector).remove();
9468
},
9569

9670
/**
9771
* Activate mass action buttons view
9872
*/
9973
activateMassactionButtonView: function () {
100-
this.originDeleteSelector = $(this.deleteButtonSelector).clone();
101-
$(this.originDeleteSelector).click(function () {
102-
$(window).trigger('massAction.MediaGallery');
103-
});
104-
this.originCancelEvent = $('#cancel').clone(true, true);
74+
var buttonsContainer;
10575

106-
$.each(this.buttonsIds, function (key, value) {
107-
$(value).addClass('no-display');
108-
});
76+
$(this.buttons).addClass('no-display');
10977

110-
$(this.deleteButtonSelector)
111-
.removeClass('media-gallery-actions-buttons')
112-
.text($t('Delete Selected'))
113-
.addClass('primary');
114-
115-
if (!$(this.cancelMassactionButtonSelector).length) {
116-
$(this.pageActionsSelector).append(this.cancelMassactionButton);
117-
this.isCancelButtonInserted = true;
118-
} else {
119-
$(this.cancelMassactionButtonSelector).replaceWith(this.cancelMassactionButton);
120-
}
121-
$('#cancel_massaction').on('click', function () {
122-
$(window).trigger('terminateMassAction.MediaGallery');
123-
}).applyBindings();
124-
125-
$(this.deleteButtonSelector).off('click').on('click', function () {
126-
$(this.deleteButtonSelector).trigger('massDelete');
127-
}.bind(this));
78+
buttonsContainer = this.area === this.standAloneArea ?
79+
this.buttonsSelectorStandalone :
80+
this.buttonsSelectorSlidePanel;
12881

82+
$(buttonsContainer).append(massactionButtons);
83+
$(this.massactionButtonsSelector).applyBindings();
12984
},
13085

13186
/**
13287
* Change page title per active mode.
13388
*/
13489
changePageTitle: function () {
13590
var title = $('h1:contains(' + this.standAloneTitle + ')'),
136-
titleSelector = title.length === 1 ? title : $('h1:contains(' + this.slidePanelTitle + ')');
91+
titleSelector;
92+
93+
if (title.length === 1) {
94+
titleSelector = title;
95+
this.area = this.standAloneArea;
96+
} else {
97+
titleSelector = $('h1:contains(' + this.slidePanelTitle + ')');
98+
this.area = this.slidepanelArea;
99+
}
137100

138101
if (this.massActionMode()) {
139102
this.defaultTitle = titleSelector.text();

app/code/Magento/MediaGalleryUi/view/adminhtml/web/js/grid/massaction/massactions.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ define([
1616

1717
return Component.extend({
1818
defaults: {
19+
deleteButtonSelector: '#delete_selected_massaction',
1920
deleteImagesSelector: '#delete_massaction',
2021
mediaGalleryImageDetailsName: 'mediaGalleryImageDetails',
2122
modules: {
@@ -86,6 +87,7 @@ define([
8687

8788
this.massActionMode(false);
8889
this.switchMode();
90+
this.imageModel().updateSelected();
8991
}.bind(this));
9092
},
9193

@@ -124,7 +126,7 @@ define([
124126
*/
125127
handleDeleteAction: function () {
126128
if (this.massActionMode()) {
127-
$(this.massactionView().deleteButtonSelector).on('massDelete', function () {
129+
$(this.deleteButtonSelector).on('massDelete.MediaGallery', function () {
128130
if (this.getSelectedCount() < 1) {
129131
uiAlert({
130132
content: $t('You need to select at least one image')

app/code/Magento/MediaGalleryUi/view/adminhtml/web/template/grid/columns/image.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<ul class="media-gallery-image-details">
3030
<li class="name" data-ui-id="title" text="$row().title"></li>
3131
<li class="source">
32-
<img if="$row().source" class="adobe-stock-icon" attr="{ src: $row().source }"/>
32+
<img if="$row().source" class="media-gallery-source-icon" attr="{ src: $row().source }"/>
3333
</li>
3434
<li class="type" data-ui-id="content-type" text="$row().content_type"></li> &#8226;
3535
<li class="dimensions" data-ui-id="dimensions" text="$row().width + 'x' + $row().height"></li>

app/code/Magento/MediaGalleryUi/view/adminhtml/web/template/grid/massactions/cancelButton.html

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!--
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
-->
7+
8+
<button id="cancel_massaction" type="button" onclick="jQuery(window).trigger('terminateMassAction.MediaGallery')" class="massaction-buttons cancel">
9+
<span data-bind="i18n: 'Cancel'"/>
10+
</button>
11+
<button id="delete_selected_massaction" onclick="jQuery('#delete_selected_massaction').trigger('massDelete.MediaGallery')" type="button" class="primary massaction-buttons cancel">
12+
<span data-bind="i18n: 'Delete Selected'"/>
13+
</button>

app/code/Magento/MediaGalleryUi/view/adminhtml/web/template/image/image-details.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<div class="image-details-section">
1313
<h3 class="image-title" text="image().title"></h3>
1414
<div class="image-type">
15-
<span class="source"><img if="image().source" class="adobe-stock-icon" attr="{ src: image().source }" /></span>
15+
<span class="source"><img if="image().source" class="media-gallery-source-icon" attr="{ src: image().source }" /></span>
1616
<span class="type" data-ui-id="content-type" text="image().content_type"></span>
1717
</div>
1818
</div>

0 commit comments

Comments
 (0)