Skip to content

Commit f3e798a

Browse files
committed
don't use search filter instance since it's not properly supported yet
1 parent 288692b commit f3e798a

File tree

3 files changed

+31
-6
lines changed

3 files changed

+31
-6
lines changed

_config/softdelete.yml

+9-3
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,18 @@ SilverStripe\Admin\SecurityAdmin:
1313
- SoftDeleteSecurityAdmin
1414
---
1515
Name: softdelete-searchfilters
16-
After: '#coresearchfilters'
16+
After: "#coresearchfilters"
1717
---
1818
SilverStripe\Core\Injector\Injector:
1919
DataListFilter.SoftDelete:
2020
class: SoftDeleteSearchFilter
2121
DataListFilter.SoftDeleteSearch:
2222
class: SoftDeleteSearchFilter
23-
SoftDeleteSearchFilter: '%$DataListFilter.SoftDelete'
24-
SoftDeleteSearch: '%$DataListFilter.SoftDelete'
23+
DataListFilter.SoftDeleteOnly:
24+
class: SoftDeleteOnlySearchFilter
25+
DataListFilter.SoftDeleteOnlySearch:
26+
class: SoftDeleteOnlySearchFilter
27+
SoftDeleteSearchFilter: "%$DataListFilter.SoftDelete"
28+
SoftDeleteSearch: "%$DataListFilter.SoftDelete"
29+
SoftDeleteOnlySearchFilter: "%$DataListFilter.SoftDeleteOnly"
30+
SoftDeleteOnlySearch: "%$DataListFilter.SoftDeleteOnly"

code/SoftDeletable.php

+2-3
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,12 @@ public function updateSearchableFields(array &$fields)
7676
...
7777
*/
7878
$fields['IncludeDeleted'] = [
79-
'filter' => 'SoftDeleteSearchFilter',
79+
'filter' => SoftDeleteSearchFilter::class,
8080
'field' => CheckboxField::class,
8181
'title' => 'Include deleted',
8282
];
83-
// Can can declare search filters instance directly with our modifier
8483
$fields['OnlyDeleted'] = [
85-
'filter' => new SoftDeleteSearchFilter('Deleted', 1, ['only']),
84+
'filter' => SoftDeleteOnlySearchFilter::class,
8685
'field' => CheckboxField::class,
8786
'title' => 'Only deleted',
8887
];

code/SoftDeleteOnlySearchFilter.php

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
3+
/**
4+
* Filters or not soft deleted record using the filter api
5+
*/
6+
class SoftDeleteOnlySearchFilter extends SoftDeleteSearchFilter
7+
{
8+
public function getSupportedModifiers()
9+
{
10+
return [];
11+
}
12+
13+
/**
14+
* @return bool
15+
*/
16+
protected function getOnlyDeleted()
17+
{
18+
return true;
19+
}
20+
}

0 commit comments

Comments
 (0)