Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace spy panels by Inspector #16387

Merged
merged 83 commits into from
Jun 20, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
44833cb
Add Inspector feature
May 9, 2018
c37f815
So long, and thanks for all the fish, spy panel
timroes May 9, 2018
eb91f15
Fix several functional tests
timroes May 9, 2018
04f1626
Fix unit tests
May 10, 2018
04c112c
Fix spy panel button tests
May 10, 2018
16b5705
Replace old spy panel documentation
May 10, 2018
178793b
Disable test temporarily until we have dashboard triggers
May 15, 2018
8f554e2
Enter edit mode for dark theme test
May 15, 2018
5c7d699
Fix some more functional tests
May 15, 2018
8b33b42
Fix more functional tests
May 16, 2018
d65161a
More test fixing
May 16, 2018
09efd59
Fix more functional tests
May 17, 2018
042cc06
Allow opening the inspector via loader handler
May 17, 2018
42fb588
Refactor InspectorViewChooser, remove unused CSS
May 18, 2018
4adb4e8
Remove dead code
May 18, 2018
8de72b2
Fix data download button style
May 18, 2018
b517b65
Remove redundant code
May 18, 2018
588cc39
Load inspectorViews for dashboard_viewer
May 23, 2018
21d9a22
Extract inspector views to custom core_plugin
May 23, 2018
27a0791
Switch API to TypeScript :tada:
May 24, 2018
a75799a
Design changes
May 24, 2018
d9d811f
Remove icons from views
May 24, 2018
3028434
Design changes
May 25, 2018
8fde262
Improve typings of API
May 25, 2018
846dc96
Add typing to all adapters
May 25, 2018
9f230e2
Show loading spinner in request selector
May 25, 2018
3c11040
Rewrite InspectorView to TypeScript
May 25, 2018
f94f4e6
Fix help text for data view
May 28, 2018
166535a
Remove deprecated React lifecycle methods
May 28, 2018
13f8776
Embed inspector into dashboard panel actions
May 28, 2018
f2e3e14
Remove temporary inspector trigger
May 28, 2018
01324d1
Remove old CSS
May 28, 2018
1f708a1
Fix dashboard trigger for new panel action
May 28, 2018
9203998
Add tests for InspectorPanel and DataAdapter
May 28, 2018
c3bab46
Produce a hierarchical table if the vis is hierarchical
May 29, 2018
39cf8f7
Remove allowJs option again
May 29, 2018
deefcb9
Add missing Apache license headers
May 29, 2018
45d2a31
Close inspector on dashboard when navigating away
May 29, 2018
c2d8ad0
Use proper title for dashboard panels
May 29, 2018
5b4a8cb
Fix functional tests
May 29, 2018
9256ec1
Skip broken test for now
May 29, 2018
73a4797
Flush view chooser button
May 29, 2018
aca5660
Add request adapter tests
May 29, 2018
9e0378c
Skip more tests, broken due to typescript
May 29, 2018
1f3f184
Add Request Time description
May 29, 2018
d90e516
Add description for courier request
May 29, 2018
e2a5c47
Fix tests
May 30, 2018
54095d0
Replace icon by new (not yet released) icon
May 30, 2018
3552354
Finalize design of inspector
May 30, 2018
f402edf
Remove discover test, that relied on spy panels
May 30, 2018
7feed98
Change API to be properly mockable in tests
May 30, 2018
1724646
Add aria-live region for request status
May 30, 2018
c547272
Replace old method in functional tests
May 30, 2018
09d84c4
Replace abitrary magic number
May 30, 2018
eb96e4a
Use object destructuring in vis
May 30, 2018
43b5f62
Fix issue with crashing requests view
May 30, 2018
480b939
Add request time tooltip
May 30, 2018
47e32c6
Get request body of correct search source
May 30, 2018
311b0c2
Make filter buttons properly keyboard accessible
May 31, 2018
8655f2f
Follow Dave's design suggestions
May 31, 2018
5e3c9ea
Remove redundant request from name
May 31, 2018
48228ef
Remove unneeded comments
timroes Jun 4, 2018
caf66d5
WIP raw-formatted values
timroes Jun 5, 2018
fe59c9a
Fix filtering issue
Jun 5, 2018
5b25441
Fix tests and more license headers
Jun 5, 2018
109e0ff
Add data view tests
Jun 5, 2018
05fcbf3
Remove search from table
Jun 6, 2018
5c62925
Fix typos
Jun 6, 2018
39ad177
Implement review suggestion
Jun 6, 2018
27d064a
Remove artificial delays for testing
Jun 7, 2018
a58cf51
Fix new panel action structure
Jun 8, 2018
64774d7
Minor design adjustments
Jun 8, 2018
d4fdc1c
Fix failing functional test
Jun 8, 2018
2f8c9d9
Update failing snapshot test
Jun 13, 2018
7467328
Implement final wording
Jun 15, 2018
faf6273
Merge branch 'master' into inspector
Jun 18, 2018
d660193
Merge branch 'master' into inspector
Jun 18, 2018
bf97e66
Merge branch 'master' into inspector
Jun 19, 2018
fed9640
Apply new EUI styling
Jun 19, 2018
b699bae
Fix closing inspector in tests
Jun 19, 2018
d87e1cc
Fix sorting of table
Jun 19, 2018
7514a7c
Align punctuation between tooltips
Jun 19, 2018
0b9478d
Merge branch 'master' into inspector
Jun 20, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/development/plugin/development-uiexports.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ An aggregate list of available UiExport types:
| hacks | Any module that should be included in every application
| visTypes | Modules that register providers with the `ui/registry/vis_types` registry.
| fieldFormats | Modules that register providers with the `ui/registry/field_formats` registry.
| spyModes | Modules that register providers with the `ui/registry/spy_modes` registry.
| inspectorViews | Modules that register custom inspector views via the `viewRegistry` in `ui/inspector`.
| chromeNavControls | Modules that register providers with the `ui/registry/chrome_nav_controls` registry.
| navbarExtensions | Modules that register providers with the `ui/registry/navbar_extensions` registry.
| docViews | Modules that register providers with the `ui/registry/doc_views` registry.
Expand Down
Binary file removed docs/images/spy-open-button.png
Binary file not shown.
Binary file removed docs/images/spy-panel.png
Binary file not shown.
4 changes: 2 additions & 2 deletions docs/visualize.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,6 @@ include::visualize/tagcloud.asciidoc[]

