Skip to content

Commit 5dc0470

Browse files
committed
Ignore fields from preloadFilters value
1 parent 30469c6 commit 5dc0470

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

src/Resources/views/macros.html.twig

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -558,7 +558,7 @@
558558
</div>
559559
{% endmacro %}
560560

561-
{% macro filterDropdown(sectionFilter, publicFilters, privateFilters = [], preloadFilters = null, defaultUrl = null, editUrl = null, deleteUrl = null) %}
561+
{% macro filterDropdown(sectionFilter, publicFilters, privateFilters = [], preloadFilters = null, defaultUrl = null, editUrl = null, deleteUrl = null, ignoreFields = []) %}
562562
{% import _self as UI %}
563563

564564
{% set defaultFilterId = null %}
@@ -594,7 +594,9 @@
594594
{% endif %}
595595

596596
{% if preloadFilters %}
597-
{% set preloadFilters = filter_preload_json(preloadFilters) %}
597+
{% set preloadFilters = filter_preload_json(preloadFilters, ignoreFields) %}
598+
{% endif %}
599+
{% if preloadFilters and preloadFilters != '[]' %}
598600
{% set defaultFilter = null %}
599601
{% set defaultIsLocked = true %}
600602

src/Twig/Extension/FilterExtension.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,24 @@ public function getFilters()
3030

3131
/**
3232
* @param string|array $json
33+
* @param array $ignoreFields
3334
*
3435
* @return string
3536
*/
36-
public function preloadJson($json): string
37+
public function preloadJson($json, array $ignoreFields = []): string
3738
{
3839
if (is_array($json)) {
39-
return $this->jsonEncode($json);
40+
$json = json_encode($json);
4041
}
4142

4243
try {
4344
$array = json_decode($json, true);
45+
46+
foreach ($ignoreFields as $field) {
47+
if (isset($array[$field])) {
48+
unset($array[$field]);
49+
}
50+
}
4451
} catch (\Exception $e) {
4552
$array = [];
4653
}

0 commit comments

Comments
 (0)