@grapecity/wijmo.chart 5.20242.21 → 5.20251.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20242.21
3
+ * Wijmo Library 5.20251.34
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -73,6 +73,53 @@ export declare class _Spline {
73
73
  ys: any;
74
74
  };
75
75
  }
76
+ export declare const AxisClsNames: {
77
+ axisX: string;
78
+ axisXLabels: string;
79
+ axisY: string;
80
+ axisYLabels: string;
81
+ gridline: string;
82
+ gridlineMinor: string;
83
+ line: string;
84
+ tick: string;
85
+ tickMinor: string;
86
+ };
87
+ export declare const DataLabelClsNames: {
88
+ border: string;
89
+ label: string;
90
+ labels: string;
91
+ line: string;
92
+ };
93
+ export declare const FlexChartClsNames: {
94
+ footer: string;
95
+ header: string;
96
+ hostElement: string;
97
+ label: string;
98
+ legend: string;
99
+ plotArea: string;
100
+ title: string;
101
+ touchDisabled: string;
102
+ };
103
+ export declare const FlexPieClsNames: {
104
+ hostElement: string;
105
+ slice: string;
106
+ sliceGroup: string;
107
+ };
108
+ export declare const LegendClsNames: {
109
+ legend: string;
110
+ title: string;
111
+ };
112
+ export declare const LineMarkerClsNames: {
113
+ container: string;
114
+ content: string;
115
+ draggable: string;
116
+ hline: string;
117
+ linemarker: string;
118
+ vline: string;
119
+ };
120
+ export declare const SeriesClsNames: {
121
+ group: string;
122
+ };
76
123
  /**
77
124
  * These are predefined color palettes for chart {@link Series} objects.
78
125
  *
@@ -727,6 +774,11 @@ export declare class Legend {
727
774
  * The default value for this property is **false**.
728
775
  */
729
776
  scrollbar: boolean;
777
+ /**
778
+ * Gets a value if the legends would be shown in vertical direction or horizontal
779
+ * the value would be based on the Orientation and the Position of the legend
780
+ */
781
+ readonly isVertical: boolean;
730
782
  _getDesiredSize(engine: IRenderEngine, pos: Position, w: number, h: number): Size;
731
783
  _getPosition(w: number, h: number): Position;
732
784
  _render(engine: IRenderEngine, pt: Point, pos: Position, w: number, h: number): void;
@@ -1898,1627 +1950,1631 @@ export declare class PieDataLabel extends DataLabelBase {
1898
1950
  */
1899
1951
  position: PieLabelPosition;
1900
1952
  }
1953
+ export declare class _DataPoint {
1954
+ private _seriesIndex;
1955
+ private _pointIndex;
1956
+ private _dataX;
1957
+ private _dataY;
1958
+ constructor(seriesIndex: number, pointIndex: number, dataX: number, dataY: number);
1959
+ readonly seriesIndex: number;
1960
+ readonly pointIndex: number;
1961
+ dataX: number;
1962
+ dataY: number;
1963
+ }
1964
+ export declare enum _MeasureOption {
1965
+ X = 0,
1966
+ Y = 1,
1967
+ XY = 2
1968
+ }
1969
+ export declare class _RectArea implements _IHitArea {
1970
+ private _rect;
1971
+ constructor(rect: Rect);
1972
+ readonly rect: Rect;
1973
+ tag: any;
1974
+ ignoreLabel: boolean;
1975
+ contains(pt: Point): boolean;
1976
+ pointDistance(pt1: Point, pt2: Point, option: _MeasureOption): number;
1977
+ distance(pt: Point): number;
1978
+ }
1979
+ export declare class _CircleArea implements _IHitArea {
1980
+ private _center;
1981
+ private _rad;
1982
+ private _rad2;
1983
+ tag: any;
1984
+ ignoreLabel: boolean;
1985
+ constructor(center: Point, radius: number);
1986
+ setRadius(radius: number): void;
1987
+ readonly center: Point;
1988
+ contains(pt: Point): boolean;
1989
+ distance(pt: Point): number;
1990
+ }
1991
+ export declare class _LinesArea implements _IHitArea {
1992
+ private _x;
1993
+ private _y;
1994
+ tag: any;
1995
+ ignoreLabel: boolean;
1996
+ constructor(x: any, y: any);
1997
+ contains(pt: Point): boolean;
1998
+ distance(pt: Point): number;
1999
+ }
2000
+ export declare class _HitResult {
2001
+ area: _IHitArea;
2002
+ distance: number;
2003
+ }
2004
+ export declare class _HitTester {
2005
+ _chart: FlexChartCore;
2006
+ _map: {
2007
+ [key: number]: Array<_IHitArea>;
2008
+ };
2009
+ constructor(chart: FlexChartCore);
2010
+ add(area: _IHitArea, seriesIndex: number): void;
2011
+ clear(): void;
2012
+ hitTest(pt: Point, testLines?: boolean): _HitResult;
2013
+ hitTestSeries(pt: Point, seriesIndex: any): _HitResult;
2014
+ }
1901
2015
  /**
1902
- * Specifies the axis type.
2016
+ * Specifies the type of chart element found by the hitTest method.
1903
2017
  */