include::visualize/heatmap.asciidoc[]

include::visualize/visualization-raw-data.asciidoc[]

include::visualize/vega.asciidoc[]

include::visualize/inspector.asciidoc[]
17 changes: 17 additions & 0 deletions docs/visualize/inspector.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[[vis-inspector]]
== Inspector

Many visualizations have an Inspector that can help you gain insight to the data
behind the visualization.

To open the Inspector use the Inspector button while in the editor or select Inspector
from the Dashboard panel menu.

From the Inspector, you can download the visualization data as a comma separated
values (CSV) file in Formatted or Raw format. Formatted downloads the data in table format.
Raw downloads the data as provided -- dates are timestamps, numbers don’t have
thousand separators, and so on.

To view the requests that collected the data, select Requests from the View menu in the upper right.

Which views are available depends on the inspected visualization.
29 changes: 0 additions & 29 deletions docs/visualize/visualization-raw-data.asciidoc

This file was deleted.

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,8 @@
"@kbn/eslint-plugin-license-header": "link:packages/kbn-eslint-plugin-license-header",
"@kbn/plugin-generator": "link:packages/kbn-plugin-generator",
"@kbn/test": "link:packages/kbn-test",
"@types/angular": "^1.6.45",
"@types/classnames": "^2.2.3",
"@types/eslint": "^4.16.2",
"@types/execa": "^0.9.0",
"@types/getopts": "^2.0.0",
Expand Down
4 changes: 0 additions & 4 deletions src/core_plugins/dev_mode/package.json

This file was deleted.

