Skip to content

Commit

Permalink
"Explore underlying data" in-chart action kibana.yml flag (elastic#70045
Browse files Browse the repository at this point in the history
)

* refactor: 💡 rename folder to "explore_data"

* style: 💄 check for "share" plugin in more semantic way

"explore data" actions use Discover URL generator, which is registered
in "share" plugin, which is optional plugin, so we check for its
existance, because otherwise URL generator is not available.

* refactor: 💡 move KibanaURL to a separate file

* feat: 🎸 add "Explore underlying data" in-chart action

* fix: 🐛 fix imports after refactor

* feat: 🎸 add start.filtersFromContext to embeddable plugin

* feat: 🎸 add type checkers to data plugin

* feat: 🎸 better handle empty filters in Discover URL generator

* feat: 🎸 implement .getUrl() method of explore data in-chart act

* feat: 🎸 add embeddable.filtersAndTimeRangeFromContext()

* feat: 🎸 improve getUrl() method of explore data action

* test: 💍 update test mock

* fix possible stale hashHistory.location in discover

* style: 💄 ensureHashHistoryLocation -> syncHistoryLocations

* docs: ✏️ update autogenerated docs

* test: 💍 add in-chart "Explore underlying data" unit tests

* test: 💍 add in-chart "Explore underlying data" functional tests

* test: 💍 clean-up custom time range after panel action tests

* chore: 🤖 fix embeddable plugin mocks

* chore: 🤖 fix another mock

* test: 💍 add support for new action to pie chart service

* feat: 🎸 add kibana.yml to disable in-chart "explore data" actio

Co-authored-by: Anton Dosov <anton.dosov@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
  • Loading branch information
3 people authored and Bamieh committed Jul 1, 2020
1 parent 8584dbb commit 0d09365
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 6 deletions.
5 changes: 3 additions & 2 deletions x-pack/plugins/discover_enhanced/kibana.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
"id": "discoverEnhanced",
"version": "8.0.0",
"kibanaVersion": "kibana",
"server": false,
"server": true,
"ui": true,
"requiredPlugins": ["uiActions", "embeddable", "discover"],
"optionalPlugins": ["share"]
"optionalPlugins": ["share"],
"configPath": ["xpack", "discoverEnhanced"]
}
14 changes: 10 additions & 4 deletions x-pack/plugins/discover_enhanced/public/plugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,11 @@ export interface DiscoverEnhancedStartDependencies {
export class DiscoverEnhancedPlugin
implements
Plugin<void, void, DiscoverEnhancedSetupDependencies, DiscoverEnhancedStartDependencies> {
constructor(public readonly initializerContext: PluginInitializerContext) {}
public readonly config: { actions: { exploreDataInChart: { enabled: boolean } } };

constructor(protected readonly context: PluginInitializerContext) {
this.config = context.config.get();
}

setup(
core: CoreSetup<DiscoverEnhancedStartDependencies>,
Expand All @@ -68,9 +72,11 @@ export class DiscoverEnhancedPlugin
const exploreDataAction = new ExploreDataContextMenuAction(params);
uiActions.addTriggerAction(CONTEXT_MENU_TRIGGER, exploreDataAction);

const exploreDataChartAction = new ExploreDataChartAction(params);
uiActions.addTriggerAction(SELECT_RANGE_TRIGGER, exploreDataChartAction);
uiActions.addTriggerAction(VALUE_CLICK_TRIGGER, exploreDataChartAction);
if (this.config.actions.exploreDataInChart.enabled) {
const exploreDataChartAction = new ExploreDataChartAction(params);
uiActions.addTriggerAction(SELECT_RANGE_TRIGGER, exploreDataChartAction);
uiActions.addTriggerAction(VALUE_CLICK_TRIGGER, exploreDataChartAction);
}
}
}

Expand Down
25 changes: 25 additions & 0 deletions x-pack/plugins/discover_enhanced/server/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

import { schema, TypeOf } from '@kbn/config-schema';
import { PluginConfigDescriptor } from '../../../../src/core/server';

export const configSchema = schema.object({
actions: schema.object({
exploreDataInChart: schema.object({
enabled: schema.boolean({ defaultValue: true }),
}),
}),
});

export type ConfigSchema = TypeOf<typeof configSchema>;

export const config: PluginConfigDescriptor<ConfigSchema> = {
schema: configSchema,
exposeToBrowser: {
actions: true,
},
};
12 changes: 12 additions & 0 deletions x-pack/plugins/discover_enhanced/server/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/

export { config } from './config';

export const plugin = () => ({
setup() {},
start() {},
});

0 comments on commit 0d09365

Please sign in to comment.