diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md
index 85e1da08b00af..a9d4f66099dd6 100644
--- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md
+++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.links.md
@@ -10,6 +10,9 @@
readonly links: {
readonly dashboard: {
readonly drilldowns: string;
+ readonly urlDrilldownTriggerPicker: string;
+ readonly urlDrilldownTemplateSyntax: string;
+ readonly urlDrilldownVariables: string;
};
readonly filebeat: {
readonly base: string;
diff --git a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md
index 4644dc432bc9a..f6af78cff3f73 100644
--- a/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md
+++ b/docs/development/core/public/kibana-plugin-core-public.doclinksstart.md
@@ -17,5 +17,5 @@ export interface DocLinksStart
| --- | --- | --- |
| [DOC\_LINK\_VERSION](./kibana-plugin-core-public.doclinksstart.doc_link_version.md) | string
| |
| [ELASTIC\_WEBSITE\_URL](./kibana-plugin-core-public.doclinksstart.elastic_website_url.md) | string
| |
-| [links](./kibana-plugin-core-public.doclinksstart.links.md) | {
readonly dashboard: {
readonly drilldowns: string;
};
readonly filebeat: {
readonly base: string;
readonly installation: string;
readonly configuration: string;
readonly elasticsearchOutput: string;
readonly startup: string;
readonly exportedFields: string;
};
readonly auditbeat: {
readonly base: string;
};
readonly metricbeat: {
readonly base: string;
};
readonly heartbeat: {
readonly base: string;
};
readonly logstash: {
readonly base: string;
};
readonly functionbeat: {
readonly base: string;
};
readonly winlogbeat: {
readonly base: string;
};
readonly aggs: {
readonly date_histogram: string;
readonly date_range: string;
readonly filter: string;
readonly filters: string;
readonly geohash_grid: string;
readonly histogram: string;
readonly ip_range: string;
readonly range: string;
readonly significant_terms: string;
readonly terms: string;
readonly avg: string;
readonly avg_bucket: string;
readonly max_bucket: string;
readonly min_bucket: string;
readonly sum_bucket: string;
readonly cardinality: string;
readonly count: string;
readonly cumulative_sum: string;
readonly derivative: string;
readonly geo_bounds: string;
readonly geo_centroid: string;
readonly max: string;
readonly median: string;
readonly min: string;
readonly moving_avg: string;
readonly percentile_ranks: string;
readonly serial_diff: string;
readonly std_dev: string;
readonly sum: string;
readonly top_hits: string;
};
readonly scriptedFields: {
readonly scriptFields: string;
readonly scriptAggs: string;
readonly painless: string;
readonly painlessApi: string;
readonly painlessSyntax: string;
readonly luceneExpressions: string;
};
readonly indexPatterns: {
readonly loadingData: string;
readonly introduction: string;
};
readonly addData: string;
readonly kibana: string;
readonly siem: {
readonly guide: string;
readonly gettingStarted: string;
};
readonly query: {
readonly luceneQuerySyntax: string;
readonly queryDsl: string;
readonly kueryQuerySyntax: string;
};
readonly date: {
readonly dateMath: string;
};
readonly management: Record<string, string>;
readonly visualize: Record<string, string>;
}
| |
+| [links](./kibana-plugin-core-public.doclinksstart.links.md) | {
readonly dashboard: {
readonly drilldowns: string;
readonly urlDrilldownTriggerPicker: string;
readonly urlDrilldownTemplateSyntax: string;
readonly urlDrilldownVariables: string;
};
readonly filebeat: {
readonly base: string;
readonly installation: string;
readonly configuration: string;
readonly elasticsearchOutput: string;
readonly startup: string;
readonly exportedFields: string;
};
readonly auditbeat: {
readonly base: string;
};
readonly metricbeat: {
readonly base: string;
};
readonly heartbeat: {
readonly base: string;
};
readonly logstash: {
readonly base: string;
};
readonly functionbeat: {
readonly base: string;
};
readonly winlogbeat: {
readonly base: string;
};
readonly aggs: {
readonly date_histogram: string;
readonly date_range: string;
readonly filter: string;
readonly filters: string;
readonly geohash_grid: string;
readonly histogram: string;
readonly ip_range: string;
readonly range: string;
readonly significant_terms: string;
readonly terms: string;
readonly avg: string;
readonly avg_bucket: string;
readonly max_bucket: string;
readonly min_bucket: string;
readonly sum_bucket: string;
readonly cardinality: string;
readonly count: string;
readonly cumulative_sum: string;
readonly derivative: string;
readonly geo_bounds: string;
readonly geo_centroid: string;
readonly max: string;
readonly median: string;
readonly min: string;
readonly moving_avg: string;
readonly percentile_ranks: string;
readonly serial_diff: string;
readonly std_dev: string;
readonly sum: string;
readonly top_hits: string;
};
readonly scriptedFields: {
readonly scriptFields: string;
readonly scriptAggs: string;
readonly painless: string;
readonly painlessApi: string;
readonly painlessSyntax: string;
readonly luceneExpressions: string;
};
readonly indexPatterns: {
readonly loadingData: string;
readonly introduction: string;
};
readonly addData: string;
readonly kibana: string;
readonly siem: {
readonly guide: string;
readonly gettingStarted: string;
};
readonly query: {
readonly luceneQuerySyntax: string;
readonly queryDsl: string;
readonly kueryQuerySyntax: string;
};
readonly date: {
readonly dateMath: string;
};
readonly management: Record<string, string>;
readonly visualize: Record<string, string>;
}
| |
diff --git a/src/core/public/doc_links/doc_links_service.ts b/src/core/public/doc_links/doc_links_service.ts
index 95ac8bba57049..fae7a272c9635 100644
--- a/src/core/public/doc_links/doc_links_service.ts
+++ b/src/core/public/doc_links/doc_links_service.ts
@@ -38,6 +38,9 @@ export class DocLinksService {
links: {
dashboard: {
drilldowns: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/drilldowns.html`,
+ drilldownsTriggerPicker: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/url-drilldown.html#trigger-picker`,
+ urlDrilldownTemplateSyntax: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/url-drilldown.html#templating`,
+ urlDrilldownVariables: `${ELASTIC_WEBSITE_URL}guide/en/kibana/${DOC_LINK_VERSION}/url-drilldown.html#variables`,
},
filebeat: {
base: `${ELASTIC_WEBSITE_URL}guide/en/beats/filebeat/${DOC_LINK_VERSION}`,
@@ -143,6 +146,9 @@ export interface DocLinksStart {
readonly links: {
readonly dashboard: {
readonly drilldowns: string;
+ readonly drilldownsTriggerPicker: string;
+ readonly urlDrilldownTemplateSyntax: string;
+ readonly urlDrilldownVariables: string;
};
readonly filebeat: {
readonly base: string;
diff --git a/src/core/public/public.api.md b/src/core/public/public.api.md
index c473ea67d9bcd..b1cf645e483d4 100644
--- a/src/core/public/public.api.md
+++ b/src/core/public/public.api.md
@@ -490,6 +490,9 @@ export interface DocLinksStart {
readonly links: {
readonly dashboard: {
readonly drilldowns: string;
+ readonly urlDrilldownTriggerPicker: string;
+ readonly urlDrilldownTemplateSyntax: string;
+ readonly urlDrilldownVariables: string;
};
readonly filebeat: {
readonly base: string;
diff --git a/x-pack/plugins/embeddable_enhanced/public/drilldowns/url_drilldown/url_drilldown.test.ts b/x-pack/plugins/embeddable_enhanced/public/drilldowns/url_drilldown/url_drilldown.test.ts
index 6a11663ea6c3d..4906d0342be84 100644
--- a/x-pack/plugins/embeddable_enhanced/public/drilldowns/url_drilldown/url_drilldown.test.ts
+++ b/x-pack/plugins/embeddable_enhanced/public/drilldowns/url_drilldown/url_drilldown.test.ts
@@ -54,6 +54,7 @@ describe('UrlDrilldown', () => {
getGlobalScope: () => ({ kibanaUrl: 'http://localhost:5601/' }),
getOpenModal: () => Promise.resolve(coreMock.createStart().overlays.openModal),
getSyntaxHelpDocsLink: () => 'http://localhost:5601/docs',
+ getVariablesHelpDocsLink: () => 'http://localhost:5601/docs',
navigateToUrl: mockNavigateToUrl,
});
diff --git a/x-pack/plugins/embeddable_enhanced/public/drilldowns/url_drilldown/url_drilldown.tsx b/x-pack/plugins/embeddable_enhanced/public/drilldowns/url_drilldown/url_drilldown.tsx
index d5ab095fdd287..80478e6490b8f 100644
--- a/x-pack/plugins/embeddable_enhanced/public/drilldowns/url_drilldown/url_drilldown.tsx
+++ b/x-pack/plugins/embeddable_enhanced/public/drilldowns/url_drilldown/url_drilldown.tsx
@@ -31,6 +31,7 @@ interface UrlDrilldownDeps {
navigateToUrl: (url: string) => Promise;
getOpenModal: () => Promise;
getSyntaxHelpDocsLink: () => string;
+ getVariablesHelpDocsLink: () => string;
}
export type ActionContext = ChartActionContext;
@@ -74,6 +75,7 @@ export class UrlDrilldown implements Drilldown
);
};
diff --git a/x-pack/plugins/embeddable_enhanced/public/plugin.ts b/x-pack/plugins/embeddable_enhanced/public/plugin.ts
index 37e102b40131d..187db998e06ea 100644
--- a/x-pack/plugins/embeddable_enhanced/public/plugin.ts
+++ b/x-pack/plugins/embeddable_enhanced/public/plugin.ts
@@ -75,7 +75,10 @@ export class EmbeddableEnhancedPlugin
navigateToUrl: (url: string) =>
core.getStartServices().then(([{ application }]) => application.navigateToUrl(url)),
getOpenModal: () => core.getStartServices().then(([{ overlays }]) => overlays.openModal),
- getSyntaxHelpDocsLink: () => startServices().core.docLinks.links.dashboard.drilldowns, // TODO: replace with docs https://github.com/elastic/kibana/issues/69414
+ getSyntaxHelpDocsLink: () =>
+ startServices().core.docLinks.links.dashboard.urlDrilldownTemplateSyntax,
+ getVariablesHelpDocsLink: () =>
+ startServices().core.docLinks.links.dashboard.urlDrilldownVariables,
})
);
diff --git a/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/connected_flyout_manage_drilldowns/connected_flyout_manage_drilldowns.tsx b/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/connected_flyout_manage_drilldowns/connected_flyout_manage_drilldowns.tsx
index 8154ec45b8ae1..6f9eccde8bdb0 100644
--- a/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/connected_flyout_manage_drilldowns/connected_flyout_manage_drilldowns.tsx
+++ b/x-pack/plugins/ui_actions_enhanced/public/drilldowns/components/connected_flyout_manage_drilldowns/connected_flyout_manage_drilldowns.tsx
@@ -64,6 +64,7 @@ export function createFlyoutManageDrilldowns({
storage,
toastService,
docsLink,
+ triggerPickerDocsLink,
getTrigger,
}: {
actionFactories: ActionFactory[];
@@ -71,6 +72,7 @@ export function createFlyoutManageDrilldowns({
storage: IStorageWrapper;
toastService: ToastsStart;
docsLink?: string;
+ triggerPickerDocsLink?: string;
}) {
const allActionFactoriesById = allActionFactories.reduce((acc, next) => {
acc[next.id] = next;
@@ -161,6 +163,7 @@ export function createFlyoutManageDrilldowns({
return (
;
+ /**
+ * General overview of drilldowns
+ */
docsLink?: string;
+ /**
+ * Link that explains different triggers
+ */
+ triggerPickerDocsLink?: string;
+
getTrigger: (triggerId: TriggerId) => Trigger;
/**
@@ -145,6 +153,7 @@ export function FlyoutDrilldownWizard) {
@@ -217,7 +226,7 @@ export function FlyoutDrilldownWizard
{mode === 'edit' && (
<>
diff --git a/x-pack/plugins/ui_actions_enhanced/public/drilldowns/url_drilldown/components/url_drilldown_collect_config/url_drilldown_collect_config.tsx b/x-pack/plugins/ui_actions_enhanced/public/drilldowns/url_drilldown/components/url_drilldown_collect_config/url_drilldown_collect_config.tsx
index dabf09e4b6e9f..bd0191443d785 100644
--- a/x-pack/plugins/ui_actions_enhanced/public/drilldowns/url_drilldown/components/url_drilldown_collect_config/url_drilldown_collect_config.tsx
+++ b/x-pack/plugins/ui_actions_enhanced/public/drilldowns/url_drilldown/components/url_drilldown_collect_config/url_drilldown_collect_config.tsx
@@ -41,6 +41,7 @@ export interface UrlDrilldownCollectConfig {
onConfig: (newConfig: UrlDrilldownConfig) => void;
scope: UrlDrilldownScope;
syntaxHelpDocsLink?: string;
+ variablesHelpDocsLink?: string;
}
export const UrlDrilldownCollectConfig: React.FC = ({
@@ -48,6 +49,7 @@ export const UrlDrilldownCollectConfig: React.FC = ({
onConfig,
scope,
syntaxHelpDocsLink,
+ variablesHelpDocsLink,
}) => {
const textAreaRef = useRef(null);
const urlTemplate = config.url.template ?? '';
@@ -95,7 +97,7 @@ export const UrlDrilldownCollectConfig: React.FC = ({
labelAppend={
{
if (textAreaRef.current) {
updateUrlTemplate(
diff --git a/x-pack/plugins/ui_actions_enhanced/public/plugin.ts b/x-pack/plugins/ui_actions_enhanced/public/plugin.ts
index 015531aab9743..b38bc44abe2b0 100644
--- a/x-pack/plugins/ui_actions_enhanced/public/plugin.ts
+++ b/x-pack/plugins/ui_actions_enhanced/public/plugin.ts
@@ -132,6 +132,7 @@ export class AdvancedUiActionsPublicPlugin
storage: new Storage(window?.localStorage),
toastService: core.notifications.toasts,
docsLink: core.docLinks.links.dashboard.drilldowns,
+ triggerPickerDocsLink: core.docLinks.links.dashboard.drilldownsTriggerPicker,
}),
};
}