Skip to content

Commit 2cb3b92

Browse files
committed
MC-17658: Save Selected Block/Dynamic Block In Edit Form By Only Clicking Select Button
- Block implementation
1 parent 93f1195 commit 2cb3b92

File tree

3 files changed

+22
-7
lines changed

3 files changed

+22
-7
lines changed

app/code/Magento/PageBuilder/view/adminhtml/ui_component/pagebuilder_block_form.xml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@
9494
<settings>
9595
<dataType>text</dataType>
9696
<imports>
97-
<link name="value">${ $.ns }.${ $.ns }.modal.pagebuilder_block_select_grid:externalValue</link>
97+
<link name="value">${ $.ns }.${ $.ns }.modal.pagebuilder_block_select_grid.columns.ids:lastSelected</link>
9898
</imports>
9999
</settings>
100100
</field>
@@ -127,6 +127,9 @@
127127
</fieldset>
128128
<modal name="modal" sortOrder="30">
129129
<settings>
130+
<listens>
131+
<link name="pagebuilder_block_select_grid.pagebuilder_block_select_grid.columns.ids:lastSelected">closeModal</link>
132+
</listens>
130133
<options>
131134
<option name="title" xsi:type="string" translate="true">Select Block</option>
132135
<option name="buttons" xsi:type="array">
@@ -163,6 +166,9 @@
163166
<imports>false</imports>
164167
<exports>true</exports>
165168
</dataLinks>
169+
<listens>
170+
<link name="pagebuilder_block_select_grid.pagebuilder_block_select_grid.columns.ids:lastSelected">save</link>
171+
</listens>
166172
</settings>
167173
</insertListing>
168174
</modal>

app/code/Magento/PageBuilder/view/adminhtml/ui_component/pagebuilder_block_select_grid.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,6 @@
4949
<param name="controlVisibility" xsi:type="boolean">true</param>
5050
</childDefaults>
5151
</settings>
52-
<selectionsColumn name="ids" component="Magento_PageBuilder/js/grid/cells/single-select">
53-
<settings>
54-
<indexField>block_id</indexField>
55-
</settings>
56-
</selectionsColumn>
5752
<column name="block_id" sortOrder="10">
5853
<settings>
5954
<label translate="true">ID</label>
@@ -97,5 +92,10 @@
9792
<visible>false</visible>
9893
</settings>
9994
</column>
95+
<selectionsColumn name="ids" component="Magento_PageBuilder/js/grid/cells/single-select">
96+
<settings>
97+
<indexField>block_id</indexField>
98+
</settings>
99+
</selectionsColumn>
100100
</columns>
101101
</listing>

app/code/Magento/PageBuilder/view/adminhtml/web/js/grid/cells/single-select.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ define([
1414
bodyTmpl: 'Magento_PageBuilder/grid/cells/single-select',
1515
label: '',
1616
extendedSelections: [],
17+
lastSelected: null,
1718
listens: {
1819
selected: 'onSelectedChange setExtendedSelections'
1920
}
@@ -22,7 +23,7 @@ define([
2223
/** @inheritdoc */
2324
initObservable: function () {
2425
this._super()
25-
.observe('extendedSelections');
26+
.observe('extendedSelections lastSelected');
2627

2728
return this;
2829
},
@@ -60,6 +61,14 @@ define([
6061
return this.selected()[0] === id;
6162
},
6263

64+
/** @inheritdoc **/
65+
select: function (id) {
66+
this._super();
67+
this.lastSelected(id);
68+
69+
return this;
70+
},
71+
6372
/** @inheritdoc */
6473
_setSelection: function (id, isIndex, select) {
6574
var selected = this.selected;

0 commit comments

Comments
 (0)