| OLD | NEW |
| 1 // | 1 // |
| 2 // Copyright 2014 Google Inc. All rights reserved. | 2 // Copyright 2014 Google Inc. All rights reserved. |
| 3 // | 3 // |
| 4 // Use of this source code is governed by a BSD-style | 4 // Use of this source code is governed by a BSD-style |
| 5 // license that can be found in the LICENSE file or at | 5 // license that can be found in the LICENSE file or at |
| 6 // https://developers.google.com/open-source/licenses/bsd | 6 // https://developers.google.com/open-source/licenses/bsd |
| 7 // | 7 // |
| 8 | 8 |
| 9 part of charted.charts; | 9 part of charted.charts; |
| 10 | 10 |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 yDimensionVals = []; | 64 yDimensionVals = []; |
| 65 for (var row in area.data.rows) { | 65 for (var row in area.data.rows) { |
| 66 xDimensionVals.add(row.elementAt(xDimensionIndex)); | 66 xDimensionVals.add(row.elementAt(xDimensionIndex)); |
| 67 yDimensionVals.add(row.elementAt(yDimensionIndex)); | 67 yDimensionVals.add(row.elementAt(yDimensionIndex)); |
| 68 } | 68 } |
| 69 | 69 |
| 70 var group = _group.selectAll('.measure-group').data(columns); | 70 var group = _group.selectAll('.measure-group').data(columns); |
| 71 group.enter.append('g')..classed('measure-group'); | 71 group.enter.append('g')..classed('measure-group'); |
| 72 group.each((d, i, e) { | 72 group.each((d, i, e) { |
| 73 e.style.setProperty('fill', color(i)); | 73 e.style.setProperty('fill', color(i)); |
| 74 e.attributes['data-column'] = series.measures.elementAt(i); | 74 e.attributes['data-column'] = series.measures.elementAt(i).toString(); |
| 75 }); | 75 }); |
| 76 group.exit.remove(); | 76 group.exit.remove(); |
| 77 | 77 |
| 78 var measures = | 78 var measures = |
| 79 group.selectAll('.bubble').dataWithCallback((d, i, e) => columns[i]); | 79 group.selectAll('.bubble').dataWithCallback((d, i, e) => columns[i]); |
| 80 | 80 |
| 81 measures.enter.append('circle')..classed('bubble'); | 81 measures.enter.append('circle')..classed('bubble'); |
| 82 measures.each((d, i, e) { | 82 measures.each((d, i, e) { |
| 83 e.attributes | 83 e.attributes |
| 84 ..['transform'] = 'translate(' | 84 ..['transform'] = 'translate(' |
| 85 '${xDimensionScale.scale(xDimensionVals[i])},' | 85 '${xDimensionScale.scale(xDimensionVals[i])},' |
| 86 '${yDimensionScale.scale(yDimensionVals[i])})' | 86 '${yDimensionScale.scale(yDimensionVals[i])})' |
| 87 ..['r'] = '${bubbleRadiusScale.scale(d) * bubbleRadiusFactor}' | 87 ..['r'] = '${bubbleRadiusScale.scale(d) * bubbleRadiusFactor}' |
| 88 ..['data-row'] = i; | 88 ..['data-row'] = i.toString(); |
| 89 }); | 89 }); |
| 90 measures.exit.remove(); | 90 measures.exit.remove(); |
| 91 handleStateChanges([]); | 91 handleStateChanges([]); |
| 92 } | 92 } |
| 93 | 93 |
| 94 @override | 94 @override |
| 95 void dispose() { | 95 void dispose() { |
| 96 if (_group == null) return; | 96 if (_group == null) return; |
| 97 _group.selectAll('.row-group').remove(); | 97 _group.selectAll('.row-group').remove(); |
| 98 } | 98 } |
| 99 | 99 |
| 100 @override | 100 @override |
| 101 double get bandInnerPadding => 1.0; | 101 double get bandInnerPadding => 1.0; |
| 102 | 102 |
| 103 @override | 103 @override |
| 104 double get bandOuterPadding => | 104 double get bandOuterPadding => |
| 105 area.theme.getDimensionAxisTheme().axisOuterPadding; | 105 area.theme.getDimensionAxisTheme().axisOuterPadding; |
| 106 | 106 |
| 107 @override | 107 @override |
| 108 Extent get extent { | 108 Extent get extent { |
| 109 assert(series != null && area != null); | 109 assert(series != null && area != null); |
| 110 var rows = area.data.rows, max = rows[0][series.measures.first], min = max; | 110 var rows = area.data.rows, |
| 111 max = rows.first[series.measures.first], |
| 112 min = max; |
| 111 | 113 |
| 112 rows.forEach((row) { | 114 rows.forEach((row) { |
| 113 series.measures.forEach((idx) { | 115 series.measures.forEach((idx) { |
| 114 if (row[idx] > max) max = row[idx]; | 116 if (row[idx] > max) max = row[idx]; |
| 115 if (row[idx] < min) min = row[idx]; | 117 if (row[idx] < min) min = row[idx]; |
| 116 }); | 118 }); |
| 117 }); | 119 }); |
| 118 return new Extent(min, max); | 120 return new Extent(min, max); |
| 119 } | 121 } |
| 120 | 122 |
| (...skipping 20 matching lines...) Expand all Loading... |
| 141 } | 143 } |
| 142 | 144 |
| 143 void _event(StreamController controller, data, int index, Element e) { | 145 void _event(StreamController controller, data, int index, Element e) { |
| 144 if (controller == null) return; | 146 if (controller == null) return; |
| 145 var rowStr = e.parent.dataset['row']; | 147 var rowStr = e.parent.dataset['row']; |
| 146 var row = rowStr != null ? int.parse(rowStr) : null; | 148 var row = rowStr != null ? int.parse(rowStr) : null; |
| 147 controller.add(new DefaultChartEventImpl( | 149 controller.add(new DefaultChartEventImpl( |
| 148 _scope.event, area, series, row, index, data)); | 150 _scope.event, area, series, row, index, data)); |
| 149 } | 151 } |
| 150 } | 152 } |
| OLD | NEW |