Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Unified Diff: packages/charted/lib/charts/layout_renderers/pie_chart_renderer.dart

Issue 2213693002: Updated charted DEP to 0.4.X (Closed) Base URL: https://github.com/dart-lang/observatory_pub_packages.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: packages/charted/lib/charts/layout_renderers/pie_chart_renderer.dart
diff --git a/packages/charted/lib/charts/layout_renderers/pie_chart_renderer.dart b/packages/charted/lib/charts/layout_renderers/pie_chart_renderer.dart
index 44094693eae6b172d8904dccee1c390bae53287a..e32470d84097be779d2b2ba7fd67b918a1755848 100644
--- a/packages/charted/lib/charts/layout_renderers/pie_chart_renderer.dart
+++ b/packages/charted/lib/charts/layout_renderers/pie_chart_renderer.dart
@@ -98,43 +98,56 @@ class PieChartRenderer extends LayoutRendererBase {
indices = indices.reversed.toList();
}
- var accessor = (d, i) {
+ num accessor(d, int i) {
var row = d == SMALL_INT_MAX ? otherRow : area.data.rows.elementAt(d);
return row == null || row.elementAt(measure) == null
? 0
- : row.elementAt(measure);
- };
- var data = (new PieLayout()..accessor = accessor).layout(indices),
- arc = new SvgArc(
- innerRadiusCallback: (d, i, e) => innerRadiusRatio * radius,
- outerRadiusCallback: (d, i, e) => radius),
- pie = root.selectAll('.pie-path').data(data);
-
- pie.enter.append('path').classed('pie-path');
- pie
- ..each((d, i, e) {
- var styles = stylesForData(d.data, i);
- e.classes.removeAll(ChartState.VALUE_CLASS_NAMES);
- if (!isNullOrEmpty(styles)) {
- e.classes.addAll(styles);
- }
- e.attributes
- ..['fill'] = colorForData(d.data, i)
- ..['d'] = arc.path(d, i, host)
- ..['stroke-width'] = '1px'
- ..['stroke'] = '#ffffff';
-
- e.append(
- Namespace.createChildElement('text', e)..classes.add('pie-label'));
- })
+ : row.elementAt(measure) as num;
+ }
+ var data = (new PieLayout()..accessor = accessor).layout(indices);
+ var arc = new SvgArc(
+ innerRadiusCallback: (d, i, e) => innerRadiusRatio * radius,
+ outerRadiusCallback: (d, i, e) => radius);
+ var pie = root.selectAll('.pie-path').data(data);
+
+ pie.enter.appendWithCallback((d, i, e) {
+ var pieSector = Namespace.createChildElement('path', e)
+ ..classes.add('pie-path');
+ var styles = stylesForData(d.data, i);
+ if (!isNullOrEmpty(styles)) {
+ pieSector.classes.addAll(styles);
+ }
+ pieSector.attributes
+ ..['fill'] = colorForData(d.data, i)
+ ..['d'] = arc.path(d, i, host)
+ ..['stroke-width'] = '1px'
+ ..['stroke'] = '#ffffff';
+
+ pieSector.append(Namespace.createChildElement('text', pieSector)
+ ..classes.add('pie-label'));
+ return pieSector;
+ })
..on('click', (d, i, e) => _event(mouseClickController, d, i, e))
..on('mouseover', (d, i, e) => _event(mouseOverController, d, i, e))
..on('mouseout', (d, i, e) => _event(mouseOutController, d, i, e));
+ pie.each((d, i, e) {
+ var styles = stylesForData(d.data, i);
+ e.classes.removeAll(ChartState.VALUE_CLASS_NAMES);
+ if (!isNullOrEmpty(styles)) {
+ e.classes.addAll(styles);
+ }
+ e.attributes
+ ..['fill'] = colorForData(d.data, i)
+ ..['d'] = arc.path(d, i, host)
+ ..['stroke-width'] = '1px'
+ ..['stroke'] = '#ffffff';
+ });
+
pie.exit.remove();
_legend.clear();
- var items = new List.generate(data.length, (i) {
+ var items = new List<ChartLegendItem>.generate(data.length, (i) {
SvgArcData d = data.elementAt(i);
Iterable row =
d.data == SMALL_INT_MAX ? otherRow : area.data.rows.elementAt(d.data);

Powered by Google App Engine
This is Rietveld 408576698