Skip to content

Commit

Permalink
Some slight refactoring for name consistency
Browse files Browse the repository at this point in the history
  • Loading branch information
Vinai committed Dec 9, 2020
1 parent e845f7f commit afeed2e
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 11 deletions.
19 changes: 19 additions & 0 deletions Api/HyvaGridFilterTypeInterface.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?php declare(strict_types=1);

namespace Hyva\Admin\Api;

use Hyva\Admin\ViewModel\HyvaGrid\ColumnDefinitionInterface;
use Hyva\Admin\ViewModel\HyvaGrid\GridFilterInterface;
use Magento\Framework\Api\SearchCriteriaBuilder;
use Magento\Framework\View\Element\Template;

interface HyvaGridFilterTypeInterface
{
public function getRenderer(ColumnDefinitionInterface $columnDefinition): Template;

public function apply(
SearchCriteriaBuilder $searchCriteriaBuilder,
GridFilterInterface $gridFilter,
$filterValue
): void;
}
5 changes: 2 additions & 3 deletions Model/GridFilter/ColumnDefinitionMatchingFilterInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@

namespace Hyva\Admin\Model\GridFilter;

use Hyva\Admin\Api\GridFilterTypeInterface;
use Hyva\Admin\ViewModel\HyvaGrid\ColumnDefinitionInterface;
use Hyva\Admin\Api\HyvaGridFilterTypeInterface;
use Hyva\Admin\ViewModel\HyvaGrid\GridFilterInterface;

interface ColumnDefinitionMatchingFilterInterface extends GridFilterTypeInterface
interface ColumnDefinitionMatchingFilterInterface extends HyvaGridFilterTypeInterface
{
public function isMatchingFilter(GridFilterInterface $filter): bool;
}
8 changes: 4 additions & 4 deletions Model/GridFilter/GridFilterTypeLocator.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Hyva\Admin\Model\GridFilter;

use Hyva\Admin\Api\GridFilterTypeInterface;
use Hyva\Admin\Api\HyvaGridFilterTypeInterface;
use Hyva\Admin\ViewModel\HyvaGrid\ColumnDefinitionInterface;
use Hyva\Admin\ViewModel\HyvaGrid\GridFilterInterface;
use Magento\Framework\ObjectManagerInterface;
Expand All @@ -22,7 +22,7 @@ public function __construct(ObjectManagerInterface $objectManager, array $column
public function findFilterForColumn(
GridFilterInterface $gridFilter,
ColumnDefinitionInterface $columnDefinition
): GridFilterTypeInterface {
): HyvaGridFilterTypeInterface {
foreach ($this->columnTypeMatchingFilterTypeMap as $type) {
$filterType = $this->get($type);
if ($this->canMatchColumn($filterType) && $filterType->isMatchingFilter($gridFilter, $columnDefinition)) {
Expand All @@ -34,12 +34,12 @@ public function findFilterForColumn(
throw new \OutOfBoundsException($msg);
}

private function canMatchColumn(GridFilterTypeInterface $filterType): bool
private function canMatchColumn(HyvaGridFilterTypeInterface $filterType): bool
{
return $filterType instanceof ColumnDefinitionMatchingFilterInterface;
}

public function get(string $filterType): GridFilterTypeInterface
public function get(string $filterType): HyvaGridFilterTypeInterface
{
return $this->objectManager->get($filterType);
}
Expand Down
4 changes: 2 additions & 2 deletions Test/Functional/ViewModel/HyvaGrid/StubTestFilterType.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

namespace Hyva\Admin\Test\Functional\ViewModel\HyvaGrid;

use Hyva\Admin\Api\GridFilterTypeInterface;
use Hyva\Admin\Api\HyvaGridFilterTypeInterface;
use Hyva\Admin\ViewModel\HyvaGrid\ColumnDefinitionInterface;
use Hyva\Admin\ViewModel\HyvaGrid\GridFilterInterface;
use Magento\Framework\Api\SearchCriteriaBuilder;
use Magento\Framework\View\Element\Template;

class StubTestFilterType implements GridFilterTypeInterface
class StubTestFilterType implements HyvaGridFilterTypeInterface
{
const STUB_OUTPUT = 'This is the output of the dummy filter type';

Expand Down
4 changes: 2 additions & 2 deletions ViewModel/HyvaGrid/GridFilter.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Hyva\Admin\ViewModel\HyvaGrid;

use Hyva\Admin\Api\GridFilterTypeInterface;
use Hyva\Admin\Api\HyvaGridFilterTypeInterface;
use Hyva\Admin\Model\GridFilter\GridFilterTypeLocator;
use Magento\Framework\Api\SearchCriteriaBuilder;
use Magento\Framework\App\RequestInterface;
Expand Down Expand Up @@ -73,7 +73,7 @@ private function renderFilter(): string
return $renderer->toHtml();
}

private function getFilterType(): GridFilterTypeInterface
private function getFilterType(): HyvaGridFilterTypeInterface
{
return $this->filterType
? $this->gridFilterTypeLocator->get($this->filterType)
Expand Down
2 changes: 2 additions & 0 deletions todo.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ Later, when the module stabilizes, this file can be deleted and todo's can be ma

## Next steps:

* test mass action and row action id parameter passing
* test grid without default sort column doesn't have surprising behavior
* add ui element to remove all filter values
* test boolean data type when rendering grid
* collection source type
Expand Down

0 comments on commit afeed2e

Please sign in to comment.