Index: packages/charted/lib/charts/data_transformers/aggregation_transformer.dart |
diff --git a/packages/charted/lib/charts/data_transformers/aggregation_transformer.dart b/packages/charted/lib/charts/data_transformers/aggregation_transformer.dart |
index 7cd80285fa91d9180106606aecaf286c834fba78..0c5af4fb259985328b852de8625a5e4051d0d8a9 100644 |
--- a/packages/charted/lib/charts/data_transformers/aggregation_transformer.dart |
+++ b/packages/charted/lib/charts/data_transformers/aggregation_transformer.dart |
@@ -26,8 +26,8 @@ class AggregationTransformer extends ChangeNotifier |
static const String AGGREGATION_TYPE_VALID = 'valid'; |
final SubscriptionsDisposer _dataSubscriptions = new SubscriptionsDisposer(); |
final Set<List> _expandedSet = new Set(); |
- Iterable<ChartColumnSpec> columns; |
- ObservableList<Iterable> rows = new ObservableList(); |
+ List<ChartColumnSpec> columns; |
+ ObservableList<List> rows = new ObservableList<List>(); |
List<int> _dimensionColumnIndices; |
List<int> _factsColumnIndices; |
String _aggregationType; |
@@ -91,7 +91,7 @@ class AggregationTransformer extends ChangeNotifier |
// Process rows. |
rows.clear(); |
- var transformedRows = <Iterable>[]; |
+ var transformedRows = <List>[]; |
for (var value in _model.valuesForDimension(_dimensionColumnIndices[0])) { |
_generateAggregatedRow(transformedRows, [value]); |
} |
@@ -107,7 +107,8 @@ class AggregationTransformer extends ChangeNotifier |
/// generated for its children but not for itself. If we want to change the |
/// logic to include itself, just move the expand check around the else clause |
/// and always write a row of data whether it's expanded or not. |
- _generateAggregatedRow(List<Iterable> aggregatedRows, List dimensionValues) { |
+ _generateAggregatedRow( |
+ List<List> aggregatedRows, List<String> dimensionValues) { |
var entity = _model.facts(dimensionValues); |
var dimensionLevel = dimensionValues.length - 1; |
@@ -136,7 +137,7 @@ class AggregationTransformer extends ChangeNotifier |
} else { |
// Dimension is expanded, process each child dimension in the expanded |
// dimension. |
- for (AggregationItem childAggregation in entity['aggregations']) { |
+ for (AggregationItem childAggregation in entity.lowerAggregations()) { |
_generateAggregatedRow(aggregatedRows, childAggregation.dimensions); |
} |
} |
@@ -187,10 +188,10 @@ class AggregationTransformer extends ChangeNotifier |
} |
} |
- void _expandAll(value) { |
+ void _expandAll(List<String> value) { |
var entity = _model.facts(value); |
_expandedSet.add(value); |
- for (AggregationItem childAggregation in entity['aggregations']) { |
+ for (AggregationItem childAggregation in entity.lowerAggregations()) { |
_expandAll(childAggregation.dimensions); |
} |
} |