@gooddata/react-components
Version:
GoodData.UI - A powerful JavaScript library for building analytical applications
164 lines (163 loc) • 6.53 kB
TypeScript
import { AFM, Execution } from "@gooddata/typings";
import Highcharts from "../components/visualizations/chart/highcharts/highchartsEntryPoint";
import { ChartElementType, ChartType, HeadlineElementType, HeadlineType, TableElementType, TableType, VisElementType, VisType, XirrType } from "../constants/visualizationTypes";
import { IGeoLngLat } from "../interfaces/GeoChart";
import { TableRowForDrilling } from "./Table";
import { OnFiredDrillEvent, OnDrill } from "./Events";
export interface IDrillableItemUri {
uri: string;
}
export interface IDrillableItemIdentifier {
identifier: string;
}
export declare type IDrillableItem = IDrillableItemUri | IDrillableItemIdentifier | (IDrillableItemUri & IDrillableItemIdentifier);
export declare function isDrillableItemUri(item: IDrillableItem): item is IDrillableItemUri;
export declare function isDrillableItemIdentifier(item: IDrillableItem): item is IDrillableItemIdentifier;
export declare type IDrillEventCallback = (event: IDrillEvent) => void | boolean;
export declare type IDrillEventExtendedCallback = (event: IDrillEventExtended) => void;
export interface IDrillEventIntersectionElement {
id: string;
title: string;
header?: {
uri: string;
identifier: string;
};
}
export interface IDrillIntersectionAttributeItem extends Execution.IResultAttributeHeaderItem, Execution.IAttributeHeader {
}
export declare function isDrillIntersectionAttributeItem(header: DrillEventIntersectionElementHeader): header is IDrillIntersectionAttributeItem;
export declare function isDrillIntersectionAttribute(header: DrillEventIntersectionElementHeader): header is Execution.IAttributeHeader;
export declare type DrillEventIntersectionElementHeader = Execution.IAttributeHeader | Execution.IMeasureHeaderItem | Execution.ITotalHeaderItem | IDrillIntersectionAttributeItem;
export declare function isMappingMeasureHeaderItem(header: DrillEventIntersectionElementHeader): header is Execution.IMeasureHeaderItem;
export interface IDrillEventIntersectionElementExtended {
header: DrillEventIntersectionElementHeader;
}
export interface IDrillEventIntersection {
intersection: IDrillEventIntersectionElement[];
}
export interface IDrillEventIntersectionExtended {
intersection: IDrillEventIntersectionElementExtended[];
}
export interface IDrillEventContextTableBase {
type: TableType;
element: TableElementType;
columnIndex: number;
rowIndex: number;
row: any[];
}
export interface IDrillEventContextTable extends IDrillEventContextTableBase, IDrillEventIntersection {
}
export interface IDrillEventContextTableExtended extends IDrillEventContextTableBase, IDrillEventIntersectionExtended {
}
export declare function isDrillEventContextTableExtended(arg: IDrillEventContextBase): arg is IDrillEventContextTableExtended;
export interface IDrillEventContextHeadlineBase {
type: HeadlineType;
element: HeadlineElementType;
value: string;
}
export interface IDrillEventContextHeadline extends IDrillEventContextHeadlineBase, IDrillEventIntersection {
}
export interface IDrillEventContextHeadlineExtended extends IDrillEventContextHeadlineBase, IDrillEventIntersectionExtended {
}
export declare function isDrillEventContextHeadlineExtended(arg: IDrillEventContextBase): arg is IDrillEventContextHeadlineExtended;
export interface IDrillEventContextXirrBase {
type: XirrType;
element: HeadlineElementType;
value: string;
}
export interface IDrillEventContextXirr extends IDrillEventContextXirrBase, IDrillEventIntersection {
}
export interface IDrillEventContextXirrExtended extends IDrillEventContextXirrBase, IDrillEventIntersectionExtended {
}
export declare function isDrillEventContextXirrExtended(arg: IDrillEventContextBase): arg is IDrillEventContextXirrExtended;
export interface IDrillEventContextPointBase {
type: ChartType;
element: ChartElementType;
elementChartType?: ChartType;
x?: number;
y?: number;
z?: number;
value?: string;
}
export interface IDrillEventContextPoint extends IDrillEventContextPointBase, IDrillEventIntersection {
}
export interface IDrillEventContextPointExtended extends IDrillEventContextPointBase, IDrillEventIntersectionExtended {
}
export interface IDrillPointBase {
x: number;
y: number;
type?: ChartType;
}
export interface IDrillPoint extends IDrillPointBase, IDrillEventIntersection {
}
export interface IDrillPointExtended extends IDrillPointBase, IDrillEventIntersectionExtended {
}
export interface IDrillEventContextGroupBase {
type: ChartType;
element: ChartElementType;
}
export interface IDrillEventContextGroup extends IDrillEventContextGroupBase {
points: IDrillPoint[];
}
export interface IDrillEventContextGroupExtended extends IDrillEventContextGroupBase {
points: IDrillPointExtended[];
}
export interface IDrillEventContextBase {
type: VisType;
element: VisElementType;
x?: number;
y?: number;
z?: number;
columnIndex?: number;
rowIndex?: number;
row?: any[];
value?: string;
}
export interface IDrillEventContext extends IDrillEventContextBase {
points?: IDrillPoint[];
intersection?: IDrillEventIntersectionElement[];
}
export interface IDrillEventContextExtended extends IDrillEventContextBase {
points?: IDrillPointExtended[];
intersection?: IDrillEventIntersectionElementExtended[];
}
export interface IGeoDrillEvent extends IDrillEventContextExtended {
color?: number;
location?: IGeoLngLat;
locationName?: string;
segmentBy?: string;
size?: number;
}
export interface IDrillEvent {
executionContext: AFM.IAfm;
drillContext: IDrillEventContext;
}
export interface IDrillEventExtended {
executionContext: AFM.IAfm;
drillContext: IDrillEventContextExtended;
}
export interface IHighchartsParentTick {
leaves: number;
startAt: number;
label: any;
}
export interface IHighchartsCategoriesTree {
tick: IHighchartsParentTick;
}
export interface IHighchartsPointObject extends Highcharts.Point {
drillIntersection: IDrillEventIntersectionElementExtended[];
z?: number;
value?: number;
}
export declare function isGroupHighchartsDrillEvent(event: Highcharts.DrilldownEventObject): boolean;
export interface ICellDrillEvent {
columnIndex: number;
rowIndex: number;
row: TableRowForDrilling;
intersection: IDrillEventIntersectionElement[];
}
export interface IDrillConfig {
afm: AFM.IAfm;
onFiredDrillEvent: OnFiredDrillEvent;
onDrill?: OnDrill;
}