Skip to content

Commit 2810b5b

Browse files
ENGCOM-1413: [Backport] Pass parameter for export button url #14903
2 parents 02ab9e3 + 5f28f2e commit 2810b5b

File tree

4 files changed

+51
-4
lines changed

4 files changed

+51
-4
lines changed

app/code/Magento/Sales/view/adminhtml/ui_component/sales_order_view_creditmemo_grid.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,15 @@
3434
<listingToolbar name="listing_top">
3535
<bookmark name="bookmarks"/>
3636
<columnsControls name="columns_controls"/>
37-
<exportButton name="export_button"/>
37+
<exportButton name="export_button">
38+
<argument name="data" xsi:type="array">
39+
<item name="config" xsi:type="array">
40+
<item name="additionalParams" xsi:type="array">
41+
<item xsi:type="string" name="order_id">*</item>
42+
</item>
43+
</item>
44+
</argument>
45+
</exportButton>
3846
<filterSearch name="fulltext"/>
3947
<filters name="listing_filters">
4048
<filterSelect name="store_id">

app/code/Magento/Sales/view/adminhtml/ui_component/sales_order_view_invoice_grid.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,15 @@
3434
<listingToolbar name="listing_top">
3535
<bookmark name="bookmarks"/>
3636
<columnsControls name="columns_controls"/>
37-
<exportButton name="export_button"/>
37+
<exportButton name="export_button">
38+
<argument name="data" xsi:type="array">
39+
<item name="config" xsi:type="array">
40+
<item name="additionalParams" xsi:type="array">
41+
<item xsi:type="string" name="order_id">*</item>
42+
</item>
43+
</item>
44+
</argument>
45+
</exportButton>
3846
<filterSearch name="fulltext"/>
3947
<filters name="listing_filters">
4048
<filterSelect name="store_id">

app/code/Magento/Sales/view/adminhtml/ui_component/sales_order_view_shipment_grid.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,15 @@
3434
<listingToolbar name="listing_top">
3535
<bookmark name="bookmarks"/>
3636
<columnsControls name="columns_controls"/>
37-
<exportButton name="export_button"/>
37+
<exportButton name="export_button">
38+
<argument name="data" xsi:type="array">
39+
<item name="config" xsi:type="array">
40+
<item name="additionalParams" xsi:type="array">
41+
<item xsi:type="string" name="order_id">*</item>
42+
</item>
43+
</item>
44+
</argument>
45+
</exportButton>
3846
<filterSearch name="fulltext"/>
3947
<filters name="listing_filters">
4048
<filterSelect name="store_id">

app/code/Magento/Ui/Component/ExportButton.php

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,16 +54,39 @@ public function getComponentName()
5454
*/
5555
public function prepare()
5656
{
57+
$context = $this->getContext();
5758
$config = $this->getData('config');
5859
if (isset($config['options'])) {
5960
$options = [];
6061
foreach ($config['options'] as $option) {
61-
$option['url'] = $this->urlBuilder->getUrl($option['url']);
62+
$additionalParams = $this->getAdditionalParams($config, $context);
63+
$option['url'] = $this->urlBuilder->getUrl($option['url'], $additionalParams);
6264
$options[] = $option;
6365
}
6466
$config['options'] = $options;
6567
$this->setData('config', $config);
6668
}
6769
parent::prepare();
6870
}
71+
72+
/**
73+
* Get export button additional parameters
74+
*
75+
* @param array $config
76+
* @param ContextInterface $context
77+
* @return array
78+
*/
79+
private function getAdditionalParams($config, $context)
80+
{
81+
$additionalParams = [];
82+
if (isset($config['additionalParams'])) {
83+
foreach ($config['additionalParams'] as $paramName => $paramValue) {
84+
if ('*' == $paramValue) {
85+
$paramValue = $context->getRequestParam($paramName);
86+
}
87+
$additionalParams[$paramName] = $paramValue;
88+
}
89+
}
90+
return $additionalParams;
91+
}
6992
}

0 commit comments

Comments
 (0)