Changeset View
Changeset View
Standalone View
Standalone View
src/applications/fact/engine/PhabricatorChartEngine.php
Show First 20 Lines • Show All 57 Lines • ▼ Show 20 Lines | abstract class PhabricatorChartEngine | ||||
final public function buildChart(PhabricatorFactChart $chart) { | final public function buildChart(PhabricatorFactChart $chart) { | ||||
$map = $chart->getChartParameter(self::KEY_PARAMETERS, array()); | $map = $chart->getChartParameter(self::KEY_PARAMETERS, array()); | ||||
return $this->newChart($chart, $map); | return $this->newChart($chart, $map); | ||||
} | } | ||||
abstract protected function newChart(PhabricatorFactChart $chart, array $map); | abstract protected function newChart(PhabricatorFactChart $chart, array $map); | ||||
final public function buildChartPanel() { | final public function newStoredChart() { | ||||
$viewer = $this->getViewer(); | $viewer = $this->getViewer(); | ||||
$parameters = $this->getEngineParameters(); | $parameters = $this->getEngineParameters(); | ||||
$chart = id(new PhabricatorFactChart()) | $chart = id(new PhabricatorFactChart()) | ||||
->setChartParameter(self::KEY_ENGINE, $this->getChartEngineKey()) | ->setChartParameter(self::KEY_ENGINE, $this->getChartEngineKey()) | ||||
->setChartParameter(self::KEY_PARAMETERS, $this->getEngineParameters()); | ->setChartParameter(self::KEY_PARAMETERS, $this->getEngineParameters()); | ||||
$rendering_engine = id(new PhabricatorChartRenderingEngine()) | $rendering_engine = id(new PhabricatorChartRenderingEngine()) | ||||
->setViewer($viewer) | ->setViewer($viewer) | ||||
->setChart($chart); | ->setChart($chart); | ||||
$chart = $rendering_engine->getStoredChart(); | return $rendering_engine->getStoredChart(); | ||||
} | |||||
final public function buildChartPanel() { | |||||
$chart = $this->newStoredChart(); | |||||
$panel_type = id(new PhabricatorDashboardChartPanelType()) | $panel_type = id(new PhabricatorDashboardChartPanelType()) | ||||
->getPanelTypeKey(); | ->getPanelTypeKey(); | ||||
$chart_panel = id(new PhabricatorDashboardPanel()) | $chart_panel = id(new PhabricatorDashboardPanel()) | ||||
->setPanelType($panel_type) | ->setPanelType($panel_type) | ||||
->setProperty('chartKey', $chart->getChartKey()); | ->setProperty('chartKey', $chart->getChartKey()); | ||||
return $chart_panel; | return $chart_panel; | ||||
} | } | ||||
final protected function newFunction($name /* , ... */) { | final protected function newFunction($name /* , ... */) { | ||||
$argv = func_get_args(); | $argv = func_get_args(); | ||||
return id(new PhabricatorComposeChartFunction()) | return id(new PhabricatorComposeChartFunction()) | ||||
->setArguments(array($argv)); | ->setArguments($argv); | ||||
} | } | ||||
} | } |