Go to file
Ryland Herrick 835c13dd6a
[SIEM][Detections] Value Lists Management Modal (#67068)
* Add Frontend components for Value Lists Management Modal

Imports and uses the hooks provided by the lists plugin. Tests coming
next.

* Update value list components to use newest Lists API

* uses useEffect on a task's state instead of promise chaining
* handles the fact that API calls can be rejected with strings
* uses exportList function instead of hook

* Close modal on outside click

* Add hook for using a cursor with paged API calls.

For e.g. findLists, we can send along a cursor to optimize our query. On
the backend, this cursor is used as part of a search_after query.

* Better implementation of useCursor

* Does not require args for setCursor as they're already passed to the
hook
* Finds nearest cursor for the same page size

Eventually this logic will also include sortField as part of the
hash/lookup, but we do not currently use that on the frontend.

* Fixes useCursor hook functionality

We were previously storing the cursor on the _current_ page, when it's
only truly valid for the _next_ page (and beyond).

This was causing a few issues, but now that it's fixed everything works
great.

* Add cursor to lists query

This allows us to search_after a previous page's search, if available.

* Do not validate response of export

This is just a blob, so we have nothing to validate.

* Fix double callback post-import

After uploading a list, the modal was being shown twice. Declaring the
constituent state dependencies separately fixed the issue.

* Update ValueListsForm to manually abort import request

These hooks no longer care about/expose an abort function. In this one
case where we need that functionality, we can do it ourselves relatively
simply.

* Default modal table to five rows

* Update translation keys following plugin rename

* Try to fit table contents on a single row

Dates were wrapping (and raw), and so were wrapped in a FormattedDate
component. However, since this component didn't wrap, we needed to
shrink/truncate the uploaded_by field as well as allow the fileName to
truncate.

* Add helper function to prevent tests from logging errors

https://github.com/enzymejs/enzyme/issues/2073 seems to be an ongoing
issue, and causes components with useEffect to update after the test is
completed.

waitForUpdates ensures that updates have completed within an act()
before continuing on.

* Add jest tests for our form, table, and modal components

* Fix translation conflict

* Add more waitForUpdates to new overview page tests

Each of these logs a console.error without them.

* Fix bad merge resolution

That resulted in duplicate exports.

* Make cursor an optional parameter to findLists

This param is an optimization and not required for basic functionality.

* Tweaking Table column sizes

Makes actions column smaller, leaving more room for everything else.

* Fix bug where onSuccess is called upon pagination change

Because fetchLists changes when pagination does, and handleUploadSuccess
changes with fetchLists, our useEffect in Form was being fired on every
pagination change due to its onSuccess changing.

The solution in this instance is to remove fetchLists from
handleUploadSuccess's dependencies, as we merely want to invoke
fetchLists from it, not change our reference.

* Fix failing test

It looks like this broke because EuiTable's pagination changed from a
button to an anchor tag.

* Hide page size options on ValueLists modal table

These have style issues, and anything above 5 rows causes the modal to
scroll, so we're going to disable it for now.

* Update error callbacks now that we have Errors

We don't display the nice errors in the case of an ApiError right now,
but this is better than it was.

* Synchronize delete with the subsequent fetch

Our start() no longer resolves in a meaningful way, so we instead need
to perform the refetch in an effect watching the result of our delete.

* Cast our unknown error to an Error

useAsync generally does not know how what its tasks are going to be
rejected with, hence the unknown.

For these API calls we know that it will be an Error, but I don't
currently have a way to type that generally. For now, we'll cast it
where we use it.

* Import lists code from our new, standardized modules

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-13 21:11:08 -05:00
.ci [build] Creates Linux aarch64 archive (#69165) 2020-07-09 19:42:48 -07:00
.github New Enterprise Search Kibana plugin (#66922) 2020-07-09 13:10:31 -07:00
common/graphql
config Node options from cfg file for production (#62468) 2020-07-13 16:30:03 +01:00
data
docs Search across spaces (#67644) 2020-07-13 20:10:17 -04:00
examples [kbn/optimizer] implement "requiredBundles" property of KP plugins (#70911) 2020-07-09 18:43:17 -07:00
licenses
packages [ftr] don't require the --no-debug flag to disable debug logging (#71535) 2020-07-13 15:16:11 -07:00
rfcs [rfc][skip-ci][reporting] Rendering API RFC (#64372) 2020-06-18 09:26:05 -07:00
scripts Bump backport to 5.5.1 (#71408) 2020-07-13 13:59:13 +02:00
src Search across spaces (#67644) 2020-07-13 20:10:17 -04:00
tasks Revert #64011 and subsequent fixes (#71137) 2020-07-08 13:05:12 -07:00
test Search across spaces (#67644) 2020-07-13 20:10:17 -04:00
typings chore(NA): upgrade to lodash@4 (#69868) 2020-07-03 01:30:13 +01:00
utilities apply prettier styles 2020-05-22 09:08:58 +02:00
vars [scripts/report_failed_tests] fix report_failed_tests integration on CI (#71131) 2020-07-13 12:29:29 -07:00
webpackShims upgrade elastic/numeral and complete migration away from numeral (#68035) 2020-06-03 10:07:11 -07:00
x-pack [SIEM][Detections] Value Lists Management Modal (#67068) 2020-07-13 21:11:08 -05:00
.backportrc.json Add master branch to backport config (#69893) 2020-06-25 14:00:45 +02:00
.browserslistrc build immutable bundles for new platform plugins (#53976) 2020-02-12 19:42:42 -07:00
.editorconfig [editorconfig] disable insert_final_newline for package.json 2019-04-18 09:44:17 -07:00
.eslintignore [build] Creates Linux aarch64 archive (#69165) 2020-07-09 19:42:48 -07:00
.eslintrc.js New Enterprise Search Kibana plugin (#66922) 2020-07-09 13:10:31 -07:00
.fossa.yml Adds FOSSA CLI configuration file (#70137) 2020-07-02 08:37:37 -07:00
.gitattributes [canvas] Color fixes + Storybook 5 (#34075) 2019-04-02 11:21:51 -05:00
.gitignore Node options from cfg file for production (#62468) 2020-07-13 16:30:03 +01:00
.i18nrc.json Move apm tutorial from apm plugin into apm_oss plugin (#66432) 2020-05-20 14:40:37 +03:00
.node-version Update Node.js to version 10.21.0 (#68059) 2020-06-05 08:31:59 +02:00
.nvmrc Update Node.js to version 10.21.0 (#68059) 2020-06-05 08:31:59 +02:00
.prettierrc
.sass-lint.yml [Monitoring] SASS modularization (#68726) 2020-06-11 13:36:47 -07:00
.telemetryrc.json [Telemetry] Collector Schema (#64942) 2020-06-27 02:52:26 +03:00
.yarnrc [kbn-pm] Use yarn workspaces for dependencies (#24095) 2018-11-12 12:38:11 -06:00
api-documenter.json Normalize EOL symbol in platform docs (#56021) 2020-01-27 18:42:45 +01:00
CONTRIBUTING.md Improvements to our developer guide (#67764) 2020-07-13 10:47:01 -04:00
FAQ.md
github_checks_reporter.json implementing github checks - second attempt (#35757) 2019-05-01 16:02:33 -05:00
Gruntfile.js apply prettier styles 2020-05-22 09:08:58 +02:00
Jenkinsfile Revert #64011 and subsequent fixes (#71137) 2020-07-08 13:05:12 -07:00
kibana.d.ts Move src/legacy/server/index_patterns to data plugin (server) (Remove step) (#61618) 2020-04-02 12:53:14 +03:00
LICENSE.txt
NOTICE.txt [SIEM][Detection Rules] Add 7.9 rules (#71332) 2020-07-13 14:44:14 -06:00
package.json Revert "Bump lodash package version (#71392)" 2020-07-13 13:17:42 -07:00
preinstall_check.js
README.md chore: point issue links to choose (#49616) 2019-10-29 15:54:27 +01:00
renovate.json5 chore(NA): upgrade to lodash@4 (#69868) 2020-07-03 01:30:13 +01:00
STYLEGUIDE.md [Lens] 7.9 design cleanup (#71444) 2020-07-13 20:06:58 -04:00
tsconfig.browser.json
tsconfig.json Bump jest related packages (#58095) 2020-06-20 21:05:09 +02:00
tsconfig.types.json [data.search.aggs]: Add AggConfig.toSerializedFieldFormat (#69114) 2020-06-24 07:52:21 -06:00
TYPESCRIPT.md Update deprecated React.SFC and React.StatelessComponent types (#50852) 2019-11-21 20:53:54 +01:00
yarn.lock Revert "Bump lodash package version (#71392)" 2020-07-13 13:17:42 -07:00

Kibana

Kibana is your window into the Elastic Stack. Specifically, it's a browser-based analytics and search dashboard for Elasticsearch.

Getting Started

If you just want to try Kibana out, check out the Elastic Stack Getting Started Page to give it a whirl.

If you're interested in diving a bit deeper and getting a taste of Kibana's capabilities, head over to the Kibana Getting Started Page.

Using a Kibana Release

If you want to use a Kibana release in production, give it a test run, or just play around:

Building and Running Kibana, and/or Contributing Code

You might want to build Kibana locally to contribute some code, test out the latest features, or try out an open PR:

Documentation

Visit Elastic.co for the full Kibana documentation.

For information about building the documentation, see the README in elastic/docs.

Version Compatibility with Elasticsearch

Ideally, you should be running Elasticsearch and Kibana with matching version numbers. If your Elasticsearch has an older version number or a newer major number than Kibana, then Kibana will fail to run. If Elasticsearch has a newer minor or patch number than Kibana, then the Kibana Server will log a warning.

Note: The version numbers below are only examples, meant to illustrate the relationships between different types of version numbers.

Situation Example Kibana version Example ES version Outcome
Versions are the same. 5.1.2 5.1.2 💚 OK
ES patch number is newer. 5.1.2 5.1.5 ⚠️ Logged warning
ES minor number is newer. 5.1.2 5.5.0 ⚠️ Logged warning
ES major number is newer. 5.1.2 6.0.0 🚫 Fatal error
ES patch number is older. 5.1.2 5.1.0 ⚠️ Logged warning
ES minor number is older. 5.1.2 5.0.0 🚫 Fatal error
ES major number is older. 5.1.2 4.0.0 🚫 Fatal error

Questions? Problems? Suggestions?

  • If you've found a bug or want to request a feature, please create a GitHub Issue. Please check to make sure someone else hasn't already created an issue for the same topic.
  • Need help using Kibana? Ask away on our Kibana Discuss Forum and a fellow community member or Elastic engineer will be glad to help you out.