// (C) 2019-2020 GoodData Corporation import { ExecuteAFM as AFM } from "@gooddata/typings"; export type DrillDefinition = IDrillToVisualization | IDrillToDashboard | IDrillToUrl; export type IDrillToUrl = IDrillToCustomUrl | IDrillToAttributeUrl; export type DrillFrom = IDrillFromMeasure; export type DrillTarget = "pop-up"; export type DrillToDashboardTarget = "in-place"; export type NewWindowDrillTarget = "new-window"; export type Identifier = string; export interface IDrillToVisualization { drillToVisualization: { target: DrillTarget; from: DrillFrom; toVisualization: AFM.IObjUriQualifier; }; } export interface IDrillFromMeasure { drillFromMeasure: { localIdentifier: AFM.Identifier; }; } export interface IDrillToDashboard { drillToDashboard: { target: DrillToDashboardTarget; from: DrillFrom; toDashboard: Identifier; }; } export interface IDrillToCustomUrl { drillToCustomUrl: { target: NewWindowDrillTarget; from: DrillFrom; customUrl: string; }; } export interface IDrillToAttributeUrl { drillToAttributeUrl: { target: NewWindowDrillTarget; from: DrillFrom; insightAttributeDisplayForm: AFM.IObjUriQualifier; drillToAttributeDisplayForm: AFM.IObjUriQualifier; }; }