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

com.github.fluorumlabs.disconnect.highcharts.RangeSelectorButtonsOptions Maven / Gradle / Ivy

There is a newer version: 0.1.0-alpha2
Show newest version
package com.github.fluorumlabs.disconnect.highcharts;

import java.lang.String;
import javax.annotation.Nullable;
import js.extras.JsEnum;
import js.lang.Any;
import org.teavm.jso.JSProperty;

/**
 * (Highstock) An array of configuration objects for the buttons.
 *
 * Defaults to
 *
 * (see online documentation for example)
 *
 * @see https://api.highcharts.com/highstock/rangeSelector.buttons
 *
 */
public interface RangeSelectorButtonsOptions extends Any {
  /**
   * (Highstock) How many units of the defined type the button should span. If
   * type is "month" and count is 3, the button spans three months.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.count
   *
   * @implspec count?: number;
   *
   */
  @JSProperty("count")
  double getCount();

  /**
   * (Highstock) How many units of the defined type the button should span. If
   * type is "month" and count is 3, the button spans three months.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.count
   *
   * @implspec count?: number;
   *
   */
  @JSProperty("count")
  void setCount(double value);

  /**
   * (Highstock) A custom data grouping object for each button.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.dataGrouping
   *
   * @implspec dataGrouping?: RangeSelectorButtonsDataGroupingOptions;
   *
   */
  @JSProperty("dataGrouping")
  @Nullable
  RangeSelectorButtonsDataGroupingOptions getDataGrouping();

  /**
   * (Highstock) A custom data grouping object for each button.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.dataGrouping
   *
   * @implspec dataGrouping?: RangeSelectorButtonsDataGroupingOptions;
   *
   */
  @JSProperty("dataGrouping")
  void setDataGrouping(RangeSelectorButtonsDataGroupingOptions value);

  /**
   * @implspec events?: RangeSelectorButtonsEventsOptions;
   *
   */
  @JSProperty("events")
  @Nullable
  RangeSelectorButtonsEventsOptions getEvents();

  /**
   * @implspec events?: RangeSelectorButtonsEventsOptions;
   *
   */
  @JSProperty("events")
  void setEvents(RangeSelectorButtonsEventsOptions value);

  /**
   * (Highstock) Additional range (in milliseconds) added to the end of the
   * calculated time span.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.offsetMax
   *
   * @implspec offsetMax?: number;
   *
   */
  @JSProperty("offsetMax")
  double getOffsetMax();

  /**
   * (Highstock) Additional range (in milliseconds) added to the end of the
   * calculated time span.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.offsetMax
   *
   * @implspec offsetMax?: number;
   *
   */
  @JSProperty("offsetMax")
  void setOffsetMax(double value);

  /**
   * (Highstock) Additional range (in milliseconds) added to the start of the
   * calculated time span.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.offsetMin
   *
   * @implspec offsetMin?: number;
   *
   */
  @JSProperty("offsetMin")
  double getOffsetMin();

  /**
   * (Highstock) Additional range (in milliseconds) added to the start of the
   * calculated time span.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.offsetMin
   *
   * @implspec offsetMin?: number;
   *
   */
  @JSProperty("offsetMin")
  void setOffsetMin(double value);

  /**
   * (Highstock) When buttons apply dataGrouping on a series, by default
   * zooming in/out will deselect buttons and unset dataGrouping. Enable this
   * option to keep buttons selected when extremes change.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.preserveDataGrouping
   *
   * @implspec preserveDataGrouping?: boolean;
   *
   */
  @JSProperty("preserveDataGrouping")
  boolean getPreserveDataGrouping();

  /**
   * (Highstock) When buttons apply dataGrouping on a series, by default
   * zooming in/out will deselect buttons and unset dataGrouping. Enable this
   * option to keep buttons selected when extremes change.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.preserveDataGrouping
   *
   * @implspec preserveDataGrouping?: boolean;
   *
   */
  @JSProperty("preserveDataGrouping")
  void setPreserveDataGrouping(boolean value);

  /**
   * (Highstock) The text for the button itself.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.text
   *
   * @implspec text?: string;
   *
   */
  @JSProperty("text")
  @Nullable
  String getText();

  /**
   * (Highstock) The text for the button itself.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.text
   *
   * @implspec text?: string;
   *
   */
  @JSProperty("text")
  void setText(String value);

  /**
   * (Highstock) Defined the time span for the button. Can be one of
   * millisecond, second, minute, hour, day, week, month, ytd,
   * all.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.type
   *
   * @implspec type?: ("all"|"day"|"millisecond"|"minute"|"month"|"second"|"week"|"ytd");
   *
   */
  @JSProperty("type")
  @Nullable
  Type getType();

  /**
   * (Highstock) Defined the time span for the button. Can be one of
   * millisecond, second, minute, hour, day, week, month, ytd,
   * all.
   *
   * @see https://api.highcharts.com/highstock/rangeSelector.buttons.type
   *
   * @implspec type?: ("all"|"day"|"millisecond"|"minute"|"month"|"second"|"week"|"ytd");
   *
   */
  @JSProperty("type")
  void setType(Type value);

  /**
   */
  abstract class Type extends JsEnum {
    public static final Type ALL = JsEnum.of("all");

    public static final Type DAY = JsEnum.of("day");

    public static final Type MILLISECOND = JsEnum.of("millisecond");

    public static final Type MINUTE = JsEnum.of("minute");

    public static final Type MONTH = JsEnum.of("month");

    public static final Type SECOND = JsEnum.of("second");

    public static final Type WEEK = JsEnum.of("week");

    public static final Type YTD = JsEnum.of("ytd");
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy