fix handling of DirectExportInterface

This commit is contained in:
Julien Fastré 2023-06-25 15:47:30 +02:00
parent 9978b6a6e4
commit 0e9597bf77
Signed by: julienfastre
GPG Key ID: BDE2190974723FCB
2 changed files with 21 additions and 13 deletions

View File

@ -72,6 +72,7 @@ final readonly class ExportFormHelper
];
}
if ($export instanceof ExportInterface) {
$allowedFormatters = $this->exportManager
->getFormattersByTypes($export->getAllowedFormattersTypes());
$choices = [];
@ -83,6 +84,9 @@ final readonly class ExportFormHelper
1 => $choices[0],
default => null,
};
} else {
unset($data[ExportType::PICK_FORMATTER_KEY]);
}
return $data;
}

View File

@ -113,8 +113,12 @@ class ExportManager
*
* @return FilterInterface[] a \Generator that contains filters. The key is the filter's alias
*/
public function &getFiltersApplyingOn(ExportInterface $export, ?array $centers = null)
public function &getFiltersApplyingOn(ExportInterface|DirectExportInterface $export, ?array $centers = null): iterable
{
if ($export instanceof DirectExportInterface) {
return;
}
foreach ($this->filters as $alias => $filter) {
if (
in_array($filter->applyOn(), $export->supportsModifiers(), true)
@ -132,9 +136,9 @@ class ExportManager
*
* @return null|iterable<string, AggregatorInterface> a \Generator that contains aggretagors. The key is the filter's alias
*/
public function &getAggregatorsApplyingOn(ExportInterface $export, ?array $centers = null): ?iterable
public function &getAggregatorsApplyingOn(ExportInterface|DirectExportInterface $export, ?array $centers = null): ?iterable
{
if ($export instanceof ListInterface) {
if ($export instanceof ListInterface || $export instanceof DirectExportInterface) {
return;
}