kibana/x-pack/plugins/lens
Stratoula Kalafateli 08a4586b14
[Lens] Navigate from discover to lens (#77873)
* Create lens action and unregister the visualize one

* remove console

* Implement Discover to Lens, wip, missing tests

* Add unit tests

* fix embed lens to empty dashboard functional tests

* fix suggestions on save

* Fix bug on save button, query and filters should be transferred from discover

* Add functional test for the navigation from Discover to Lens

* PR update after code review

* unregister visualize action only if the action exists

* Change the test to not be flaky

* Move suggestions to editor frame and hide the emptyWorkspace for visualize field

* Update ui actions docs

* Add a retry to remove test flakiness

* Fix bug of infinite loader when removing the y axis dimension

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-10-06 11:15:41 +03:00
..
common [Time to Visualize] Lens By Value With AttributeService (#77561) 2020-09-23 17:40:52 -04:00
public [Lens] Navigate from discover to lens (#77873) 2020-10-06 11:15:41 +03:00
server [Lens] Show runtime fields in field list and improve performance (#79167) 2020-10-02 14:18:01 -04:00
config.ts
kibana.json [Lens] Navigate from discover to lens (#77873) 2020-10-06 11:15:41 +03:00
layout.png
readme.md [Lens] Move configuration popover to flyout (#76046) 2020-09-14 18:23:13 -04:00

Lens

Testing

Run all tests from the x-pack root directory

  • Unit tests: node scripts/jest --watch lens
  • Functional tests:
    • Run node scripts/functional_tests_server
    • Run node ../scripts/functional_test_runner.js --config ./test/functional/config.js --grep="lens app"
    • You may want to comment out all imports except for Lens in the config file.
  • API Functional tests:
    • Run node scripts/functional_tests_server
    • Run node ../scripts/functional_test_runner.js --config ./test/api_integration/config.ts --grep=Lens

UI Terminology

Lens has a lot of UI elements to make it easier to refer to them in issues or bugs, this is a hopefully complete list:

  • Top nav Navigation menu on top of the app (contains Save button)
    • Query bar Input to enter KQL or Lucene query below the top nav
    • Filter bar Row of filter pills below the query bar
    • Time picker Global time range configurator right to the query bar
  • Data panel Panel to the left showing the field list
    • Field list List of fields separated by available and empty fields in the data panel
    • Index pattern chooser Select element switching between index patterns
    • Field filter Search and dropdown to filter down the field list
    • Field information popover Popover showing data distribution; opening when clicking a field in the field list
  • Config panel Panel to the right showing configuration of the current chart, separated by layers
    • Layer panel One of multiple panels in the config panel, holding configuration for separate layers
      • Dimension trigger Chart dimension like "X axis", "Break down by" or "Slice by" in the config panel
      • Dimension container Container shown when clicking a dimension trigger and contains the dimension settints
      • Layer settings popover Popover shown when clicking the button in the top left of a layer panel
  • Workspace panel Center panel containing the chart preview, title and toolbar
    • Chart preview Full-sized rendered chart in the center of the screen
    • Toolbar Bar on top of the chart preview, containing the chart switcher to the left with chart specific settings right to it
      • Chart switch Select to change the chart type in the top left above the chart preview
      • Chart settings popover Popover shown when clicking the "Settings" button above the chart preview
  • Suggestion panel Panel to the bottom showing previews for suggestions on how to change the current chart

Layout