Skip to content

Commit 3e70ae9

Browse files
committed
PR review fixes
1 parent fdaa6e9 commit 3e70ae9

13 files changed

+27
-29
lines changed

src/Document/Metadata/Metadata.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ private function loadAttributes(\ReflectionProperty|\ReflectionMethod $attribute
7272
}
7373

7474
if ($attribute instanceof FacetAttribute) {
75-
$this->facetableAttributes[$name] = new Facet($name, $this->getFacetType($attributesAware));
75+
$this->facetableAttributes[$name] = new Facet($name, self::getFacetType($attributesAware));
7676
}
7777

7878
if ($attribute instanceof SearchableAttribute) {
@@ -168,7 +168,7 @@ private static function resolveName(\ReflectionProperty|\ReflectionMethod $refle
168168
return null;
169169
}
170170

171-
private function getFacetType(\ReflectionProperty|\ReflectionMethod $attributesAware): string
171+
private static function getFacetType(\ReflectionProperty|\ReflectionMethod $attributesAware): string
172172
{
173173
if ($attributesAware instanceof \ReflectionProperty) {
174174
return str_replace('?', '', (string) $attributesAware->getType());

src/Document/Metadata/MetadataInterface.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public function getFilterableAttributes(): array;
2323
/**
2424
* Returns the names of the filterable attributes
2525
*
26-
* @return array<string>
26+
* @return list<string>
2727
*/
2828
public function getFilterableAttributeNames(): array;
2929

src/Engine/SearchEngine.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public function execute(?string $query, array $parameters = []): SearchResult
5151
/** @var list<SearchQuery> $queries */
5252
$queries = array_merge(
5353
[$mainQuery],
54-
$this->subQueriesBuilder->build($indexName, $query ?? '', $facets, $facetsNames, $facetsFilter),
54+
$this->subQueriesBuilder->build($indexName, $query ?? '', $facets, $facetsFilter),
5555
);
5656

5757
/** @var array<SearchResult> $results */

src/Form/Builder/CheckboxFacetFormBuilder.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
final class CheckboxFacetFormBuilder implements FacetFormBuilderInterface
1313
{
14-
public function build(FormBuilderInterface $builder, array $values, Facet $facet, array $stats = null): void
14+
public function build(FormBuilderInterface $builder, Facet $facet, array $values, array $stats = null): void
1515
{
1616
$builder->add($facet->name, CheckboxType::class, [
1717
'label' => sprintf('setono_sylius_meilisearch.form.search.facet.%s', u($facet->name)->snake()),
@@ -23,7 +23,7 @@ public function build(FormBuilderInterface $builder, array $values, Facet $facet
2323
]);
2424
}
2525

26-
public function supports(array $values, Facet $facet, array $stats = null): bool
26+
public function supports(Facet $facet, array $values, array $stats = null): bool
2727
{
2828
return $facet->type === 'bool' && match (count($values)) {
2929
1 => isset($values['true']),

src/Form/Builder/ChoiceFacetFormBuilder.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
final class ChoiceFacetFormBuilder implements FacetFormBuilderInterface
1313
{
14-
public function build(FormBuilderInterface $builder, array $values, Facet $facet, array $stats = null): void
14+
public function build(FormBuilderInterface $builder, Facet $facet, array $values, array $stats = null): void
1515
{
1616
$keys = array_keys($values);
1717
$choices = array_combine($keys, $keys);
@@ -27,7 +27,7 @@ public function build(FormBuilderInterface $builder, array $values, Facet $facet
2727
]);
2828
}
2929

30-
public function supports(array $values, Facet $facet, array $stats = null): bool
30+
public function supports(Facet $facet, array $values, array $stats = null): bool
3131
{
3232
if ($facet->type !== 'array') {
3333
return false;

src/Form/Builder/CompositeFacetFormBuilder.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
*/
1414
final class CompositeFacetFormBuilder extends CompositeService implements FacetFormBuilderInterface
1515
{
16-
public function build(FormBuilderInterface $builder, array $values, Facet $facet, array $stats = null): void
16+
public function build(FormBuilderInterface $builder, Facet $facet, array $values, array $stats = null): void
1717
{
1818
foreach ($this->services as $service) {
19-
if ($service->supports($values, $facet, $stats)) {
20-
$service->build($builder, $values, $facet, $stats);
19+
if ($service->supports($facet, $values, $stats)) {
20+
$service->build($builder, $facet, $values, $stats);
2121

2222
return;
2323
}
@@ -26,10 +26,10 @@ public function build(FormBuilderInterface $builder, array $values, Facet $facet
2626
throw new \RuntimeException(sprintf('No facet form builder supports the facet with name "%s"', $facet->name));
2727
}
2828

29-
public function supports(array $values, Facet $facet, array $stats = null): bool
29+
public function supports(Facet $facet, array $values, array $stats = null): bool
3030
{
3131
foreach ($this->services as $service) {
32-
if ($service->supports($values, $facet, $stats)) {
32+
if ($service->supports($facet, $values, $stats)) {
3333
return true;
3434
}
3535
}

src/Form/Builder/FacetFormBuilderInterface.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ interface FacetFormBuilderInterface
1313
* @param array<string, int> $values The values of the facet. This could be ['red' => 10, 'blue' => 5] where the key is the facet value and the value is the number of matching documents
1414
* @param array{min: int|float, max: int|float}|null $stats The stats of the facet. This could be ['min' => 10, 'max' => 100] where min is the minimum value and max is the maximum value
1515
*/
16-
public function build(FormBuilderInterface $builder, array $values, Facet $facet, array $stats = null): void;
16+
public function build(FormBuilderInterface $builder, Facet $facet, array $values, array $stats = null): void;
1717

1818
/**
1919
* @param array<string, int> $values
2020
* @param array{min: int|float, max: int|float}|null $stats
2121
*/
22-
public function supports(array $values, Facet $facet, array $stats = null): bool;
22+
public function supports(Facet $facet, array $values, array $stats = null): bool;
2323
}

src/Form/Builder/RangeFacetFormBuilder.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
final class RangeFacetFormBuilder implements FacetFormBuilderInterface
1313
{
14-
public function build(FormBuilderInterface $builder, array $values, Facet $facet, array $stats = null): void
14+
public function build(FormBuilderInterface $builder, Facet $facet, array $values, array $stats = null): void
1515
{
1616
if ($stats === null || !isset($stats['min']) && !isset($stats['max'])) {
1717
return;
@@ -24,7 +24,7 @@ public function build(FormBuilderInterface $builder, array $values, Facet $facet
2424
]);
2525
}
2626

27-
public function supports(array $values, Facet $facet, array $stats = null): bool
27+
public function supports(Facet $facet, array $values, array $stats = null): bool
2828
{
2929
return $facet->type === 'float';
3030
}

src/Form/Builder/SearchFormBuilder.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ public function build(SearchResult $searchResult): FormInterface
7878
* @var array<string, int> $values
7979
*/
8080
foreach ($searchResult->getFacetDistribution() as $name => $values) {
81-
if ($this->facetFormBuilder->supports($values, $facets[$name], $facetStats[$name] ?? null)) {
82-
$this->facetFormBuilder->build($facetsFormBuilder, $values, $facets[$name], $facetStats[$name] ?? null);
81+
if ($this->facetFormBuilder->supports($facets[$name], $values, $facetStats[$name] ?? null)) {
82+
$this->facetFormBuilder->build($facetsFormBuilder, $facets[$name], $values, $facetStats[$name] ?? null);
8383
}
8484
}
8585

src/Meilisearch/Filter/CompositeFilterBuilder.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ public function build(array $facets, array $facetsValues): array
1414
$filters = [];
1515

1616
foreach ($this->services as $filterBuilder) {
17-
$filters = array_merge($filters, $filterBuilder->build($facets, $facetsValues));
17+
$filters[] = $filterBuilder->build($facets, $facetsValues);
1818
}
1919

20-
return $filters;
20+
return array_merge(...$filters);
2121
}
2222
}

src/Meilisearch/Query/SubQueriesBuilder.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@ final class SubQueriesBuilder implements SubQueriesBuilderInterface
1010
{
1111
public function __construct(
1212
private readonly FilterBuilderInterface $filterBuilder,
13-
private readonly SearchQueryBuilder $searchQueryBuilder,
13+
private readonly SearchQueryBuilderInterface $searchQueryBuilder,
1414
) {
1515
}
1616

17-
public function build(string $indexName, string $query, array $facets, array $facetsNames, array $filters): array
17+
public function build(string $indexName, string $query, array $facets, array $filters): array
1818
{
1919
$searchQueries = [];
2020

21-
foreach ($facetsNames as $facet) {
22-
$facetsNames = [$facet];
21+
foreach ($facets as $facet) {
22+
$facetsNames = [$facet->name];
2323
/** @var array<string, mixed> $filteredFacets */
24-
$filteredFacets = array_filter($filters, static fn ($value) => $value !== $facet, \ARRAY_FILTER_USE_KEY);
24+
$filteredFacets = array_filter($filters, static fn ($value) => $value !== $facet->name, \ARRAY_FILTER_USE_KEY);
2525
/** @var array<string, mixed> $filter */
2626
$filter = $this->filterBuilder->build($facets, $filteredFacets);
2727

src/Meilisearch/Query/SubQueriesBuilderInterface.php

-2
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,13 @@ interface SubQueriesBuilderInterface
1111
{
1212
/**
1313
* @param array<string, Facet> $facets
14-
* @param array<string> $facetsNames
1514
*
1615
* @return array<SearchQuery>
1716
*/
1817
public function build(
1918
string $indexName,
2019
string $query,
2120
array $facets,
22-
array $facetsNames,
2321
array $filters,
2422
): array;
2523
}

src/Resources/views/search_theme.html.twig

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
{% endblock %}
99

1010
{% block setono_sylius_meilisearch_facet_range_row %}
11-
<div class="facet facet-checkbox">
11+
<div class="facet facet-range">
1212
{{ form_label(form) }}
1313
<div class="ui small labeled input" style="margin-bottom: 1rem;">
1414
<div class="ui label">{{ form_label(form.min) }}</div>

0 commit comments

Comments
 (0)