highcharts
Version:
JavaScript charting framework
295 lines (294 loc) • 11.5 kB
TypeScript
/*!*
*
* Copyright (c) Highsoft AS. All rights reserved.
*
*!*/
import * as Highcharts from "../highcharts.src";
declare module "../highcharts.src" {
/**
* (Highcharts, Highstock, Highmaps, Gantt) Enable or disable the initial
* animation when a series is displayed for the `dataLabels`. The animation
* can also be set as a configuration object. Please note that this option
* only applies to the initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
interface PlotPackedbubbleDataLabelsAnimationOptions {
/**
* (Highcharts, Highstock, Highmaps, Gantt) The animation delay time in
* milliseconds. Set to `0` to render the data labels immediately. As
* `undefined` inherits defer time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts, Highstock, Gantt) Styles for the series label. The color
* defaults to the series color, or a contrast color if `onArea`.
*/
interface PlotPackedbubbleLabelStyleOptions {
fontSize?: (number|string);
}
/**
* (Highcharts) Layout algorithm options for parent nodes.
*/
interface PlotPackedbubbleLayoutAlgorithmParentNodeOptions {
/**
* (Highcharts) Friction applied on forces to prevent nodes rushing to
* fast to the desired positions.
*/
friction?: number;
/**
* (Highcharts) Gravitational const used in the barycenter force of the
* algorithm.
*/
gravitationalConstant?: number;
/**
* (Highcharts) When `initialPositions` are set to 'circle',
* `initialPositionRadius` is a distance from the center of circle, in
* which nodes are created.
*/
initialPositionRadius?: number;
/**
* (Highcharts) Initial layout algorithm for positioning nodes. Can be
* one of built-in options ("circle", "random") or a function where
* positions should be set on each node (`this.nodes`) as `node.plotX`
* and `node.plotY`
*/
initialPositions?: ("circle"|"random"|Function);
/**
* (Highcharts) Integration type. Available options are `'euler'` and
* `'verlet'`. Integration determines how forces are applied on
* particles. In Euler integration, force is applied direct as
* `newPosition += velocity;`. In Verlet integration, new position is
* based on a previous position without velocity: `newPosition +=
* previousPosition - newPosition`.
*
* Note that different integrations give different results as forces are
* different.
*
* In Highcharts v7.0.x only `'euler'` integration was supported.
*/
integration?: Highcharts.OptionsIntegrationValue;
/**
* (Highcharts) Ideal length (px) of the link between two nodes. When
* not defined, length is calculated as: `Math.pow(availableWidth *
* availableHeight / nodesLength, 0.4);`
*
* Note: Because of the algorithm specification, length of each link
* might be not exactly as specified.
*/
linkLength?: number;
/**
* (Highcharts) Styling options for parentNodes markers. Similar to
* line.marker options.
*/
marker?: Highcharts.PointMarkerOptionsObject;
/**
* (Highcharts) Max number of iterations before algorithm will stop. In
* general, algorithm should find positions sooner, but when rendering
* huge number of nodes, it is recommended to increase this value as
* finding perfect graph positions can require more time.
*/
maxIterations?: number;
/**
* (Highcharts) Verlet integration only. Max speed that node can get in
* one iteration. In terms of simulation, it's a maximum translation (in
* pixels) that node can move (in both, x and y, dimensions). While
* `friction` is applied on all nodes, max speed is applied only for
* nodes that move very fast, for example small or disconnected ones.
*/
maxSpeed?: number;
seriesInteraction?: boolean;
/**
* (Highcharts) Type of the algorithm used when positioning nodes.
*/
type?: "reingold-fruchterman";
}
/**
* (Highcharts) Options for the connector in the _Series on point_ feature.
*
* In styled mode, the connector can be styled with the
* `.highcharts-connector-seriesonpoint` class name.
*/
interface PlotPackedbubbleOnPointConnectorOptions {
/**
* (Highcharts) A name for the dash style to use for the connector.
*/
dashstyle?: string;
/**
* (Highcharts) Color of the connector line. By default it's the series'
* color.
*/
stroke?: string;
/**
* (Highcharts) Pixel width of the connector line.
*/
width?: number;
}
/**
* (Highcharts) Options allowing to set a position and an offset of the
* series in the _Series on point_ feature.
*/
interface PlotPackedbubbleOnPointPositionOptions {
/**
* (Highcharts) Series center offset from the original x position. If
* defined, the connector line is drawn connecting original position
* with new position.
*/
offsetX?: number;
/**
* (Highcharts) Series center offset from the original y position. If
* defined, the connector line is drawn from original position to a new
* position.
*/
offsetY?: number;
/**
* (Highcharts) X position of the series center. By default, the series
* is displayed on the point that it is connected to.
*/
x?: number;
/**
* (Highcharts) Y position of the series center. By default, the series
* is displayed on the point that it is connected to.
*/
y?: number;
}
/**
* (Highcharts) Series options for parent nodes.
*/
interface PlotPackedbubbleParentNodeOptions {
/**
* (Highcharts) Allow this series' parent nodes to be selected by
* clicking on the graph.
*/
allowPointSelect?: boolean;
}
/**
* (Highcharts) Animation when not hovering over the marker.
*/
interface PlotPackedbubbleStatesInactiveAnimationOptions {
duration?: number;
}
/**
* (Highcharts, Highstock, Highmaps) Positioning options for fixed tooltip,
* taking effect only when tooltip.fixed is `true`.
*/
interface PlotPackedbubbleTooltipPositionOptions {
/**
* (Highcharts, Highstock, Highmaps) The horizontal alignment of the
* fixed tooltip.
*/
align?: Highcharts.AlignValue;
/**
* (Highcharts, Highstock, Highmaps) What the fixed tooltip alignment
* should be relative to.
*
* The default, `pane`, means that it is aligned within the plot area
* for that given series. If the tooltip is split (as default in Stock
* charts), each partial tooltip is aligned within the series' pane.
*/
relativeTo?: Highcharts.OptionsRelativeToValue;
/**
* (Highcharts, Highstock, Highmaps) The vertical alignment of the fixed
* tooltip.
*/
verticalAlign?: Highcharts.VerticalAlignValue;
/**
* (Highcharts, Highstock, Highmaps) X pixel offset from the given
* position. Can be used to shy away from axis lines, grid lines etc to
* avoid the tooltip overlapping other elements.
*/
x?: number;
/**
* (Highcharts, Highstock, Highmaps) Y pixel offset from the given
* position. Can be used to shy away from axis lines, grid lines etc to
* avoid the tooltip overlapping other elements.
*/
y?: number;
}
/**
* (Highcharts) Enable or disable the initial animation when a series is
* displayed for the `dataLabels`. The animation can also be set as a
* configuration object. Please note that this option only applies to the
* initial animation.
*
* For other animations, see chart.animation and the animation parameter
* under the API methods. The following properties are supported:
*
* - `defer`: The animation delay time in milliseconds.
*/
interface SeriesPackedbubbleDataDataLabelsAnimationOptions {
/**
* (Highcharts) The animation delay time in milliseconds. Set to `0` to
* render the data labels immediately. As `undefined` inherits defer
* time from the series.animation.defer.
*/
defer?: number;
}
/**
* (Highcharts) A `packedbubble` series. If the type option is not
* specified, it is inherited from chart.type.
*
* Configuration options for the series are given in three levels:
*
* 1. Options for all series in a chart are defined in the
* plotOptions.series object.
*
* 2. Options for all `packedbubble` series are defined in
* plotOptions.packedbubble.
*
* 3. Options for one single series are given in the series instance array.
* (see online documentation for example)
*
* **TypeScript:**
*
* - type option should always be set, otherwise a broad set of unsupported
* options is allowed.
*
* - when accessing an array of series, the combined set of all series types
* is represented by Highcharts.SeriesOptionsType . Narrowing down to the
* specific type can be done by checking the `type` property. (see online
* documentation for example)
*
* You have to extend the `SeriesPackedbubbleOptions` via an interface to
* allow custom properties: ``` declare interface SeriesPackedbubbleOptions
* { customProperty: string; }
*
*/
interface SeriesPackedbubbleOptions extends Highcharts.PlotPackedbubbleOptions, Highcharts.SeriesOptions {
/**
* (Highcharts) An array of data points for the series. For the
* `packedbubble` series type, points can be given in the following
* ways:
*
* 1. An array of `values`. (see online documentation for example)
*
* 2. An array of objects with named values. The objects are point
* configuration objects as seen below. If the total number of data
* points exceeds the series' turboThreshold, this option is not
* available. (see online documentation for example)
*/
data?: (Highcharts.PointOptionsObject|Array<(object|any[])>);
/**
* Not available
*/
dataParser?: undefined;
/**
* Not available
*/
dataURL?: undefined;
/**
* Not available
*/
stack?: undefined;
/**
* (Highcharts, Highstock, Highmaps, Gantt) This property is only in
* TypeScript non-optional and might be `undefined` in series objects
* from unknown sources.
*/
type: "packedbubble";
}
}