1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-04 20:52:43 +01:00
phorge-phorge/src/applications/fact/chart
epriestley f190c42bcd Store charts earlier and build them out a little later
Summary:
Ref T13279. Currently, we store a fairly low-level description of functions and datasets in a chart. This will create problems with (for example) translating function labels.

If you view a chart someone links you, it should say "El Charto" if you speak Spanish, not "The Chart" if the original viewer speaks English.

To support this, store a slightly higher level version of the chart: the chart engine key, plus configuration parameters. This is very similar to how SearchEngine works.

For example, the burndown chart now stores a list of project PHIDs, instead of a list of `[accumulate [sum [fact task.open <project-phid>]]]` functions.

(This leaves some serialization code with no callsites, but we may eventually have a "CustomChartEngine" which stores raw functions, so I'm leaving it for now.)

As a result, function labels provided by the chart engine are now translatable.

(Note that the actual chart is meaningless since the underlying facts can't be stacked like they're being stacked, as some are negative in some areas of their accumulation.)

Test Plan: {F6439121}

Reviewers: amckinley

Reviewed By: amckinley

Subscribers: yelirekim

Maniphest Tasks: T13279

Differential Revision: https://secure.phabricator.com/D20504
2019-05-22 05:39:32 -07:00
..
PhabricatorAccumulateChartFunction.php Roughly support stacked area charts 2019-05-22 05:19:41 -07:00
PhabricatorChartAxis.php Select the domain (X-axis range) for charts before pulling data 2019-04-18 13:11:17 -07:00
PhabricatorChartDataQuery.php Separate the "configuration" and "evaluation" phases of chart functions 2019-05-19 16:54:53 -07:00
PhabricatorChartDataset.php Automatically select the range for charts in a general way 2019-05-22 05:36:58 -07:00
PhabricatorChartDisplayData.php Automatically select the range for charts in a general way 2019-05-22 05:36:58 -07:00
PhabricatorChartFunction.php Provide chart function labels over the wire instead of making them up 2019-05-22 05:22:59 -07:00
PhabricatorChartFunctionArgument.php Replace the chart in Maniphest Reports with a chart driven by Facts 2019-05-22 04:44:10 -07:00
PhabricatorChartFunctionArgumentParser.php Render charts from storage instead of just one ad-hoc hard-coded chart 2019-05-22 04:31:48 -07:00
PhabricatorChartFunctionLabel.php Provide chart function labels over the wire instead of making them up 2019-05-22 05:22:59 -07:00
PhabricatorChartInterval.php Wrap "<min, max>" chart domain pairs in an "Interval" class 2019-05-22 05:28:49 -07:00
PhabricatorChartStackedAreaDataset.php Store charts earlier and build them out a little later 2019-05-22 05:39:32 -07:00
PhabricatorComposeChartFunction.php Separate the "configuration" and "evaluation" phases of chart functions 2019-05-19 16:54:53 -07:00
PhabricatorConstantChartFunction.php Separate the "configuration" and "evaluation" phases of chart functions 2019-05-19 16:54:53 -07:00
PhabricatorCosChartFunction.php Separate the "configuration" and "evaluation" phases of chart functions 2019-05-19 16:54:53 -07:00
PhabricatorFactChartFunction.php Wrap "<min, max>" chart domain pairs in an "Interval" class 2019-05-22 05:28:49 -07:00
PhabricatorHigherOrderChartFunction.php Wrap "<min, max>" chart domain pairs in an "Interval" class 2019-05-22 05:28:49 -07:00
PhabricatorScaleChartFunction.php Separate the "configuration" and "evaluation" phases of chart functions 2019-05-19 16:54:53 -07:00
PhabricatorShiftChartFunction.php Separate the "configuration" and "evaluation" phases of chart functions 2019-05-19 16:54:53 -07:00
PhabricatorSinChartFunction.php Separate the "configuration" and "evaluation" phases of chart functions 2019-05-19 16:54:53 -07:00
PhabricatorSumChartFunction.php Separate the "configuration" and "evaluation" phases of chart functions 2019-05-19 16:54:53 -07:00