com.vaadin.flow.component.charts.model.SeriesTooltip Maven / Gradle / Ivy
/**
* Copyright 2000-2024 Vaadin Ltd.
*
* This program is available under Vaadin Commercial License and Service Terms.
*
* See {@literal } for the full
* license.
*/
package com.vaadin.flow.component.charts.model;
/**
* A configuration object for the tooltip rendering of each single series.
* Properties are inherited from tooltip, but only the
* following properties can be defined on a series level.
*/
public class SeriesTooltip extends AbstractConfigurationObject {
private DateTimeLabelFormats dateTimeLabelFormats;
private Boolean followPointer;
private Boolean followTouchMove;
private String footerFormat;
private String headerFormat;
private Number hideDelay;
private Number padding;
private String pointFormat;
private String _fn_pointFormatter;
private Boolean split;
private Number valueDecimals;
private String valuePrefix;
private String valueSuffix;
private String xDateFormat;
private Number changeDecimals;
private Shape shape;
public SeriesTooltip() {
}
/**
* @see #setDateTimeLabelFormats(DateTimeLabelFormats)
*/
public DateTimeLabelFormats getDateTimeLabelFormats() {
if (dateTimeLabelFormats == null) {
dateTimeLabelFormats = new DateTimeLabelFormats();
}
return dateTimeLabelFormats;
}
/**
*
* For series on a datetime axes, the date format in the tooltip's header
* will by default be guessed based on the closest data points. This member
* gives the default string representations used for each unit. For an
* overview of the replacement codes, see
* dateFormat.
*
*
*
* Defaults to:
*
*
* {
* millisecond:"%A, %b %e, %H:%M:%S.%L",
* second:"%A, %b %e, %H:%M:%S",
* minute:"%A, %b %e, %H:%M",
* hour:"%A, %b %e, %H:%M",
* day:"%A, %b %e, %Y",
* week:"Week from %A, %b %e, %Y",
* month:"%B %Y",
* year:"%Y"
* }
*
*
*
*/
public void setDateTimeLabelFormats(
DateTimeLabelFormats dateTimeLabelFormats) {
this.dateTimeLabelFormats = dateTimeLabelFormats;
}
/**
* @see #setFollowPointer(Boolean)
*/
public Boolean getFollowPointer() {
return followPointer;
}
/**
*
* Whether the tooltip should follow the mouse as it moves across columns,
* pie slices and other point types with an extent. By default it behaves
* this way for scatter, bubble and pie series by override in the
* plotOptions
for those series types.
*
*
* For touch moves to behave the same way,
* followTouchMove must be
* true
also.
*
*
* Defaults to: false
*/
public void setFollowPointer(Boolean followPointer) {
this.followPointer = followPointer;
}
/**
* @see #setFollowTouchMove(Boolean)
*/
public Boolean getFollowTouchMove() {
return followTouchMove;
}
/**
* Whether the tooltip should follow the finger as it moves on a touch
* device. If this is true
and
* chart.panning is set,
* followTouchMove
will take over one-finger touches, so the
* user needs to use two fingers for zooming and panning.
*
* Defaults to: true
*/
public void setFollowTouchMove(Boolean followTouchMove) {
this.followTouchMove = followTouchMove;
}
/**
* @see #setFooterFormat(String)
*/
public String getFooterFormat() {
return footerFormat;
}
/**
* A string to append to the tooltip format.
*
* Defaults to: false
*/
public void setFooterFormat(String footerFormat) {
this.footerFormat = footerFormat;
}
/**
* @see #setHeaderFormat(String)
*/
public String getHeaderFormat() {
return headerFormat;
}
/**
*
* The HTML of the tooltip header line. Variables are enclosed by curly
* brackets. Available variables are point.key
,
* series.name
, series.color
and other members
* from the point
and series
objects. The
* point.key
variable contains the category name, x value or
* datetime string depending on the type of axis. For datetime axes, the
* point.key
date format can be set using tooltip.xDateFormat.
*
*
*
* Defaults to
* <span style="font-size: 10px">{point.key}</span><br/>
*
*/
public void setHeaderFormat(String headerFormat) {
this.headerFormat = headerFormat;
}
/**
* @see #setHideDelay(Number)
*/
public Number getHideDelay() {
return hideDelay;
}
/**
* The number of milliseconds to wait until the tooltip is hidden when mouse
* out from a point or chart.
*
* Defaults to: 500
*/
public void setHideDelay(Number hideDelay) {
this.hideDelay = hideDelay;
}
/**
* @see #setPadding(Number)
*/
public Number getPadding() {
return padding;
}
/**
* Padding inside the tooltip, in pixels.
*
* Defaults to: 8
*/
public void setPadding(Number padding) {
this.padding = padding;
}
/**
* @see #setPointFormat(String)
*/
public String getPointFormat() {
return pointFormat;
}
/**
*
* The HTML of the point's line in the tooltip. Variables are enclosed by
* curly brackets. Available variables are point.x, point.y, series.name and
* series.color and other properties on the same form. Furthermore, point.y
* can be extended by the tooltip.valuePrefix
and
* tooltip.valueSuffix
variables. This can also be overridden
* for each series, which makes it a good hook for displaying units.
*
*
* In styled mode, the dot is colored by a class name rather than the
* point color.
*
*
* Defaults to: \u25CF
* {series.name}: {point.y}
*/
public void setPointFormat(String pointFormat) {
this.pointFormat = pointFormat;
}
public String getPointFormatter() {
return _fn_pointFormatter;
}
public void setPointFormatter(String _fn_pointFormatter) {
this._fn_pointFormatter = _fn_pointFormatter;
}
/**
* @see #setSplit(Boolean)
*/
public Boolean getSplit() {
return split;
}
/**
* Split the tooltip into one label per series, with the header close to the
* axis. This is recommended over shared
* tooltips for charts with multiple line series, generally making them
* easier to read.
*
* Defaults to: false
*/
public void setSplit(Boolean split) {
this.split = split;
}
/**
* @see #setValueDecimals(Number)
*/
public Number getValueDecimals() {
return valueDecimals;
}
/**
* How many decimals to show in each series' y value. This is overridable in
* each series' tooltip options object. The default is to preserve all
* decimals.
*/
public void setValueDecimals(Number valueDecimals) {
this.valueDecimals = valueDecimals;
}
/**
* @see #setValuePrefix(String)
*/
public String getValuePrefix() {
return valuePrefix;
}
/**
* A string to prepend to each series' y value. Overridable in each series'
* tooltip options object.
*/
public void setValuePrefix(String valuePrefix) {
this.valuePrefix = valuePrefix;
}
/**
* @see #setValueSuffix(String)
*/
public String getValueSuffix() {
return valueSuffix;
}
/**
* A string to append to each series' y value. Overridable in each series'
* tooltip options object.
*/
public void setValueSuffix(String valueSuffix) {
this.valueSuffix = valueSuffix;
}
/**
* @see #setXDateFormat(String)
*/
public String getXDateFormat() {
return xDateFormat;
}
/**
* The format for the date in the tooltip header if the X axis is a datetime
* axis. The default is a best guess based on the smallest distance between
* points in the chart.
*/
public void setXDateFormat(String xDateFormat) {
this.xDateFormat = xDateFormat;
}
/**
* @see #setChangeDecimals(Number)
*/
public Number getChangeDecimals() {
return changeDecimals;
}
/**
* How many decimals to show for the point.change
value when
* the series.compare
option is set. This is overridable in
* each series' tooltip options object. The default is to preserve all
* decimals.
*/
public void setChangeDecimals(Number changeDecimals) {
this.changeDecimals = changeDecimals;
}
/**
* @see #setShape(Shape)
*/
public Shape getShape() {
return shape;
}
/**
* The name of a symbol to use for the border around the tooltip. In
* Highstock 1.x, the shape was square
.
*
* Defaults to: callout
*/
public void setShape(Shape shape) {
this.shape = shape;
}
}