Skip to content

Commit cb17ceb

Browse files
Data provider extended to provide right data into the entity form, test case adjustments
1 parent bf1d5d7 commit cb17ceb

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ class ${CLASS_NAME} extends ${EXTENDS}
2929
*/
3030
private $searchResultFactory;
3131

32+
/**
33+
* @var array
34+
*/
35+
private $loadedData = [];
36+
3237
/**
3338
* @param string $name
3439
* @param string $primaryFieldName
@@ -85,6 +90,26 @@ class ${CLASS_NAME} extends ${EXTENDS}
8590
'#if(${ENTITY_ID})${ENTITY_ID}#{else}entity_id#end'
8691
);
8792
}
93+
94+
/**
95+
* Get data.
96+
*
97+
* @return array
98+
*/
99+
public function getData(): array
100+
{
101+
if ($this->loadedData) {
102+
return $this->loadedData;
103+
}
104+
$this->loadedData = parent::getData();
105+
106+
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;
109+
}
110+
111+
return $this->loadedData;
112+
}
88113
#else
89114
/**
90115
* @inheritDoc

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ class GridDataProvider extends DataProvider
2525
*/
2626
private $searchResultFactory;
2727

28+
/**
29+
* @var array
30+
*/
31+
private $loadedData = [];
32+
2833
/**
2934
* @param string $name
3035
* @param string $primaryFieldName
@@ -82,4 +87,23 @@ public function getSearchResult()
8287
'entity_id'
8388
);
8489
}
90+
91+
/**
92+
* Get data.
93+
*
94+
* @return array
95+
*/
96+
public function getData(): array
97+
{
98+
if ($this->loadedData) {
99+
return $this->loadedData;
100+
}
101+
$this->loadedData = parent::getData();
102+
103+
foreach ($this->loadedData['items'] as $item) {
104+
$this->loadedData['items'][$item['entity_id']] = $item;
105+
}
106+
107+
return $this->loadedData;
108+
}
85109
}

0 commit comments

Comments
 (0)