Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 29775b9

Browse files
committed
Fix assets not loaded for fields generated automatically
1 parent 5f4413d commit 29775b9

3 files changed

Lines changed: 8 additions & 2 deletions

File tree

src/Collection/EntityCollection.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ public function set(EntityDto $newOrUpdatedEntity): void
3535
$this->entities[$newOrUpdatedEntity->getPrimaryKeyValueAsString()] = $newOrUpdatedEntity;
3636
}
3737

38+
public function first(): ?EntityDto
39+
{
40+
return $this->entities[array_key_first($this->entities)] ?? null;
41+
}
42+
3843
public function offsetExists(mixed $offset): bool
3944
{
4045
return \array_key_exists($offset, $this->entities);

src/Controller/AbstractCrudController.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ public function index(AdminContext $context)
127127
}
128128

129129
$fields = FieldCollection::new($this->configureFields(Crud::PAGE_INDEX));
130-
$context->getCrud()->setFieldAssets($this->getFieldAssets($fields));
131130
$filters = $this->container->get(FilterFactory::class)->create($context->getCrud()->getFiltersConfig(), $fields, $context->getEntity());
132131
$queryBuilder = $this->createIndexQueryBuilder($context->getSearch(), $context->getEntity(), $fields, $filters);
133132
$paginator = $this->container->get(PaginatorFactory::class)->create($queryBuilder);
@@ -142,6 +141,8 @@ public function index(AdminContext $context)
142141

143142
$entities = $this->container->get(EntityFactory::class)->createCollection($context->getEntity(), $paginator->getResults());
144143
$this->container->get(EntityFactory::class)->processFieldsForAll($entities, $fields);
144+
$procesedFields = $entities->first()?->getFields() ?? FieldCollection::new([]);
145+
$context->getCrud()->setFieldAssets($this->getFieldAssets($procesedFields));
145146
$actions = $this->container->get(EntityFactory::class)->processActionsForAll($entities, $context->getCrud()->getActionsConfig());
146147

147148
$responseParameters = $this->configureResponseParameters(KeyValueStore::new([

src/Orm/EntityRepository.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ private function getSearchablePropertiesConfig(QueryBuilder $queryBuilder, Searc
262262
$associatedEntityAlias = $associatedPropertyName = '';
263263
for ($i = 0; $i < $numAssociatedProperties - 1; ++$i) {
264264
$associatedEntityName = $associatedProperties[$i];
265-
$associatedEntityAlias = Escaper::escapeDqlAlias($associatedEntityName).($i ?: '');
265+
$associatedEntityAlias = Escaper::escapeDqlAlias($associatedEntityName).((string) $i);
266266
$associatedPropertyName = $associatedProperties[$i + 1];
267267

268268
if (!\in_array($associatedEntityAlias, $entitiesAlreadyJoined, true)) {

0 commit comments

Comments
 (0)