import { type IDrillToAttributeUrl as IDrillToAttributeUrlModel, type IDrillToCustomUrl as IDrillToCustomUrlModel, type IDrillToInsight as IDrillToInsightModel, type IInsight as IInsightModel, type IKeyDriveAnalysis as IKeyDriveAnalysisModel, type IListedDashboard as IListedDashboardModel, type ObjRef, type SourceInsightFilterObjRef, type SourceMeasureFilterObjRef } from "@gooddata/sdk-model"; import { type IAvailableDrillTargetMeasure, type IAvailableDrillTargets } from "@gooddata/sdk-ui"; import type { IKdaDefinition } from "../../kdaDialog/types.js"; import type { DashboardDrillCommand, ICrossFiltering, IDrill, IDrillDown, IDrillToAttributeUrl, IDrillToCustomUrl, IDrillToDashboard, IDrillToInsight, IDrillToLegacyDashboard, IKeyDriverAnalysis } from "../../model/commands/drill.js"; import type { IDashboardCrossFilteringResolved, IDashboardDrillDownResolved, IDashboardDrillResolved, IDashboardDrillToAttributeUrlResolved, IDashboardDrillToCustomUrlResolved, IDashboardDrillToDashboardResolved, IDashboardDrillToInsightResolved, IDashboardDrillToLegacyDashboardResolved, IDashboardKeyDriverAnalysisResolved } from "../../model/events/drill.js"; import type { IDashboardCommandFailed } from "../../model/events/general.js"; import { type IDashboardDrillContext, type IDashboardDrillEvent, type IDrillDownDefinition } from "../../types.js"; /** * @alpha */ export type OnWidgetDrill = (drillEvent: IDashboardDrillEvent, drillContext: IDashboardDrillContext) => void; /** * @internal */ export type OnDashboardDrillError = (event: IDashboardCommandFailed) => void; /** * @internal */ export type OnDashboardDrill = (cmd: IDrill) => void; /** * @internal */ export type OnDashboardDrillSuccess = (event: IDashboardDrillResolved) => void; /** * @internal */ export type OnDrillDown = (cmd: IDrillDown) => void; /** * @alpha */ export type OnDrillDownSuccess = (event: IDashboardDrillDownResolved) => void; /** * @internal */ export type OnDrillToInsight = (cmd: IDrillToInsight) => void; /** * @alpha */ export type OnDrillToInsightSuccess = (event: IDashboardDrillToInsightResolved) => void; /** * @internal */ export type OnDrillToDashboard = (cmd: IDrillToDashboard) => void; /** * @alpha */ export type OnDrillToDashboardSuccess = (event: IDashboardDrillToDashboardResolved) => void; /** * @internal */ export type OnDrillToAttributeUrl = (cmd: IDrillToAttributeUrl) => void; /** * @alpha */ export type OnDrillToAttributeUrlSuccess = (event: IDashboardDrillToAttributeUrlResolved) => void; /** * @internal */ export type OnDrillToCustomUrl = (cmd: IDrillToCustomUrl) => void; /** * @alpha */ export type OnDrillToCustomUrlSuccess = (event: IDashboardDrillToCustomUrlResolved) => void; /** * @internal */ export type OnDrillToLegacyDashboard = (cmd: IDrillToLegacyDashboard) => void; /** * @internal */ export type OnDrillToLegacyDashboardSuccess = (event: IDashboardDrillToLegacyDashboardResolved) => void; /** * @beta */ export interface IDrillStep { drillEvent: IDashboardDrillEvent; drillDefinition: IDrillToInsightModel | IDrillDownDefinition; insight: IInsightModel; } /** * @internal */ export type OnCrossFiltering = (cmd: ICrossFiltering) => void; /** * @internal */ export type OnCrossFilteringSuccess = (event: IDashboardCrossFilteringResolved) => void; /** * @internal */ export type OnCrossFilteringError = OnDashboardDrillError; /** * @internal */ export interface IKeyDriveInfo { readonly keyDriveDefinition: IKdaDefinition; drillEvent: IDashboardDrillEvent; drillDefinition: IKeyDriveAnalysisModel; } /** * @internal */ export type OnKeyDriverAnalysis = (cmd: IKeyDriverAnalysis) => void; /** * @internal */ export type OnKeyDriverAnalysisSuccess = (event: IDashboardKeyDriverAnalysisResolved) => void; /** * @internal */ export type OnKeyDriverAnalysisError = OnDashboardDrillError; /** * @internal */ export type IDrillToUrl = IDrillToCustomUrlModel | IDrillToAttributeUrlModel; export declare function isDrillToUrl(drillDefinition: unknown): drillDefinition is IDrillToUrl; export declare enum DRILL_TARGET_TYPE { DRILL_TO_DASHBOARD = "DrillToDashboard", DRILL_TO_INSIGHT = "DrillToInsight", DRILL_DOWN = "DrillDown", DRILL_TO_URL = "DrillToUrl" } export interface IDrillConfigItemBase { type: "measure" | "attribute"; title: string; originLocalIdentifier: string; localIdentifier: string; drillTargetType?: DRILL_TARGET_TYPE; complete: boolean; warning?: string; attributes: IAvailableDrillTargetMeasure["attributes"]; widgetRef: ObjRef; /** * Local identifiers of attribute display forms that should be ignored in drill intersection. */ drillIntersectionIgnoredAttributes?: string[]; } export type IDrillConfigItem = IDrillToDashboardConfig | IDrillToInsightConfig | IDrillToUrlConfig | IDrillDownAttributeHierarchyConfig; export type IDrillConfigItemTarget = IDrillToDashboardConfigTarget | IDrillToInsightConfigTarget | IDrillToUrlConfigTarget | IDrillDownAttributeHierarchyTarget; export interface IDrillToDashboardConfigTarget { dashboard?: ObjRef; dashboardTab?: string; } export type IDrillToDashboardConfig = IDrillConfigItemBase & IDrillToDashboardConfigTarget & IDrillFiltersConfigExtended; export declare function isDrillToDashboardConfig(item: unknown): item is IDrillToDashboardConfig; export interface IDrillToInsightConfigTarget { insightRef?: ObjRef; } export interface IDrillFiltersConfigExtended { ignoredDashboardFilters?: string[]; includedSourceInsightFiltersObjRefs?: SourceInsightFilterObjRef[]; includedSourceMeasureFiltersObjRefs?: SourceMeasureFilterObjRef[]; } export type IDrillToInsightConfig = IDrillConfigItemBase & IDrillToInsightConfigTarget & IDrillFiltersConfigExtended; export declare function isDrillToInsightConfig(item: unknown): item is IDrillToInsightConfig; export interface IDrillToCustomUrlConfig { customUrl: string; } export declare function isDrillToCustomUrlConfig(item: unknown): item is IDrillToCustomUrlConfig; export interface IDrillToAttributeUrlConfig { insightAttributeDisplayForm: ObjRef; drillToAttributeDisplayForm: ObjRef; implicit?: boolean; } export declare function isDrillToAttributeUrlConfig(item: unknown): item is IDrillToAttributeUrlConfig; export type UrlDrillTarget = IDrillToCustomUrlConfig | IDrillToAttributeUrlConfig; export interface IDrillToUrlConfigTarget { urlDrillTarget?: UrlDrillTarget; } export type IDrillToUrlConfig = IDrillConfigItemBase & IDrillToUrlConfigTarget; export declare function isDrillToUrlConfig(item: unknown): item is IDrillToUrlConfig; /** * @internal */ export interface IDrillDownAttributeHierarchyTarget { type: "attribute"; attributeHierarchyRef: ObjRef; } export type IDrillDownAttributeHierarchyConfig = IDrillConfigItemBase & IDrillDownAttributeHierarchyTarget; export declare function isDrillDownToAttributeHierarchyConfig(item: unknown): item is IDrillDownAttributeHierarchyConfig; export declare enum AttributeDisplayFormType { HYPERLINK = "GDC.link", IMAGE = "GDC.image", GEO_PUSHPIN = "GDC.geo.pin", GEO_PUSHPIN_LATITUDE = "GDC.geo.pin_latitude", GEO_PUSHPIN_LONGITUDE = "GDC.geo.pin_longitude", GEO_AREA = "GDC.geo.area" } export interface IAttributeDisplayForm { formOf: ObjRef; identifier: string; uri: string; ref: ObjRef; type?: AttributeDisplayFormType; displayFormTitle: string; attributeTitle: string; } export interface IDefinitionValidationData { supportedDrillableItems: IAvailableDrillTargets; dashboardsList: IListedDashboardModel[]; attributeDisplayForms?: IAttributeDisplayForm[]; } export declare function isAvailableDrillTargetMeasure(obj: unknown): obj is IAvailableDrillTargetMeasure; export interface IDrillDownAttributeHierarchyDefinition { type: "drillDownAttributeHierarchy"; attributeHierarchyRef: ObjRef; originLocalIdentifier?: string; attributes: IAvailableDrillTargetMeasure["attributes"]; drillIntersectionIgnoredAttributes: string[]; } export declare function isDrillDownToAttributeHierarchyDefinition(item: unknown): item is IDrillDownAttributeHierarchyDefinition; //# sourceMappingURL=types.d.ts.map