All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.vaadin.flow.component.charts.model.SeriesTooltip Maven / Gradle / Ivy

There is a newer version: 24.5.4
Show newest version
/**
 * 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; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy