Skip to content

Commit 0ce2e33

Browse files
authored
Merge pull request #489 from anzin/fixed-data-provider
Fixed data provider to work with listing and form
2 parents ca7f84c + 3a91fe9 commit 0ce2e33

File tree

4 files changed

+17
-3
lines changed

4 files changed

+17
-3
lines changed

resources/fileTemplates/internal/Magento UI Component Custom Data Provider Class.php.ft

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,17 @@ class ${CLASS_NAME} extends ${EXTENDS}
102102
return $this->loadedData;
103103
}
104104
$this->loadedData = parent::getData();
105+
$itemsById = [];
105106

107+
#set($entityId = "#if(${ENTITY_ID})${ENTITY_ID}#{else}entity_id#end")
108+
#set($entityIdAccessor = '[(int) $item[' + "'$entityId'" + ']]')
109+
#set($getIdAccessor = "[(int) $id]")
106110
foreach ($this->loadedData['items'] as $item) {
107-
#set($idAccessor = '[' + "#if(${ENTITY_ID})'${ENTITY_ID}'#{else}'entity_id'#end" + ']')
108-
$this->loadedData['items'][$item$idAccessor] = $item;
111+
$itemsById$entityIdAccessor = $item;
112+
}
113+
114+
if ($id = $this->request->getParam('$entityId', null)) {
115+
$this->loadedData['entity'] = $itemsById$getIdAccessor;
109116
}
110117

111118
return $this->loadedData;

resources/fileTemplates/internal/Magento UI Component Form XML.xml.ft

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
</argument>
1010
<settings>
1111
<namespace>${NAME}</namespace>
12+
<dataScope>data.general</dataScope>
1213
<deps>
1314
<dep>${NAME}.${NAME}_data_source</dep>
1415
</deps>

testData/actions/generation/generator/UiComponentFormGenerator/generateFormXmlFile/my_form.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
</argument>
1111
<settings>
1212
<namespace>my_form</namespace>
13+
<dataScope>data.general</dataScope>
1314
<deps>
1415
<dep>my_form.my_form_data_source</dep>
1516
</deps>

testData/actions/generation/generator/UiComponentGridDataProviderGenerator/generateDataProviderWithInjectedGetListQuery/GridDataProvider.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,14 @@ public function getData(): array
9999
return $this->loadedData;
100100
}
101101
$this->loadedData = parent::getData();
102+
$itemsById = [];
102103

103104
foreach ($this->loadedData['items'] as $item) {
104-
$this->loadedData['items'][$item['entity_id']] = $item;
105+
$itemsById[(int)$item['entity_id']] = $item;
106+
}
107+
108+
if ($id = $this->request->getParam('entity_id', null)) {
109+
$this->loadedData['entity'] = $itemsById[(int)$id];
105110
}
106111

107112
return $this->loadedData;

0 commit comments

Comments
 (0)