Changeset View
Changeset View
Standalone View
Standalone View
src/applications/fact/chart/PhabricatorHigherOrderChartFunction.php
<?php | <?php | ||||
abstract class PhabricatorHigherOrderChartFunction | abstract class PhabricatorHigherOrderChartFunction | ||||
extends PhabricatorChartFunction { | extends PhabricatorChartFunction { | ||||
public function getDomain() { | public function getDomain() { | ||||
$minv = array(); | $domains = array(); | ||||
$maxv = array(); | |||||
foreach ($this->getFunctionArguments() as $function) { | foreach ($this->getFunctionArguments() as $function) { | ||||
$domain = $function->getDomain(); | $domains[] = $function->getDomain(); | ||||
if ($domain !== null) { | |||||
list($min, $max) = $domain; | |||||
if ($min !== null) { | |||||
$minv[] = $min; | |||||
} | |||||
if ($max !== null) { | |||||
$maxv[] = $max; | |||||
} | |||||
} | |||||
} | |||||
if (!$minv && !$maxv) { | |||||
return null; | |||||
} | |||||
$min = null; | |||||
$max = null; | |||||
if ($minv) { | |||||
$min = min($minv); | |||||
} | |||||
if ($maxv) { | |||||
$max = max($maxv); | |||||
} | } | ||||
return array($min, $max); | return PhabricatorChartInterval::newFromIntervalList($domains); | ||||
} | } | ||||
public function newInputValues(PhabricatorChartDataQuery $query) { | public function newInputValues(PhabricatorChartDataQuery $query) { | ||||
$map = array(); | $map = array(); | ||||
foreach ($this->getFunctionArguments() as $function) { | foreach ($this->getFunctionArguments() as $function) { | ||||
$xv = $function->newInputValues($query); | $xv = $function->newInputValues($query); | ||||
if ($xv !== null) { | if ($xv !== null) { | ||||
foreach ($xv as $x) { | foreach ($xv as $x) { | ||||
Show All 15 Lines |