Skip to content
Snippets Groups Projects
Commit ffa25d55 authored by jaapjansma's avatar jaapjansma
Browse files

Fixed sorting again

parent 30fa854c
No related branches found
No related tags found
No related merge requests found
......@@ -8,6 +8,7 @@ namespace Civi\DataProcessor\DataFlow\Sort;
use Civi\DataProcessor\DataSpecification\FieldSpecification;
use Civi\DataProcessor\DataFlow\AbstractDataFlow;
use Civi\DataProcessor\FieldOutputHandler\OutputHandlerSortable;
class SortSpecification {
......@@ -57,8 +58,8 @@ class SortSpecification {
public function setField($fieldName) {
if ($fieldName && $this->dataFlow) {
foreach($this->dataFlow->getOutputFieldHandlers() as $outputFieldHandler) {
if ($outputFieldHandler->getOutputFieldSpecification()->name == $fieldName) {
$this->field = $outputFieldHandler->getOutputFieldSpecification();
if ($outputFieldHandler->getOutputFieldSpecification()->alias == $fieldName && $outputFieldHandler instanceof OutputHandlerSortable) {
$this->field = $outputFieldHandler->getSortableInputFieldSpec();
}
}
}
......
......@@ -11,7 +11,7 @@ use Civi\DataProcessor\Source\SourceInterface;
use Civi\DataProcessor\DataSpecification\FieldSpecification;
use Civi\DataProcessor\FieldOutputHandler\FieldOutput;
class OptionFieldOutputHandler extends AbstractFieldOutputHandler {
class OptionFieldOutputHandler extends AbstractFieldOutputHandler implements OutputHandlerSortable {
/**
* @var \Civi\DataProcessor\DataSpecification\FieldSpecification
......@@ -30,6 +30,13 @@ class OptionFieldOutputHandler extends AbstractFieldOutputHandler {
$this->outputFieldSpecification->alias = $this->getName();
}
/**
* @return \Civi\DataProcessor\DataSpecification\FieldSpecification
*/
public function getSortableInputFieldSpec() {
return $this->inputFieldSpec;
}
/**
* Returns the name of the handler type.
*
......
<?php
/**
* @author Jaap Jansma <jaap.jansma@civicoop.org>
* @license AGPL-3.0
*/
namespace Civi\DataProcessor\FieldOutputHandler;
interface OutputHandlerSortable {
/**
* @return \Civi\DataProcessor\DataSpecification\FieldSpecification
*/
public function getSortableInputFieldSpec();
}
\ No newline at end of file
......@@ -10,7 +10,7 @@ use CRM_Dataprocessor_ExtensionUtil as E;
use Civi\DataProcessor\Source\SourceInterface;
use Civi\DataProcessor\DataSpecification\FieldSpecification;
class RawFieldOutputHandler extends AbstractFieldOutputHandler {
class RawFieldOutputHandler extends AbstractFieldOutputHandler implements OutputHandlerSortable{
/**
* @var \Civi\DataProcessor\DataSpecification\FieldSpecification
......@@ -29,6 +29,13 @@ class RawFieldOutputHandler extends AbstractFieldOutputHandler {
$this->outputFieldSpecification->alias = $this->getName();
}
/**
* @return \Civi\DataProcessor\DataSpecification\FieldSpecification
*/
public function getSortableInputFieldSpec() {
return $this->inputFieldSpec;
}
/**
* Returns the name of the handler type.
*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment