| 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 |