23 changes: 0 additions & 23 deletions src/core_plugins/dev_mode/public/vis_debug_spy_panel.html

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,8 @@
export default function (kibana) {
return new kibana.Plugin({
uiExports: {
spyModes: [
'plugins/spy_modes/table_spy_mode',
'plugins/spy_modes/req_resp_stats_spy_mode'
inspectorViews: [
'plugins/inspector_views/register_views'
]
}
});
Expand Down
4 changes: 4 additions & 0 deletions src/core_plugins/inspector_views/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"name": "inspector_views",
"version": "kibana"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`Inspector Data View component should render empty state 1`] = `
<DataViewComponent
adapters={
Object {
"data": DataAdapter {
"_events": Object {
"change": [Function],
},
"_eventsCount": 1,
"_maxListeners": undefined,
"domain": null,
"tabular": [Function],
"tabularOptions": Object {},
},
}
}
title="Test Data"
>
<InspectorView
useFlex={true}
>
<EuiFlyoutBody
className="inspector-view__flex"
>
<div
className="euiFlyoutBody inspector-view__flex"
>
<EuiEmptyPrompt
body={
<UNDEFINED>
<p>
The element did not provide any data.
</p>
</UNDEFINED>
}
iconColor="subdued"
title={
<h2>
No data available
</h2>
}
>
<div
className="euiEmptyPrompt"
>
<EuiTextColor
color="subdued"
>
<span
className="euiTextColor euiTextColor--subdued"
>
<EuiTitle
size="m"
>
<h2
className="euiTitle euiTitle--medium"
>
No data available
</h2>
</EuiTitle>
<EuiSpacer
size="m"
>
<div
className="euiSpacer euiSpacer--m"
/>
</EuiSpacer>
<EuiText
grow={true}
>
<div
className="euiText"
>
<p>
The element did not provide any data.
</p>
</div>
</EuiText>
<EuiSpacer
size="l"
>
<div
className="euiSpacer euiSpacer--l"
/>
</EuiSpacer>
</span>
</EuiTextColor>
</div>
</EuiEmptyPrompt>
</div>
</EuiFlyoutBody>
</InspectorView>
</DataViewComponent>
`;

exports[`Inspector Data View component should render loading state 1`] = `
<DataViewComponent
adapters={
Object {
"data": DataAdapter {
"_events": Object {
"change": [Function],
},
"_eventsCount": 1,
"_maxListeners": undefined,
"domain": null,
},
}
}
title="Test Data"
>
<InspectorView
useFlex={true}
>
<EuiFlyoutBody
className="inspector-view__flex"
>
<div
className="euiFlyoutBody inspector-view__flex"
>
<EuiFlexGroup
alignItems="center"
component="div"
direction="row"
gutterSize="l"
justifyContent="center"
responsive={true}
wrap={false}
>
<div
className="euiFlexGroup euiFlexGroup--gutterLarge euiFlexGroup--alignItemsCenter euiFlexGroup--justifyContentCenter euiFlexGroup--directionRow euiFlexGroup--responsive"
>
<EuiFlexItem
component="div"
grow={false}
>
<div
className="euiFlexItem euiFlexItem--flexGrowZero"
>
<EuiPanel
className="eui-textCenter"
grow={true}
hasShadow={false}
paddingSize="m"
>
<div
className="euiPanel euiPanel--paddingMedium eui-textCenter"
>
<EuiLoadingChart
mono={false}
size="m"
>
<div
className="euiLoadingChart euiLoadingChart--medium"
>
<div
className="euiLoadingChart__bar"
/>
<div
className="euiLoadingChart__bar"
/>
<div
className="euiLoadingChart__bar"
/>
<div
className="euiLoadingChart__bar"
/>
</div>
</EuiLoadingChart>
<EuiSpacer
size="s"
>
<div
className="euiSpacer euiSpacer--s"
/>
</EuiSpacer>
<EuiText
grow={true}
>
<div
className="euiText"
>
<p>
Gathering data
</p>
</div>
</EuiText>
</div>
</EuiPanel>
</div>
</EuiFlexItem>
</div>
</EuiFlexGroup>
</div>
</EuiFlyoutBody>
</InspectorView>
</DataViewComponent>
`;
Loading