1904
- export declare enum AxisType {
1905
- /** Category axis (normally horizontal). */
1906
- X = 0,
1907
- /** Value axis (normally vertical). */
1908
- Y = 1
2018
+ export declare enum ChartElement {
2019
+ /** The area within the axes. */
2020
+ PlotArea = 0,
2021
+ /** X-axis. */
2022
+ AxisX = 1,
2023
+ /** Y-axis. */
2024
+ AxisY = 2,
2025
+ /** The area within the control but outside the axes. */
2026
+ ChartArea = 3,
2027
+ /** The chart legend. */
2028
+ Legend = 4,
2029
+ /** The chart header. */
2030
+ Header = 5,
2031
+ /** The chart footer. */
2032
+ Footer = 6,
2033
+ /** A chart series. */
2034
+ Series = 7,
2035
+ /** A chart series symbol. */
2036
+ SeriesSymbol = 8,
2037
+ /** A data label. */
2038
+ DataLabel = 9,
2039
+ /** No chart element. */
2040
+ None = 10
1909
2041
  }
1910
2042
  /**
1911
- * Specifies how to handle overlapping labels.
2043
+ * Contains information about a part of a {@link FlexChart} control at
2044
+ * a specified page coordinate.
1912
2045
  */
1913
- export declare enum OverlappingLabels {
2046
+ export declare class HitTestInfo {
2047
+ private _chart;
2048
+ private _pt;
2049
+ private _series;
2050
+ private _pointIndex;
2051
+ _chartElement: ChartElement;
2052
+ _dist: number;
2053
+ private _item;
2054
+ private _x;
2055
+ private __xfmt;
2056
+ private _y;
2057
+ private __yfmt;
2058
+ private _name;
2059
+ private _groupIndex;
1914
2060
  /**
1915
- * Hide overlapping labels.
2061
+ * Initializes a new instance of the {@link HitTestInfo} class.
2062
+ *
2063
+ * @param chart The chart control.
2064
+ * @param point The original point in window coordinates.
2065
+ * @param element The chart element.
1916
2066
  */
1917
- Auto = 0,
2067
+ constructor(chart: FlexChartBase, point: Point, element?: ChartElement);
1918
2068
  /**
1919
- * Show all labels, including overlapping ones.
2069
+ * Gets the {@link FlexChartBase} that owns this {@link HitTestInfo}.
1920
2070
  */
1921
- Show = 1
2071
+ readonly chart: FlexChartBase;
2072
+ /**
2073
+ * Gets the point, in control coordinates,
2074
+ * that this {@link HitTestInfo} refers to.
2075
+ */
2076
+ readonly point: Point;
2077
+ /**
2078
+ * Gets the chart series at the specified coordinates.
2079
+ */
2080
+ readonly series: SeriesBase;
2081
+ /**
2082
+ * Gets the data point index at the specified coordinates.
2083
+ */
2084
+ readonly pointIndex: number;
2085
+ /**
2086
+ * Gets the chart element at the specified coordinates.
2087
+ */
2088
+ readonly chartElement: ChartElement;
2089
+ /**
2090
+ * Gets the distance to the closest data point.
2091
+ */
2092
+ readonly distance: number;
2093
+ /**
2094
+ * Gets the data object that corresponds to the closest data point.
2095
+ */
2096
+ readonly item: any;
2097
+ /**
2098
+ * Gets the x-value of the closest data point.
2099
+ */
2100
+ readonly x: any;
2101
+ /**
2102
+ * Gets the y-value of the closest data point.
2103
+ */
2104
+ readonly y: any;
2105
+ readonly value: any;
2106
+ readonly name: any;
2107
+ /**
2108
+ * Gets the group index for the closest data point.
2109
+ */
2110
+ readonly groupIndex: number;
2111
+ readonly _xfmt: any;
2112
+ readonly _yfmt: any;
2113
+ _setData(series: SeriesBase, pi?: number): void;
2114
+ _setDataGroup(gi: number, pi: number): void;
2115
+ _setName(name: string): void;
2116
+ _setDataPoint(dataPoint: _DataPoint): void;
2117
+ _getValueFmt(): any;
2118
+ private _getValue;
2119
+ private readonly ax;
2120
+ private readonly ay;
1922
2121
  }
1923
2122
  /**
1924
- * Axis interface.
2123
+ * Specifies whether and where the Series is visible.
1925
2124
  */
1926
- export interface _IAxis {
1927
- actualMin: number;
1928
- actualMax: number;
1929
- convert(val: number): number;
2125
+ export declare enum SeriesVisibility {
2126
+ /** The series is visible on the plot and in the legend. */
2127
+ Visible = 0,
2128
+ /** The series is visible only on the plot. */
2129
+ Plot = 1,
2130
+ /** The series is visible only in the legend. */
2131
+ Legend = 2,
2132
+ /** The series is hidden. */
2133
+ Hidden = 3
1930
2134
  }
1931
2135
  /**
1932
- * Specifies whether and where the axis tick marks appear.
2136
+ * Specifies the type of marker to use for the {@link Series.symbolMarker}
2137
+ * property.
2138
+ *
2139
+ * Applies to Scatter, LineSymbols, and SplineSymbols chart types.
1933
2140
  */
1934
- export declare enum TickMark {
1935
- /** No tick marks appear. */
1936
- None = 0,
1937
- /** Tick marks appear outside the plot area. */
1938
- Outside = 1,
1939
- /** Tick marks appear inside the plot area. */
1940
- Inside = 2,
1941
- /** Tick marks cross the axis. */
1942
- Cross = 3
2141
+ export declare enum Marker {
2142
+ /**
2143
+ * Uses a circle to mark each data point.
2144
+ */
2145
+ Dot = 0,
2146
+ /**
2147
+ * Uses a square to mark each data point.
2148
+ */
2149
+ Box = 1
1943
2150
  }
1944
2151
  /**
1945
- * Axis groups display options.
2152
+ * Data series interface
1946
2153
  */
1947
- export declare enum AxisGroupsDisplay {
1948
- /** Hide groups */
1949
- None = 0,
1950
- /** Default group appearance */
1951
- Show = 1,
1952
- /** Show groups as grid */
1953
- ShowGrid = 2
2154
+ export interface _ISeries {
2155
+ style: any;
2156
+ symbolStyle: any;
2157
+ getValues: (dim: number) => number[];
2158
+ getDataType: (dim: number) => DataType;
2159
+ drawLegendItem(engine: IRenderEngine, rect: Rect, index: number): any;
2160
+ measureLegendItem(engine: IRenderEngine, index: number): Size;
2161
+ _setPointIndex(pointIndex: number, elementIndex: number): any;
2162
+ }
2163
+ export declare class DataArray {
2164
+ dataType: DataType;
2165
+ values: Array<number>;
1954
2166
  }
1955
2167
  /**
1956
- * Provides options for axis groups.
2168
+ * Provides arguments for {@link Series} events.
1957
2169
  */
1958
- export interface IAxisGroupsOptions {
2170
+ export declare class SeriesEventArgs extends EventArgs {
2171
+ _series: SeriesBase;
1959
2172
  /**
1960
- * Gets or sets the options for axis groups display.
2173
+ * Initializes a new instance of the {@link SeriesEventArgs} class.
2174
+ *
2175
+ * @param series Specifies the {@link Series} object affected by this event.
1961
2176
  */
1962
- display: AxisGroupsDisplay;
2177
+ constructor(series: SeriesBase);
2178
+ /**
2179
+ * Gets the {@link Series} object affected by this event.
2180
+ */
2181
+ readonly series: SeriesBase;
1963
2182
  }
1964
2183
  /**
1965
- * Represents an axis in the chart.
2184
+ * Represents a series of data points to display in the chart.
1966
2185
  */
1967
- export declare class Axis implements _IAxis {
1968
- _GRIDLINE_WIDTH: number;
1969
- _LINE_WIDTH: number;
1970
- _TICK_WIDTH: number;
1971
- _TICK_HEIGHT: number;
1972
- _TICK_OVERLAP: number;
1973
- _TICK_LABEL_DISTANCE: number;
1974
- private static MAX_MAJOR;
1975
- private static MAX_MINOR;
1976
- _chart: FlexChartCore;
1977
- private _type;
1978
- private _min;
1979
- private _max;
1980
- private _position;
1981
- private _majorUnit;
1982
- private _minorUnit;
1983
- private _majorGrid;
1984
- private _minorGrid;
1985
- private _title;
1986
- private _labelStyle;
1987
- private _reversed;
1988
- private _format;
1989
- _actualMin: number;
1990
- _actualMax: number;
1991
- _axisType: AxisType;
1992
- private _majorTickMarks;
1993
- private _minorTickMarks;
1994
- private _logBase;
1995
- private _labels;
1996
- private _labelAngle;
1997
- private _labelAlign;
1998
- private _axisLine;
1999
- _plotrect: Rect;
2000
- private _szTitle;
2001
- _isTimeAxis: boolean;
2002
- _lbls: string[];
2003
- _values: number[];
2004
- private _rects;
2186
+ export declare class SeriesBase<T = any> implements _ISeries {
2187
+ static _LEGEND_ITEM_WIDTH: number;
2188
+ static _LEGEND_ITEM_HEIGHT: number;
2189
+ static _LEGEND_ITEM_MARGIN: number;
2190
+ private static _DEFAULT_SYM_SIZE;
2191
+ __chart: FlexChartCore;
2005
2192
  private _name;
2006
- private _origin;
2007
- private _overlap;
2008
- private _items;
2009
- private _cv;
2010
2193
  private _binding;
2011
- private _ifmt;
2012
- private _tfmt;
2013
- private static _id;
2014
- private __uniqueId;
2015
- private _parea;
2016
- private _labelPadding;
2017
- private _actualLabels;
2018
- private _labelMin;
2019
- private _labelMax;
2020
- private _groupsPanel;
2021
- private _groupsOptions;
2022
- _axrect: Rect;
2023
- _desiredSize: Size;
2024
- _annoSize: Size;
2025
- _annoSizeBase: Size;
2026
- _hasOrigin: boolean;
2194
+ private _showValues;
2195
+ private _symbolStyle;
2196
+ private _symbolSize;
2197
+ private _style;
2198
+ private _altStyle;
2199
+ _cv: ICollectionView<T>;
2200
+ private _itemsSource;
2201
+ private _values;
2202
+ private _valueDataType;
2203
+ _chartType: ChartType;
2204
+ private _symbolMarker;
2205
+ private _bindingX;
2206
+ private _xvalues;
2207
+ private _xvalueDataType;
2208
+ private _cssClass;
2209
+ private _visibility;
2210
+ private _axisX;
2211
+ private _axisY;
2212
+ private __plotter;
2213
+ private _interpolateNulls;
2214
+ private _tooltipContent;
2215
+ private _itemFormatter;
2216
+ private _cache;
2217
+ _legendElement: SVGAElement;
2027
2218
  _hostElement: SVGGElement;
2028
- _vals: any;
2219
+ _pointIndexes: number[];
2029
2220
  /**
2030
- * Initializes a new instance of the {@link Axis} class.
2221
+ * Initializes a new instance of the {@link SeriesBase} class.
2031
2222
  *
2032
- * @param position The position of the axis on the chart.
2033
- */
2034
- constructor(position?: Position);
2035
- /**
2036
- * Gets the axis host element.
2223
+ * @param options JavaScript object containing initialization data for the object.
2037
2224
  */
2038
- readonly hostElement: SVGGElement;
2225
+ constructor(options?: any);
2039
2226
  /**
2040
- * Gets the actual axis minimum.
2227
+ * Gets or sets a value that determines whether to interpolate
2228
+ * null values in the data.
2041
2229
  *
2042
- * It returns a number or a Date object (for time-based data).
2043
- */
2044
- readonly actualMin: any;
2230
+ * If true, the series interpolates the value of any missing data
2231
+ * based on neighboring points. If false, it leaves a break in
2232
+ * lines and areas at the points with null values.
2233
+ *
2234
+ * The default value for this property is <b>false</b>.
2235
+ */
2236
+ interpolateNulls: boolean;
2045
2237
  /**
2046
- * Gets the actual axis maximum.
2047
- *
2048
- * It returns a number or a Date object (for time-based data).
2049
- */
2050
- readonly actualMax: any;
2238
+ * Gets or sets the series style.
2239
+ */
2240
+ style: any;
2051
2241
  /**
2052
- * Gets or sets the minimum value shown on the axis.
2242
+ * Gets or sets the alternate style for the series.
2053
2243
  *
2054
- * The value can be a number or a Date object (for time-based data).
2244
+ * The alternate style is used for negative values in Bar, Column,
2245
+ * and Scatter charts; and for rising values in financial chart types
2246
+ * like Candlestick, LineBreak, EquiVolume etc.
2055
2247
  *
2056
- * The default value for this property is <b>null</b>, which causes
2057
- * the chart to calculate the minimum value based on the data.
2248
+ * The default value for this property is <b>null</b>, which causes the
2249
+ * series to use the default style.
2058
2250
  */
2059
- min: any;
2251
+ altStyle: any;
2060
2252
  /**
2061
- * Gets or sets the maximum value shown on the axis.
2062
- *
2063
- * The value can be a number or a Date object (for time-based data).
2253
+ * Gets or sets the series symbol style.
2064
2254
  *
2065
- * The default value for this property is <b>null</b>, which causes
2066
- * the chart to calculate the maximum value based on the data.
2255
+ * Applies to Bar, Column, Scatter, LineSymbols, and SplineSymbols chart types.
2067
2256
  */
2068
- max: any;
2257
+ symbolStyle: any;
2069
2258
  /**
2070
- * Gets or sets a value indicating whether the axis is
2071
- * reversed (top to bottom or right to left).
2259
+ * Gets or sets the size (in pixels) of the symbols used to render this {@link Series}.
2260
+ * Applies to Scatter, LineSymbols, and SplineSymbols chart types.
2072
2261
  *
2073
- * The default value for this property is <b>false</b>.
2262
+ * The default value for this property is <b>10</b> pixels.
2074
2263
  */
2075
- reversed: boolean;
2264
+ symbolSize: number;
2076
2265
  /**
2077
- * Gets or sets the position of the axis with respect to the plot area.
2078
- * TopLeft, TopRight, BottomLeft, BottomRight, LeftTop, LeftBottom, RightTop and RightBottom are not valid for Axis Position. If set it would be changed to default Position of respective axis.
2079
- * When Position set to X-Axis, None/Top/Bottom would be applicable and if other values are set, it would be change to X-Axis default Position value.
2080
- * When Position set to Y-Axis, None/Left/Right would be applicable and if other values are set, it would be changed to Y-Axis default Position value.
2266
+ * Gets or sets the shape of marker to use for each data point in the series.
2267
+ * Applies to Scatter, LineSymbols, and SplineSymbols chart types.
2268
+ *
2269
+ * The default value for this property is <b>Marker.Dot</b>.
2081
2270
  */
2082
- position: Position;
2271
+ symbolMarker: Marker;
2083
2272
  /**
2084
- * Gets or sets the number of units between axis labels.
2085
- *
2086
- * If the axis contains date values, then the units are
2087
- * expressed in days.
2273
+ * Gets or sets the name of the property that contains Y values for the series.
2088
2274
  */
2089
- majorUnit: number;
2275
+ binding: string;
2090
2276
  /**
2091
- * Gets or sets the number of units between minor axis ticks.
2092
- *
2093
- * If the axis contains date values, then the units are
2094
- * expressed in days.
2095
- */
2096
- minorUnit: number;
2277
+ * Gets or sets the name of the property that contains X values for the series.
2278
+ */
2279
+ bindingX: string;
2097
2280
  /**
2098
- * Gets or sets the axis name.
2281
+ * Gets or sets the series name.
2282
+ *
2283
+ * The series name is displayed in the chart legend. Any series without a name
2284
+ * does not appear in the legend.
2099
2285
  */
2100
2286
  name: string;
2101
2287
  /**
2102
- * Gets or sets the title text shown next to the axis.
2288
+ * Gets or sets the array or {@link ICollectionView} object that contains the series data.
2103
2289
  */
2104
- title: string;
2290
+ itemsSource: any;
2105
2291
  /**
2106
- * Gets or sets the format string used for the axis labels
2107
- * (see {@link Globalize}).
2292
+ * Gets the {@link ICollectionView} object that contains the data for this series.
2108
2293
  */
2109
- format: string;
2294
+ readonly collectionView: ICollectionView<T>;
2110
2295
  /**
2111
- * Gets or sets a value indicating whether the axis includes grid lines.
2296
+ * Gets the {@link FlexChart} object that owns this series.
2112
2297
  */
2113
- majorGrid: boolean;
2298
+ readonly chart: FlexChartCore;
2114
2299
  /**
2115
- * Gets or sets the location of the axis tick marks.
2300
+ * Gets the series host element.
2116
2301
  */
2117
- majorTickMarks: TickMark;
2302
+ readonly hostElement: SVGGElement;
2118
2303
  /**
2119
- * Gets or sets a value indicating whether the axis includes minor grid lines.
2304
+ * Gets the series element in the legend.
2120
2305
  */
2121
- minorGrid: boolean;
2306
+ readonly legendElement: SVGGElement;
2122
2307
  /**
2123
- * Gets or sets the location of the minor axis tick marks.
2308
+ * Gets or sets the series CSS class.
2124
2309
  */
2125
- minorTickMarks: TickMark;
2310
+ cssClass: string;
2126
2311
  /**
2127
- * Gets or sets a value indicating whether the axis line is visible.
2312
+ * Gets or sets an enumerated value indicating whether and where the series appears.
2128
2313
  *
2129
- * The default value for this property is <b>true</b>.
2314
+ * The default value for this property is <b>SeriesVisibility.Visible</b>.
2130
2315
  */
2131
- axisLine: boolean;
2316
+ visibility: SeriesVisibility;
2132
2317
  /**
2133
- * Gets or sets a value indicating whether the axis labels are visible.
2318
+ * Gets or sets the series specific tooltip content.
2134
2319
  *
2135
- * The default value for this property is <b>true</b>.
2320
+ * The property overrides the content of chart tooltip content.
2136
2321
  */
2137
- labels: boolean;
2322
+ tooltipContent: any;
2138
2323
  /**
2139
- * Gets or sets the label alignment.
2324
+ * Gets or sets the item formatter function that allows you to customize
2325
+ * the appearance of the series.
2140
2326
  *
2141
- * By default the labels are centered. The supported values are
2142
- * 'left' and 'right for the X-axis, 'top' and 'bottom' for the Y-axis.
2327
+ * The property overrides the chart's itemFormatter {@link wijmo.chart.FlexChart.itemFormatter}.
2143
2328
  */
2144
- labelAlign: string;
2329
+ itemFormatter: Function;
2145
2330
  /**
2146
- * Gets or sets the rotation angle of the axis labels.
2331
+ * Gets a {@link HitTestInfo} object with information about the specified point.
2147
2332
  *
2148
- * The angle is measured in degrees with valid values
2149
- * ranging from -90 to 90.
2333
+ * @param pt The point to investigate, in window coordinates.
2334
+ * @param y The Y coordinate of the point (if the first parameter is a number).
2150
2335
  */
2151
- labelAngle: number;
2152
- /**
2153
- * Gets or sets a value that determines whether the minimum axis value should be always labeled.
2154
- *
2155
- * The default value for this property is **false**.
2156
- */
2157
- labelMin: boolean;
2158
- /**
2159
- * Gets or sets a value that determines whether the maximum axis value should be always labeled.
2160
- *
2161
- * The default value for this property is **false**.
2162
- */
2163
- labelMax: boolean;
2164
- /**
2165
- * Gets or sets the value at which an axis crosses the perpendicular axis.
2166
- **/
2167
- origin: number;
2336
+ hitTest(pt: any, y?: number): HitTestInfo;
2168
2337
  /**
2169
- * Gets or sets a value indicating how to handle overlapping axis labels.
2338
+ * Gets the plot element that corresponds to the specified point index.
2170
2339
  *
2171
- * The default value for this property is <b>OverlappingLabels.Auto</b>.
2340
+ * @param pointIndex The index of the data point.
2172
2341
  */
2173
- overlappingLabels: OverlappingLabels;
2342
+ getPlotElement(pointIndex: number): any;
2174
2343
  /**
2175
- * Gets or sets the items source for the axis labels.
2176
- *
2177
- * Names of the properties are specified by the {@link Axis.binding} property.
2178
- *
2179
- * For example:
2180
- *
2181
- * <pre>
2182
- * // default value for Axis.binding is 'value,text'
2183
- * chart.axisX.itemsSource = [ { value:1, text:'one' }, { value:2, text:'two' } ];
2184
- * </pre>
2344
+ * Gets or sets the X-axis for the series.
2185
2345
  */
2186
- itemsSource: any;
2346
+ axisX: Axis;
2187
2347
  /**
2188
- * Gets or sets the comma-separated property names for the
2189
- * {@link Axis.itemsSource} property to use in axis labels.
2190
- *
2191
- * The first name specifies the value on the axis, the second represents the corresponding
2192
- * axis label. The default value is 'value,text'.
2348
+ * Gets or sets the Y-axis for the series.
2193
2349
  */
2194
- binding: string;
2350
+ axisY: Axis;
2195
2351
  /**
2196
- * Gets or sets the itemFormatter function for the axis labels.
2197
- *
2198
- * If specified, the function takes two parameters:
2199
- * <ul>
2200
- * <li><b>render engine</b>: The {@link IRenderEngine} object to be used
2201
- * in formatting the labels.</li>
2202
- * <li><b>current label</b>: An object with the following properties:
2203
- * <ul>
2204
- * <li><b>value</b>: The value of the axis label to format.</li>
2205
- * <li><b>text</b>: The text to use in the label.</li>
2206
- * <li><b>pos</b>: The position in control coordinates at which
2207
- * the label is to be rendered.</li>
2208
- * <li><b>cls</b>: The CSS class to be applied to the label.</li>
2209
- * </ul></li>
2210
- * </ul>
2211
- *
2212
- * The function returns the label parameters of labels for which
2213
- * properties are modified.
2352
+ * Initializes the series by copying the properties from a given object.
2214
2353
  *
2215
- * For example:
2216
- * <pre>
2217
- * chart.axisY.itemFormatter = function(engine, label) {
2218
- * if (label.val &gt; 5){
2219
- * engine.textFill = 'red'; // red text
2220
- * label.cls = null; // no default CSS
2221
- * }
2222
- * return label;
2223
- * }
2224
- * </pre>
2354
+ * @param options JavaScript object containing initialization data for the series.
2225
2355
  */
2226
- itemFormatter: Function;
2356
+ initialize(options: any): void;
2227
2357
  /**
2228
- * Gets or sets the logarithmic base of the axis.
2229
- *
2230
- * If the base is not specified the axis uses a linear scale.
2358
+ * Converts a {@link Point} from control coordinates to series data coordinates.
2231
2359
  *
2232
- * Use the {@link logBase} property to spread data that is clustered
2233
- * around the origin. This is common in several financial and economic
2234
- * data sets.
2360
+ * @param pt The point to convert, in control coordinates.
2361
+ * @return The point in series data coordinates.
2235
2362
  */
2236
- logBase: number;
2363
+ pointToData(pt: Point): Point;
2237
2364
  /**
2238
- * Gets or sets label groups settings for the axis.
2239
- *
2240
- * Label groups are created by modifying the {@link ICollectionView.groupDescriptions}
2241
- * property of the {@link ICollectionView} object used as an {@link FlexChart.itemsSource}.
2242
- *
2243
- * The default value is **null** and the axis label groups are not displayed.
2244
- *
2245
- * To display groups you should create groups in collection view and specify the groupsOptions for the axis.
2246
- *
2247
- * For example,
2365
+ * Converts a {@link Point} from series data coordinates to control coordinates.
2248
2366
  *
2249
- * ```typescript
2250
- * let view = new CollectionView( getData(), {
2251
- * groupDescriptions: [
2252
- * new PropertyGroupDescription('category'),
2253
- * new PropertyGroupDescription('subCategory')]
2254
- * });
2255
- * const chart = new FlexChart('#theChart', {
2256
- * itemsSource: view,
2257
- * bindingX: 'product',
2258
- * series: [ { binding:'sales' } ],
2259
- * axisX: { groupsOptions: { display : AxisGroupsDisplay.Show } },
2260
- * });
2261
- * ```
2262
- */
2263
- groupsOptions: IAxisGroupsOptions;
2264
- /**
2265
- * Gets the array with actual axis labels.
2367
+ * @param pt {@link Point} in series data coordinates.
2368
+ * @return The {@link Point} in control coordinates.
2266
2369
  */
2267
- readonly axisLabels: string[];
2268
- _getLogBase(): number;
2269
- _isLogAxis(): boolean;
2370
+ dataToPoint(pt: Point): Point;
2270
2371
  /**
2271
- * Gets or sets the plot area for the axis.
2372
+ * Occurs when series is rendering.
2272
2373
  */
2273
- plotArea: PlotArea;
2374
+ readonly rendering: Event<SeriesBase<any>, SeriesRenderingEventArgs>;
2274
2375
  /**
2275
- * Gets or sets the label padding, in pixels.
2376
+ * Raises the {@link rendering} event.
2276
2377
  *
2277
- * The default value for this property is <b>5</b> pixels.
2278
- */
2279
- labelPadding: number;
2280
- readonly _groupClass: string;
2281
- /**
2282
- * Occurs when the axis range changes.
2378
+ * @param engine The {@link IRenderEngine} object used to render the series.
2379
+ * @param index The index of the series to render.
2380
+ * @param count Total number of the series to render.
2283
2381
  */
2284
- readonly rangeChanged: Event<Axis, EventArgs>;
2382
+ onRendering(engine: IRenderEngine, index: number, count: number): boolean;
2285
2383
  /**
2286
- * Raises the {@link rangeChanged} event.
2384
+ * Occurs when series is rendered.
2287
2385
  */
2288
- onRangeChanged(e?: EventArgs): void;
2289
- _getPosition(): Position;
2290
- _isOverlapped(engine: IRenderEngine, w: number, lblClass: string, axisType: AxisType): boolean;
2291
- _actualAngle: number;
2386
+ readonly rendered: Event<SeriesBase<any>, RenderEventArgs>;
2292
2387
  /**
2293
- * Calculates the axis height.
2388
+ * Raises the {@link rendered} event.
2294
2389
  *
2295
- * @param engine Rendering engine.
2296
- * @param maxw Max width.
2390
+ * @param engine The {@link IRenderEngine} object used to render the series.
2297
2391
  */
2298
- _getHeight(engine: IRenderEngine, maxw: number): number;
2299
- _updateAutoFormat(delta: number): number;
2300
- _getActualRange(): number;
2301
- _updateActualLimitsByChartType(labels: any, min: any, max: any): {
2302
- min: any;
2303
- max: any;
2304
- };
2392
+ onRendered(engine: IRenderEngine): void;
2393
+ _chart: FlexChartCore;
2394
+ _getSymbolSize(): number;
2395
+ _plotter: _IPlotter;
2396
+ getDataType(dim: number): DataType;
2397
+ getValues(dim: number): number[];
2305
2398
  /**
2306
- * Update the actual axis limits based on a specified data range.
2399
+ * Draw a legend item at the specified position.
2307
2400
  *
2308
- * @param dataType Data type.
2309
- * @param dataMin Data minimum.
2310
- * @param dataMax Data maximum.
2311
- * @param labels Category labels(category axis).
2312
- * @param values Values(value axis).
2401
+ * @param engine The rendering engine to use.
2402
+ * @param rect The position of the legend item.
2403
+ * @param index Index of legend item(for series with multiple legend items).
2313
2404
  */
2314
- _updateActualLimits(dataType: DataType, dataMin: number, dataMax: number, labels?: string[], values?: number[]): void;
2405
+ drawLegendItem(engine: IRenderEngine, rect: Rect, index: number): void;
2406
+ private _getLegendStyle;
2315
2407
  /**
2316
- * Set the axis position.
2408
+ * Measures height and width of the legend item.
2317
2409
  *
2318
- * @param axisRect Axis rectangle.
2319
- * @param plotRect Plot area rectangle.
2410
+ * @param engine The rendering engine to use.
2411
+ * @param index Index of legend item(for series with multiple legend items).
2320
2412
  */
2321
- _layout(axisRect: Rect, plotRect: Rect): void;
2322
- _hasVisibileSeries(): boolean;
2413
+ measureLegendItem(engine: IRenderEngine, index: number): Size;
2323
2414
  /**
2324
- * Render the axis.
2325
- *
2326
- * @param engine Rendering engine.
2415
+ * Returns number of series items in the legend.
2327
2416
  */
2328
- _render(engine: IRenderEngine): void;
2329
- _renderLineAndTitle(engine: any): void;
2330
- _renderMinor(engine: any, vals: any, isCategory: any): void;
2331
- _renderRotatedText(engine: IRenderEngine, val: any, text: string, pos: Point, halign: any, valign: any, center: Point, angle: number, className: string, groupClassName?: string, style?: any): void;
2332
- _getFormattedItem(engine: IRenderEngine, val: any, text: string, pos: Point, className: string, readOnly?: boolean): {
2333
- val: any;
2334
- text: string;
2335
- pos: Point;
2336
- cls: string;
2337
- };
2338
- _renderLabelsAndTicks(engine: any, index: any, val: any, sval: any, labelAngle: any, tickMarks: any, showLabel: any, t1: any, t2: any): boolean;
2339
- _xCross(x: number): boolean;
2340
- _createMinors(engine: IRenderEngine, vals: number[], isVert: boolean, isNear: boolean, isCategory: boolean): void;
2341
- _renderMinors(engine: IRenderEngine, ticks: number[], isVert: boolean, isNear: boolean): void;
2342
- _renderLabel(engine: IRenderEngine, val: number, text: string, pos: Point, ha: any, va: any, className?: string): boolean;
2343
- private _renderRotatedLabel;
2344
- private _getLabelAlign;
2345
- _addMinMaxLabels(vals: number[], lbls: string[]): void;
2346
- _customConvert: Function;
2347
- _customConvertBack: Function;
2417
+ legendItemLength(): number;
2348
2418
  /**
2349
- * Converts the specified value from data to pixel coordinates.
2419
+ * Returns the series bounding rectangle in data coordinates.
2350
2420
  *
2351
- * @param val The data value to convert.
2352
- * @param maxValue The max value of the data, it's optional.
2353
- * @param minValue The min value of the data, it's optional.
2354
- */
2355
- convert(val: number, maxValue?: number, minValue?: number): number;
2356
- /**
2357
- * Converts the specified value from pixel to data coordinates.
2421
+ * If getDataRect() returns null, the limits are calculated automatically based on the data values.
2358
2422
  *
2359
- * @param val The pixel coordinates to convert back.
2423
+ * @param currentRect The current rectangle of chart. This parameter is optional.
2424
+ * @param calculatedRect The calculated rectangle of chart. This parameter is optional.
2360
2425
  */
2361
- convertBack(val: number): number;
2426
+ getDataRect(currentRect?: Rect, calculatedRect?: Rect): Rect;
2427
+ _getChartType(): ChartType;
2362
2428
  /**
2363
- * Gets the axis type.
2429
+ * Clears any cached data values.
2364
2430
  */
2365
- readonly axisType: AxisType;
2366
- _getMinNum(): number;
2367
- _getMaxNum(): number;
2368
- _getTitleSize(): Size;
2369
- private _invalidate;
2431
+ _clearValues(): void;
2432
+ _getBinding(index: number): string;
2433
+ _getBindingValues(index: number): number[];
2434
+ _getItem(pointIndex: number): any;
2435
+ _getLength(): number;
2436
+ _setPointIndex(pointIndex: number, elementIndex: number): void;
2437
+ private _getDataRect;
2438
+ _isCustomAxisX(): boolean;
2439
+ _isCustomAxisY(): boolean;
2440
+ _getAxisX(): Axis;
2441
+ _getAxisY(): Axis;
2442
+ _measureLegendItem(engine: IRenderEngine, text: string): Size;
2443
+ _drawFunnelLegendItem(engine: IRenderEngine, rect: Rect, index: number, style: any, symbolStyle: any): void;
2444
+ private _getFunnelLegendName;
2445
+ _drawLegendItem(engine: IRenderEngine, rect: Rect, chartType: ChartType, text: string, style: any, symbolStyle: any): void;
2370
2446
  private _cvCollectionChanged;
2371
- private _createLabels;
2372
- private _createLogarithmicLabels;
2373
- _createTimeLabels(start: number, len: number, vals: number[], lbls: string[]): void;
2374
- _formatValue(val: number): string;
2375
- _hitTest(point: Point): any;
2376
- private _formatAxisValue;
2377
- private _findFormat;
2378
- private _calcMajorUnit;
2379
- private _getAnnoNumber;
2380
- private _nicePrecision;
2381
- private _niceTickNumber;
2382
- _niceNumber(x: number, exp: number, round: boolean): number;
2383
- readonly _uniqueId: number;
2447
+ private _cvCurrentChanged;
2448
+ _bindValues(items: Array<any>, binding: string, isX?: boolean): DataArray;
2449
+ _invalidate(): void;
2450
+ _indexToPoint(pointIndex: number): Point;
2451
+ _getSymbolFill(seriesIndex?: number): string;
2452
+ _getSymbolStroke(seriesIndex?: number): string;
2453
+ _getAltSymbolStroke(seriesIndex?: number): string;
2454
+ _getAltSymbolFill(seriesIndex?: number): string;
2455
+ _renderLabels(engine: IRenderEngine, smap: _IHitArea[], chart: FlexChartCore, lblAreas: _RectArea[]): void;
2384
2456
  }
2385
2457
  /**
2386
- * Represents a collection of {@link Axis} objects in a {@link FlexChart} control.
2458
+ * Plots data series.
2387
2459
  */
2388
- export declare class AxisCollection extends ObservableArray {
2389
- /**
2390
- * Gets an axis by name.
2391
- *
2392
- * @param name The name of the axis to look for.
2393
- * @return The axis object with the specified name, or null if not found.
2394
- */
2395
- getAxis(name: string): Axis;
2396
- /**
2397
- * Gets the index of an axis by name.
2398
- *
2399
- * @param name The name of the axis to look for.
2400
- * @return The index of the axis with the specified name, or -1 if not found.
2401
- */
2402
- indexOf(name: string): number;
2403
- }
2404
- export declare class _AxisLabel {
2405
- private _value;
2406
- private _label;
2407
- private _start;
2408
- private _end;
2409
- private _rect;
2410
- constructor(label: string, start: number, length: number);
2411
- readonly value: number;
2412
- readonly label: string;
2413
- readonly start: number;
2414
- readonly end: number;
2415
- rect: Rect;
2416
- }
2417
- declare class _AxisGroup {
2418
- private _labels;
2419
- private _index;
2420
- private _size;
2421
- private _level;
2422
- private _last;
2423
- constructor(level: number, last?: boolean);
2424
- readonly labels: _AxisLabel[];
2425
- index: number;
2426
- height: number;
2427
- width: number;
2428
- readonly level: number;
2429
- getSize(engine: IRenderEngine, className?: string, groupClass?: string): Size;
2430
- render(engine: IRenderEngine, axis: Axis, value: number, className?: string, groupClass?: string): void;
2431
- hitTest(point: Point): _AxisLabel;
2432
- private renderLinesX;
2433
- private renderLinesY;
2434
- private drawLine;
2435
- private _trimText;
2436
- }
2437
- export declare class _AxisGroups {
2438
- private _groups;
2439
- private _axis;
2440
- private _height;
2441
- private _margin;
2442
- constructor(axis: Axis);
2443
- readonly groups: _AxisGroup[];
2444
- readonly axis: Axis;
2445
- createGroups(): void;
2446
- private createGroup;
2447
- private layoutGroups;
2448
- getHeight(engine: IRenderEngine): number;
2449
- layout(): void;
2450
- render(engine: IRenderEngine): void;
2451
- hitTest(point: Point): _AxisLabel;
2452
- }
2453
- export declare class _DataPoint {
2454
- private _seriesIndex;
2455
- private _pointIndex;
2456
- private _dataX;
2457
- private _dataY;
2458
- constructor(seriesIndex: number, pointIndex: number, dataX: number, dataY: number);
2459
- readonly seriesIndex: number;
2460
- readonly pointIndex: number;
2461
- dataX: number;
2462
- dataY: number;
2463
- }
2464
- export declare enum _MeasureOption {
2465
- X = 0,
2466
- Y = 1,
2467
- XY = 2
2468
- }
2469
- export declare class _RectArea implements _IHitArea {
2470
- private _rect;
2471
- constructor(rect: Rect);
2472
- readonly rect: Rect;
2473
- tag: any;
2474
- ignoreLabel: boolean;
2475
- contains(pt: Point): boolean;
2476
- pointDistance(pt1: Point, pt2: Point, option: _MeasureOption): number;
2477
- distance(pt: Point): number;
2478
- }
2479
- export declare class _CircleArea implements _IHitArea {
2480
- private _center;
2481
- private _rad;
2482
- private _rad2;
2483
- tag: any;
2484
- ignoreLabel: boolean;
2485
- constructor(center: Point, radius: number);
2486
- setRadius(radius: number): void;
2487
- readonly center: Point;
2488
- contains(pt: Point): boolean;
2489
- distance(pt: Point): number;
2490
- }
2491
- export declare class _LinesArea implements _IHitArea {
2492
- private _x;
2493
- private _y;
2494
- tag: any;
2495
- ignoreLabel: boolean;
2496
- constructor(x: any, y: any);
2497
- contains(pt: Point): boolean;
2498
- distance(pt: Point): number;
2499
- }
2500
- export declare class _HitResult {
2501
- area: _IHitArea;
2502
- distance: number;
2503
- }
2504
- export declare class _HitTester {
2505
- _chart: FlexChartCore;
2506
- _map: {
2507
- [key: number]: Array<_IHitArea>;
2508
- };
2509
- constructor(chart: FlexChartCore);
2510
- add(area: _IHitArea, seriesIndex: number): void;
2511
- clear(): void;
2512
- hitTest(pt: Point, testLines?: boolean): _HitResult;
2513
- hitTestSeries(pt: Point, seriesIndex: any): _HitResult;
2460
+ export interface _IPlotter {
2461
+ chart: FlexChartCore;
2462
+ dataInfo: _DataInfo;
2463
+ hitTester: _HitTester;
2464
+ seriesIndex: number;
2465
+ seriesCount: number;
2466
+ clipping: boolean;
2467
+ stacking: Stacking;
2468
+ rotated: boolean;
2469
+ adjustLimits(dataInfo: _DataInfo, plotRect: Rect): Rect;
2470
+ plotSeries(engine: IRenderEngine, ax: _IAxis, ay: _IAxis, series: _ISeries, palette: _IPalette, iser: number, nser: number, customRender?: Function): any;
2471
+ _renderLabels(engine: IRenderEngine, series: SeriesBase, smap: _IHitArea[], chart: FlexChartCore, lblAreas: _RectArea[]): any;
2472
+ _renderLabel(engine: IRenderEngine, map: _IHitArea, dp: _DataPoint, chart: FlexChartCore, lbl: DataLabel, series: SeriesBase, offset: number, lblAreas: _RectArea[]): any;
2473
+ load(): any;
2474
+ unload(): any;
2514
2475
  }
2515
2476
  /**
2516
- * Specifies the type of chart element found by the hitTest method.
2477
+ * Base class for chart plotters of all types (bar, line, area).
2517
2478
  */
2518
- export declare enum ChartElement {
2519
- /** The area within the axes. */
2520
- PlotArea = 0,
2521
- /** X-axis. */
2522
- AxisX = 1,
2523
- /** Y-axis. */
2524
- AxisY = 2,
2525
- /** The area within the control but outside the axes. */
2526
- ChartArea = 3,
2527
- /** The chart legend. */
2528
- Legend = 4,
2529
- /** The chart header. */
2530
- Header = 5,
2531
- /** The chart footer. */
2532
- Footer = 6,
2533
- /** A chart series. */
2534
- Series = 7,
2535
- /** A chart series symbol. */
2536
- SeriesSymbol = 8,
2537
- /** A data label. */
2538
- DataLabel = 9,
2539
- /** No chart element. */
2540
- None = 10
2479
+ export declare class _BasePlotter {
2480
+ _DEFAULT_WIDTH: number;
2481
+ _DEFAULT_SYM_SIZE: number;
2482
+ clipping: boolean;
2483
+ chart: FlexChartCore;
2484
+ hitTester: _HitTester;
2485
+ dataInfo: _DataInfo;
2486
+ seriesIndex: number;
2487
+ seriesCount: number;
2488
+ clear(): void;
2489
+ _renderLabels(engine: IRenderEngine, series: SeriesBase, smap: _IHitArea[], chart: FlexChartCore, lblAreas: _RectArea[]): void;
2490
+ _renderLabel(engine: IRenderEngine, map: _IHitArea, dp: _DataPoint, chart: FlexChartCore, lbl: DataLabel, series: SeriesBase, offset: number, lblAreas: _RectArea[]): void;
2491
+ _getPointAndPosition(pt: Point, pos: LabelPosition, map: _IHitArea, chart: FlexChartCore): void;
2492
+ _getLabelPoint(series: SeriesBase, dataPoint: _DataPoint): Point;
2493
+ _renderLabelAndBorder(engine: IRenderEngine, s: string, pos: LabelPosition, offset: number, pt: Point, line: boolean, marg: any, border: boolean): Rect;
2494
+ getOption(name: string, parent?: string): any;
2495
+ getNumOption(name: string, parent?: string): number;
2496
+ getItemFormatter(series: _ISeries): Function;
2497
+ static cloneStyle(style: any, ignore: string[]): any;
2498
+ isValid(datax: number, datay: number, ax: _IAxis, ay: _IAxis): boolean;
2499
+ load(): void;
2500
+ unload(): void;
2501
+ _createSteps(x: number[], y: number[], num?: number): {
2502
+ x: number[];
2503
+ y: number[];
2504
+ };
2541
2505
  }
2542
2506
  /**
2543
- * Contains information about a part of a {@link FlexChart} control at
2544
- * a specified page coordinate.
2507
+ * Represents a series of data points to display in the chart.
2508
+ *
2509
+ * The {@link Series} class supports all basic chart types. You may define
2510
+ * a different chart type on each {@link Series} object that you add to the
2511
+ * {@link FlexChart} series collection. This overrides the {@link chartType}
2512
+ * property set on the chart that is the default for all {@link Series} objects
2513
+ * in its collection.
2545
2514
  */
2546
- export declare class HitTestInfo {
2547
- private _chart;
2548
- private _pt;
2549
- private _series;
2550
- private _pointIndex;
2551
- _chartElement: ChartElement;
2552
- _dist: number;
2553
- private _item;
2554
- private _x;
2555
- private __xfmt;
2556
- private _y;
2557
- private __yfmt;
2558
- private _name;
2559
- private _groupIndex;
2515
+ export declare class Series extends SeriesBase {
2560
2516
  /**
2561
- * Initializes a new instance of the {@link HitTestInfo} class.
2517
+ * Gets or sets the chart type for a specific series, overriding the chart type
2518
+ * set on the overall chart.
2562
2519
  *
2563
- * @param chart The chart control.
2564
- * @param point The original point in window coordinates.
2565
- * @param element The chart element.
2566
- */
2567
- constructor(chart: FlexChartBase, point: Point, element?: ChartElement);
2568
- /**
2569
- * Gets the {@link FlexChartBase} that owns this {@link HitTestInfo}.
2570
- */
2571
- readonly chart: FlexChartBase;
2572
- /**
2573
- * Gets the point, in control coordinates,
2574
- * that this {@link HitTestInfo} refers to.
2575
- */
2576
- readonly point: Point;
2577
- /**
2578
- * Gets the chart series at the specified coordinates.
2579
- */
2580
- readonly series: SeriesBase;
2581
- /**
2582
- * Gets the data point index at the specified coordinates.
2583
- */
2584
- readonly pointIndex: number;
2585
- /**
2586
- * Gets the chart element at the specified coordinates.
2520
+ * The default value for this property is <b>null</b>, which causes the
2521
+ * series to use chart type defined by the parent chart.
2587
2522
  */
2588
- readonly chartElement: ChartElement;
2523
+ chartType: ChartType;
2524
+ }
2525
+ /**
2526
+ * The {@link FlexPie} control provides pie and doughnut charts with selectable
2527
+ * slices.
2528
+ *
2529
+ * To use the {@link FlexPie} control, set the {@link FlexPie.itemsSource} property
2530
+ * to an array containing the data and use the {@link FlexPie.binding} and
2531
+ * {@link FlexPie.bindingName} properties to set the properties that contain
2532
+ * the item values and names.
2533
+ */
2534
+ export declare class FlexPie extends FlexChartBase {
2535
+ private static _MARGIN;
2536
+ private static _CSS_GROUP_TITLE;
2537
+ private _binding;
2538
+ private _bindingName;
2539
+ _areas: any[];
2540
+ private _keywords;
2541
+ private _startAngle;
2542
+ private _innerRadius;
2543
+ private _offset;
2544
+ private _reversed;
2545
+ private _isAnimated;
2546
+ private _selectedItemPosition;
2547
+ private _selectedItemOffset;
2548
+ private _pieGroups;
2549
+ _rotationAngles: number[];
2550
+ private _centers;
2551
+ _radius: number;
2552
+ private _selectedOffset;
2553
+ private _selectedIndex;
2554
+ private _angles;
2555
+ private _selectionAnimationID;
2556
+ private _colRowLens;
2557
+ private _lbl;
2558
+ private _titles;
2559
+ private _innerText;
2560
+ private _innerTextStyle;
2561
+ private _chartsPerLine;
2562
+ _values: number[][];
2563
+ _labels: string[];
2564
+ _pels: any[];
2565
+ _sum: number;
2566
+ _sums: number[];
2567
+ _bindingSeparator: string;
2589
2568
  /**
2590
- * Gets the distance to the closest data point.
2569
+ * Initializes a new instance of the {@link FlexPie} class.
2570
+ *
2571
+ * @param element The DOM element that hosts the control, or a selector for the host element (e.g. '#theCtrl').
2572
+ * @param options A Javascript object containing initialization data for the control.
2591
2573
  */
2592
- readonly distance: number;
2574
+ constructor(element: any, options?: any);
2593
2575
  /**
2594
- * Gets the data object that corresponds to the closest data point.
2576
+ * Gets or sets the name of the property that contains the chart values.
2595
2577
  */
2596
- readonly item: any;
2578
+ binding: string;
2597
2579
  /**
2598
- * Gets the x-value of the closest data point.
2580
+ * Gets or sets the name of the property that contains the name of the data items.
2599
2581
  */
2600
- readonly x: any;
2582
+ bindingName: string;
2601
2583
  /**
2602
- * Gets the y-value of the closest data point.
2584
+ * Gets or sets the starting angle for the pie slices, in degrees.
2585
+ *
2586
+ * Angles are measured clockwise, starting at the 9 o'clock position.
2587
+ *
2588
+ * The default value for this property is <b>0</b>.
2603
2589
  */
2604
- readonly y: any;
2605
- readonly value: any;
2606
- readonly name: any;
2590
+ startAngle: number;
2607
2591
  /**
2608
- * Gets the group index for the closest data point.
2609
- */
2610
- readonly groupIndex: number;
2611
- readonly _xfmt: any;
2612
- readonly _yfmt: any;
2613
- _setData(series: SeriesBase, pi?: number): void;
2614
- _setDataGroup(gi: number, pi: number): void;
2615
- _setName(name: string): void;
2616
- _setDataPoint(dataPoint: _DataPoint): void;
2617
- _getValueFmt(): any;
2618
- private _getValue;
2619
- private readonly ax;
2620
- private readonly ay;
2621
- }
2622
- /**
2623
- * Specifies whether and where the Series is visible.
2624
- */
2625
- export declare enum SeriesVisibility {
2626
- /** The series is visible on the plot and in the legend. */
2627
- Visible = 0,
2628
- /** The series is visible only on the plot. */
2629
- Plot = 1,
2630
- /** The series is visible only in the legend. */
2631
- Legend = 2,
2632
- /** The series is hidden. */
2633
- Hidden = 3
2634
- }
2635
- /**
2636
- * Specifies the type of marker to use for the {@link Series.symbolMarker}
2637
- * property.
2638
- *
2639
- * Applies to Scatter, LineSymbols, and SplineSymbols chart types.
2640
- */
2641
- export declare enum Marker {
2592
+ * Gets or sets the offset of the slices from the pie center.
2593
+ *
2594
+ * The offset is measured as a fraction of the pie radius.
2595
+ *
2596
+ * The default value for this property is <b>0</b>.
2597
+ */
2598
+ offset: number;
2642
2599
  /**
2643
- * Uses a circle to mark each data point.
2600
+ * Gets or sets the size of the pie's inner radius.
2601
+ *
2602
+ * The inner radius is measured as a fraction of the pie radius.
2603
+ *
2604
+ * The default value for this property is zero, which creates
2605
+ * a pie. Setting this property to values greater than zero
2606
+ * creates pies with a hole in the middle, also known as
2607
+ * doughnut charts. The valid range for inner radius is from 0 to 1.
2608
+ *
2609
+ * The default value for this property is <b>0</b>.
2644
2610
  */
2645
- Dot = 0,
2611
+ innerRadius: number;
2646
2612
  /**
2647
- * Uses a square to mark each data point.
2613
+ * Gets or sets the style of text inside the pie.
2648
2614
  */
2649
- Box = 1
2650
- }
2651
- /**
2652
- * Data series interface
2653
- */
2654
- export interface _ISeries {
2655
- style: any;
2656
- symbolStyle: any;
2657
- getValues: (dim: number) => number[];
2658
- getDataType: (dim: number) => DataType;
2659
- drawLegendItem(engine: IRenderEngine, rect: Rect, index: number): any;
2660
- measureLegendItem(engine: IRenderEngine, index: number): Size;
2661
- _setPointIndex(pointIndex: number, elementIndex: number): any;
2662
- }
2663
- export declare class DataArray {
2664
- dataType: DataType;
2665
- values: Array<number>;
2666
- }
2667
- /**
2668
- * Provides arguments for {@link Series} events.
2669
- */
2670
- export declare class SeriesEventArgs extends EventArgs {
2671
- _series: SeriesBase;
2615
+ innerTextStyle: any;
2672
2616
  /**
2673
- * Initializes a new instance of the {@link SeriesEventArgs} class.
2617
+ * Gets or sets the text inside the pie (at the pie center).
2618
+ */
2619
+ innerText: any;
2620
+ /**
2621
+ * Gets or sets a value that determines whether angles are reversed
2622
+ * (counter-clockwise).
2674
2623
  *
2675
- * @param series Specifies the {@link Series} object affected by this event.
2624
+ * The default value is false, which causes angles to be measured in
2625
+ * the clockwise direction.
2626
+ *
2627
+ * The default value for this property is <b>false</b>.
2676
2628
  */
2677
- constructor(series: SeriesBase);
2629
+ reversed: boolean;
2678
2630
  /**
2679
- * Gets the {@link Series} object affected by this event.
2631
+ * Gets or sets the position of the selected slice.
2632
+ *
2633
+ * Setting this property to a value other than 'None' causes
2634
+ * the pie to rotate when an item is selected.
2635
+ *
2636
+ * Note that in order to select slices by clicking the chart,
2637
+ * you must set the {@link selectionMode} property to 'Point'.
2638
+ *
2639
+ * The default value for this property is <b>Position.None</b>.
2680
2640
  */
2681
- readonly series: SeriesBase;
2682
- }
2683
- /**
2684
- * Represents a series of data points to display in the chart.
2685
- */
2686
- export declare class SeriesBase<T = any> implements _ISeries {
2687
- static _LEGEND_ITEM_WIDTH: number;
2688
- static _LEGEND_ITEM_HEIGHT: number;
2689
- static _LEGEND_ITEM_MARGIN: number;
2690
- private static _DEFAULT_SYM_SIZE;
2691
- __chart: FlexChartCore;
2692
- private _name;
2693
- private _binding;
2694
- private _showValues;
2695
- private _symbolStyle;
2696
- private _symbolSize;
2697
- private _style;
2698
- private _altStyle;
2699
- _cv: ICollectionView<T>;
2700
- private _itemsSource;
2701
- private _values;
2702
- private _valueDataType;
2703
- _chartType: ChartType;
2704
- private _symbolMarker;
2705
- private _bindingX;
2706
- private _xvalues;
2707
- private _xvalueDataType;
2708
- private _cssClass;
2709
- private _visibility;
2710
- private _axisX;
2711
- private _axisY;
2712
- private __plotter;
2713
- private _interpolateNulls;
2714
- private _tooltipContent;
2715
- private _itemFormatter;
2716
- private _cache;
2717
- _legendElement: SVGAElement;
2718
- _hostElement: SVGGElement;
2719
- _pointIndexes: number[];
2641
+ selectedItemPosition: Position;
2720
2642
  /**
2721
- * Initializes a new instance of the {@link SeriesBase} class.
2643
+ * Gets or sets the offset of the selected slice from the pie center.
2722
2644
  *
2723
- * @param options JavaScript object containing initialization data for the object.
2645
+ * Offsets are measured as a fraction of the pie radius.
2646
+ *
2647
+ * The default value for this property is <b>0</b>.
2724
2648
  */
2725
- constructor(options?: any);
2649
+ selectedItemOffset: number;
2726
2650
  /**
2727
- * Gets or sets a value that determines whether to interpolate
2728
- * null values in the data.
2651
+ * Gets or sets a value indicating whether to use animation when items are selected.
2729
2652
  *
2730
- * If true, the series interpolates the value of any missing data
2731
- * based on neighboring points. If false, it leaves a break in
2732
- * lines and areas at the points with null values.
2653
+ * See also the {@link selectedItemPosition} and {@link selectionMode}
2654
+ * properties.
2733
2655
  *
2734
2656
  * The default value for this property is <b>false</b>.
2735
2657
  */
2736
- interpolateNulls: boolean;
2658
+ isAnimated: boolean;
2737
2659
  /**
2738
- * Gets or sets the series style.
2660
+ * Gets the chart's {@link Tooltip}.
2739
2661
  */
2740
- style: any;
2662
+ readonly tooltip: ChartTooltip;
2741
2663
  /**
2742
- * Gets or sets the alternate style for the series.
2743
- *
2744
- * The alternate style is used for negative values in Bar, Column,
2745
- * and Scatter charts; and for rising values in financial chart types
2746
- * like Candlestick, LineBreak, EquiVolume etc.
2747
- *
2748
- * The default value for this property is <b>null</b>, which causes the
2749
- * series to use the default style.
2664
+ * Gets or sets the point data label.
2750
2665
  */
2751
- altStyle: any;
2666
+ dataLabel: PieDataLabel;
2752
2667
  /**
2753
- * Gets or sets the series symbol style.
2754
- *
2755
- * Applies to Bar, Column, Scatter, LineSymbols, and SplineSymbols chart types.
2668
+ * Gets or sets the index of the selected slice.
2756
2669
  */
2757
- symbolStyle: any;
2670
+ selectedIndex: number;
2758
2671
  /**
2759
- * Gets or sets the size (in pixels) of the symbols used to render this {@link Series}.
2760
- * Applies to Scatter, LineSymbols, and SplineSymbols chart types.
2672
+ * Gets or sets the pie titles.
2761
2673
  *
2762
- * The default value for this property is <b>10</b> pixels.
2674
+ * The titles are shown above each pie chart when multiple properties are specified in {@link binding}.
2675
+ * If the property is not set (undefined) the property names are used as pie titles.
2763
2676
  */
2764
- symbolSize: number;
2677
+ titles: string[];
2765
2678
  /**
2766
- * Gets or sets the shape of marker to use for each data point in the series.
2767
- * Applies to Scatter, LineSymbols, and SplineSymbols chart types.
2679
+ * Gets or sets the maximal number of charts per line.
2768
2680
  *
2769
- * The default value for this property is <b>Marker.Dot</b>.
2681
+ * The property is used when there are multiple pies. By default,
2682
+ * it's undefined and the control perform layout automatically.
2770
2683
  */
2771
- symbolMarker: Marker;
2684
+ chartsPerLine: number;
2685
+ _getLabelsForLegend(): string[];
2772
2686
  /**
2773
- * Gets or sets the name of the property that contains Y values for the series.
2687
+ * Gets a {@link HitTestInfo} object with information about the specified point.
2688
+ *
2689
+ * @param pt The point to investigate, in window coordinates.
2690
+ * @param y The Y coordinate of the point (if the first parameter is a number).
2691
+ * @param isTooltip Enables hit testing for tooltip.
2692
+ * @return A {@link HitTestInfo} object containing information about the point.
2774
2693
  */
2775
- binding: string;
2694
+ hitTest(pt: any, y?: number, isTooltip?: boolean): HitTestInfo;
2695
+ private _hitTestData;
2696
+ private _isSmallSegment;
2697
+ _performBind(): void;
2698
+ _getBindings(): string[];
2699
+ _initData(): void;
2700
+ _getBindData(item: any, values: number[], labels: any, binding: string, bindingName: string): number;
2701
+ _render(engine: IRenderEngine, applyElement?: boolean, bg?: string): void;
2702
+ _prepareRender(): void;
2703
+ _renderChart(engine: IRenderEngine, rect: Rect, applyElement: boolean): void;
2704
+ _layout(eng: IRenderEngine, r: Rect, titles: string[], n: number): Rect[];
2705
+ _getDesiredLegendSize(engine: IRenderEngine, isVertical: boolean, width: number, height: number): Size;
2706
+ _renderLegend(engine: IRenderEngine, pos: Point, areas: any[], isVertical: boolean, width: number, height: number): void;
2707
+ _renderData(engine: IRenderEngine, rect: Rect, i: number, g: any): void;
2708
+ _renderPie(engine: IRenderEngine, gi: number, radius: number, innerRadius: number, startAngle: number, offset: number): void;
2709
+ _getCenter(): Point;
2710
+ _renderSlices(engine: any, values: any, sum: any, gi: number, radius: any, innerRadius: any, startAngle: any, totalSweep: any, offset: any): void;
2711
+ _renderSlice(engine: IRenderEngine, cx: number, cy: number, currentAngle: number, gi: number, idx: number, radius: number, innerRadius: number, startAngle: number, sweep: number, totalSweep: number): void;
2712
+ _getSelectedItemOffset(index: any, angle: any): {
2713
+ x: number;
2714
+ y: number;
2715
+ };
2716
+ _renderInnerText(engine: IRenderEngine): void;
2717
+ _renderLabels(engine: IRenderEngine): void;
2718
+ _drawSlice(engine: IRenderEngine, gi: number, i: number, reversed: boolean, cx: number, cy: number, r: number, irad: number, angle: number, sweep: number): void;
2719
+ _measureLegendItem(engine: IRenderEngine, name: string): Size;
2720
+ _drawLegendItem(engine: IRenderEngine, rect: Rect, i: number, name: string): void;
2721
+ private _getLabelContent;
2722
+ private _select;
2723
+ _highlightCurrent(): void;
2724
+ _highlight(selected: boolean, pointIndex: number, animate?: boolean): void;
2725
+ _animateSelectionAngle(targetAngles: number[], duration: number): void;
2726
+ _getHitTestItem(index: number): any;
2727
+ _getHitTestValue(index: number, gi: number): number;
2728
+ _getHitTestLabel(index: number): string;
2729
+ }
2730
+ export interface _ISegment {
2731
+ center: Point;
2732
+ radius: number;
2733
+ langle: number;
2734
+ angle: number;
2735
+ sweep: number;
2736
+ gi: number;
2737
+ }
2738
+ export declare class _PieSegment implements _IHitArea, _ISegment {
2739
+ private _center;
2740
+ private _angle;
2741
+ private _sweep;
2742
+ private _radius;
2743
+ private _radius2;
2744
+ private _isFull;
2745
+ private _originAngle;
2746
+ private _originSweep;
2747
+ private _startAngle;
2748
+ constructor(center: Point, radius: number, angle: number, sweep: number, startAngle?: number);
2749
+ contains(pt: Point): boolean;
2750
+ distance(pt: Point): number;
2751
+ readonly center: Point;
2752
+ readonly radius: number;
2753
+ readonly langle: number;
2754
+ readonly angle: number;
2755
+ readonly sweep: number;
2756
+ tag: any;
2757
+ ignoreLabel: boolean;
2758
+ gi: number;
2759
+ }
2760
+ export declare class _DonutSegment implements _IHitArea, _ISegment {
2761
+ private _center;
2762
+ private _angle;
2763
+ private _sweep;
2764
+ private _originAngle;
2765
+ private _originSweep;
2766
+ private _radius;
2767
+ private _radius2;
2768
+ private _iradius;
2769
+ private _iradius2;
2770
+ private _isFull;
2771
+ private _startAngle;
2772
+ constructor(center: Point, radius: number, innerRadius: number, angle: number, sweep: number, startAngle?: number);
2773
+ contains(pt: Point): boolean;
2774
+ distance(pt: Point): number;
2775
+ readonly center: Point;
2776
+ readonly radius: number;
2777
+ readonly langle: number;
2778
+ readonly angle: number;
2779
+ readonly sweep: number;
2780
+ readonly innerRadius: number;
2781
+ tag: any;
2782
+ ignoreLabel: boolean;
2783
+ gi: number;
2784
+ }
2785
+ /**
2786
+ * Specifies the direction of the lines shown by the {@link LineMarker}.
2787
+ */
2788
+ export declare enum LineMarkerLines {
2789
+ /** No lines. */
2790
+ None = 0,
2791
+ /** Vertical line. */
2792
+ Vertical = 1,
2793
+ /** Horizontal line. */
2794
+ Horizontal = 2,
2795
+ /** Vertical and horizontal lines. */
2796
+ Both = 3
2797
+ }
2798
+ /**
2799
+ * Specifies how the {@link LineMarker} interacts with the user.
2800
+ */
2801
+ export declare enum LineMarkerInteraction {
2802
+ /** No interaction, the user specifies the position by clicking. */
2803
+ None = 0,
2804
+ /** The {@link LineMarker} moves with the pointer. */
2805
+ Move = 1,
2806
+ /** The {@link LineMarker} moves when the user drags the lines. */
2807
+ Drag = 2
2808
+ }
2809
+ /**
2810
+ * Specifies the alignment of the {@link LineMarker}.
2811
+ */
2812
+ export declare enum LineMarkerAlignment {
2776
2813
  /**
2777
- * Gets or sets the name of the property that contains X values for the series.
2778
- */
2779
- bindingX: string;
2814
+ * The LineMarker alignment adjusts automatically so that it stays
2815
+ * within the boundaries of the plot area. */
2816
+ Auto = 2,
2817
+ /** The LineMarker aligns to the right of the pointer. */
2818
+ Right = 0,
2819
+ /** The LineMarker aligns to the left of the pointer. */
2820
+ Left = 1,
2821
+ /** The LineMarker aligns to the bottom of the pointer. */
2822
+ Bottom = 4,
2823
+ /** The LineMarker aligns to the top of the pointer. */
2824
+ Top = 6
2825
+ }
2826
+ /**
2827
+ * Represents an extension of the LineMarker for the FlexChart.
2828
+ *
2829
+ * The {@link LineMarker} consists of a text area with content reflecting
2830
+ * data point values, and optional vertical or horizontal lines
2831
+ * (or both for a cross-hair effect) positioned over the plot area.
2832
+ *
2833
+ * It can be static (interaction = None), follow the mouse or touch
2834
+ * position (interaction = Move), or move when the user drags the
2835
+ * line (interaction = Drag).
2836
+ *
2837
+ * For example:
2838
+ * <pre>
2839
+ * // create an interactive marker with a horizontal line and y-value
2840
+ * var lm = new LineMarker($scope.ctx.chart, {
2841
+ * lines: LineMarkerLines.Horizontal,
2842
+ * interaction: LineMarkerInteraction.Move,
2843
+ * alignment : LineMarkerAlignment.Top
2844
+ * });
2845
+ * lm.content = function (ht) {
2846
+ * // show y-value
2847
+ * return lm.y.toFixed(2);
2848
+ * }
2849
+ * </pre>
2850
+ */
2851
+ export declare class LineMarker {
2852
+ static _CSS_MARKER: string;
2853
+ static _CSS_MARKER_HLINE: string;
2854
+ static _CSS_MARKER_VLINE: string;
2855
+ static _CSS_MARKER_CONTENT: string;
2856
+ static _CSS_MARKER_CONTAINER: string;
2857
+ static _CSS_LINE_DRAGGABLE: string;
2858
+ static _CSS_TOUCH_DISABLED: string;
2859
+ private _chart;
2860
+ private _plot;
2861
+ private _marker;
2862
+ private _markerContainer;
2863
+ private _markerContent;
2864
+ private _dragEle;
2865
+ private _hLine;
2866
+ private _vLine;
2867
+ private _plotRect;
2868
+ private _targetPoint;
2869
+ private _wrapperMoveMarker;
2870
+ private _capturedEle;
2871
+ private _wrapperMousedown;
2872
+ private _wrapperMouseup;
2873
+ private _contentDragStartPoint;
2874
+ private _mouseDownCrossPoint;
2875
+ private _savedPosition;
2876
+ private _isVisible;
2877
+ private _horizontalPosition;
2878
+ private _verticalPosition;
2879
+ private _alignment;
2880
+ private _content;
2881
+ private _seriesIndex;
2882
+ private _lines;
2883
+ private _interaction;
2884
+ private _dragThreshold;
2885
+ private _dragContent;
2886
+ private _dragLines;
2780
2887
  /**
2781
- * Gets or sets the series name.
2888
+ * Initializes a new instance of the {@link LineMarker} class.
2782
2889
  *
2783
- * The series name is displayed in the chart legend. Any series without a name
2784
- * does not appear in the legend.
2785
- */
2786
- name: string;
2787
- /**
2788
- * Gets or sets the array or {@link ICollectionView} object that contains the series data.
2789
- */
2790
- itemsSource: any;
2791
- /**
2792
- * Gets the {@link ICollectionView} object that contains the data for this series.
2890
+ * @param chart The chart on which the LineMarker appears.
2891
+ * @param options A JavaScript object containing initialization data for the control.
2793
2892
  */
2794
- readonly collectionView: ICollectionView<T>;
2893
+ constructor(chart: FlexChartCore, options?: any);
2795
2894
  /**
2796
- * Gets the {@link FlexChart} object that owns this series.
2895
+ * Gets the {@link FlexChart} object that owns the LineMarker.
2797
2896
  */
2798
2897
  readonly chart: FlexChartCore;
2799
2898
  /**
2800
- * Gets the series host element.
2801
- */
2802
- readonly hostElement: SVGGElement;
2803
- /**
2804
- * Gets the series element in the legend.
2805
- */
2806
- readonly legendElement: SVGGElement;
2807
- /**
2808
- * Gets or sets the series CSS class.
2809
- */
2810
- cssClass: string;
2811
- /**
2812
- * Gets or sets an enumerated value indicating whether and where the series appears.
2813
- *
2814
- * The default value for this property is <b>SeriesVisibility.Visible</b>.
2815
- */
2816
- visibility: SeriesVisibility;
2817
- /**
2818
- * Gets or sets the series specific tooltip content.
2819
- *
2820
- * The property overrides the content of chart tooltip content.
2899
+ * Gets or sets the visibility of the LineMarker.
2821
2900
  */
2822
- tooltipContent: any;
2901
+ isVisible: boolean;
2823
2902
  /**
2824
- * Gets or sets the item formatter function that allows you to customize
2825
- * the appearance of the series.
2826
- *
2827
- * The property overrides the chart's itemFormatter {@link wijmo.chart.FlexChart.itemFormatter}.
2903
+ * Gets or sets the index of the series in the chart in which the LineMarker appears.
2904
+ * This takes effect when the {@link interaction} property is set to
2905
+ * LineMarkerInteraction.Move or LineMarkerInteraction.Drag.
2828
2906
  */
2829
- itemFormatter: Function;
2907
+ seriesIndex: number;
2830
2908
  /**
2831
- * Gets a {@link HitTestInfo} object with information about the specified point.
2909
+ * Gets or sets the horizontal position of the LineMarker relative to the plot area.
2832
2910
  *
2833
- * @param pt The point to investigate, in window coordinates.
2834
- * @param y The Y coordinate of the point (if the first parameter is a number).
2911
+ * Its value range is (0, 1).
2912
+ * If the value is null or undefined and {@link interaction} is set to
2913
+ * LineMarkerInteraction.Move or LineMarkerInteraction.Drag,
2914
+ * the horizontal position of the marker is calculated automatically based on the
2915
+ * pointer's position.
2835
2916
  */
2836
- hitTest(pt: any, y?: number): HitTestInfo;
2917
+ horizontalPosition: number;
2837
2918
  /**
2838
- * Gets the plot element that corresponds to the specified point index.
2839
- *
2840
- * @param pointIndex The index of the data point.
2919
+ * Gets the current x-value as chart data coordinates.
2841
2920
  */
2842
- getPlotElement(pointIndex: number): any;
2921
+ readonly x: number;
2843
2922
  /**
2844
- * Gets or sets the X-axis for the series.
2923
+ * Gets the current y-value as chart data coordinates.
2845
2924
  */
2846
- axisX: Axis;
2925
+ readonly y: number;
2847
2926
  /**
2848
- * Gets or sets the Y-axis for the series.
2927
+ * Gets or sets the content function that allows you to customize the text content of the LineMarker.
2849
2928
  */
2850
- axisY: Axis;
2929
+ content: Function;
2851
2930
  /**
2852
- * Initializes the series by copying the properties from a given object.
2931
+ * Gets or sets the vertical position of the LineMarker relative to the plot area.
2853
2932
  *
2854
- * @param options JavaScript object containing initialization data for the series.
2933
+ * Its value range is (0, 1).
2934
+ * If the value is null or undefined and {@link interaction} is set to LineMarkerInteraction.Move
2935
+ * or LineMarkerInteraction.Drag, the vertical position of the LineMarker is calculated automatically based on the pointer's position.
2855
2936
  */
2856
- initialize(options: any): void;
2937
+ verticalPosition: number;
2857
2938
  /**
2858
- * Converts a {@link Point} from control coordinates to series data coordinates.
2939
+ * Gets or sets the alignment of the LineMarker content.
2859
2940
  *
2860
- * @param pt The point to convert, in control coordinates.
2861
- * @return The point in series data coordinates.
2862
- */
2863
- pointToData(pt: Point): Point;
2864
- /**
2865
- * Converts a {@link Point} from series data coordinates to control coordinates.
2941
+ * By default, the LineMarker shows to the right, at the bottom of the target point.
2942
+ * Use '|' to combine alignment values.
2866
2943
  *
2867
- * @param pt {@link Point} in series data coordinates.
2868
- * @return The {@link Point} in control coordinates.
2869
- */
2870
- dataToPoint(pt: Point): Point;
2871
- /**
2872
- * Occurs when series is rendering.
2944
+ * <pre>
2945
+ * // set the alignment to the left.
2946
+ * marker.alignment = LineMarkerAlignment.Left;
2947
+ * // set the alignment to the left top.
2948
+ * marker.alignment = LineMarkerAlignment.Left | LineMarkerAlignment.Top;
2949
+ * </pre>
2873
2950
  */
2874
- readonly rendering: Event<SeriesBase<any>, SeriesRenderingEventArgs>;
2951
+ alignment: LineMarkerAlignment;
2875
2952
  /**
2876
- * Raises the {@link rendering} event.
2877
- *
2878
- * @param engine The {@link IRenderEngine} object used to render the series.
2879
- * @param index The index of the series to render.
2880
- * @param count Total number of the series to render.
2953
+ * Gets or sets the visibility of the LineMarker lines.
2881
2954
  */
2882
- onRendering(engine: IRenderEngine, index: number, count: number): boolean;
2955
+ lines: LineMarkerLines;
2883
2956
  /**
2884
- * Occurs when series is rendered.
2957
+ * Gets or sets the interaction mode of the LineMarker.
2885
2958
  */
2886
- readonly rendered: Event<SeriesBase<any>, RenderEventArgs>;
2959
+ interaction: LineMarkerInteraction;
2887
2960
  /**
2888
- * Raises the {@link rendered} event.
2889
- *
2890
- * @param engine The {@link IRenderEngine} object used to render the series.
2961
+ * Gets or sets the maximum distance from the horizontal or vertical
2962
+ * line that the marker can be dragged.
2891
2963
  */
2892
- onRendered(engine: IRenderEngine): void;
2893
- _chart: FlexChartCore;
2894
- _getSymbolSize(): number;
2895
- _plotter: _IPlotter;
2896
- getDataType(dim: number): DataType;
2897
- getValues(dim: number): number[];
2964
+ dragThreshold: number;
2898
2965
  /**
2899
- * Draw a legend item at the specified position.
2900
- *
2901
- * @param engine The rendering engine to use.
2902
- * @param rect The position of the legend item.
2903
- * @param index Index of legend item(for series with multiple legend items).
2966
+ * Gets or sets a value indicating whether the content of the marker
2967
+ * is draggable when the interaction mode is "Drag."
2904
2968
  */
2905
- drawLegendItem(engine: IRenderEngine, rect: Rect, index: number): void;
2906
- private _getLegendStyle;
2907
- /**
2908
- * Measures height and width of the legend item.
2909
- *
2910
- * @param engine The rendering engine to use.
2911
- * @param index Index of legend item(for series with multiple legend items).
2969
+ dragContent: boolean;
2970
+ /**
2971
+ * Gets or sets a value indicating whether the lines are linked
2972
+ * when the horizontal or vertical line is dragged when the
2973
+ * interaction mode is "Drag."
2912
2974
  */
2913
- measureLegendItem(engine: IRenderEngine, index: number): Size;
2975
+ dragLines: boolean;
2914
2976
  /**
2915
- * Returns number of series items in the legend.
2977
+ * Occurs after the {@link LineMarker}'s position changes.
2916
2978
  */
2917
- legendItemLength(): number;
2979
+ readonly positionChanged: Event<LineMarker, Point>;
2918
2980
  /**
2919
- * Returns the series bounding rectangle in data coordinates.
2920
- *
2921
- * If getDataRect() returns null, the limits are calculated automatically based on the data values.
2981
+ * Raises the {@link positionChanged} event.
2922
2982
  *
2923
- * @param currentRect The current rectangle of chart. This parameter is optional.
2924
- * @param calculatedRect The calculated rectangle of chart. This parameter is optional.
2983
+ * @param point The target point at which to show the LineMarker.
2925
2984
  */
2926
- getDataRect(currentRect?: Rect, calculatedRect?: Rect): Rect;
2927
- _getChartType(): ChartType;
2985
+ onPositionChanged(point: Point): void;
2928
2986
  /**
2929
- * Clears any cached data values.
2987
+ * Removes the LineMarker from the chart.
2930
2988
  */
2931
- _clearValues(): void;
2932
- _getBinding(index: number): string;
2933
- _getBindingValues(index: number): number[];
2934
- _getItem(pointIndex: number): any;
2935
- _getLength(): number;
2936
- _setPointIndex(pointIndex: number, elementIndex: number): void;
2937
- private _getDataRect;
2938
- _isCustomAxisX(): boolean;
2939
- _isCustomAxisY(): boolean;
2940
- _getAxisX(): Axis;
2941
- _getAxisY(): Axis;
2942
- _measureLegendItem(engine: IRenderEngine, text: string): Size;
2943
- _drawFunnelLegendItem(engine: IRenderEngine, rect: Rect, index: number, style: any, symbolStyle: any): void;
2944
- private _getFunnelLegendName;
2945
- _drawLegendItem(engine: IRenderEngine, rect: Rect, chartType: ChartType, text: string, style: any, symbolStyle: any): void;
2946
- private _cvCollectionChanged;
2947
- private _cvCurrentChanged;
2948
- _bindValues(items: Array<any>, binding: string, isX?: boolean): DataArray;
2949
- _invalidate(): void;
2950
- _indexToPoint(pointIndex: number): Point;
2951
- _getSymbolFill(seriesIndex?: number): string;
2952
- _getSymbolStroke(seriesIndex?: number): string;
2953
- _getAltSymbolStroke(seriesIndex?: number): string;
2954
- _getAltSymbolFill(seriesIndex?: number): string;
2955
- _renderLabels(engine: IRenderEngine, smap: _IHitArea[], chart: FlexChartCore, lblAreas: _RectArea[]): void;
2989
+ remove(): void;
2990
+ private _attach;
2991
+ private _attachDrag;
2992
+ private _detach;
2993
+ private _detachDrag;
2994
+ private _toggleDragEventAttach;
2995
+ private _onMousedown;
2996
+ private _onMouseup;
2997
+ _moveMarker(e: any): void;
2998
+ private _calcStackedValue;
2999
+ private _sign;
3000
+ private _getElementPaddingValuee;
3001
+ private _show;
3002
+ private _hide;
3003
+ private _toggleVisibility;
3004
+ private _resetDefaultValue;
3005
+ private _initialize;
3006
+ private _createMarker;
3007
+ private _removeMarker;
3008
+ private _getContainer;
3009
+ private _createContainer;
3010
+ private _createChildren;
3011
+ private _toggleElesDraggableClass;
3012
+ private _updateMarkerSize;
3013
+ private _updateLinesSize;
3014
+ private _resetLinesVisibility;
3015
+ private _updateMarkerPosition;
3016
+ private _updateContent;
3017
+ private _raisePositionChanged;
3018
+ private _updatePositionByAlignment;
3019
+ private _getEventPoint;
3020
+ private _pointInRect;
3021
+ private _getTop;
2956
3022
  }
2957
3023
  /**
2958
- * Represents a series of data points to display in the chart.
2959
- *
2960
- * The {@link Series} class supports all basic chart types. You may define
2961
- * a different chart type on each {@link Series} object that you add to the
2962
- * {@link FlexChart} series collection. This overrides the {@link chartType}
2963
- * property set on the chart that is the default for all {@link Series} objects
2964
- * in its collection.
3024
+ * Specifies the axis type.
2965
3025
  */
2966
- export declare class Series extends SeriesBase {
2967
- /**
2968
- * Gets or sets the chart type for a specific series, overriding the chart type
2969
- * set on the overall chart.
2970
- *
2971
- * The default value for this property is <b>null</b>, which causes the
2972
- * series to use chart type defined by the parent chart.
2973
- */
2974
- chartType: ChartType;
3026
+ export declare enum AxisType {
3027
+ /** Category axis (normally horizontal). */
3028
+ X = 0,
3029
+ /** Value axis (normally vertical). */
3030
+ Y = 1
2975
3031
  }
2976
3032
  /**
2977
- * The {@link FlexPie} control provides pie and doughnut charts with selectable
2978
- * slices.
2979
- *
2980
- * To use the {@link FlexPie} control, set the {@link FlexPie.itemsSource} property
2981
- * to an array containing the data and use the {@link FlexPie.binding} and
2982
- * {@link FlexPie.bindingName} properties to set the properties that contain
2983
- * the item values and names.
3033
+ * Specifies how to handle overlapping labels.
2984
3034
  */
2985
- export declare class FlexPie extends FlexChartBase {
2986
- private static _MARGIN;
2987
- private static _CSS_GROUP_TITLE;
2988
- private _binding;
2989
- private _bindingName;
2990
- _areas: any[];
2991
- private _keywords;
2992
- private _startAngle;
2993
- private _innerRadius;
2994
- private _offset;
2995
- private _reversed;
2996
- private _isAnimated;
2997
- private _selectedItemPosition;
2998
- private _selectedItemOffset;
2999
- private _pieGroups;
3000
- _rotationAngles: number[];
3001
- private _centers;
3002
- _radius: number;
3003
- private _selectedOffset;
3004
- private _selectedIndex;
3005
- private _angles;
3006
- private _selectionAnimationID;
3007
- private _colRowLens;
3008
- private _lbl;
3009
- private _titles;
3010
- private _innerText;
3011
- private _innerTextStyle;
3012
- private _chartsPerLine;
3013
- _values: number[][];
3014
- _labels: string[];
3015
- _pels: any[];
3016
- _sum: number;
3017
- _sums: number[];
3018
- _bindingSeparator: string;
3035
+ export declare enum OverlappingLabels {
3019
3036
  /**
3020
- * Initializes a new instance of the {@link FlexPie} class.
3021
- *
3022
- * @param element The DOM element that hosts the control, or a selector for the host element (e.g. '#theCtrl').
3023
- * @param options A Javascript object containing initialization data for the control.
3037
+ * Hide overlapping labels.
3024
3038
  */
3025
- constructor(element: any, options?: any);
3039
+ Auto = 0,
3026
3040
  /**
3027
- * Gets or sets the name of the property that contains the chart values.
3041
+ * Show all labels, including overlapping ones.
3028
3042
  */
3029
- binding: string;
3043
+ Show = 1
3044
+ }
3045
+ /**
3046
+ * Axis interface.
3047
+ */
3048
+ export interface _IAxis {
3049
+ actualMin: number;
3050
+ actualMax: number;
3051
+ convert(val: number): number;
3052
+ }
3053
+ /**
3054
+ * Specifies whether and where the axis tick marks appear.
3055
+ */
3056
+ export declare enum TickMark {
3057
+ /** No tick marks appear. */
3058
+ None = 0,
3059
+ /** Tick marks appear outside the plot area. */
3060
+ Outside = 1,
3061
+ /** Tick marks appear inside the plot area. */
3062
+ Inside = 2,
3063
+ /** Tick marks cross the axis. */
3064
+ Cross = 3
3065
+ }
3066
+ /**
3067
+ * Axis groups display options.
3068
+ */
3069
+ export declare enum AxisGroupsDisplay {
3070
+ /** Hide groups */
3071
+ None = 0,
3072
+ /** Default group appearance */
3073
+ Show = 1,
3074
+ /** Show groups as grid */
3075
+ ShowGrid = 2
3076
+ }
3077
+ /**
3078
+ * Provides options for axis groups.
3079
+ */
3080
+ export interface IAxisGroupsOptions {
3030
3081
  /**
3031
- * Gets or sets the name of the property that contains the name of the data items.
3082
+ * Gets or sets the options for axis groups display.
3032
3083
  */
3033
- bindingName: string;
3084
+ display: AxisGroupsDisplay;
3085
+ }
3086
+ /**
3087
+ * Represents an axis in the chart.
3088
+ */
3089
+ export declare class Axis implements _IAxis {
3090
+ _GRIDLINE_WIDTH: number;
3091
+ _LINE_WIDTH: number;
3092
+ _TICK_WIDTH: number;
3093
+ _TICK_HEIGHT: number;
3094
+ _TICK_OVERLAP: number;
3095
+ _TICK_LABEL_DISTANCE: number;
3096
+ private static MAX_MAJOR;
3097
+ private static MAX_MINOR;
3098
+ _chart: FlexChartCore;
3099
+ private _type;
3100
+ private _min;
3101
+ private _max;
3102
+ private _position;
3103
+ private _majorUnit;
3104
+ private _minorUnit;
3105
+ private _majorGrid;
3106
+ private _minorGrid;
3107
+ private _title;
3108
+ private _labelStyle;
3109
+ private _reversed;
3110
+ private _format;
3111
+ _actualMin: number;
3112
+ _actualMax: number;
3113
+ _axisType: AxisType;
3114
+ private _majorTickMarks;
3115
+ private _minorTickMarks;
3116
+ private _logBase;
3117
+ private _labels;
3118
+ private _labelAngle;
3119
+ private _labelAlign;
3120
+ private _axisLine;
3121
+ _plotrect: Rect;
3122
+ private _szTitle;
3123
+ _isTimeAxis: boolean;
3124
+ _lbls: string[];
3125
+ _values: number[];
3126
+ private _rects;
3127
+ private _name;
3128
+ private _origin;
3129
+ private _overlap;
3130
+ private _items;
3131
+ private _cv;
3132
+ private _binding;
3133
+ private _ifmt;
3134
+ private _tfmt;
3135
+ private static _id;
3136
+ private __uniqueId;
3137
+ private _parea;
3138
+ private _labelPadding;
3139
+ private _actualLabels;
3140
+ private _labelMin;
3141
+ private _labelMax;
3142
+ private _groupsPanel;
3143
+ private _groupsOptions;
3144
+ _axrect: Rect;
3145
+ _desiredSize: Size;
3146
+ _annoSize: Size;
3147
+ _annoSizeBase: Size;
3148
+ _hasOrigin: boolean;
3149
+ _hostElement: SVGGElement;
3150
+ _vals: any;
3034
3151
  /**
3035
- * Gets or sets the starting angle for the pie slices, in degrees.
3036
- *
3037
- * Angles are measured clockwise, starting at the 9 o'clock position.
3152
+ * Initializes a new instance of the {@link Axis} class.
3038
3153
  *
3039
- * The default value for this property is <b>0</b>.
3154
+ * @param position The position of the axis on the chart.
3040
3155
  */
3041
- startAngle: number;
3156
+ constructor(position?: Position);
3042
3157
  /**
3043
- * Gets or sets the offset of the slices from the pie center.
3044
- *
3045
- * The offset is measured as a fraction of the pie radius.
3046
- *
3047
- * The default value for this property is <b>0</b>.
3158
+ * Gets the axis host element.
3048
3159
  */
3049
- offset: number;
3160
+ readonly hostElement: SVGGElement;
3050
3161
  /**
3051
- * Gets or sets the size of the pie's inner radius.
3052
- *
3053
- * The inner radius is measured as a fraction of the pie radius.
3054
- *
3055
- * The default value for this property is zero, which creates
3056
- * a pie. Setting this property to values greater than zero
3057
- * creates pies with a hole in the middle, also known as
3058
- * doughnut charts. The valid range for inner radius is from 0 to 1.
3162
+ * Gets the actual axis minimum.
3059
3163
  *
3060
- * The default value for this property is <b>0</b>.
3061
- */
3062
- innerRadius: number;
3063
- /**
3064
- * Gets or sets the style of text inside the pie.
3065
- */
3066
- innerTextStyle: any;
3067
- /**
3068
- * Gets or sets the text inside the pie (at the pie center).
3069
- */
3070
- innerText: any;
3164
+ * It returns a number or a Date object (for time-based data).
3165
+ */
3166
+ readonly actualMin: any;
3071
3167
  /**
3072
- * Gets or sets a value that determines whether angles are reversed
3073
- * (counter-clockwise).
3074
- *
3075
- * The default value is false, which causes angles to be measured in
3076
- * the clockwise direction.
3077
- *
3078
- * The default value for this property is <b>false</b>.
3079
- */
3080
- reversed: boolean;
3168
+ * Gets the actual axis maximum.
3169
+ *
3170
+ * It returns a number or a Date object (for time-based data).
3171
+ */
3172
+ readonly actualMax: any;
3081
3173
  /**
3082
- * Gets or sets the position of the selected slice.
3083
- *
3084
- * Setting this property to a value other than 'None' causes
3085
- * the pie to rotate when an item is selected.
3174
+ * Gets or sets the minimum value shown on the axis.
3086
3175
  *
3087
- * Note that in order to select slices by clicking the chart,
3088
- * you must set the {@link selectionMode} property to 'Point'.
3176
+ * The value can be a number or a Date object (for time-based data).
3089
3177
  *
3090
- * The default value for this property is <b>Position.None</b>.
3178
+ * The default value for this property is <b>null</b>, which causes
3179
+ * the chart to calculate the minimum value based on the data.
3091
3180
  */
3092
- selectedItemPosition: Position;
3181
+ min: any;
3093
3182
  /**
3094
- * Gets or sets the offset of the selected slice from the pie center.
3183
+ * Gets or sets the maximum value shown on the axis.
3095
3184
  *
3096
- * Offsets are measured as a fraction of the pie radius.
3185
+ * The value can be a number or a Date object (for time-based data).
3097
3186
  *
3098
- * The default value for this property is <b>0</b>.
3187
+ * The default value for this property is <b>null</b>, which causes
3188
+ * the chart to calculate the maximum value based on the data.
3099
3189
  */
3100
- selectedItemOffset: number;
3190
+ max: any;
3101
3191
  /**
3102
- * Gets or sets a value indicating whether to use animation when items are selected.
3103
- *
3104
- * See also the {@link selectedItemPosition} and {@link selectionMode}
3105
- * properties.
3192
+ * Gets or sets a value indicating whether the axis is
3193
+ * reversed (top to bottom or right to left).
3106
3194
  *
3107
3195
  * The default value for this property is <b>false</b>.
3108
3196
  */
3109
- isAnimated: boolean;
3197
+ reversed: boolean;
3110
3198
  /**
3111
- * Gets the chart's {@link Tooltip}.
3199
+ * Gets or sets the position of the axis with respect to the plot area.
3200
+ * TopLeft, TopRight, BottomLeft, BottomRight, LeftTop, LeftBottom, RightTop and RightBottom are not valid for Axis Position. If set it would be changed to default Position of respective axis.
3201
+ * When Position set to X-Axis, None/Top/Bottom would be applicable and if other values are set, it would be change to X-Axis default Position value.
3202
+ * When Position set to Y-Axis, None/Left/Right would be applicable and if other values are set, it would be changed to Y-Axis default Position value.
3112
3203
  */
3113
- readonly tooltip: ChartTooltip;
3204
+ position: Position;
3114
3205
  /**
3115
- * Gets or sets the point data label.
3206
+ * Gets or sets the number of units between axis labels.
3207
+ *
3208
+ * If the axis contains date values, then the units are
3209
+ * expressed in days.
3116
3210
  */
3117
- dataLabel: PieDataLabel;
3211
+ majorUnit: number;
3118
3212
  /**
3119
- * Gets or sets the index of the selected slice.
3120
- */
3121
- selectedIndex: number;
3213
+ * Gets or sets the number of units between minor axis ticks.
3214
+ *
3215
+ * If the axis contains date values, then the units are
3216
+ * expressed in days.
3217
+ * If the logBase value is set on the axis, then the minorUnit value would be
3218
+ * increased by the exponential multiple of logBase Value when caculating minor unit values between next major unit values.
3219
+ */
3220
+ minorUnit: number;
3122
3221
  /**
3123
- * Gets or sets the pie titles.
3124
- *
3125
- * The titles are shown above each pie chart when multiple properties are specified in {@link binding}.
3126
- * If the property is not set (undefined) the property names are used as pie titles.
3222
+ * Gets or sets the axis name.
3127
3223
  */
3128
- titles: string[];
3224
+ name: string;
3129
3225
  /**
3130
- * Gets or sets the maximal number of charts per line.
3131
- *
3132
- * The property is used when there are multiple pies. By default,
3133
- * it's undefined and the control perform layout automatically.
3226
+ * Gets or sets the title text shown next to the axis.
3134
3227
  */
3135
- chartsPerLine: number;
3136
- _getLabelsForLegend(): string[];
3228
+ title: string;
3137
3229
  /**
3138
- * Gets a {@link HitTestInfo} object with information about the specified point.
3139
- *
3140
- * @param pt The point to investigate, in window coordinates.
3141
- * @param y The Y coordinate of the point (if the first parameter is a number).
3142
- * @param isTooltip Enables hit testing for tooltip.
3143
- * @return A {@link HitTestInfo} object containing information about the point.
3230
+ * Gets or sets the format string used for the axis labels
3231
+ * (see {@link Globalize}).
3144
3232
  */
3145
- hitTest(pt: any, y?: number, isTooltip?: boolean): HitTestInfo;
3146
- private _hitTestData;
3147
- private _isSmallSegment;
3148
- _performBind(): void;
3149
- _getBindings(): string[];
3150
- _initData(): void;
3151
- _getBindData(item: any, values: number[], labels: any, binding: string, bindingName: string): number;
3152
- _render(engine: IRenderEngine, applyElement?: boolean, bg?: string): void;
3153
- _prepareRender(): void;
3154
- _renderChart(engine: IRenderEngine, rect: Rect, applyElement: boolean): void;
3155
- _layout(eng: IRenderEngine, r: Rect, titles: string[], n: number): Rect[];
3156
- _getDesiredLegendSize(engine: IRenderEngine, isVertical: boolean, width: number, height: number): Size;
3157
- _renderLegend(engine: IRenderEngine, pos: Point, areas: any[], isVertical: boolean, width: number, height: number): void;
3158
- _renderData(engine: IRenderEngine, rect: Rect, i: number, g: any): void;
3159
- _renderPie(engine: IRenderEngine, gi: number, radius: number, innerRadius: number, startAngle: number, offset: number): void;
3160
- _getCenter(): Point;
3161
- _renderSlices(engine: any, values: any, sum: any, gi: number, radius: any, innerRadius: any, startAngle: any, totalSweep: any, offset: any): void;
3162
- _renderSlice(engine: IRenderEngine, cx: number, cy: number, currentAngle: number, gi: number, idx: number, radius: number, innerRadius: number, startAngle: number, sweep: number, totalSweep: number): void;
3163
- _getSelectedItemOffset(index: any, angle: any): {
3164
- x: number;
3165
- y: number;
3166
- };
3167
- _renderInnerText(engine: IRenderEngine): void;
3168
- _renderLabels(engine: IRenderEngine): void;
3169
- _drawSlice(engine: IRenderEngine, gi: number, i: number, reversed: boolean, cx: number, cy: number, r: number, irad: number, angle: number, sweep: number): void;
3170
- _measureLegendItem(engine: IRenderEngine, name: string): Size;
3171
- _drawLegendItem(engine: IRenderEngine, rect: Rect, i: number, name: string): void;
3172
- private _getLabelContent;
3173
- private _select;
3174
- _highlightCurrent(): void;
3175
- _highlight(selected: boolean, pointIndex: number, animate?: boolean): void;
3176
- _animateSelectionAngle(targetAngles: number[], duration: number): void;
3177
- _getHitTestItem(index: number): any;
3178
- _getHitTestValue(index: number, gi: number): number;
3179
- _getHitTestLabel(index: number): string;
3180
- }
3181
- export interface _ISegment {
3182
- center: Point;
3183
- radius: number;
3184
- langle: number;
3185
- angle: number;
3186
- sweep: number;
3187
- gi: number;
3188
- }
3189
- export declare class _PieSegment implements _IHitArea, _ISegment {
3190
- private _center;
3191
- private _angle;
3192
- private _sweep;
3193
- private _radius;
3194
- private _radius2;
3195
- private _isFull;
3196
- private _originAngle;
3197
- private _originSweep;
3198
- private _startAngle;
3199
- constructor(center: Point, radius: number, angle: number, sweep: number, startAngle?: number);
3200
- contains(pt: Point): boolean;
3201
- distance(pt: Point): number;
3202
- readonly center: Point;
3203
- readonly radius: number;
3204
- readonly langle: number;
3205
- readonly angle: number;
3206
- readonly sweep: number;
3207
- tag: any;
3208
- ignoreLabel: boolean;
3209
- gi: number;
3210
- }
3211
- export declare class _DonutSegment implements _IHitArea, _ISegment {
3212
- private _center;
3213
- private _angle;
3214
- private _sweep;
3215
- private _originAngle;
3216
- private _originSweep;
3217
- private _radius;
3218
- private _radius2;
3219
- private _iradius;
3220
- private _iradius2;
3221
- private _isFull;
3222
- private _startAngle;
3223
- constructor(center: Point, radius: number, innerRadius: number, angle: number, sweep: number, startAngle?: number);
3224
- contains(pt: Point): boolean;
3225
- distance(pt: Point): number;
3226
- readonly center: Point;
3227
- readonly radius: number;
3228
- readonly langle: number;
3229
- readonly angle: number;
3230
- readonly sweep: number;
3231
- readonly innerRadius: number;
3232
- tag: any;
3233
- ignoreLabel: boolean;
3234
- gi: number;
3235
- }
3236
- /**
3237
- * Specifies the direction of the lines shown by the {@link LineMarker}.
3238
- */
3239
- export declare enum LineMarkerLines {
3240
- /** No lines. */
3241
- None = 0,
3242
- /** Vertical line. */
3243
- Vertical = 1,
3244
- /** Horizontal line. */
3245
- Horizontal = 2,
3246
- /** Vertical and horizontal lines. */
3247
- Both = 3
3248
- }
3249
- /**
3250
- * Specifies how the {@link LineMarker} interacts with the user.
3251
- */
3252
- export declare enum LineMarkerInteraction {
3253
- /** No interaction, the user specifies the position by clicking. */
3254
- None = 0,
3255
- /** The {@link LineMarker} moves with the pointer. */
3256
- Move = 1,
3257
- /** The {@link LineMarker} moves when the user drags the lines. */
3258
- Drag = 2
3259
- }
3260
- /**
3261
- * Specifies the alignment of the {@link LineMarker}.
3262
- */
3263
- export declare enum LineMarkerAlignment {
3233
+ format: string;
3264
3234
  /**
3265
- * The LineMarker alignment adjusts automatically so that it stays
3266
- * within the boundaries of the plot area. */
3267
- Auto = 2,
3268
- /** The LineMarker aligns to the right of the pointer. */
3269
- Right = 0,
3270
- /** The LineMarker aligns to the left of the pointer. */
3271
- Left = 1,
3272
- /** The LineMarker aligns to the bottom of the pointer. */
3273
- Bottom = 4,
3274
- /** The LineMarker aligns to the top of the pointer. */
3275
- Top = 6
3276
- }
3277
- /**
3278
- * Represents an extension of the LineMarker for the FlexChart.
3279
- *
3280
- * The {@link LineMarker} consists of a text area with content reflecting
3281
- * data point values, and optional vertical or horizontal lines
3282
- * (or both for a cross-hair effect) positioned over the plot area.
3283
- *
3284
- * It can be static (interaction = None), follow the mouse or touch
3285
- * position (interaction = Move), or move when the user drags the
3286
- * line (interaction = Drag).
3287
- *
3288
- * For example:
3289
- * <pre>
3290
- * // create an interactive marker with a horizontal line and y-value
3291
- * var lm = new LineMarker($scope.ctx.chart, {
3292
- * lines: LineMarkerLines.Horizontal,
3293
- * interaction: LineMarkerInteraction.Move,
3294
- * alignment : LineMarkerAlignment.Top
3295
- * });
3296
- * lm.content = function (ht) {
3297
- * // show y-value
3298
- * return lm.y.toFixed(2);
3299
- * }
3300
- * </pre>
3301
- */
3302
- export declare class LineMarker {
3303
- static _CSS_MARKER: string;
3304
- static _CSS_MARKER_HLINE: string;
3305
- static _CSS_MARKER_VLINE: string;
3306
- static _CSS_MARKER_CONTENT: string;
3307
- static _CSS_MARKER_CONTAINER: string;
3308
- static _CSS_LINE_DRAGGABLE: string;
3309
- static _CSS_TOUCH_DISABLED: string;
3310
- private _chart;
3311
- private _plot;
3312
- private _marker;
3313
- private _markerContainer;
3314
- private _markerContent;
3315
- private _dragEle;
3316
- private _hLine;
3317
- private _vLine;
3318
- private _plotRect;
3319
- private _targetPoint;
3320
- private _wrapperMoveMarker;
3321
- private _capturedEle;
3322
- private _wrapperMousedown;
3323
- private _wrapperMouseup;
3324
- private _contentDragStartPoint;
3325
- private _mouseDownCrossPoint;
3326
- private _savedPosition;
3327
- private _isVisible;
3328
- private _horizontalPosition;
3329
- private _verticalPosition;
3330
- private _alignment;
3331
- private _content;
3332
- private _seriesIndex;
3333
- private _lines;
3334
- private _interaction;
3335
- private _dragThreshold;
3336
- private _dragContent;
3337
- private _dragLines;
3235
+ * Gets or sets a value indicating whether the axis includes grid lines.
3236
+ */
3237
+ majorGrid: boolean;
3338
3238
  /**
3339
- * Initializes a new instance of the {@link LineMarker} class.
3239
+ * Gets or sets the location of the axis tick marks.
3240
+ */
3241
+ majorTickMarks: TickMark;
3242
+ /**
3243
+ * Gets or sets a value indicating whether the axis includes minor grid lines.
3244
+ */
3245
+ minorGrid: boolean;
3246
+ /**
3247
+ * Gets or sets the location of the minor axis tick marks.
3248
+ */
3249
+ minorTickMarks: TickMark;
3250
+ /**
3251
+ * Gets or sets a value indicating whether the axis line is visible.
3340
3252
  *
3341
- * @param chart The chart on which the LineMarker appears.
3342
- * @param options A JavaScript object containing initialization data for the control.
3253
+ * The default value for this property is <b>true</b>.
3343
3254
  */
3344
- constructor(chart: FlexChartCore, options?: any);
3255
+ axisLine: boolean;
3345
3256
  /**
3346
- * Gets the {@link FlexChart} object that owns the LineMarker.
3257
+ * Gets or sets a value indicating whether the axis labels are visible.
3258
+ *
3259
+ * The default value for this property is <b>true</b>.
3347
3260
  */
3348
- readonly chart: FlexChartCore;
3261
+ labels: boolean;
3349
3262
  /**
3350
- * Gets or sets the visibility of the LineMarker.
3263
+ * Gets or sets the label alignment.
3264
+ *
3265
+ * By default the labels are centered. The supported values are
3266
+ * 'left' and 'right for the X-axis, 'top' and 'bottom' for the Y-axis.
3351
3267
  */
3352
- isVisible: boolean;
3268
+ labelAlign: string;
3353
3269
  /**
3354
- * Gets or sets the index of the series in the chart in which the LineMarker appears.
3355
- * This takes effect when the {@link interaction} property is set to
3356
- * LineMarkerInteraction.Move or LineMarkerInteraction.Drag.
3270
+ * Gets or sets the rotation angle of the axis labels.
3271
+ *
3272
+ * The angle is measured in degrees with valid values
3273
+ * ranging from -90 to 90.
3357
3274
  */
3358
- seriesIndex: number;
3275
+ labelAngle: number;
3359
3276
  /**
3360
- * Gets or sets the horizontal position of the LineMarker relative to the plot area.
3277
+ * Gets or sets a value that determines whether the minimum axis value should be always labeled.
3278
+ *
3279
+ * The default value for this property is **false**.
3280
+ */
3281
+ labelMin: boolean;
3282
+ /**
3283
+ * Gets or sets a value that determines whether the maximum axis value should be always labeled.
3284
+ *
3285
+ * The default value for this property is **false**.
3286
+ */
3287
+ labelMax: boolean;
3288
+ /**
3289
+ * Gets or sets the value at which an axis crosses the perpendicular axis.
3290
+ **/
3291
+ origin: number;
3292
+ /**
3293
+ * Gets or sets a value indicating how to handle overlapping axis labels.
3361
3294
  *
3362
- * Its value range is (0, 1).
3363
- * If the value is null or undefined and {@link interaction} is set to
3364
- * LineMarkerInteraction.Move or LineMarkerInteraction.Drag,
3365
- * the horizontal position of the marker is calculated automatically based on the
3366
- * pointer's position.
3295
+ * The default value for this property is <b>OverlappingLabels.Auto</b>.
3367
3296
  */
3368
- horizontalPosition: number;
3297
+ overlappingLabels: OverlappingLabels;
3369
3298
  /**
3370
- * Gets the current x-value as chart data coordinates.
3299
+ * Gets or sets the items source for the axis labels.
3300
+ *
3301
+ * Names of the properties are specified by the {@link Axis.binding} property.
3302
+ *
3303
+ * For example:
3304
+ *
3305
+ * <pre>
3306
+ * // default value for Axis.binding is 'value,text'
3307
+ * chart.axisX.itemsSource = [ { value:1, text:'one' }, { value:2, text:'two' } ];
3308
+ * </pre>
3371
3309
  */
3372
- readonly x: number;
3310
+ itemsSource: any;
3373
3311
  /**
3374
- * Gets the current y-value as chart data coordinates.
3312
+ * Gets or sets the comma-separated property names for the
3313
+ * {@link Axis.itemsSource} property to use in axis labels.
3314
+ *
3315
+ * The first name specifies the value on the axis, the second represents the corresponding
3316
+ * axis label. The default value is 'value,text'.
3375
3317
  */
3376
- readonly y: number;
3318
+ binding: string;
3377
3319
  /**
3378
- * Gets or sets the content function that allows you to customize the text content of the LineMarker.
3320
+ * Gets or sets the itemFormatter function for the axis labels.
3321
+ *
3322
+ * If specified, the function takes two parameters:
3323
+ * <ul>
3324
+ * <li><b>render engine</b>: The {@link IRenderEngine} object to be used
3325
+ * in formatting the labels.</li>
3326
+ * <li><b>current label</b>: An object with the following properties:
3327
+ * <ul>
3328
+ * <li><b>value</b>: The value of the axis label to format.</li>
3329
+ * <li><b>text</b>: The text to use in the label.</li>
3330
+ * <li><b>pos</b>: The position in control coordinates at which
3331
+ * the label is to be rendered.</li>
3332
+ * <li><b>cls</b>: The CSS class to be applied to the label.</li>
3333
+ * </ul></li>
3334
+ * </ul>
3335
+ *
3336
+ * The function returns the label parameters of labels for which
3337
+ * properties are modified.
3338
+ *
3339
+ * For example:
3340
+ * <pre>
3341
+ * chart.axisY.itemFormatter = function(engine, label) {
3342
+ * if (label.val &gt; 5){
3343
+ * engine.textFill = 'red'; // red text
3344
+ * label.cls = null; // no default CSS
3345
+ * }
3346
+ * return label;
3347
+ * }
3348
+ * </pre>
3379
3349
  */
3380
- content: Function;
3350
+ itemFormatter: Function;
3381
3351
  /**
3382
- * Gets or sets the vertical position of the LineMarker relative to the plot area.
3352
+ * Gets or sets the logarithmic base of the axis.
3383
3353
  *
3384
- * Its value range is (0, 1).
3385
- * If the value is null or undefined and {@link interaction} is set to LineMarkerInteraction.Move
3386
- * or LineMarkerInteraction.Drag, the vertical position of the LineMarker is calculated automatically based on the pointer's position.
3354
+ * If the base is not specified the axis uses a linear scale.
3355
+ *
3356
+ * Use the {@link logBase} property to spread data that is clustered
3357
+ * around the origin. This is common in several financial and economic
3358
+ * data sets.
3359
+ */
3360
+ logBase: number;
3361
+ /**
3362
+ * Gets or sets label groups settings for the axis.
3363
+ *
3364
+ * Label groups are created by modifying the {@link ICollectionView.groupDescriptions}
3365
+ * property of the {@link ICollectionView} object used as an {@link FlexChart.itemsSource}.
3366
+ *
3367
+ * The default value is **null** and the axis label groups are not displayed.
3368
+ *
3369
+ * To display groups you should create groups in collection view and specify the groupsOptions for the axis.
3370
+ *
3371
+ * For example,
3372
+ *
3373
+ * ```typescript
3374
+ * let view = new CollectionView( getData(), {
3375
+ * groupDescriptions: [
3376
+ * new PropertyGroupDescription('category'),
3377
+ * new PropertyGroupDescription('subCategory')]
3378
+ * });
3379
+ * const chart = new FlexChart('#theChart', {
3380
+ * itemsSource: view,
3381
+ * bindingX: 'product',
3382
+ * series: [ { binding:'sales' } ],
3383
+ * axisX: { groupsOptions: { display : AxisGroupsDisplay.Show } },
3384
+ * });
3385
+ * ```
3386
+ */
3387
+ groupsOptions: IAxisGroupsOptions;
3388
+ /**
3389
+ * Gets the array with actual axis labels.
3390
+ */
3391
+ readonly axisLabels: string[];
3392
+ _getLogBase(): number;
3393
+ _isLogAxis(): boolean;
3394
+ /**
3395
+ * Gets or sets the plot area for the axis.
3396
+ */
3397
+ plotArea: PlotArea;
3398
+ /**
3399
+ * Gets or sets the label padding, in pixels.
3400
+ *
3401
+ * The default value for this property is <b>5</b> pixels.
3402
+ */
3403
+ labelPadding: number;
3404
+ readonly _groupClass: string;
3405
+ /**
3406
+ * Occurs when the axis range changes.
3407
+ */
3408
+ readonly rangeChanged: Event<Axis, EventArgs>;
3409
+ /**
3410
+ * Raises the {@link rangeChanged} event.
3387
3411
  */
3388
- verticalPosition: number;
3412
+ onRangeChanged(e?: EventArgs): void;
3413
+ _getPosition(): Position;
3414
+ _isOverlapped(engine: IRenderEngine, w: number, lblClass: string, axisType: AxisType): boolean;
3415
+ _actualAngle: number;
3389
3416
  /**
3390
- * Gets or sets the alignment of the LineMarker content.
3391
- *
3392
- * By default, the LineMarker shows to the right, at the bottom of the target point.
3393
- * Use '|' to combine alignment values.
3417
+ * Calculates the axis height.
3394
3418
  *
3395
- * <pre>
3396
- * // set the alignment to the left.
3397
- * marker.alignment = LineMarkerAlignment.Left;
3398
- * // set the alignment to the left top.
3399
- * marker.alignment = LineMarkerAlignment.Left | LineMarkerAlignment.Top;
3400
- * </pre>
3419
+ * @param engine Rendering engine.
3420
+ * @param maxw Max width.
3401
3421
  */
3402
- alignment: LineMarkerAlignment;
3422
+ _getHeight(engine: IRenderEngine, maxw: number): number;
3423
+ _updateAutoFormat(delta: number): number;
3424
+ _getActualRange(): number;
3425
+ _updateActualLimitsByChartType(labels: any, min: any, max: any): {
3426
+ min: any;
3427
+ max: any;
3428
+ };
3403
3429
  /**
3404
- * Gets or sets the visibility of the LineMarker lines.
3430
+ * Update the actual axis limits based on a specified data range.
3431
+ *
3432
+ * @param dataType Data type.
3433
+ * @param dataMin Data minimum.
3434
+ * @param dataMax Data maximum.
3435
+ * @param labels Category labels(category axis).
3436
+ * @param values Values(value axis).
3405
3437
  */
3406
- lines: LineMarkerLines;
3438
+ _updateActualLimits(dataType: DataType, dataMin: number, dataMax: number, labels?: string[], values?: number[]): void;
3407
3439
  /**
3408
- * Gets or sets the interaction mode of the LineMarker.
3440
+ * Set the axis position.
3441
+ *
3442
+ * @param axisRect Axis rectangle.
3443
+ * @param plotRect Plot area rectangle.
3409
3444
  */
3410
- interaction: LineMarkerInteraction;
3445
+ _layout(axisRect: Rect, plotRect: Rect): void;
3446
+ _hasVisibileSeries(): boolean;
3447
+ _getSeries(): Series;
3411
3448
  /**
3412
- * Gets or sets the maximum distance from the horizontal or vertical
3413
- * line that the marker can be dragged.
3449
+ * Render the axis.
3450
+ *
3451
+ * @param engine Rendering engine.
3414
3452
  */
3415
- dragThreshold: number;
3453
+ _render(engine: IRenderEngine): void;
3454
+ _renderLineAndTitle(engine: any): void;
3455
+ _renderMinor(engine: any, vals: any, isCategory: any): void;
3456
+ _renderRotatedText(engine: IRenderEngine, val: any, text: string, pos: Point, halign: any, valign: any, center: Point, angle: number, className: string, groupClassName?: string, style?: any): void;
3457
+ _getFormattedItem(engine: IRenderEngine, val: any, text: string, pos: Point, className: string, readOnly?: boolean): {
3458
+ val: any;
3459
+ text: string;
3460
+ pos: Point;
3461
+ cls: string;
3462
+ };
3463
+ _renderLabelsAndTicks(engine: any, index: any, val: any, sval: any, labelAngle: any, tickMarks: any, showLabel: any, t1: any, t2: any): boolean;
3464
+ _xCross(x: number): boolean;
3465
+ _createMinors(engine: IRenderEngine, vals: number[], isVert: boolean, isNear: boolean, isCategory: boolean): void;
3466
+ _createLogarithmicMinors(engine: IRenderEngine, vals: number[], isVert: boolean, isNear: boolean, isCategory: boolean): void;
3467
+ _renderMinors(engine: IRenderEngine, ticks: number[], isVert: boolean, isNear: boolean): void;
3468
+ _renderLabel(engine: IRenderEngine, val: number, text: string, pos: Point, ha: any, va: any, className?: string): boolean;
3469
+ private _renderRotatedLabel;
3470
+ private _getLabelAlign;
3471
+ _addMinMaxLabels(vals: number[], lbls: string[]): void;
3472
+ _customConvert: Function;
3473
+ _customConvertBack: Function;
3416
3474
  /**
3417
- * Gets or sets a value indicating whether the content of the marker
3418
- * is draggable when the interaction mode is "Drag."
3475
+ * Converts the specified value from data to pixel coordinates.
3476
+ *
3477
+ * @param val The data value to convert.
3478
+ * @param maxValue The max value of the data, it's optional.
3479
+ * @param minValue The min value of the data, it's optional.
3419
3480
  */
3420
- dragContent: boolean;
3481
+ convert(val: number, maxValue?: number, minValue?: number): number;
3421
3482
  /**
3422
- * Gets or sets a value indicating whether the lines are linked
3423
- * when the horizontal or vertical line is dragged when the
3424
- * interaction mode is "Drag."
3483
+ * Converts the specified value from pixel to data coordinates.
3484
+ *
3485
+ * @param val The pixel coordinates to convert back.
3425
3486
  */
3426
- dragLines: boolean;
3487
+ convertBack(val: number): number;
3427
3488
  /**
3428
- * Occurs after the {@link LineMarker}'s position changes.
3489
+ * Gets the axis type.
3429
3490
  */
3430
- readonly positionChanged: Event<LineMarker, Point>;
3491
+ readonly axisType: AxisType;
3492
+ _getMinNum(): number;
3493
+ _getMaxNum(): number;
3494
+ _getTitleSize(): Size;
3495
+ private _invalidate;
3496
+ private _cvCollectionChanged;
3497
+ private _createLabels;
3498
+ private _createLogarithmicLabels;
3499
+ _createTimeLabels(start: number, len: number, vals: number[], lbls: string[]): void;
3500
+ _formatValue(val: number): string;
3501
+ _hitTest(point: Point): any;
3502
+ private _formatAxisValue;
3503
+ private _findFormat;
3504
+ private _calcMajorUnit;
3505
+ private _getAnnoNumber;
3506
+ private _nicePrecision;
3507
+ private _niceTickNumber;
3508
+ _niceNumber(x: number, exp: number, round: boolean): number;
3509
+ readonly _uniqueId: number;
3510
+ }
3511
+ /**
3512
+ * Represents a collection of {@link Axis} objects in a {@link FlexChart} control.
3513
+ */
3514
+ export declare class AxisCollection extends ObservableArray {
3431
3515
  /**
3432
- * Raises the {@link positionChanged} event.
3516
+ * Gets an axis by name.
3433
3517
  *
3434
- * @param point The target point at which to show the LineMarker.
3518
+ * @param name The name of the axis to look for.
3519
+ * @return The axis object with the specified name, or null if not found.
3435
3520
  */
3436
- onPositionChanged(point: Point): void;
3521
+ getAxis(name: string): Axis;
3437
3522
  /**
3438
- * Removes the LineMarker from the chart.
3523
+ * Gets the index of an axis by name.
3524
+ *
3525
+ * @param name The name of the axis to look for.
3526
+ * @return The index of the axis with the specified name, or -1 if not found.
3439
3527
  */
3440
- remove(): void;
3441
- private _attach;
3442
- private _attachDrag;
3443
- private _detach;
3444
- private _detachDrag;
3445
- private _toggleDragEventAttach;
3446
- private _onMousedown;
3447
- private _onMouseup;
3448
- _moveMarker(e: any): void;
3449
- private _calcStackedValue;
3450
- private _sign;
3451
- private _getElementPaddingValuee;
3452
- private _show;
3453
- private _hide;
3454
- private _toggleVisibility;
3455
- private _resetDefaultValue;
3456
- private _initialize;
3457
- private _createMarker;
3458
- private _removeMarker;
3459
- private _getContainer;
3460
- private _createContainer;
3461
- private _createChildren;
3462
- private _toggleElesDraggableClass;
3463
- private _updateMarkerSize;
3464
- private _updateLinesSize;
3465
- private _resetLinesVisibility;
3466
- private _updateMarkerPosition;
3467
- private _updateContent;
3468
- private _raisePositionChanged;
3469
- private _updatePositionByAlignment;
3470
- private _getEventPoint;
3471
- private _pointInRect;
3472
- private _getTop;
3528
+ indexOf(name: string): number;
3473
3529
  }
3474
- /**
3475
- * Plots data series.
3476
- */
3477
- export interface _IPlotter {
3478
- chart: FlexChartCore;
3479
- dataInfo: _DataInfo;
3480
- hitTester: _HitTester;
3481
- seriesIndex: number;
3482
- seriesCount: number;
3483
- clipping: boolean;
3484
- stacking: Stacking;
3485
- rotated: boolean;
3486
- adjustLimits(dataInfo: _DataInfo, plotRect: Rect): Rect;
3487
- plotSeries(engine: IRenderEngine, ax: _IAxis, ay: _IAxis, series: _ISeries, palette: _IPalette, iser: number, nser: number, customRender?: Function): any;
3488
- _renderLabels(engine: IRenderEngine, series: SeriesBase, smap: _IHitArea[], chart: FlexChartCore, lblAreas: _RectArea[]): any;
3489
- _renderLabel(engine: IRenderEngine, map: _IHitArea, dp: _DataPoint, chart: FlexChartCore, lbl: DataLabel, series: SeriesBase, offset: number, lblAreas: _RectArea[]): any;
3490
- load(): any;
3491
- unload(): any;
3530
+ export declare class _AxisLabel {
3531
+ private _value;
3532
+ private _label;
3533
+ private _start;
3534
+ private _end;
3535
+ private _rect;
3536
+ constructor(label: string, start: number, length: number);
3537
+ readonly value: number;
3538
+ readonly label: string;
3539
+ readonly start: number;
3540
+ readonly end: number;
3541
+ rect: Rect;
3492
3542
  }
3493
- /**
3494
- * Base class for chart plotters of all types (bar, line, area).
3495
- */
3496
- export declare class _BasePlotter {
3497
- _DEFAULT_WIDTH: number;
3498
- _DEFAULT_SYM_SIZE: number;
3499
- clipping: boolean;
3500
- chart: FlexChartCore;
3501
- hitTester: _HitTester;
3502
- dataInfo: _DataInfo;
3503
- seriesIndex: number;
3504
- seriesCount: number;
3505
- clear(): void;
3506
- _renderLabels(engine: IRenderEngine, series: SeriesBase, smap: _IHitArea[], chart: FlexChartCore, lblAreas: _RectArea[]): void;
3507
- _renderLabel(engine: IRenderEngine, map: _IHitArea, dp: _DataPoint, chart: FlexChartCore, lbl: DataLabel, series: SeriesBase, offset: number, lblAreas: _RectArea[]): void;
3508
- _getPointAndPosition(pt: Point, pos: LabelPosition, map: _IHitArea, chart: FlexChartCore): void;
3509
- _getLabelPoint(series: SeriesBase, dataPoint: _DataPoint): Point;
3510
- _renderLabelAndBorder(engine: IRenderEngine, s: string, pos: LabelPosition, offset: number, pt: Point, line: boolean, marg: any, border: boolean): Rect;
3511
- getOption(name: string, parent?: string): any;
3512
- getNumOption(name: string, parent?: string): number;
3513
- getItemFormatter(series: _ISeries): Function;
3514
- static cloneStyle(style: any, ignore: string[]): any;
3515
- isValid(datax: number, datay: number, ax: _IAxis, ay: _IAxis): boolean;
3516
- load(): void;
3517
- unload(): void;
3518
- _createSteps(x: number[], y: number[], num?: number): {
3519
- x: number[];
3520
- y: number[];
3521
- };
3543
+ declare class _AxisGroup {
3544
+ private _labels;
3545
+ private _index;
3546
+ private _size;
3547
+ private _level;
3548
+ private _last;
3549
+ constructor(level: number, last?: boolean);
3550
+ readonly labels: _AxisLabel[];
3551
+ index: number;
3552
+ height: number;
3553
+ width: number;
3554
+ readonly level: number;
3555
+ getSize(engine: IRenderEngine, className?: string, groupClass?: string): Size;
3556
+ render(engine: IRenderEngine, axis: Axis, value: number, className?: string, groupClass?: string): void;
3557
+ hitTest(point: Point): _AxisLabel;
3558
+ private renderLinesX;
3559
+ private renderLinesY;
3560
+ private drawLine;
3561
+ private _trimText;
3562
+ }
3563
+ export declare class _AxisGroups {
3564
+ private _groups;
3565
+ private _axis;
3566
+ private _height;
3567
+ private _margin;
3568
+ constructor(axis: Axis);
3569
+ readonly groups: _AxisGroup[];
3570
+ readonly axis: Axis;
3571
+ createGroups(): void;
3572
+ private createGroup;
3573
+ private layoutGroups;
3574
+ getHeight(engine: IRenderEngine): number;
3575
+ layout(): void;
3576
+ render(engine: IRenderEngine): void;
3577
+ hitTest(point: Point): _AxisLabel;
3522
3578
  }
3523
3579
  /**
3524
3580
  * Area chart plotter.
@@ -3616,7 +3672,7 @@ export declare class _FinancePlotter extends _BasePlotter {
3616
3672
  parseSymbolWidth(val: any): void;
3617
3673
  adjustLimits(dataInfo: _DataInfo, plotRect: Rect): Rect;
3618
3674
  plotSeries(engine: IRenderEngine, ax: _IAxis, ay: _IAxis, series: _ISeries, palette: _IPalette, iser: number, nser: number, customRender?: Function): void;
3619
- _drawSymbol(engine: IRenderEngine, ax: _IAxis, ay: _IAxis, si: number, pi: number, fill: any, w: number, x: number, hi: number, lo: number, open: number, close: number): void;
3675
+ _drawSymbol(engine: IRenderEngine, ax: _IAxis, ay: _IAxis, si: number, pi: number, fill: any, w: number, x: number, hi: number, lo: number, open: number, close: number, pointsLength: number): void;
3620
3676
  }
3621
3677
  /**
3622
3678
  * Line/scatter chart plotter.