Skip to content

Commit 78effe4

Browse files
committed
WIP
1 parent d824251 commit 78effe4

4 files changed

Lines changed: 16 additions & 7 deletions

File tree

Component/Grid/GridViewModel.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace Loki\AdminComponents\Component\Grid;
44

5+
use Hyva\Admin\ViewModel\HyvaGrid\GridFilterInterface;
56
use Loki\AdminComponents\Grid\Column\Column;
67
use Loki\AdminComponents\Grid\Filter\Filter;
78
use Loki\AdminComponents\Grid\Filter\FilterFactory;
@@ -354,6 +355,11 @@ public function getGridFilters(): array
354355
}
355356

356357
foreach ($gridFilterDefinitions as $gridFilterDefinitionCode => $gridFilterDefinition) {
358+
if ($gridFilterDefinition instanceof FilterInterface) {
359+
$gridFilterDefinitions[$gridFilterDefinition->getCode()] = $gridFilterDefinition;
360+
continue;
361+
}
362+
357363
if (!isset($gridFilterDefinition['code'])) {
358364
$gridFilterDefinition['code'] = $gridFilterDefinitionCode;
359365
}

ProviderHandler/CollectionHandler.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,14 +74,16 @@ public function getItems(object $provider, GridState $gridState): array
7474
}
7575
}
7676

77-
foreach ($gridState->getFilters() as $filterData) {
78-
if ($filterData['condition_type'] === 'eq') {
79-
$provider->addFieldToFilter($filterData['field'], $filterData['value']);
77+
foreach ($gridState->getFilters() as $gridFilter) {
78+
// @todo: Make this extensible
79+
80+
if ($gridFilter->getConditionType() === 'eq') {
81+
$provider->addFieldToFilter($gridFilter->getField(), $gridFilter->getValue());
8082
continue;
8183
}
8284

83-
$provider->addFieldToFilter($filterData['field'], [
84-
$filterData['condition_type'] => $filterData['value'],
85+
$provider->addFieldToFilter($gridFilter->getField(), [
86+
$gridFilter->getConditionType() => $gridFilter->getValue(),
8587
]);
8688
}
8789

ProviderHandler/RepositoryHandler.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,8 @@ private function createFilterFromFilterState(GridState\FilterState $filterState)
183183

184184
$value = $filterState->getValue();
185185

186+
// @todo: Make this extensible
187+
186188
if ($conditionType === 'like') {
187189
return $this->filterBuilder
188190
->setValue('%'.$value.'%')

view/adminhtml/templates/script/component-type/grid-component-type.phtml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
<?php
22
declare(strict_types=1);
33

4-
/** @version 0.3.3 */
5-
64
use Magento\Framework\View\Element\Template;
75

6+
/** @version 0.3.3 */
87
/** @var Template $block */
98
?>
109
<script>

0 commit comments

Comments
 (0)