OLD | NEW |
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 import 'dart:html'; | 5 import 'dart:html'; |
6 import 'dart:async'; | 6 import 'dart:async'; |
7 import 'package:charted/charted.dart'; | 7 import 'package:charted/charted.dart'; |
8 import "package:charted/charts/charts.dart"; | 8 import "package:charted/charts/charts.dart"; |
9 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart'; | 9 import 'package:observatory/src/elements/helpers/rendering_scheduler.dart'; |
10 import 'package:observatory/src/elements/helpers/tag.dart'; | 10 import 'package:observatory/src/elements/helpers/tag.dart'; |
11 | 11 |
12 class IsolateCounterChartElement extends HtmlElement implements Renderable { | 12 class IsolateCounterChartElement extends HtmlElement implements Renderable { |
13 static const tag = | 13 static const tag = |
14 const Tag<IsolateCounterChartElement>('isolate-counter-chart'); | 14 const Tag<IsolateCounterChartElement>('isolate-counter-chart'); |
15 | 15 |
16 RenderingScheduler<IsolateCounterChartElement> _r; | 16 RenderingScheduler<IsolateCounterChartElement> _r; |
17 | 17 |
18 Stream<RenderedEvent<IsolateCounterChartElement>> get onRendered => | 18 Stream<RenderedEvent<IsolateCounterChartElement>> get onRendered => |
19 _r.onRendered; | 19 _r.onRendered; |
20 | 20 |
21 Map _counters; | 21 Map _counters; |
22 StreamSubscription _subscription; | 22 StreamSubscription _subscription; |
23 | 23 |
24 factory IsolateCounterChartElement(Map counters, {RenderingQueue queue}) { | 24 factory IsolateCounterChartElement(Map counters, {RenderingQueue queue}) { |
(...skipping 20 matching lines...) Expand all Loading... |
45 _r.disable(notify: true); | 45 _r.disable(notify: true); |
46 _subscription.cancel(); | 46 _subscription.cancel(); |
47 } | 47 } |
48 | 48 |
49 static final _columns = [ | 49 static final _columns = [ |
50 new ChartColumnSpec(label: 'Type', type: ChartColumnSpec.TYPE_STRING), | 50 new ChartColumnSpec(label: 'Type', type: ChartColumnSpec.TYPE_STRING), |
51 new ChartColumnSpec(label: 'Percent', formatter: (v) => v.toString()) | 51 new ChartColumnSpec(label: 'Percent', formatter: (v) => v.toString()) |
52 ]; | 52 ]; |
53 | 53 |
54 void render() { | 54 void render() { |
55 final _series = [new ChartSeries("Work", const [1], new PieChartRenderer( | 55 final _series = [ |
56 sortDataByValue: false | 56 new ChartSeries( |
57 ))]; | 57 "Work", const [1], new PieChartRenderer(sortDataByValue: false)) |
| 58 ]; |
58 final areaHost = new DivElement()..classes = ['host']; | 59 final areaHost = new DivElement()..classes = ['host']; |
59 final legendHost = new DivElement()..classes = ['legend']; | 60 final legendHost = new DivElement()..classes = ['legend']; |
60 children = [areaHost, legendHost]; | 61 children = [areaHost, legendHost]; |
61 final rect = areaHost.getBoundingClientRect(); | 62 final rect = areaHost.getBoundingClientRect(); |
62 final minSize = new Rect.size(rect.width, rect.height); | 63 final minSize = new Rect.size(rect.width, rect.height); |
63 final config = new ChartConfig(_series, const [0]) | 64 final config = new ChartConfig(_series, const [0]) |
64 ..minimumSize = minSize | 65 ..minimumSize = minSize |
65 ..legend = new ChartLegend(legendHost, showValues: true); | 66 ..legend = new ChartLegend(legendHost, showValues: true); |
66 final data = new ChartData(_columns, _counters.keys | 67 final data = new ChartData( |
67 .map((key) => [key, double.parse(_counters[key].split('%')[0])]) | 68 _columns, |
68 .toList()); | 69 _counters.keys |
| 70 .map((key) => [key, double.parse(_counters[key].split('%')[0])]) |
| 71 .toList()); |
69 | 72 |
70 new LayoutArea(areaHost, data, config, state: new ChartState(), | 73 new LayoutArea(areaHost, data, config, |
71 autoUpdate: false) | 74 state: new ChartState(), autoUpdate: false) |
72 ..addChartBehavior(new Hovercard()) | 75 ..addChartBehavior(new Hovercard()) |
73 ..addChartBehavior(new AxisLabelTooltip()) | 76 ..addChartBehavior(new AxisLabelTooltip()) |
74 ..draw(); | 77 ..draw(); |
75 } | 78 } |
76 } | 79 } |
OLD | NEW |