Skip to content

Commit

Permalink
Merge branch 'master' into follow-ups
Browse files Browse the repository at this point in the history
  • Loading branch information
FrankHassanabad committed Jun 10, 2020
2 parents 795f635 + 8095856 commit 94362b5
Show file tree
Hide file tree
Showing 304 changed files with 8,533 additions and 4,606 deletions.
1 change: 0 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ module.exports = {
{
files: ['x-pack/plugins/canvas/**/*.{js,ts,tsx}'],
rules: {
'react-hooks/exhaustive-deps': 'off',
'jsx-a11y/click-events-have-key-events': 'off',
},
},
Expand Down
17 changes: 11 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -661,18 +661,23 @@ To build the docs, you must clone the [elastic/docs](https://github.com/elastic/
repo as a sibling of your kibana repo. Follow the instructions in that project's
README for getting the docs tooling set up.

**To build the docs and open them in your browser:**
**To build the Kibana docs and open them in your browser:**

```bash
./docs/build_docs --doc kibana/docs/index.asciidoc --chunk 1 --open
```
or

```bash
node scripts/docs.js --open
```

### Release Notes Process
### Release Notes process

Part of this process only applies to maintainers, since it requires access to GitHub labels.

Kibana publishes major, minor and patch releases periodically through the year. During this process we run a script against this repo to collect the applicable PRs against that release and generate [Release Notes](https://www.elastic.co/guide/en/kibana/current/release-notes.html).
To include your change in the Release Notes:
Kibana publishes [Release Notes](https://www.elastic.co/guide/en/kibana/current/release-notes.html) for major and minor releases. To generate the Release Notes, the writers run a script against this repo to collect the merged PRs against the release.
To include your PRs in the Release Notes:

1. In the title, summarize what the PR accomplishes in language that is meaningful to the user. In general, use present tense (for example, Adds, Fixes) in sentence case.
2. Label the PR with the targeted version (ex: `v7.3.0`).
Expand All @@ -681,9 +686,9 @@ To include your change in the Release Notes:
* For an external-facing fix, use `release_note:fix`. Exception: docs, build, and test fixes do not go in the Release Notes. Neither fixes for issues that were only on `master` and never have been released.
* For a deprecated feature, use `release_note:deprecation`.
* For a breaking change, use `release_note:breaking`.
* To **NOT** include your changes in the Release Notes, please use `release_note:skip`.
* To **NOT** include your changes in the Release Notes, use `release_note:skip`.

We also produce a blog post that details more important breaking API changes every minor and major release. If the PR includes a breaking API change, apply the label `release_note:dev_docs`. Additionally add a brief summary of the break at the bottom of the PR using the format below:
We also produce a blog post that details more important breaking API changes in every major and minor release. When your PR includes a breaking API change, add the `release_note:dev_docs` label, and add a brief summary of the break at the bottom of the PR using the format below:

```
# Dev Docs
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) &gt; [getSearchParamsFromRequest](./kibana-plugin-plugins-data-public.getsearchparamsfromrequest.md)

## getSearchParamsFromRequest() function

<b>Signature:</b>

```typescript
export declare function getSearchParamsFromRequest(searchRequest: SearchRequest, dependencies: {
injectedMetadata: CoreStart['injectedMetadata'];
uiSettings: IUiSettingsClient;
}): {
rest_total_hits_as_int: boolean;
ignore_unavailable: boolean;
ignore_throttled: boolean;
max_concurrent_shard_requests: any;
preference: any;
timeout: string | undefined;
index: any;
body: any;
};
```

## Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| searchRequest | <code>SearchRequest</code> | |
| dependencies | <code>{</code><br/><code> injectedMetadata: CoreStart['injectedMetadata'];</code><br/><code> uiSettings: IUiSettingsClient;</code><br/><code>}</code> | |

<b>Returns:</b>

`{
rest_total_hits_as_int: boolean;
ignore_unavailable: boolean;
ignore_throttled: boolean;
max_concurrent_shard_requests: any;
preference: any;
timeout: string | undefined;
index: any;
body: any;
}`

Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
| [getEsPreference(uiSettings, sessionId)](./kibana-plugin-plugins-data-public.getespreference.md) | |
| [getQueryLog(uiSettings, storage, appName, language)](./kibana-plugin-plugins-data-public.getquerylog.md) | |
| [getSearchErrorType({ message })](./kibana-plugin-plugins-data-public.getsearcherrortype.md) | |
| [getSearchParamsFromRequest(searchRequest, dependencies)](./kibana-plugin-plugins-data-public.getsearchparamsfromrequest.md) | |
| [getTime(indexPattern, timeRange, options)](./kibana-plugin-plugins-data-public.gettime.md) | |
| [plugin(initializerContext)](./kibana-plugin-plugins-data-public.plugin.md) | |

Expand Down
108 changes: 108 additions & 0 deletions docs/drilldowns/drilldowns.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
[[drilldowns]]
== Use drilldowns for dashboard actions

Drilldowns, also known as custom actions, allow you to configure a
workflow for analyzing and troubleshooting your data.
Using a drilldown, you can navigate from one dashboard to another,
taking the current time range, filters, and other parameters with you,
so the context remains the same. You can continue your analysis from a new perspective.

For example, you might have a dashboard that shows the overall status of multiple data centers.
You can create a drilldown that navigates from this dashboard to a dashboard
that shows a single data center or server.

[float]
[[how-drilldowns-work]]
=== How drilldowns work

Drilldowns are {kib} actions that you configure and store
in the dashboard saved object. Drilldowns are specific to the dashboard panel
for which you create them&mdash;they are not shared across panels.
A panel can have multiple drilldowns.

This example shows a dashboard panel that contains a pie chart.
Typically, clicking a pie slice applies the current filter.
When a panel has a drilldown, clicking a pie slice opens a menu with
the default action and your drilldowns. Refer to the <<drilldowns-example, Try it section>>
for instructions on how to create this drilldown.

[role="screenshot"]
image::images/drilldown_on_piechart.gif[Drilldown on pie chart that navigates to another dashboard]

Third-party developers can create drilldowns.
Refer to https://github.com/elastic/kibana/tree/master/x-pack/examples/ui_actions_enhanced_examples[this example plugin]
to learn how to code drilldowns.

[float]
[[create-manage-drilldowns]]
=== Create and manage drilldowns

Your dashboard must be in *Edit* mode to create a drilldown.
Once a panel has at least one drilldown, the menu also includes a *Manage drilldowns* action
for editing and deleting drilldowns.

[role="screenshot"]
image::images/drilldown_menu.png[Panel menu with Create drilldown and Manage drilldown actions]

[float]
[[drilldowns-example]]
=== Try it: Create a drilldown

This example shows how to create the *Host Overview* drilldown shown earlier in this doc.

[float]
==== Set up the dashboards

. Add the <<get-data-in, sample web logs>> data set.

. Create a new dashboard, called `Host Overview`, and include these visualizations
from the sample data set:
+
[%hardbreaks]
*[Logs] Heatmap*
*[Logs] Visitors by OS*
*[Logs] Host, Visits, and Bytes Table*
*[Logs] Total Requests and Bytes*
+
TIP: If you don’t see data for a panel, try changing the time range.

. Open the *[Logs] Web traffic* dashboard.

. Set a search and filter.
+
[%hardbreaks]
Search: `extension.keyword:( “gz” or “css” or “deb”)`
Filter: `geo.src : CN`

[float]
==== Create the drilldown


. In the dashboard menu bar, click *Edit*.

. In *[Logs] Visitors by OS*, open the panel menu, and then select *Create drilldown*.

. Give the drilldown a name.

. Select *Host Overview* as the destination dashboard.

. Keep both filters enabled so that the drilldown carries over the global filters and date range.
+
Your input should look similar to this:
+
[role="screenshot"]
image::images/drilldown_create.png[Create drilldown with entries for drilldown name and destination]

. Click *Create drilldown.*

. Save the dashboard.
+
If you don’t save the drilldown, and then navigate away, the drilldown is lost.

. In *[Logs] Visitors by OS*, click the `win 8` slice of the pie, and then select the name of your drilldown.
+
[role="screenshot"]
image::images/drilldown_on_panel.png[Drilldown on pie chart that navigates to another dashboard]
+
You are navigated to your destination dashboard. Verify that the search query, filters,
and time range are carried over.
Binary file added docs/drilldowns/images/drilldown_create.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/drilldowns/images/drilldown_menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/drilldowns/images/drilldown_on_panel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/drilldowns/images/drilldown_on_piechart.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions docs/user/dashboard.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,8 @@ When you're finished adding and arranging the panels, save the dashboard.

. Enter the dashboard *Title* and optional *Description*, then *Save* the dashboard.

include::{kib-repo-dir}/drilldowns/drilldowns.asciidoc[]

[[sharing-dashboards]]
== Share the dashboard

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
"@elastic/charts": "19.2.0",
"@elastic/datemath": "5.0.3",
"@elastic/ems-client": "7.8.0",
"@elastic/eui": "23.3.1",
"@elastic/eui": "24.1.0",
"@elastic/filesaver": "1.1.2",
"@elastic/good": "8.1.1-kibana2",
"@elastic/numeral": "^2.5.0",
Expand Down
9 changes: 5 additions & 4 deletions packages/kbn-pm/dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -55242,6 +55242,7 @@ __webpack_require__.r(__webpack_exports__);
* under the License.
*/

const YARN_EXEC = process.env.npm_execpath || 'yarn';

/**
* Install all dependencies in the given directory
Expand All @@ -55250,7 +55251,7 @@ async function installInDir(directory, extraArgs = []) {
const options = ['install', '--non-interactive', ...extraArgs]; // We pass the mutex flag to ensure only one instance of yarn runs at any
// given time (e.g. to avoid conflicts).

await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])('yarn', options, {
await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])(YARN_EXEC, options, {
cwd: directory
});
}
Expand All @@ -55262,7 +55263,7 @@ async function runScriptInPackage(script, args, pkg) {
const execOpts = {
cwd: pkg.path
};
await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])('yarn', ['run', script, ...args], execOpts);
await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])(YARN_EXEC, ['run', script, ...args], execOpts);
}
/**
* Run script in the given directory
Expand All @@ -55277,15 +55278,15 @@ function runScriptInPackageStreaming({
const execOpts = {
cwd: pkg.path
};
return Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawnStreaming"])('yarn', ['run', script, ...args], execOpts, {
return Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawnStreaming"])(YARN_EXEC, ['run', script, ...args], execOpts, {
prefix: pkg.name,
debug
});
}
async function yarnWorkspacesInfo(directory) {
const {
stdout
} = await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])('yarn', ['--json', 'workspaces', 'info'], {
} = await Object(_child_process__WEBPACK_IMPORTED_MODULE_0__["spawn"])(YARN_EXEC, ['--json', 'workspaces', 'info'], {
cwd: directory,
stdio: 'pipe'
});
Expand Down
10 changes: 6 additions & 4 deletions packages/kbn-pm/src/utils/scripts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
import { spawn, spawnStreaming } from './child_process';
import { Project } from './project';

const YARN_EXEC = process.env.npm_execpath || 'yarn';

interface WorkspaceInfo {
location: string;
workspaceDependencies: string[];
Expand All @@ -37,7 +39,7 @@ export async function installInDir(directory: string, extraArgs: string[] = [])

// We pass the mutex flag to ensure only one instance of yarn runs at any
// given time (e.g. to avoid conflicts).
await spawn('yarn', options, {
await spawn(YARN_EXEC, options, {
cwd: directory,
});
}
Expand All @@ -50,7 +52,7 @@ export async function runScriptInPackage(script: string, args: string[], pkg: Pr
cwd: pkg.path,
};

await spawn('yarn', ['run', script, ...args], execOpts);
await spawn(YARN_EXEC, ['run', script, ...args], execOpts);
}

/**
Expand All @@ -71,14 +73,14 @@ export function runScriptInPackageStreaming({
cwd: pkg.path,
};

return spawnStreaming('yarn', ['run', script, ...args], execOpts, {
return spawnStreaming(YARN_EXEC, ['run', script, ...args], execOpts, {
prefix: pkg.name,
debug,
});
}

export async function yarnWorkspacesInfo(directory: string): Promise<WorkspacesInfo> {
const { stdout } = await spawn('yarn', ['--json', 'workspaces', 'info'], {
const { stdout } = await spawn(YARN_EXEC, ['--json', 'workspaces', 'info'], {
cwd: directory,
stdio: 'pipe',
});
Expand Down
23 changes: 22 additions & 1 deletion packages/kbn-storybook/storybook_config/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* under the License.
*/

const { resolve } = require('path');
const { parse, resolve } = require('path');
const webpack = require('webpack');
const { stringifyRequest } = require('loader-utils');
const CopyWebpackPlugin = require('copy-webpack-plugin');
Expand Down Expand Up @@ -95,6 +95,27 @@ module.exports = async ({ config }) => {
},
},
},
{
loader: 'resolve-url-loader',
options: {
// If you don't have arguments (_, __) to the join function, the
// resolve-url-loader fails with a loader misconfiguration error.
//
// eslint-disable-next-line no-unused-vars
join: (_, __) => (uri, base) => {
if (!base || !parse(base).dir.includes('legacy')) {
return null;
}

// URIs on mixins in src/legacy/public/styles need to be resolved.
if (uri.startsWith('ui/assets')) {
return resolve(REPO_ROOT, 'src/core/server/core_app/', uri.replace('ui/', ''));
}

return null;
},
},
},
{
loader: 'sass-loader',
options: {
Expand Down
2 changes: 1 addition & 1 deletion packages/kbn-ui-shared-deps/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
},
"dependencies": {
"@elastic/charts": "19.2.0",
"@elastic/eui": "23.3.1",
"@elastic/eui": "24.1.0",
"@elastic/numeral": "^2.5.0",
"@kbn/i18n": "1.0.0",
"@kbn/monaco": "1.0.0",
Expand Down
Loading

0 comments on commit 94362b5

Please sign in to comment.