
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
import type { DataItem } from "../../core/render/Component";
import type { PercentSeries, IPercentSeriesDataItem } from "../../charts/percent/PercentSeries";
import type { Legend } from "../../core/render/Legend";
import { Button } from "../../core/render/Button";
import { Entity, IEntitySettings, IEntityPrivate, IEntityEvents } from "../../core/util/Entity";
export interface ISliceGrouperSettings extends IEntitySettings {
/**
* A series that will be used to group slices on.
*/
series?: PercentSeries;
/**
* If set, plugin will try to manipulate the items in legend, such as
* adding group slice, hiding items for small slices, etc.
*/
legend?: Legend;
/**
* Any slice which has percent value less than this setting will be grouped.
*
* @default 5
*/
threshold?: number;
/**
* If set, only X first slices will be left as they are. The rest of the
* slices will be grouped.
*/
limit?: number;
/**
* Name (category) of the group slice.
*
* @default "Other"
*/
groupName?: string;
/**
* What happens when group slice is clicked.
*
* * `"none"` (default) - nothing.
* * `"break"` - underlying small slices are shown.
* * `"zoom"` - series shows only small slies (big ones are hidden).
*/
clickBehavior?: "none" | "break" | "zoom";
}
export interface ISliceGrouperPrivate extends IEntityPrivate {
groupDataItem?: DataItem<IPercentSeriesDataItem>;
normalDataItems?: DataItem<IPercentSeriesDataItem>[];
smallDataItems?: DataItem<IPercentSeriesDataItem>[];
currentStep?: number;
currentPass?: number;
}
export interface ISliceGrouperEvents extends IEntityEvents {
}
/**
* A plugin that can be used to automatically group small slices on percent
* charts into a single slice.
*
* @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/grouping-slices/} for more info
*/
export declare class SliceGrouper extends Entity {
static className: string;
static classNames: Array<string>;
_settings: ISliceGrouperSettings;
_privateSettings: ISliceGrouperPrivate;
_events: ISliceGrouperEvents;
/**
* A button that is shown when chart small buttons are visible.
*/
zoomOutButton?: Button;
protected _afterNew(): void;
private initZoomButton;
private handleData;
/**
* Resets slice setup to original grouping state.
*/
zoomOut(): void;
private updateGroupDataItem;
private handleClick;
_beforeChanged(): void;
}
//# sourceMappingURL=SliceGrouper.d.ts.map