OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 part of app; | 5 part of app; |
6 | 6 |
7 class GoogleChart { | 7 class GoogleChart { |
8 static var _api; | 8 static var _api; |
9 | 9 |
10 /// Get access to the JsObject containing the Google Chart API: | 10 /// Get access to the JsObject containing the Google Chart API: |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
75 /// column in the table. | 75 /// column in the table. |
76 void addRow(List row) { | 76 void addRow(List row) { |
77 _table.callMethod('addRow', [new JsArray.from(row)]); | 77 _table.callMethod('addRow', [new JsArray.from(row)]); |
78 } | 78 } |
79 } | 79 } |
80 | 80 |
81 class Chart { | 81 class Chart { |
82 var _chart; | 82 var _chart; |
83 final Map options = new Map(); | 83 final Map options = new Map(); |
84 | 84 |
85 /// Create a Google Chart of [chartType]. e.g. 'Table', 'BarChart', the | 85 /// Create a Google Chart of [chartType]. e.g. 'Table', 'AreaChart', |
86 /// chart is rendered inside [element]. | 86 /// 'BarChart', the chart is rendered inside [element]. |
87 Chart(String chartType, Element element) { | 87 Chart(String chartType, Element element) { |
88 _chart = new JsObject(GoogleChart.api[chartType], [element]); | 88 _chart = new JsObject(GoogleChart.api[chartType], [element]); |
89 } | 89 } |
90 | 90 |
91 /// When the user interacts with the table by clicking on columns, | 91 /// When the user interacts with the table by clicking on columns, |
92 /// you must call this function before [draw] so that we draw | 92 /// you must call this function before [draw] so that we draw |
93 /// with the current sort settings. | 93 /// with the current sort settings. |
94 void refreshOptionsSortInfo() { | 94 void refreshOptionsSortInfo() { |
95 var props = _chart.callMethod('getSortInfo'); | 95 var props = _chart.callMethod('getSortInfo'); |
96 if ((props != null) && (props['column'] != -1)) { | 96 if ((props != null) && (props['column'] != -1)) { |
97 // Preserve current sort settings. | 97 // Preserve current sort settings. |
98 options['sortColumn'] = props['column']; | 98 options['sortColumn'] = props['column']; |
99 options['sortAscending'] = props['ascending']; | 99 options['sortAscending'] = props['ascending']; |
100 } | 100 } |
101 } | 101 } |
102 | 102 |
103 /// Draw this chart using [table] and the current [options]. | 103 /// Draw this chart using [table] and the current [options]. |
104 void draw(DataTable table) { | 104 void draw(DataTable table) { |
105 var jsOptions = new JsObject.jsify(options); | 105 var jsOptions = new JsObject.jsify(options); |
106 _chart.callMethod('draw', [table._table, jsOptions]); | 106 _chart.callMethod('draw', [table._table, jsOptions]); |
107 } | 107 } |
108 } | 108 } |
OLD | NEW |