| 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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 } | 84 } |
| 85 _tooltipRoot.append('div') | 85 _tooltipRoot.append('div') |
| 86 ..classed('tooltip-total') | 86 ..classed('tooltip-total') |
| 87 ..text((formatter != null) ? formatter(total) : total.toString()); | 87 ..text((formatter != null) ? formatter(total) : total.toString()); |
| 88 } | 88 } |
| 89 | 89 |
| 90 // Find the currently selectedMeasures and hoveredMeasures and show | 90 // Find the currently selectedMeasures and hoveredMeasures and show |
| 91 // tooltip for them, if none is selected/hovered, show all. | 91 // tooltip for them, if none is selected/hovered, show all. |
| 92 var activeMeasures = []; | 92 var activeMeasures = []; |
| 93 if (showSelectedMeasure) { | 93 if (showSelectedMeasure) { |
| 94 if(_state != null) { | 94 if (_state != null) { |
| 95 activeMeasures.addAll(_state.selection); | 95 activeMeasures.addAll(_state.selection); |
| 96 activeMeasures | 96 activeMeasures.add( |
| 97 .add(_state.preview != null | 97 _state.preview != null ? _state.preview : _state.hovered.first); |
| 98 ? _state.preview | |
| 99 : _state.hovered.first); | |
| 100 } else { | 98 } else { |
| 101 | |
| 102 // If state is null, chart tooltip will not capture selection, but only | 99 // If state is null, chart tooltip will not capture selection, but only |
| 103 // display for the currently hovered measure column. | 100 // display for the currently hovered measure column. |
| 104 activeMeasures.add(e.column); | 101 activeMeasures.add(e.column); |
| 105 } | 102 } |
| 106 if (activeMeasures.isEmpty) { | 103 if (activeMeasures.isEmpty) { |
| 107 for (var series in _area.config.series) { | 104 for (var series in _area.config.series) { |
| 108 activeMeasures.addAll(series.measures); | 105 activeMeasures.addAll(series.measures); |
| 109 } | 106 } |
| 110 } | 107 } |
| 111 activeMeasures.sort(); | 108 activeMeasures.sort(); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 : orientation; | 157 : orientation; |
| 161 | 158 |
| 162 if (direction == ORIENTATION_LEFT) { | 159 if (direction == ORIENTATION_LEFT) { |
| 163 x = coord.x - rect.width - _TOOLTIP_OFFSET; | 160 x = coord.x - rect.width - _TOOLTIP_OFFSET; |
| 164 y = coord.y + _TOOLTIP_OFFSET; | 161 y = coord.y + _TOOLTIP_OFFSET; |
| 165 } else { | 162 } else { |
| 166 x = coord.x + _TOOLTIP_OFFSET; | 163 x = coord.x + _TOOLTIP_OFFSET; |
| 167 y = coord.y + _TOOLTIP_OFFSET; | 164 y = coord.y + _TOOLTIP_OFFSET; |
| 168 } | 165 } |
| 169 return boundTooltipPosition( | 166 return boundTooltipPosition( |
| 170 new math.Rectangle(x, y, rect.width, rect.height)); | 167 new math.Rectangle(x as num, y as num, rect.width, rect.height)); |
| 171 } | 168 } |
| 172 | 169 |
| 173 /// Positions the tooltip to be inside of the chart boundary. | 170 /// Positions the tooltip to be inside of the chart boundary. |
| 174 math.Point boundTooltipPosition(math.Rectangle rect) { | 171 math.Point boundTooltipPosition(math.Rectangle rect) { |
| 175 var hostRect = _area.host.getBoundingClientRect(); | 172 var hostRect = _area.host.getBoundingClientRect(); |
| 176 | 173 |
| 177 var top = rect.top; | 174 var top = rect.top; |
| 178 var left = rect.left; | 175 var left = rect.left; |
| 179 | 176 |
| 180 // Checks top and bottom. | 177 // Checks top and bottom. |
| (...skipping 14 matching lines...) Expand all Loading... |
| 195 } | 192 } |
| 196 | 193 |
| 197 FormatFunction _getFormatterForColumn(int column) => | 194 FormatFunction _getFormatterForColumn(int column) => |
| 198 _area.data.columns.elementAt(column).formatter; | 195 _area.data.columns.elementAt(column).formatter; |
| 199 | 196 |
| 200 hide(ChartEvent e) { | 197 hide(ChartEvent e) { |
| 201 if (_tooltipRoot == null) return; | 198 if (_tooltipRoot == null) return; |
| 202 _tooltipRoot.style('opacity', '0'); | 199 _tooltipRoot.style('opacity', '0'); |
| 203 } | 200 } |
| 204 } | 201 } |
| OLD | NEW |