Commit graph

553 commits

Author SHA1 Message Date
Josh Dover
9bc603e7d9
Move metrics to setup and add cgroup metrics (#76730) 2020-09-09 14:01:29 -06:00
Liza Katz
52c12eac32
[Search] Add a new advanced setting searchTimeout (#75728)
* Add new x-pack advanced setting searchTimeout and use it in the EnhancedSearchInterceptor

* docs

* Rely on server timeout in OSS (?)
Use UI setting in xpack.

* Rename function

* doc

* Remove esShard from client

* cleanup request parameters from FE

* doc

* doc

* Align request parameters on server,
Remove leftover parameters from client
Shim responses for search and msearch routes

* docs
Stop using toSnakeCase
Updates jest tests

* add management docs

* docs

* Remove import

* Break circular dep + fix msearch test

* Remove deleted type

* Fix jest

* Bring toSnakeCase back

* docs

* fix jest

* Fix merge

* Fix types

* Allow timeout to be undefined

* Fix jest test

* Upldate docs

* Fix msearch jest

* docs

* Fix rollup search merge

* docs

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-09-09 10:06:45 +03:00
Shamin Meerankutty
194d0b0a3f
Convert map client routing files to TS (#76387)
* Converted maps_router and store operations files

* Converted files in map routes to typescript

* Removed an unwanted ts-expect-error

* Fixed the lint errors from jenkins

* Naming changes, type for mapStateJSON etc.

* More type fixes in map routes

* More type fixes in map routes

* Added back some removed props

* Added types to app state manager

* Autogenerated api documentation

* Type fixes

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-09-08 15:51:28 -06:00
Mikhail Shustov
bcaffba12b
Remove legacy SavedObjects (#76852)
* remove legacy SO integration

* cleanup integration in the legacy platorm

* remove so schema

* update docs

* remove leftovers, update docs

* update docs after merge master
2020-09-08 22:01:31 +02:00
Matthew Kime
842bcf4560
Index pattern save => Index pattern service (#76706)
* Index pattern save => Index pattern service
2020-09-08 12:59:02 -05:00
Mikhail Shustov
2f1c0127e2
Deterministic output for doc types (#76890)
* disable incremental builds for public type generation.

They generate non-deterministic types https://github.com/microsoft/rushstack/issues/1958

* do not infer public types
2020-09-08 13:28:29 +02:00
Uladzislau Lasitsa
4788005227
Use Search API in Timelion (sync) (#75115)
* New Search API for timelion

* Using timeout from config

* Use only es strategy)

* Fixed remarks

* Fixed tests

* Fixed fixtures

* Fixed ci

* Fixed typecheck

* Fixed eslint

* Fixed remarks

* Fix changes

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-09-07 18:05:31 +03:00
Spencer
5b853b2326
Test reverting "Add plugin status API (#75819)" (#76707)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-09-03 15:21:59 -07:00
Pierre Gayvallet
e976bddf81
Remove legacy applications and legacy mode (#75987)
* remove legacy mode and legacy service

* fix tests

* remove txt file

* fix xpack code

* fix types

* remove legacy test

* fix integration tests

* remove legacy reference

* yet another legacy reference

* handle uptime app special case

* update generated doc

* address review comments

* remove legacy fields from ChromeNavLink

* few fixes

* remove legacy API from docTitle service

* ChromeNavLink.href is now mandatory

* update generated doc

* remove legacyMode leftovers

* remove ChromeNavLink.active

* update generated doc
2020-09-03 12:23:57 +02:00
Liza Katz
411048ae09
Replace FetchOptions with ISearchOptions (#76538)
* Replace FetchOptions with ISearchOptions and update usage

* Merge the client and server ISearchOption types into common

* docs
2020-09-03 12:30:31 +03:00
Matthew Kime
ee2ceef9bb
Index Pattern class - remove toJSON and toString (#76246)
* remove toJSON

* remove toJSON, toString

* fix ml url

* Update actions_panel.tsx

* fix url

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-09-02 17:20:14 -05:00
Matthew Kime
5467f31640
Remove dependencies from index pattern field and index pattern list (#75185)
* Remove dependencies from index pattern field and index pattern list
2020-09-02 16:00:23 -05:00
Brandon Kobel
b5faf41b04
Manually building KueryNode for Fleet's routes (#75693)
* Simple benchmark tests for kuery

* Building manually is "better" still not free

* Building the KueryNode manually

* Removing benchmark tests

* Another query is building the KueryNode manually

* Empty strings are inherently falsy

* No longer reaching into the data plugin, import from the "root" indexes

* Using AGENT_ACTION_SAVED_OBJECT_TYPE everywhere

* Adding SavedObjectsRepository#find unit test for KueryNode

* Adding KQL KueryNode test for validateConvertFilterToKueryNode

* /s/KQL string/KQL expression

* Updating API docs

* Adding micro benchmark

* Revert "Adding micro benchmark"

This reverts commit 97e19c0bf3.

* Adding an empty string filters test

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-09-01 13:59:11 -07:00
Pierre Gayvallet
981691d378
Add setHeaderActionMenu API to AppMountParameters (#75422)
* add `setHeaderActionMenu` to AppMountParameters

* allow to remove the current menu by calling handler with undefined

* update generated doc

* updating snapshots

* fix legacy tests

* call renderApp with params

* rename toMountPoint component file for consistency

* add the MountPointPortal utility component

* adapt TopNavMenu to add optional `setMenuMountPoint` prop

* add kibanaReact as required bundle.

* use innerHTML instead of textContent for portal tests

* add error boundaries to portal component

* improve renderLayout readability

* duplicate wrapper in portal mode to avoid altering styles

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-09-01 19:42:41 +02:00
Josh Dover
2006ecaa32
Add plugin status API (#75819) 2020-09-01 07:36:05 -06:00
Diana Derevyankina
7c3ad238e5
KQL autocomplete cut off in visualize editor with styled-components (#75557)
* KQL autocomplete cut off in visualize editor

Closes #70964

* Refactor some code

* Accept api changes, refactor query_string_input and suggestions_component

* Add a comment to suggestions_component

* Fix dropdown position, add close event on scroll and hide description if it doesn't fit

* Update tests to pass type check

* Fix displaying bugs

* Remove closeList

* Replace dropdownHeight with className

* Update suggestions_component.test and public.api.md

* KQL autocomplete cut off in visualize editor with styled-components

* Update suggestions_component.test values

* Add logic to open the list up

* Remove unnecessary semicolon

* Remove a gap between the list and input by inlining offset -2px from _suggestion.scss

* Rename the constants and add docs to them

* Wrap div inside SuggestionsComponent by styled component instead of wrapping the whole component

* Update public.api.md

* Refactor .kbnTypeahead__popover--top style

* Remove unnecessary condition

* Fix eslint problems

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-09-01 15:33:26 +03:00
Matthew Kime
e7951eb83a
remove force refresh on index pattern class init (#76248) 2020-08-31 10:11:15 -05:00
Nathan Reese
1e20cd4cf4
[Maps] add drilldown support map embeddable (#75598)
* [Maps] add drilldown support

* filter actions view

* use i18n getter

* remove unused changed

* tslint fixes

* more tslint changes

* clean-up and API doc changes

* update snapshots

* do not show first drilldown in tooltip

* add light grey line to seperate feature property rows

* Improving tooltip row styles (#36)

* Improving tooltip actions row styles

* Removind unecessary comment

* update snapshot and add functional test

* switch UiActionsActionDefinition to Action and remove unneeded checks

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Elizabet Oliveira <elizabet.oliveira@elastic.co>
2020-08-28 11:04:24 -06:00
Matthew Kime
3541e779c6
Index pattern class cleanup - remove _.apply and any instance (#76004)
Index pattern class cleanup - remove _.apply and `any` instance
2020-08-27 10:57:37 -05:00
Joe Portner
6627d7d9af
Sharing saved-objects phase 1.5 (#75444)
Added UI for sharing saved objects, and updated UI for importing and copying too
2020-08-26 16:52:29 -04:00
Pierre Gayvallet
eee139295d
Migrate data folder creation from legacy to KP (#75527)
* rename uuid service to environment service

* adapt resolve_uuid to directly use the configurations

* move data folder creation to core

* update generated doc

* fix types

* fix monitoring tests

* move instanceUuid to plugin initializer context

* update generated doc
2020-08-26 21:40:03 +02:00
Matthew Kime
7fa23a4ec1
IndexPattern class - no longer use getConfig or uiSettingsValues (#75717)
* remove getConfig and uiSettingsValues from IndexPattern class
2020-08-25 08:20:17 -05:00
Liza Katz
6718f5494d
Don't overwrite sync strategy in xpack (#75556)
* Don't override sync strategy in XPACK

* search name

* docs

* mock

* Use enhancement pattern

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-08-25 12:36:30 +03:00
Josh Dover
c5870589af
Expose overall status to plugins (#75503)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-08-24 11:41:47 -06:00
Mike Côté
4dd0205c11
Add support for decorating and handling 429 errors with the saved objects client (#75664)
* Add support for decorating 429 errors in the saved objects client

* Update the docs

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-08-24 10:16:54 -04:00
Liza Katz
bdb73b55ef
[Search] Cleanup SearchRequest and SearchResponse types (#75471)
* improve test stability

* Replace SearchRequest = any with Record<string, any>

* Remove SearchResponse = any from data plugin

* docs

* logs

* Revert "Replace SearchRequest = any with Record<string, any>"

This reverts commit 9914ab5a01.

* code review

* list control

* null check

* null null null

* Jest fix
2020-08-23 15:34:40 +03:00
Xavier Mouligneau
6dbc4be8f7
[SECURITY SOLUTION] Add our first search strategy for all host query (#75439)
* add security solution search strategy on server side

* get security solution search strategy in the public app for all host

* fix types

* fix Check core API changes

* thank you cypress test

* Remove any by the right type IESearchRequest

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>

* add translation and filter error when we abort the query

* pr review

* fix translation

* review II

* fix merge issue

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Lukas Olson <olson.lukas@gmail.com>
2020-08-22 08:59:14 -04:00
Luke Elmers
020a76bd3a
[data.search.SearchSource] Extract dependencies and pass them in from the service definition. (#75368)
* Remove injectedMetadata dependency from SearchSource.

* Create common GetConfigFn interface.

* Removed unused service getters.

* Switch all usages of uiSettings to use getConfig.

* Fix circular dependencies.

* Update generated docs.

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-08-20 06:38:44 -06:00
Joe Portner
4dd5d63484
Change response for Saved Objects share/unshare operations (#74995) 2020-08-20 08:35:33 -04:00
Josh Dover
51a80c61a0
Add support for reading request ID from X-Opaque-Id header (#71019)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-08-19 15:41:12 -06:00
Gidi Meir Morris
9698a0720d
[Saved objects] Add support for version on create & bulkCreate when overwriting a document (#75172)
Adds support for `version` one the SavedObjectsClient's create api.
This sallows us to retain Optimistic concurrency control when using create to overwrite an existing document.
2020-08-19 16:10:33 +01:00
Brandon Kobel
83bc5004e3
Allow routes to specify the idle socket timeout in addition to the payload timeout (#73730)
* Route options timeout -> timeout.payload

* timeout.idleSocket can now be specified per route

* Removing nested ternary

* Fixing integration tests

* Trying to actually fix the integration tests. Existing tests are hitting
idle socket timeout, not the payload timeout

* Fixing payload post timeout integration test

* Fixing PUT and DELETE payload sending too long tests

* Fixing type-script errors

* GET routes can't specify the payload timeout, they can't accept payloads

* Removing some redundancy in the tests

* Adding 'Transfer-Encoding: chunked' to the POST test

* Fixing POST/GET/PUT quick tests

* Adding idleSocket timeout test

* Removing unnecessary `isSafeMethod` call

* Updating documentation

* Removing PUT/DELETE integration tests

* Working around the HapiJS bug

* Deleting unused type import

* The socket can be undefined...

This occurs when using @hapi/shot directly or indirectly via
Server.inject. In these scenarios, there isn't a socket. This can also
occur when a "fake request" is used by the hacky background jobs:
Reporting and Alerting...

* Update src/core/server/http/http_server.ts

Co-authored-by: Josh Dover <me@joshdover.com>

* Adding payload timeout functional tests

* Adding idle socket timeout functional tests

* Adding better comments, using ?? instead of ||

* Fixing the plugin fixture TS

* Fixing some typescript errors

* Fixing plugin fixture tsconfig.json

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Josh Dover <me@joshdover.com>
2020-08-18 10:46:08 -07:00
Stratoula Kalafateli
198806baef
Timelion app deprecation warning (#74660)
* wip deprecation notice on timelion app

* Add a deprecation notice on timelion app

* Minor, add visualize and timelion on the docLinks

* Chage the layout a bit

* Change the deprecation notice message

* Change the deprecation notice message

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-08-18 11:18:41 +03:00
Pierre Gayvallet
57a802c43f
expose es config on es setup contract (#73055)
* expose es config on es setup contract

* move config$ back to legacy
2020-08-17 21:08:27 +02:00
Peter Pisljar
22f0641ec3
esdsl (#69254) 2020-08-17 20:21:48 +02:00
Luke Elmers
fe017f52dd
Make data.search.aggs available on the server. (#74472) 2020-08-13 13:38:16 -06:00
Liza Katz
290f9bfde2
Data plugin: Suggested enhance pattern (#74505)
* improve test stability

* Enhance pattern

* fix tests

* fix test

* Rename enhance to __enhance

* Deleted unnecessary attribute

* ISearchInterceptor interface

* docs

* Clean up internal docs

* jest

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-08-13 11:28:39 +03:00
Caroline Horn
5b64a4cdfe
Empty index patterns page re-design (#68819)
Empty index patterns page re-design
2020-08-12 15:58:16 -05:00
Liza Katz
506e9537bf
[Search] Server strategy example (#71679)
* Server strategy example

* Add tsconfig
Renamed is_partial to isPartial
Added isPartial and isRunning to OSS response type

* Docs + remove unused sample code

* Fix test naming of arguments

* ts

* ts fix

* Add filters and query input selector

* Update examples/search_examples/public/components/app.tsx

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>

* Use new service

* exapmle plugin ts

* unsubscribe + use timefilter

* typo

* docs

* Add comments and use agg config

* Added agg configs
Added field selector
Added a custom input param

* Adding getEsQuery to query service (??)

* Add server side example

* docs

* caps

* list plugin in examples page

* fix typo

* Update examples/search_examples/public/application.tsx

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>

* Update examples/search_examples/public/application.tsx

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>

* Update examples/search_examples/public/components/app.tsx

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>

* Update examples/search_examples/public/components/app.tsx

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>

* Update examples/search_examples/public/components/app.tsx

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>

* eslint

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-08-11 23:28:43 +03:00
Luke Elmers
d84777f053
[data.search.SearchSource] Move some SearchSource dependencies to the server. (#74607) 2020-08-11 09:53:42 -06:00
Matthew Kime
6c63b0d40b
Index pattern field list - transition away from extending array - introduce and use getAll() (#74718)
- Introduce `indexPattern.fields.getAll()` and use where possible
- Rename `index_patterns/fields/fields.mocks.ts.ts => index_patterns/fields/fields.mocks.ts`
- FieldSpec - make `count` and `scripted` fields optional
- use `indexPattern.fields.getByName` instead of filter where possible
2020-08-11 07:54:58 -05:00
Matthew Kime
cccf15a3f4
Index pattern field class refactor (#73180)
- Better distinction and relationship between IndexPatternField and its spec
- IndexPatternField class is no longer defined via object mutation
- Reduction of dependencies
- UI code moved into Index Pattern class (will be removed in next ticket)
- IndexPattern field list was previously composed of IndexPatternFields or specs, now only IndexPatternFields
- IndexPattern field list was previously redefined when loading fields, now only its contents are replaced.
2020-08-10 07:35:12 -05:00
Anton Dosov
3064c6eceb
Improve state sync error handling (#74264)
Fixes #71461 regression since 7.7

New state syncing utils didn't properly handle errors,
Errors happening during URL parsing or writing wasn't handled, so state syncing could stop or in worth case blow out. (see #71461)

There are not much scenarios where missing proper error handling could really impact users, except the one described in #71461:

Kibana users state:storeInSessionStorage
Users often intuitively share hashed dashboard urls directly
When someone opens those urls - there is a blank screen with warning
In 7.6 - dashboard would still load with default state.
Since 7.7 these still could be achieved by removing query params for URL, but it is not obvious for regular users.

This PR makes sure that behaviour is similar to one we had before 7.7.


Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-08-06 15:34:32 +02:00
Mikhail Shustov
88c0631344
Update @typescript-eslint to ensure compatibility with TypeScript v3.9 (#74091)
* bump @typescript-eslint deps

* update rules

* fix errors in pacakges

* fix src/

* fix x-pack

* fix test

* fix typings

* fix examples

* allow _ as prefix and suffix

* roll back prefix and suffix changes

* add eslint-plugin-eslint-comments

* report unused rules

* remove unused eslint comments from tests

* remove unused eslint comments 2nd pass

* remove unused eslint comments from src/

* remove unused comments in x-pack

* use no-script-url and no-unsanitized/property for ts files

* remove unused eslint comments

* eui/href-or-on-click removed when not complained

* no import/* rules for ts files

* cleanup

* remove the unused eslint-disable

* rollback unnecessary changes

* allow underscore prefix & sufix in type name

* update docs

* fix type error in enterprise search plugin mocks

* rename platform hack __coreProvider --> _coreProvider

* rollback space removal in src/core/public/legacy/legacy_service.test.ts

* fix naming convention in APM
2020-08-05 17:32:19 +02:00
Lukas Olson
584804047a
[Search] Send ID in path, rather than body (#62889)
* [Search] Send ID in path, rather than body

* Fix typo in merge

* Update docs

* Revert to using POST instead of GET

* Revert accidental change

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-08-03 15:13:27 -07:00
Lukas Olson
4758cb1b4d
[Search] Fix telemetry collection to not send extra requests (#73382)
* [Search] Fix telemetry collection to not send extra requests

* Update tracker to collect duration from ES response

* Fix type check

* Update docs and types

* Fix typescript

Co-authored-by: Liza K <liza.katz@elastic.co>
2020-08-03 12:17:38 -07:00
Josh Dover
10cc600d5c
Fix aborted$ event and add completed$ event to KibanaRequest (#73898) 2020-07-31 09:19:43 -06:00
Mikhail Shustov
585d58c202
[KP] Expose new es client (#73651)
* mark legacy ES client types as deprecated

* expose es client to plugins and update mocks

* ElasticSearchClientMock --> ElasticsearchClientMock

* expose es client mocks

* expose es client via RequestHandlerContext

* convert test/plugin_functional/config into ts

* convert top_nav test into ts

* add an integration test for the es client

* update comments to refer to the new es client

* fix import paths. do not use extensions

temp

* update docs

* fix other refs

* add test for a custom client

* fix context

* add test for scoped client

* update docs
2020-07-30 19:12:37 +02:00
Liza Katz
14144156f6
[Data] Query Input String manager (#72093)
* improve test stability

* query string input manager (needed for search demo)

* docs

* dashboard

* Fix jest

* mock fix

* Allow restoring a saved query

* sync url

* Luke's fix to test

* cleanup

* lens jest tests

* docs

* use queryStringManager.getDefaultQuery
Don't sync query to global state

* Update app.test.tsx

lens mock

* jest fix

* jest

* use new api in the example

* Rename state param to query to match url state

* Apply changes to discover

* Update src/plugins/data/public/query/query_string/index.ts

Co-authored-by: Anton Dosov <dosantappdev@gmail.com>

* Improve query string state manager

* Cleanup dashboard code

* Handle refresh button

* Set initial dashboard state

* visualize state

* remove unused

* docs

* fix example

* fix jest

* fix filter app state in discover

* fix maps test

* jest

Co-authored-by: Anton Dosov <anton.dosov@elastic.co>
Co-authored-by: Anton Dosov <dosantappdev@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-29 10:48:23 +03:00
Frank Hassanabad
b399fb03d1
[SIEM][Detection Engine][Lists] Adds the ability to change the timeout limits from 10 seconds for loads for imports (#73103)
## Summary

By default the upload time limit for payloads is 10 seconds. This is really too short and we were getting internal QA bug reports that uploads are timing out on large value list importing. This PR adds the plumbing and unit tests to make the timeout configurable for routes.

* Adds a single timeout option for routes and then normalizes that through Hapi for the socket, payload, and server timeouts.
* Adds unit tests which test the various options
* Adds integration tests which test the various options
* Adds some NOTES about where there are odd behaviors/bugs within Hapi around validations and the timeouts
* Adds a configurable 5 minute timeout to the large value lists route

**Manual testing of the feature**

You can manually test this by adding a configurable option to your chrome network throttle like so below where you throttle upload by some configurable amount. I chose to use 300 kbs/s upload
<img width="556" alt="Screen Shot 2020-07-23 at 11 26 01 AM" src="https://user-images.githubusercontent.com/1151048/88318015-5ab3f700-ccd7-11ea-9d9b-7e3649ec65de.png">

And then run an import of large value lists using a large enough file that it will exceed 5 minutes:
![screen-shot-upload](https://user-images.githubusercontent.com/1151048/88318584-28ef6000-ccd8-11ea-90a1-8ca4aafabcb4.png)

After 5 minutes you should see this message within your server side messages if you have configured your kibana.dev.yml to allow for these messages:

```ts
server  respons [10:52:31.377] [access:lists-all] POST /api/lists/items/_import?type=keyword 408 318292ms - 9.0B
``` 

Note that it should show you that it is trying to return a `408` after `318292ms` the timeout period. Sometimes you will get the 408 in the browser and sometimes the browser actually will not respect the 408 and continue staying in a pending state forever. This seems to be browser side issue and not a client/user land issue. If you get the browser message it will be this error toaster

![timeout-message](https://user-images.githubusercontent.com/1151048/88318760-74a20980-ccd8-11ea-9b7b-0d27f8eb6bce.png)

### Checklist

- [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/master/packages/kbn-i18n/README.md)
- [x] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials
- [x] [Unit or functional tests](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility) were updated or added to match the most common scenarios

### For maintainers

- [x] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)
2020-07-28 17:47:41 -06:00
Mikhail Shustov
4ede075681
[KP] fix doc generation for platform code (#73407)
* fix doc generation for platform code

* terminate process if type build failed

* update types
2020-07-28 16:51:23 +02:00
Anton Dosov
abfda1f792
Use "Apply_filter_trigger" in dashboard drilldown (#71468)
* attach dashboard drilldown to apply filter trigger

* fix types

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-28 09:57:04 +02:00
Pierre Gayvallet
005a1121cc
use KibanaClient interface instead of Client for new client interface (#72388)
* use KibanaClient interface instead of Client

* add back helpers to ElasticsearchClient interface

* use TransportRequestPromise for transport.request

* update generated doc
2020-07-21 09:44:25 +02:00
Anton Dosov
1ac56d7bfc
[uiActions] Support emitting nested triggers and actions (#70602)
* Introduce automatically executed actions
* Introduce batching of emitted triggers to be execute on the macro task
2020-07-15 16:44:11 +02:00
Lukas Olson
25d143fdf7
[Search] Add telemetry for data plugin search service (#70677)
* [search] Refactor the way search strategies are registered/retrieved on the server

* Fix types and tests and update docs

* Fix failing test

* Fix build of example plugin

* Fix functional test

* Make server strategies sync

* Move strategy name into options

* docs

* Remove FE strategies

* TypeScript of hell
delete search explorer

* Fix search interceptor OSS tests

* typos

* test cleanup

* Update search interceptor tests and abort utils

* [Search] Add telemetry for data plugin search service

* Add tracking of average query time

* Add tests and rename to collectors

* Fix TS

* Fixed interceptor jest tests

* Add to kibana json

* docs

* Properly use observables rather than only during setup

* Update or create

* Swallow version conflict errors

Co-authored-by: Liza K <liza.katz@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-15 11:49:34 +03:00
Luke Elmers
8ecbb25ab5
[expressions] AST Builder (#64395) 2020-07-14 15:57:22 -06:00
Liza Katz
dc55b20777
[Search] Server side search API (#70446)
* [search] Refactor the way search strategies are registered/retrieved on the server

* Fix types and tests and update docs

* Fix failing test

* Move strategy name into options

* Remove FE strategies

* TypeScript of hell
delete search explorer

* Fix search interceptor OSS tests

* test cleanup

* fix

* return search wrapper

* initial api

* Shiny happy cleanup

* docs

* fix jest test

* simplify strategy registration

* fix rebase

* fix rebase

* fix backport

* types

* TS for strategy

* docs

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-14 15:18:59 +03:00
Larry Gregory
692db4f172
Search across spaces (#67644)
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-13 20:10:17 -04:00
Tim Sullivan
3222951db1
[Data Plugin] Allow server-side date formatters to accept custom timezone (#70668)
* [Data Plugin] Allow server-side date formatters to accept custom timezone

When Advanced Settings shows the date format timezone to be "Browser,"
this means nothing to field formatters in the server-side context. The
field formatters need a way to accept custom format parameters. This
allows a server-side module that creates a FieldFormatMap to set a
timezone as a custom parameter. When custom formatting parameters exist,
they get combined with the defaults.

* add more to tests - need help though

* simplify changes

* api doc changes

* fix src/plugins/data/public/field_formats/constants.ts

* rerun api changes

* re-use public code in server, add test

* fix path for tests

* weird api change needed but no real diff

* 3td time api doc chagens

* move shared code to common

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-13 14:50:49 -07:00
Mikhail Shustov
0ea414c13a
[KP] Separate onPreAuth & onPreRouting http interceptors (#70775)
Co-authored-by: Aleh Zasypkin <aleh.zasypkin@gmail.com>
Co-authored-by: Josh Dover <me@joshdover.com>
2020-07-13 13:26:34 -06:00
Spencer
fa93a81ba6
[kbn/optimizer] implement "requiredBundles" property of KP plugins (#70911)
Co-authored-by: Josh Dover <me@joshdover.com>
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-09 18:43:17 -07:00
Rudolf Meijering
77a97fc892
Disable fields added from unknown saved object types (#70951)
* Allow disabled: false SO field mappings

* Disable fields for unknown SO types

* Update everyone else's docs ;)

* Address review comments

* Add unit tests for disableUnknownTypeMappingFields()
2020-07-09 13:45:11 +02:00
Cauê Marcondes
203fde92ac
Observability overview page (#69141)
* creating overview page and menu

* styling the home page

* adjusting breadcrumb

* renaming isnt working

* renaming isnt working

* renaming isnt working

* fixing import

* fixing scroll when resize window

* fixing eslint errors

* prepending links

* adding target option

* refactoring

* adding dark mode support

* fixing prettier format

* fixing i18n

* reverting some unnecessary changes

* addressing PR comments

* fixing functional tests

* ordering observability menu

* fixing tests

* addressing PR comments

* fixing scroll

* addressing pr comments

* addressing pr comments

* creating overview page

* mocking data

* mocking data

* refactoring

* crearting apm chart

* adding overview page

* adding metric charts

* adding charts

* changing mock data location

* adding mock registry

* adding date picker

* adding route validation

* adding io-ts

* adding io-ts

* adding io-ts support

* fixing imports and mock data

* adding app folder

* creating a section for each plugin

* adding stats

* adding domain min max

* refactoring xcoordinaters

* fixing route

* adding bucket size

* adding group property on logs

* adding home page

* dont break page if location  state is undefined

* each component fetches its own data

* Refactoring

* adding loading indicator to chart

* fixing uptime chart

* adding brush functionality to charts

* fixing refresh button and auto refresh function

* adding horizontal line to accordion section

* adding emptySection to dashboard page

* adding add data button

* adding resources section

* removing margins from horizontal rule

* changing min interval to 60s

* fixing empty section

* removing unnecessary code

* adding unit tests

* fixing imports

* adding initial story book for observability

* removeing uptime mock data

* fixing xDomain to show correct data on x-axis

* fixing empty state alignment

* adding story book and other improvements

* adding news component

* adding support to custom colors on EuiProgress and EuiStats

* removing infra mock data

* adding error message when api throwns an error

* adding alert section

* Adding alerts

* adding alert api call

* addressing PR comments

* adding storybook

* adding feedback button

* addressing PR comments

* chamging plugins return data

* fixing kibana app navigation

* fixing unit test

* fixing ts issues

* addressing PR comments

* using lodash truncate

* adding comment

* updating public documentation

* fixing alerts request

* fixing unit test

* fixing unit test

* aligin beta badge to the center

* adding moment duration to get the units as seconds

* addressing PR comments

* addressing PR comments
2020-07-08 21:52:16 +02:00
Dave Snider
c815c96937
Multi-line kql bar (#70140)
* Multiline kql bar

* fix id

* use visibility rather than display to hide stuff, cross fingers for tests

* another vis trick for tests

* quasi fix tests, still some failures

* caroline feedback

* fun!

* fix for mouse

* fix test

* check api

* fix unit test on query_string_input

* Fix cypress test

* handle the resize of the height of the textarea when the window have been resize

Co-authored-by: Xavier Mouligneau <189600+XavierM@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Liza K <liza.katz@elastic.co>
2020-07-08 13:01:00 -04:00
Luke Elmers
d43c4609e1
[data.search.aggs]: Remove remaining client dependencies (#70251) 2020-07-07 21:54:52 -06:00
Liza Katz
f290c68696
Improve search typescript (#69333)
* [search] Refactor the way search strategies are registered/retrieved on the server

* Fix types and tests and update docs

* Fix failing test

* Fix build of example plugin

* Fix functional test

* Make server strategies sync

* Move strategy name into options

* docs

* Remove FE strategies

* TypeScript of hell
delete search explorer

* Fix search interceptor OSS tests

* typos

* test cleanup

* Delete search example
fix interceptor async tests to use fake timers

* docs

* fix

* return search wrapper

* Update search interceptor tests and abort utils

* ts

* jest test fix

* code review

* change how logs consume search API

Co-authored-by: Lukas Olson <olson.lukas@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-08 00:34:28 +03:00
Mikhail Shustov
aeff8c154b
[Audit Logging] Add AuditTrail service (#69278)
* add generic audit_trail service in core

* expose auditTraik service to plugins

* add auditTrail x-pack plugin

* fix type errors

* update mocks

* expose asScoped interface via start. auditor via  request context

* use type from audit trail service

* wrap getActiveSpace in safeCall only. it throws exception for non-authz

* pass message to log explicitly

* update docs

* create one auditor per request

* wire es client up to auditor

* update docs

* withScope accepts only one scope

* use scoped client in context for callAsInternalUser

* use auditor in scoped cluster client

* adopt auditTrail plugin to new interface. configure log from config

* do not log audit events in console by default

* add audit trail functional tests

* cleanup

* add example

* add mocks for spaces plugin

* add unit tests

* update docs

* test description

* Apply suggestions from code review

apply @jportner suggestions

Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>

* add unit tests

* more robust tests

* make spaces optional

* address comments

* update docs

* fix WebStorm refactoring

Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
2020-07-07 21:16:39 +02:00
Pierre Gayvallet
e7c54d3684
Rename HttpServerInfo.host to hostname (#70792)
* rename host to hostname

* update generated doc

* adapt tests

* fix types
2020-07-07 16:54:39 +02:00
Peter Pisljar
dfeb60b5ee
moving indexPattern.delete() to indexPatterns.delete(indexPattern) (#70430) 2020-07-07 09:21:00 +02:00
Tiago Costa
6c62c686cf
chore(NA): upgrade to lodash@4 (#69868)
* chore(NA): upgrade oss to lodash4

chore(NA): migrate cli, cli_plugin, cli_keystore,  dev, test_utils and apm src script to lodash4

chore(NA): missing file for cli plugin

chore(NA): add src core

chore(NA): es archiver and fixtures

chore(NA): try to fix functional test failure

chore(NA): migrate src/legacy entirely to lodash4 except src/legacy/core_plugins

chore(NA): move legacy core plugins to lodash4

chore(NA): upgrade optimize to lodash4

chore(NA): upgrade to lodash4 on advanced_settings, charts, console and dashboard

chore(NA): migrate to lodash4 on dev_tools, discover, embeddable, es_ui)shared, expressions, home plugins

chore(NA): upgrade data plugin to lodash4

chore(NA): upgrade usage_collection, ui_actions, tile_map, telemtry, share, saved_objects, saved_objects_management, region_map and navigation to lodash4

chore(NA): missing data upgrades to lodash4

Revert "chore(NA): upgrade usage_collection, ui_actions, tile_map, telemtry, share, saved_objects, saved_objects_management, region_map and navigation to lodash4"

This reverts commit 137055c5fed2fc52bb26547e0bc1ad2e3d4fe309.

Revert "Revert "chore(NA): upgrade usage_collection, ui_actions, tile_map, telemtry, share, saved_objects, saved_objects_management, region_map and navigation to lodash4""

This reverts commit f7e73688782998513d9fb6d7e8f0765e9beb28d1.

Revert "chore(NA): missing data upgrades to lodash4"

This reverts commit 92b85bf947a89bfc70cc4052738a6b2128ffb076.

Revert "chore(NA): upgrade data plugin to lodash4"

This reverts commit 88fdb075ee1e26c4ac979b6681d8a2b002df74c6.

chore(NA): upgrade idx_pattern_mgt, input_control_vis, inspector, kbn_legacy, kbn_react, kbn_usage_collections, kbn_utils, management and maps_legacy to lodash4

chore(NA): map src plugin data to lodash3

chore(NA): missing lodash.clonedeep dep

chore(NA): change packages kbn-config-schema deps

chore(NA): update renovate config

chore(NA): upgrade vis_type plugins to lodash4

chore(NA): move vis_type_vislib to lodash3

chore(NA): update visualizations and visualize to lodash4

chore(NA): remove lodash 3 types from src and move test to lodash4

chore(NA): move home, usage_collection and management to lodash 3

Revert "chore(NA): move home, usage_collection and management to lodash 3"

This reverts commit f86e8585f02d21550746569af54215b076a79a3d.

chore(NA): move kibana_legacy, saved_objects saved_objects_management into lodash3

chore(NA): update x-pack test to mock lodash4

Revert "chore(NA): move kibana_legacy, saved_objects saved_objects_management into lodash3"

This reverts commit 2d10fe450533e1b36db21d99cfae3ce996a244e0.

* chore(NA): move x-pack and packages to lodash 4

* chore(NA): remove mention to lodash from main package.json

* chore(NA): remove helper alias for lodash4 and make it the default lodash

* chore(NA): fix last failing types in the repo

* chore(NA): fix public api

* chore(NA): fix types for agg_row.tsx

* chore(NA): fix increment of optimizer modules in the rollup plugin

* chore(NA): migrate `src/core/public/http/fetch.ts` (#5)

* omit undefined query props

* just remove merge usage

* fix types

* chore(NA): fixes for feedback from apm team

* chore(NA): recover old behaviour on apm LoadingIndeicatorContext.tsx

* chore(NA): fixes for feedback from watson

* Platform lodash4 tweaks (#6)

* chore(NA): fix types and behaviour on src/core/server/elasticsearch/errors.ts

* Canvas fixes for lodash upgrade

* [APM] Adds unit test for APM service maps transform (#7)

* Adds a snapshot unit test for getConnections and rearranges some code to make testing easier

* reverts `ArrayList` back to `String[]` in the painless script within `fetch_service_paths_from_trace_ids.ts`

* chore(NA): update yarn.lock

* chore(NA): remove any and use a real type for alerts task runner

Co-authored-by: Gidi Meir Morris <github@gidi.io>

* chore(NA): used named import for triggers_actions_ui file

* chore(NA): fix eslint

* chore(NA): fix types

* Delete most uptime lodash references.

* Simplify. Clean up types.

* [Uptime] Delete most uptime lodash references (#8)

* Delete most uptime lodash references.

* Simplify. Clean up types.

* chore(NA): add eslint rule to avoid using lodash3

* chore(NA): apply changes on feedback from es-ui team

* fix some types (#9)

* Clean up some expressions types.

* chore(NA): missing ts-expect-error statements

* Upgrade lodash 4 vislib (#11)

* replace lodash 3 with lodash 4 on vislib plugin

* Further changes

* further replacement of lodash3 to 4

* further work on upgrading to lodash 4

* final changes to update lodash

* chore(NA): upgrade data plugin to lodash4

chore(NA): upgrade data plugin public to lodash4

chore(NA): fix typecheck task

chore(NA): fix agg_config with hasIn

chore(NA): assign to assignIn and has to hasIn

chore(NA): upgrade data plugin server to lodash4

chore(NA): new signature for core api

fix(NA): match behaviour between lodash3 and lodash4 for set in search_source

* chore(NA): remove lodash3 completely from the repo

* chore(NA): fix x-pack/test/api_integration/apis/metrics_ui/snapshot.ts missing content

* chore(NA): fix lodash usage on apm

* chore(NA): fix typecheck for maps

* Patch lodash template (#12)

* Applying changes from https://github.com/elastic/kibana/pull/64985

* Using isIterateeCall, because it seems less brittle

* Also patching `lodash/template` and `lodash/fp/template`

* Reorganizing some files...

* Revising comment

* Ends up `_` is a function also... I hate JavaScript

Co-authored-by: Pierre Gayvallet <pierre.gayvallet@gmail.com>
Co-authored-by: Josh Dover <me@joshdover.com>
Co-authored-by: Clint Andrew Hall <clint.hall@elastic.co>
Co-authored-by: Oliver Gupte <ogupte@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Gidi Meir Morris <github@gidi.io>
Co-authored-by: Justin Kambic <justin.kambic@elastic.co>
Co-authored-by: Stratoula Kalafateli <stratoula1@gmail.com>
Co-authored-by: Luke Elmers <luke.elmers@elastic.co>
Co-authored-by: Brandon Kobel <brandon.kobel@gmail.com>
Co-authored-by: kobelb <brandon.kobel@elastic.co>
2020-07-03 01:30:13 +01:00
Rudolf Meijering
c6867197ff
Allow Saved Object type mappings to set a field's doc_values property (#70433)
* Allow doc_values to be disabled

* Make doc_values optional

* doc_values type for CoreFieldMapping

* doc_values not doc_value

* Update docs

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-07-02 15:50:43 +02:00
Pierre Gayvallet
1cfc9356bd
add getVisibleTypes API to SO type registry (#70559)
* add getVisibleTypes API

* doc nit

* fix mocking in tests
2020-07-02 13:17:33 +02:00
Joe Reuter
de79985f92
[Lens] Add "no data" popover (#69147) 2020-07-01 10:08:37 +02:00
Matthew Kime
2fe0051ec2
Index patterns - Server API (#69105)
* index patterns on the server
2020-06-30 10:14:29 -05:00
Mikhail Shustov
159369b719
Use ts-expect-error in platform code (#69883)
* ts-ignore --> ts-expect-error

* fix error with mutable array

* fix errors in consumers code

* update SOM

* fix FeatureConfig & Feature compatibility

* do not re-export from code. it breaks built version

* update docs

* add eslint rule for platform team code

* remove test. this is covered by ts-expect-error in unit tests

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-30 07:37:42 +02:00
Luke Elmers
6a69e19226
[data.search.aggs] Remove date histogram dependency on timefilter (#69858) 2020-06-29 12:52:13 -06:00
Pierre Gayvallet
fe1c508d8d
Move and rename legacy elasticsearch client (#69797)
* move last snapshot to inline

* move legacy files to legacy subfolder

* move request types out of legacy

* export Headers from http instead of elasticsearch

* renaming - first pass

* renaming - second pass

* fix core mocks

* adapt new calls

* update generated doc

* fix IT test mocks

* fix new usages
2020-06-29 17:43:31 +02:00
Pierre Gayvallet
7e5cff4be9
[GS] add application result provider (#68488)
* add application result provider

* remove empty contracts & cache searchable apps

* fix types
2020-06-29 15:17:00 +02:00
Vadim Dalecky
684aa68f17
"Explore underlying data" in-chart action (#69494)
* 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

Co-authored-by: Anton Dosov <anton.dosov@elastic.co>
2020-06-26 14:26:35 +02:00
Anton Dosov
b3b5dab00d
Api reference docs for state_containers and state_sync (#67354)
Adds state_containers and state_sync to api_extractor
improves TSDoc definitions for those plugins
adds changes to api_extractor script to support common/ folder and runs docs generation sequentially to not get OOM.

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-26 14:05:17 +02:00
Mikhail Shustov
d511bb2c9b
move Metrics API to start (#69787)
* move metrics to start

* update plugins accordingly

* update docs

* update legacy code

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-26 13:39:46 +02:00
Rudolf Meijering
61a69f3825
Use TS to discourage SO mappings with dynamic: false / dynamic: true (#69927)
* Use TS to discourage SO mappings with dynamic

* Some unrelated docs changes
2020-06-25 21:44:57 +02:00
Matthew Kime
b02e2d9de4
Index pattern serialize and de-serialize (#68844)
* serialize and deserialize index patterns
2020-06-25 09:21:41 -05:00
Pierre Gayvallet
d173d56447
add the exactRoute property to app registration (#69772)
* add the `exactRoute` property

* add missing doc file

* nits on jsdoc
2020-06-25 11:19:12 +02:00
Luke Elmers
51a0b11c29
[data.search.aggs]: Add AggConfig.toSerializedFieldFormat (#69114) 2020-06-24 07:52:21 -06:00
Mikhail Shustov
778136f3bf
expose DocLinks API from start only (#68745)
* exose DocLinks API from start only

* update docs

* fix type errors

* update docs

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-24 11:42:54 +02:00
Josh Dover
200957bb63
Add plugin API for customizing the logging configuration (#68704) 2020-06-23 14:45:47 -06:00
Pierre Gayvallet
9e8448fc06
HttpService: duplicate some APIs from setup to start and clean mocks. (#69021)
* add apis to http start contract and clean mocks

* add apis to http start contract and clean mocks

* add `getStartContract` method

* fix new calls

* remove isTlsEnabled

* deprecates HttpServiceSetup.auth
2020-06-18 15:55:47 +02:00
Pierre Gayvallet
d2006ea8a0
savedObjects: add score to repository.find results (#68894)
* add `score` to repository.find results

* update generated doc

* fix FTR result set

* remove score from exports

* fix FTR for find API

* fix label

* fix tsdoc
2020-06-18 11:39:25 +02:00
Vadim Dalecky
b8e6b54428
Drilldown docs 2 (#69375)
* docs: ✏️ add drilldown user docs link to REAMDE

* feat: 🎸 wire drilldown docs link into <HelloBar> component

* feat: 🎸 set new page attributes on drilldown docs link

* feat: 🎸 add external prop to link to show icon

* fix: 🐛 remove rel= attribute

* fix: 🐛 add TypeScript type for drilldown docLink
2020-06-17 17:00:22 +02:00
Lukas Olson
ade4c8dded
[Search service] Refactor the way server-side search strategies are registered (#68452)
* [search] Refactor the way search strategies are registered/retrieved on the server

* Fix types and tests and update docs

* Fix failing test

* Fix build of example plugin

* Fix functional test

* Make server strategies sync

Co-authored-by: Liza K <liza.katz@elastic.co>
2020-06-16 23:20:52 +03:00
Spencer
7e328417ab
[kbn/optimizer] share all plugin bundles (#68986)
Co-authored-by: spalger <spalger@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-15 22:15:31 -07:00
Matthew Kime
85ebaed37c
index pattern(s) take dependencies as object (#69055)
* index pattern(s) take dependencies as object
2020-06-12 19:29:14 -05:00
Mikhail Shustov
8cdc2a1493
Make SameSite cookie's attribute configurable (#68108)
* support 'SameSite: None' in http service

* add tests

* allow to configure SameSite attribute for security cookie

* update docs

* fix test suite name

* remove false from samesite options

* document xpack.security.sameSiteCookies

* address comments

* address comments

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-12 10:02:10 +02:00
Pierre Gayvallet
74ceb7002a
add replace option to navigateToApp API (#68700)
* add `replace` option to `navigateToApp`

* use `unknown` type for state

* add test when `replace` is false
2020-06-11 19:31:45 +02:00
Pierre Gayvallet
5f00d26ff3
add preference field to SavedObjectsFindOptions (#68620) 2020-06-11 12:57:59 +02:00
Mikhail Shustov
f593455a62
Bump TypeScript to v3.9 (#67666)
* add babel support for export type

* bump ts version to 3.9.3

* rebuild kbn-pm

* bump typescript-eslint

* fix error in security plugin UI

* check export as works

* fix app migration type

* use correct test subj attribute

* fix errors from the old PR

* embeddable is already passed in props

* explicitly define type of fetch

* add some types for viz

* fix fetch type p.2

* add null to allow spreading without type errors due to override

* add type guard to fix type error

* cast to any, since cannot assign unknown

* add timestamp to known types

* fix type error in fetch

* fix type error. id is always defined in attibutes

* declare a type

* move ts-ignore to the lines with errors

* declare tuple type explicitly

* mute type error. cannot assign unknown

* fix errors. id is always defined

* fix error type

* fix override errors. id is always defined

* fix error. extends any doesn't work anymore

* fix type error. type is always defined

* env doesn't always contain values

* fix type error

* cast to string

* add: logs is already declared in getNodeLogsUrl

* state is already  passed in props

* fix some errors in timelion

* number of fragments is always defined

* 'absolute' is not just string, but value

* TEMP: option is always defined

* always true if cast to promise manually

* both props are always defined

* explicitly define returned SO type

* workaround type

* bump tslib to be compatible with ts v3.9

* test private property

* rebuild kbn-pm

* Fix ts errors for beats management

* Fix type inference broken by the TS 3.9 upgrade

* Fix ingest manager saved object attributes typings

* Fix TS errors in cross_cluster_replication and index_management.

* Fix TS error in Watcher.

* roll back colorRange wrong type

* fix security plugin types

* TypeScript 3.9 fixes for APM

* Fix ColorRange types.

* fix actions & alerts errors. ByGidi

* fix lists error

* More APM fixes

* Remove paramaterization from `removeEmpty in agent config SettingsPage component (it's only used there and doesn't need to be parameterized.)
* Add option chain for case in registerTransactionDurationAlertType
* Cast `overallValue` in transform_metrics_chart
* Use more specific type for custom link filters
* Add more option chaining for local UI filters buckets response
* Remove unused parameters from routes
* Fix getProjection type parameter
* Use destructuring in serviceNodesLocalFiltersRoute to hide `never` error
* Revert `UnionToIntersection` change in `AggregationResponseMap`

Fixes #67804.

* fix platform type error

* Fix visualizations types.

* Fix data plugin types.

* bump TS version to 3.9.5

* Fix telemetry TS errors

* Fix dashboard code

* Adding Canvas Fixes for TS 3.9

* Fix case and security_solution types

* roll back to the old export syntax. new one might cause problems in api-extractor

* update docs

* Fix timelion code

* Fix meta

* Fix types

* fix type errors om ingest_manager

* bump babel deps

* enable private props & methods syntax

* update kbn-pm dist

* whitelist 0BSD license

* use @babel/plugin-proposal-private-methods in default set as well

* disable new babel plugins

* Revert "disable new babel plugins"

This reverts commit 04d959431d.

* cleanup security_solution types

* Fixes type error for newer TypeScript

* update docs

Co-authored-by: Nicolas Chaulet <nicolas.chaulet@elastic.co>
Co-authored-by: Felix Stürmer <stuermer@weltenwort.de>
Co-authored-by: CJ Cenizal <cj@cenizal.com>
Co-authored-by: Larry Gregory <larry.gregory@elastic.co>
Co-authored-by: Nathan L Smith <smith@nlsmith.com>
Co-authored-by: Walter Rafelsberger <walter@elastic.co>
Co-authored-by: Luke Elmers <luke.elmers@elastic.co>
Co-authored-by: Alejandro Fernández Haro <alejandro.haro@elastic.co>
Co-authored-by: Tim Roes <tim.roes@elastic.co>
Co-authored-by: Clint Andrew Hall <clint.hall@elastic.co>
Co-authored-by: Patryk Kopycinski <contact@patrykkopycinski.com>
Co-authored-by: FrankHassanabad <frank.hassanabad@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-11 10:04:09 +02:00
Matthew Kime
40d2cfc4db
Index pattern public api => common (#68289)
Refactor index pattern api so it can be used by public and server services
2020-06-10 17:24:03 -05:00
Alexey Antonov
5d8de7a162
Use Search API in Vega (#68257)
* Use Search API in Vega

* fix PR comments

* fix PR comments
2020-06-09 21:40:05 +03:00
Josh Dover
f090775280
Add url overflow handling to KP (#67899) 2020-06-08 15:03:41 -06:00
Lukas Olson
8174b5ce29
[Search] Refactor service to register search strategies, not providers (#60342)
* Add async search strategy

* Add async search

* Fix async strategy and add tests

* Move types to separate file

* Revert changes to demo search

* Update demo search strategy to use async

* Add async es search strategy

* Return response as rawResponse

* Poll after initial request

* Add cancellation to search strategies

* Add tests

* Simplify async search strategy

* Move loadingCount to search strategy

* Update abort controller library

* Bootstrap

* Abort when the request is aborted

* Add utility and update value suggestions route

* Fix bad merge conflict

* Update tests

* Move to data_enhanced plugin

* Remove bad merge

* Revert switching abort controller libraries

* Revert package.json in lib

* Move to previous abort controller

* Add support for frozen indices

* Fix test to use fake timers to run debounced handlers

* Revert changes to example plugin

* Fix loading bar not going away when cancelling

* Call getSearchStrategy instead of passing  directly

* Add async demo search strategy

* Fix error with setting state

* Update how aborting works

* Fix type checks

* Add test for loading count

* Attempt to fix broken example test

* Revert changes to test

* Fix test

* Update name to camelCase

* Fix failing test

* Don't require data_enhanced in example plugin

* Actually send DELETE request

* Use waitForCompletion parameter

* Use default search params

* Add support for rollups

* Only make changes needed for frozen indices/rollups

* Only make changes needed for frozen indices/rollups

* Add back in async functionality

* Fix tests/types

* Fix issue with sending empty body in GET

* Don't include skipped in loaded/total

* Don't wait before polling the next time

* Add search interceptor for bulk managing searches

* Simplify search logic

* Fix merge error

* Review feedback

* UI to stop async searches

* Add service for running beyond timeout

* Refactor abort utils

* Remove unneeded changes

* Add tests

* Refactor search service to register strategies directly

* Remove accidental change

* re-generate docs

* Fix merge

* types

* doc

* eslint

* Fix async strategy jest test

* type fix

* Use getStartServices in search strategies

* Code review + snapshot

* eslint

* Type script

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Liza K <liza.katz@elastic.co>
2020-06-08 21:22:09 +03:00
Peter Pisljar
de4eaf9ae7
fix #66185 (#66186) 2020-06-08 15:31:14 +02:00
Uladzislau Lasitsa
b87eefc753
[uiSettings]: Migrate items owned by app arch to new platform (#66040)
* Migrated uiSettings items to new platform

* API changes

* Fixed translations

* Fixed comment and i18n

* Fixed tests

* Fixed internalization

* Fix karma tests

* made code more explicit

* Fixed plugin

* Added consts for ui settings ids.

* Added id for another settings

* Fixed tests.

* Improved imports

* Fix imports to public which were happening from the server.

* Fixed paths

* Moved styles to plugin.ts

* Moved styles

* Fixed docs

* Fix ci

* Fix ci

* fix documentation

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Alexey Antonov <alexwizp@gmail.com>
Co-authored-by: Luke Elmers <luke.elmers@elastic.co>
2020-06-05 10:55:42 +03:00
Alexey Antonov
6195f3eddf
[Data plugin] Add configuration property to enable / disable autocomplete (#67847)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-04 11:44:57 +03:00
Constance
43c5466801
Update documentation examples of AppMountParams to AppMountParameters (#68042) 2020-06-03 10:17:15 -07:00
Pierre Gayvallet
a091124fab
Move application.applications$ to public contract (#67463)
* expose applications$ on public contract

* review comments
2020-06-02 15:15:21 +02:00
Mikhail Shustov
53b95424fe
Deprecate es API exposed from setup contract (#67596)
* move elasticsearch client under legacy namespace

* update mocks and tests

* update platform code

* update legacy code

* update plugins using elasticsearch setup API

* update request handler context

* update docs

* rename remaining places

* address comments

* fix merge conflict error
2020-06-01 16:16:44 +02:00
Michail Yasonik
fce016ccdb
Refactoring nav links and header components (#66685)
Co-authored-by: spalger <spalger@users.noreply.github.com>
2020-05-29 09:26:00 -05:00
Matthew Kime
f546fc3b2f
Index pattern field - add unit tests (#67549)
* add unit tests to index pattern fields
2020-05-28 10:56:58 -05:00
Ryder Timberlake
7071fac36a
Fix typos (#66984)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-05-27 13:44:41 -06:00
Mikhail Shustov
4040c3090b
Mark elasticsearch client exposed via request context as deprecated (#67319)
* add legacy prefix for es client exposed via request handler context

* update src/plugins

* update core mocks and tests

* update test plugins

* update xpack plugins

* include x-pack/mocks.ts

* update after master merge

* update docs

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-05-27 19:00:16 +02:00
Pierre Gayvallet
54e79cb4b4
Add application.navigateToUrl core API (#67110)
* implement `navigateToUrl` core API

* fix lint

* review comments
2020-05-25 15:01:26 +02:00
Greg Thompson
204fd5b5a2
Upgrade EUI to v23.3.1 (#65877)
* eui to 23.2.0

* nav drawer ts updates

* eui to 23.3.0

* src snapshot updates

* makeId -> htmlIdGenerator mocks

* EuiCodeBlock testenv element lookup

* x-pack snapshot updates

* remove obsolete EuiCode and EuiCodeBlock mocks

* eui to 23.3.1

* patch updates

* searchbar type update

* docViewer tabs use valid DOMString id

* docViewer snapshot

* header updates

* cert_search field wrapper update
2020-05-21 14:31:26 -05:00
Gidi Meir Morris
dfa22d17b9
[Saved Objects] adds support for including hidden types in saved objects client (#66879)
As part of the work needed for RBAC & Feature Controls support in Alerting (https://github.com/elastic/kibana/issues/43994) we've identified a need to make the Alert Saved Object type a _hidden_ type.

As we still need support for Security and Spaces, we wish to use the standard SavedObjectsClient and its middleware, but currently this isn't possible with _hidden_ types.

To address that, this PR adds support for creating a client which includes hidden types.
2020-05-20 09:55:02 +01:00
Luke Elmers
7366552a32
[docLinks] Add docLinks to CoreSetup. (#66631)
* Add docLinks to CoreSetup.

* Update generated docs.

* Add inline snapshot for expect test error.

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-05-15 08:39:28 -06:00
Peter Pisljar
15c0644c97
making vis (completely) serializable (#64207) 2020-05-12 13:29:58 +02:00
Mikhail Shustov
4912153ce6
don't register any features in LP. (#65611)
* don't register any features in LP. breaks features value reading in KP

* move test plugin to NP

* fix mappings

* update docs

* migrate another test

* use contstants file for BWC with original code

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-05-11 18:43:45 +02:00
Rudolf Meijering
b180fd378d
Log error when encountering corrupt saved object during migration (#65829)
* Log error when encountering corrupt saved object during migration

* Fix documentation

* Fix types
2020-05-11 15:00:48 +02:00
Alexey Antonov
5f0d96d953
[Data plugin] cleanup - remove unused getRoutes / routes from indexPattern object (#65683)
* [Data plugin] cleanup - remove unused getRoutes / routes from indexPattern object

* Update index.ts
2020-05-07 23:51:39 +03:00
Pierre Gayvallet
3f3d5f9666
fix SavedObjectMigrationMap type (#65569) 2020-05-07 10:32:30 +02:00
Michail Yasonik
35e10273d3
New nav (#64018)
Notably, also removes aria-hidden from many visualizations
2020-05-05 23:14:14 -05:00
Spencer
ee270c7c3f
disallow external imports to src/core/utils (#64852) 2020-05-05 14:56:22 -07:00
Alexey Antonov
5967f4edde
Cleanup Typescript index pattern field editor / Expression functions for bucket agg (#65254) 2020-05-05 18:13:57 +03:00
Daniil Suleiman
f126e6130b
[NP][Discover] Move discover into new platform (#63473)
* Move discover into NP

* Convert doc_table tests to jest

* Move rows_headers to use jest

* Move fixed_scroll.test

* Clean up

* Revert jest changes

* Pass down deps into IndexPatternFieldList

* Fix conflicts

* Pass env vars

* Remove LegacyCoreStart

* Update generated doc

* Fix canvas type

* Fix i18n

* Improve stub_index_pattern code

* Add fieldFormats to mocked services

* Skip failing tests
- while still working on them, to find out if other tests fail in jenkins

* Unskip sidebar test

* Move mocha tests to legacy

- delete jest tests, can be converted later on

* Fix Scss imports
- Seems functional tests didn't build because of them?

* Remove another invalid SCSS import

* Pass deps as last argument

* Move field list into data start contract

* Move create field into data start contract, fix tests

* Update docs

* Fix duplicating fields

* Update snapshots in management

* Fix review comments

* Update docs

* Fix angular compilation

* Update docs

Co-authored-by: Matthias Wilhelm <matthias.wilhelm@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-05-04 23:34:24 +03:00
Vadim Dalecky
360b9c1200
Drilldowns (#61219)
* Add drilldown wizard components

* Dynamic actions (#58216)

* feat: 🎸 add DynamicAction and FactoryAction types

* feat: 🎸 add Mutable<T> type to @kbn/utility-types

* feat: 🎸 add ActionInternal and ActionContract

* chore: 🤖 remove unused file

* feat: 🎸 improve action interfaces

* docs: ✏️ add JSDocs

* feat: 🎸 simplify ui_actions interfaces

* fix: 🐛 fix TypeScript types

* feat: 🎸 add AbstractPresentable interface

* feat: 🎸 add AbstractConfigurable interface

* feat: 🎸 use AbstractPresentable in ActionInternal

* test: 💍 fix ui_actions Jest tests

* feat: 🎸 add state container to action

* perf: ️ convert MenuItem to React component on Action instance

* refactor: 💡 rename AbsractPresentable -> Presentable

* refactor: 💡 rename AbstractConfigurable -> Configurable

* feat: 🎸 add Storybook to ui_actions

* feat: 🎸 add <ErrorConfigureAction> component

* feat: 🎸 improve <ConfigureAction> component

* chore: 🤖 use .story file extension prefix for Storybook

* feat: 🎸 improve <ErrorConfigureAction> component

* feat: 🎸 show error if dynamic action has CollectConfig missing

* feat: 🎸 render sample action configuration component

* feat: 🎸 connect action config to <ConfigureAction>

* feat: 🎸 improve <ConfigureAction> stories

* test: 💍 add ActionInternal serialize/deserialize tests

* feat: 🎸 add ActionContract

* feat: 🎸 split action Context into Execution and Presentation

* fix: 🐛 fix TypeScript error

* refactor: 💡 extract state container hooks to module scope

* docs: ✏️ fix typos

* chore: 🤖 remove Mutable<t> type

* test: 💍 don't cast to any getActions() function

* style: 💄 avoid using unnecessary types

* chore: 🤖 address PR review comments

* chore: 🤖 rename ActionContext generic

* chore: 🤖 remove order from state container

* chore: 🤖 remove deprecation notice on getHref

* test: 💍 fix tests after order field change

* remove comments

Co-authored-by: Matt Kime <matt@mattki.me>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

* Drilldown context menu (#59638)

* fix: 🐛 fix TypeScript error

* feat: 🎸 add CONTEXT_MENU_DRILLDOWNS_TRIGGER trigger

* fix: 🐛 correctly order context menu items

* fix: 🐛 set correct order on drilldown flyout actions

* fix: 🐛 clean up context menu building functions

* feat: 🎸 add context menu separator action

* Add basic ActionFactoryService. Pass data from it into components instead of mocks

* Dashboard x pack (#59653)

* feat: 🎸 add dashboard_enhanced plugin to x-pack

* feat: 🎸 improve context menu separator

* feat: 🎸 move drilldown flyout actions to dashboard_enhanced

* fix: 🐛 fix exports from ui_actions plugin

* feat: 🎸 "implement" registerDrilldown() method

* fix ConfigurableBaseConfig type

* Implement connected flyout_manage_drilldowns component

* Simplify connected flyout manage drilldowns component. Remove intermediate component

* clean up data-testid workaround in new components

* Connect welcome message to storage

Not sure, but use LocalStorage. Didn’t find a way to persist user settings. looks like uiSettings are not user scoped.

* require `context` in Presentable. drill context down through wizard components

* Drilldown factory (#59823)

* refactor: 💡 import storage interface from ui_actions plugin

* refactor: 💡 make actions not-dynamic

* feat: 🎸 fix TypeScript errors, reshuffle types and code

* fix: 🐛 fix more TypeScript errors

* fix: 🐛 fix TypeScript import error

* Drilldown registration (#59834)

* feat: 🎸 improve drilldown registration method

* fix: 🐛 set up translations for dashboard_enhanced plugin

* Drilldown events 3 (#59854)

* feat: 🎸 add serialize/unserialize to action

* feat: 🎸 pass in uiActions service into Embeddable

* feat: 🎸 merge ui_actions oss and basic plugins

* refactor: 💡 move action factory registry to OSS

* fix: 🐛 fix TypeScript errors

* Drilldown events 4 (#59876)

* feat: 🎸 mock sample drilldown execute methods

* feat: 🎸 add .dynamicActions manager to Embeddable

* feat: 🎸 add first version of dynamic action manager

* Drilldown events 5 (#59885)

* feat: 🎸 display drilldowns in context menu only on one embed

* feat: 🎸 clear dynamic actions from registry when embed unloads

* fix: 🐛 fix OSS TypeScript errors

* basic integration of components with dynamicActionManager

* fix: 🐛 don't overwrite explicitInput with combined input (#59938)

* display drilldown count in embeddable edit mode

* display drilldown count in embeddable edit mode

* improve wizard components. more tests.

* partial progress, dashboard drilldowns (#59977)

* partial progress, dashboard drilldowns

* partial progress, dashboard drilldowns

* feat: 🎸 improve dashboard drilldown setup

* feat: 🎸 wire in services into dashboard drilldown

* chore: 🤖 add Storybook to dashboard_enhanced

* feat: 🎸 create presentational <DashboardDrilldownConfig>

* test: 💍 add <DashboardDrilldownConfig> stories

* test: 💍 use presentation dashboar config component

* feat: 🎸 wire in services into React component

* docs: ✏️ add README to /components folder

* feat: 🎸 increase importance of Dashboard drilldown

* feat: 🎸 improve icon definition in drilldowns

* chore: 🤖 remove unnecessary comment

* chore: 🤖 add todos

Co-authored-by: streamich <streamich@gmail.com>

* Manage drilldowns toasts. Add basic error handling.

* support order in action factory selector

* fix column order in manage drilldowns list

* remove accidental debug info

* bunch of nit ui fixes

* Drilldowns reactive action manager (#60099)

* feat: 🎸 improve isConfigValid return type

* feat: 🎸 make DynamicActionManager reactive

* docs: ✏️ add JSDocs to public mehtods of DynamicActionManager

* feat: 🎸 make panel top-right corner number badge reactive

* fix: 🐛 correctly await for .deleteEvents()

* Drilldowns various 2 (#60103)

* chore: 🤖 address review comments

* test: 💍 fix embeddable_panel.test.tsx tests

* chore: 🤖 clean up ActionInternal

* chore: 🤖 make isConfigValid a simple predicate

* chore: 🤖 fix TypeScript type errors

* test: 💍 stub DynamicActionManager tests (#60104)

* Drilldowns review 1 (#60139)

* refactor: 💡 improve generic types

* fix: 🐛 don't overwrite icon

* fix: 🐛 fix x-pack TypeScript errors

* fix: 🐛 fix TypeScript error

* fix: 🐛 correct merge

* Drilldowns various 4 (#60264)

* feat: 🎸 hide "Create drilldown" from context menu when needed

* style: 💄 remove AnyDrilldown type

* feat: 🎸 add drilldown factory context

* chore: 🤖 remove sample drilldown

* fix: 🐛 increase spacing between action factory picker

* workaround issue with closing flyout when navigating away

Adds overlay just like other flyouts which makes this defect harder to bump in

* fix react key issue in action_wizard

* don’t open 2 flyouts

* fix action order

https://github.com/elastic/kibana/issues/60138

* Drilldowns reload stored (#60336)

* style: 💄 don't use double equals __

* feat: 🎸 add reload$ to ActionStorage interface

* feat: 🎸 add reload$ to embeddable event storage

* feat: 🎸 add storage syncing to DynamicActionManager

* refactor: 💡 use state from DynamicActionManager in React

* fix: 🐛 add check for manager being stopped

* Drilldowns triggers (#60339)

* feat: 🎸 make use of supportedTriggers()

* feat: 🎸 pass in context to configuration component

* feat: 🎸 augment factory context

* fix: 🐛 stop infinite re-rendering

* Drilldowns multitrigger (#60357)

* feat: 🎸 add support for multiple triggers

* feat: 🎸 enable Drilldowns for TSVB

Although TSVB brushing event is now broken on master, KibanaApp plans to
fix it in 7.7

* "Create drilldown" flyout - design cleanup (#60309)

* create drilldown flyout cleanup

* remove border from selectedActionFactoryContainer

* adjust callout in DrilldownHello

* update form labels

* remove unused file

* fix type error

Co-authored-by: Anton Dosov <anton.dosov@elastic.co>

* basic unit tests for flyout_create_drildown action

* Drilldowns finalize (#60371)

* fix: 🐛 align flyout content to left side

* fix: 🐛 move context menu item number 1px lower

* fix: 🐛 move flyout back nav chevron up

* fix: 🐛 fix type check after refactor

* basic unit tests for drilldown actions

* Drilldowns finalize 2 (#60510)

* test: 💍 fix test mock

* chore: 🤖 remove unused UiActionsService methods

* refactor: 💡 cleanup UiActionsService action registration

* fix: 🐛 add missing functionality after refactor

* test: 💍 add action factory tests

* test: 💍 add DynamicActionManager tests

* feat: 🎸 capture error if it happens during initial load

* fix: 🐛 register correctly CSV action

* feat: 🎸 don't show "OPTIONS" title on drilldown context menus

* feat: 🎸 add server-side for x-pack dashboard plugin

* feat: 🎸 disable Drilldowns for TSVB

* feat: 🎸 enable drilldowns on kibana.yml feature flag

* feat: 🎸 add feature flag comment to kibana.yml

* feat: 🎸 remove places from drilldown interface

* refactor: 💡 remove place in factory context

* chore: 🤖 remove doExecute

* remove not needed now error_configure_action component

* remove workaround for storybook

* feat: 🎸 improve DrilldownDefinition interface

* style: 💄 replace any by unknown

* chore: 🤖 remove any

* chore: 🤖 make isConfigValid return type a boolean

* refactor: 💡 move getDisplayName to factory, remove deprecated

* style: 💄 remove any

* feat: 🎸 improve ActionFactoryDefinition

* refactor: 💡 change visualize_embeddable params

* feat: 🎸 add dashboard dependency to dashboard_enhanced

* style: 💄 rename drilldown plugin life-cycle contracts

* refactor: 💡 do naming adjustments for dashboard drilldown

* fix: 🐛 fix Type error

* fix: 🐛 fix TypeScript type errors

* test: 💍 fix test after refactor

* refactor: 💡 rename context -> placeContext in React component

* chore: 🤖 remove setting from kibana.yml

* refactor: 💡 change return type of getAction as per review

* remove custom css per review

* refactor: 💡 rename drilldownCount to eventCount

* style: 💄 remove any

* refactor: 💡 change how uiActions are passed to vis embeddable

* style: 💄 remove unused import

* fix: 🐛 pass in uiActions to visualize_embeddable

* fix: 🐛 correctly register action

* fix: 🐛 fix type error

* chore: 🤖 remove unused translations

* Dynamic actions to xpack (#62647)

* feat: 🎸 set up sample action factory provider

* feat: 🎸 create dashboard_enhanced plugin

* feat: 🎸 add EnhancedEmbeddable interface

* refactor: 💡 move DynamicActionManager to x-pack

* feat: 🎸 connect dynamic action manager to embeddable life-cycle

* test: 💍 fix Jest tests after refactor

* fix: 🐛 fix type error

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

* refactor: 💡 move action factories to x-pack (#63190)

* refactor: 💡 move action factories to x-pack

* fix: 🐛 use correct plugin embeddable deps

* test: 💍 fix Jest test after refactor

* chore: 🤖 remove kibana.yml flag (#62441)

* Panel top right (#63466)

* feat: 🎸 add PANEL_NOTIFICATION_TRIGGER

* feat: 🎸 add PanelNotificationsAction action

* test: 💍 add PanelNotificationsAction unit tests

* refactor: 💡 revert addTriggerAction() change

* style: 💄 remove unused import

* fix: 🐛 fix typecheck errors after merge

* support getHref in drilldowns (#63727)

* chore: 🤖 remove ui_actions storybook config

* update docs

* fix ts

* fix: 🐛 fix broken merge

* [Drilldowns] Dashboard to dashboard drilldown (#63108)

* partial progress on async loading / searching of dashboard titles

* feat: 🎸 make combobox full width

* filtering combobox polish

* storybook fix

* implement navigating to dashboard, seems like a type problem

* try navToApp

* filter out current dashboard

* rough draft linking to a dashboard

* remove note

* typefix

* fix navigation from dashboard to dashboard

except for back button - that would be addressed separatly

* partial progress getting filters from action data

* fix issue with getIndexPatterns undefined

we can’t import those functions as static functions, instead we have to expose them on plugin contract because they are statefull

* fix filter / time passing into url

* typefix

* dashboard to dashboard drilldown functional test and back button fix

* documentation update

* chore clean-ups

fix type

* basic unit test for dashboard drilldown

* remove test todos

decided to skip those tests because not clear how to test due to EuiCombobox is using react-virtualized and options list is not rendered in jsdom env

* remove config

* improve back button with filter comparison tweak

* dashboard filters/date option off by default

* revert change to config/kibana.yml

* remove unneeded comments

* use default time range as appropriate

* fix type, add filter icon, add text

* fix test

* change how time range is restored and improve back button for drilldowns

* resolve conflicts

* fix async compile issue

* remove redundant test

* wip

* wip

* fix

* temp skip tests

* fix

* handle missing dashboard edge case

* fix api

* refactor action filter creation utils

* updating

* updating docs

* improve

* fix storybook

* post merge fixes

* fix payload emitted in brush event

* properly export createRange action

* improve tests

* add test

* post merge fixes

* improve

* fix

* improve

* fix build

* wip getHref support

* implement getHref()

* give proper name to a story

* use sync start services

* update text

* fix types

* fix ts

* fix docs

* move clone below drilldowns (near replace)

* remove redundant comments

* refactor action filter creation utils

* updating

* updating docs

* fix payload emitted in brush event

* properly export createRange action

* some more updates

* fixing types

* ...

* inline EventData

* fix typescript in lens and update docs

* improve filters types

* docs

* merge

* @mdefazio review

* adjust actions order

* docs

* @stacey-gammon review

Co-authored-by: Matt Kime <matt@mattki.me>
Co-authored-by: streamich <streamich@gmail.com>
Co-authored-by: ppisljar <peter.pisljar@gmail.com>

* fix docs

* nit fixes

* chore: 🤖 remove uiActions from Embeddable dependencies

* chore: 🤖 don't export ActionInternal from ui_actions

* test: 💍 remove uiActions deps in x-pack test mocks

* chore: 🤖 cleanup ui_actions types

* docs: ✏️ add JSDoc comment to addTriggerAction()

* docs: ✏️ regenerate docs

* Drilldown demo 2 (#64300)

* chore: 🤖 add example of Discover drilldown to sample plugin

* fix: 🐛 show drilldowns with higher "order" first

* feat: 🎸 add createStartServicesGetter() to /public  kibana_util

* feat: 🎸 load index patterns in Discover drilldown

* feat: 🎸 add toggle for index pattern selection

* feat: 🎸 add spacer to separate unrelated config fields

* fix: 🐛 correctly configre setup core

* feat: 🎸 navigate to correct index pattern

* chore: 🤖 fix type check errors

* fix: 🐛 make index pattern select full width

* fix: 🐛 add getHref support

* feat: 🎸 add example plugin ability to X-Pack

* refactor: 💡 move Discover drilldown example to X-Pack

* feat: 🎸 add dashboard-to-url drilldown example

* feat: 🎸 add new tab support for URL drilldown

* feat: 🎸 add "hello world" drilldown example

* docs: ✏️ add README

* feat: 🎸 add getHref support

* chore: 🤖 cleanup after moving examples to X-Pack

* docs: ✏️ add to README.md info on how to find drilldowns

* feat: 🎸 store events in .enhancements field

* docs: ✏️ add comment to range trigger title

* refactor: 💡 move Configurable interface into kibana_utils

* chore: 🤖 simplify internal component types

* refactor: 💡 move registerDrilldwon() to advanced_ui_actions

* test: 💍 update functional test data

* merge

* docs: ✏️ make drilldown enhancement comment more general

* fix: 🐛 return public type from registerAction() call

* docs: ✏️ add comment to value click trigger title field

* docs: ✏️ improve comment

* fix: 🐛 use second argument of CollectConfigProps interface

* fix: 🐛 add workaround for Firefox rendering issue

See:
https://github.com/elastic/kibana/pull/61219/#pullrequestreview-402903330

* chore: 🤖 delete unused file

* fix: 🐛 import type from new location

* style: 💄 make generic type variable name sconsistent

* fix: 🐛 show "Create drilldown" only on dashboard

* test: 💍 add extra unit test for root embeddable type

* docs: ✏️ update generated docs

* chore: 🤖 add example warnings to sample drilldowns

* docs: ✏️ add links to example warnings

* feat: 🎸 add URL drilldown validation and https:// prefixing

* fix: 🐛 disable drilldowns for lens

* refactor: 💡 remove PlaceContext from DrilldownDefinition

* fix: 🐛 fix type check error

* feat: 🎸 show warning message if embeddable not provided

Co-authored-by: Anton Dosov <anton.dosov@elastic.co>
Co-authored-by: Matt Kime <matt@mattki.me>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Andrea Del Rio <delrio.andre@gmail.com>
Co-authored-by: ppisljar <peter.pisljar@gmail.com>
2020-05-04 16:11:20 +02:00
Luke Elmers
7f8f765541
[data.search.aggs] Remove legacy aggs APIs. (#64719) 2020-04-30 19:40:01 -06:00
Pierre Gayvallet
6e2691358f
add generic typings for SavedObjectMigrationFn (#63943)
* add generic typings for SavedObjectMigrationFn

* change default attributes type to unknown

* update generated doc

* adapt new calls

* update generated doc

* update migration example

* fix merge conflicts
2020-04-30 10:28:14 +02:00
Pierre Gayvallet
aa8cb620bb
Allow to define and update a defaultPath for applications (#64498)
* add defaultPath to `AppBase` and use it in `navigateToApp`

* add removeSlashes util

* adapt `toNavLink` to handle defaultPath

* update generated doc

* codestyle

* add FTR test

* address comments

* add tests
2020-04-30 08:05:16 +02:00
Tim Roes
9b65cbd92b
[Lens] Bind all time fields to the time picker (#63874)
* Bind non primary time fields to timepicker

* Fix typescript argument types

* Allow auto interval on all fields

* Remove lens_auto_date function

* Fix existing jest tests and add test todos

* Remove lens_auto_date from esarchives

* Add TimeBuckets jest tests

* Fix typo in esarchiver

* Address review feedback

* Make code a bit better readable

* Fix default time field retrieval

* Fix TS errors

* Add esaggs interpreter tests

* Change public API doc of data plugin

* Add toExpression tests for index pattern datasource

* Add migration stub

* Add full migration

* Fix naming inconsistency in esaggs

* Fix naming issue

* Revert archives to un-migrated version

* Ignore expressions that are already migrated

* test: remove extra spaces and  timeField=\\"products.created_on\\"} to timeField=\"products.created_on\"}

* Rename all timeField -> timeFields

* Combine duplicate functions

* Fix boolean error and add test for it

* Commit API changes

Co-authored-by: Wylie Conlon <wylieconlon@gmail.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Marta Bondyra <marta.bondyra@elastic.co>
2020-04-29 20:10:14 -04:00
CJ Cenizal
3b753ec514
ES UI new platform cleanup (#64332) 2020-04-28 09:41:02 -07:00
Matthew Kime
231de27026
Typescript index pattern field editor (#63495)
* Typescript index pattern field editor
2020-04-27 15:19:02 -05:00
Rudolf Meijering
dfb6a308cf
Remove SO root property index signature (#64434)
* Remove SO root property index signature

* Update documentation
2020-04-27 16:08:27 +02:00
Pierre Gayvallet
3d78b1bcf9
Remove SO autocreateindex error and error page (#64037)
* remove autocreateIndex error and error page

* update generated doc

* delete unused keys

* remove sass import

* add missing graph import

* remove unused method
2020-04-27 10:02:40 +02:00
Alexey Antonov
d53997742b
[FieldFormats] Cleanup: rename IFieldFormatType -> FieldFormatInstanceType (#64193)
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-24 10:32:34 +03:00
Luke Elmers
e2baff36b8
[data.search.aggs]: Create agg types function for terms agg. (#63541)
* Minor cleanup on AggConfigJson interface.

* Add types for terms agg params & mapping.

* Add terms agg expression function.

* Register agg functions with expressions service.

* Add unit tests for terms expression function.

* Update API docs.

* AggConfigJson -> AggConfigSerialized

* Add serialize(), enforce serializable params, fix subexpressions in terms agg fn.

* Simplify getAggTypesFunctions

* it() -> test()

* Add help text.

* Ensure serialize() is used by agg param type.

* Add toExpressionAst to AggConfig.

* Add json arg to terms agg fn.

* Update docs.

* Fix typo which caused functional test failures.

* Add AggParam.toExpressionAst so AggConfig.toExpressionAst can return function ast instead of expression ast.

* Clean up overlooked items.
2020-04-23 11:39:38 -06:00
Alexey Antonov
0a6da70a89
[Regression] Histogram aggregation always shows an error message (#63484)
* WIP [Regression] Histogram aggregation always shows an error message

Closes: #62624

* make getInternalStartServices private

* fix ts issues

* remove createSearchSource from static contract

* fix some jest test

* move searh_source to static contract

* fix types

* fix function tests

* fix jest / add createStartServicesGetter

* fix comments: saved_object_management

* maps: fix PR comments

* maps: update types

* fix heck_published_api_changes

* move searchSource into runtime contract

* cleanup

* fix ts error

* cleanup

* remove extra dependencies

* fix Discover

* fix Discover JEST

* fix PR comments

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-22 19:21:14 +03:00
Peter Pisljar
222fdc5029
refactor action filter creation utils (#62969) 2020-04-22 10:41:58 +02:00
Liza Katz
796421f600
[SEARCH] Cleanup fetch soon (#63320)
* move old code to legacy folder

* Use search service directly from search source

* Move get search params to fetch folder

* Delete search strategy folder

* Doc update

* Minor cleanups

* Moved es client to legacy folder

* Clean up some unused code (isViable, old search function)

* Updated tests

* strings update

* Fix jest test

* re-arrange runSearch function

* re-arrange runSearch function

* fix jest tests

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-04-19 17:58:45 +03:00
Joe Portner
d72de0ea16
Refactor saved object types to use namespaceType (#63217)
Remove `namespaceAgnostic` field that was deprecated in #54605,
use `namespaceType` instead.
2020-04-16 14:37:55 -04:00
Mikhail Shustov
af09fedaf2
[NP] add http resources sub-service (#61797)
* add HttpResources basic implementation

* expose http resources to plugins

* add mocks

* move http resources to a separate service

* hide rendering service

* adopt internal types

* expose HttpResources service to plugins

* update platform mocks

* plugins start using HttpResources API

* remove RenderingServiceSetup export

* RenderingServiceSetup --> InternalRenderingServiceSetup

* improve types

* remove httpRespources leftovers from http service

* remove rendering types from RequestHanlderContext

* fix security plugin tests

* add unit tests for httpResources service

* add unit tests

* remove outdated cache-control header

* restructure http resources service

* merge getUiPlugins and discover

* static route declaration shouldnt require auth & validate

* update docs

* use HttpResources service instad of rendering

* address comments

* update docs

* roll back unnecessary changes

* use getVars for rendering

* dont pass app. it is not public API

* remove static registers

* update migration guide
2020-04-16 16:09:39 +02:00
Uladzislau Lasitsa
ce9c6e258a
Index pattern management UI -> TypeScript and New Platform Ready (indexed_fields_table) (#63364)
* MIgrated indexed_fields_table to typescript.

* Updated docs

* Fixed comments

* Fixed types
2020-04-16 10:32:28 +03:00
Matthew Kime
69ed664dd9
Index Pattern Field class - factor out copy_field code for future typescripting (#63083)
* Index Pattern Field class - factor out copy_field code for future typescripting
2020-04-14 06:58:56 -05:00
Pierre Gayvallet
bd159c7d59
fix ScopedHistory.createHref to prepend location with scoped history basePath (#62407)
* fix createHref to prepend with scoped history basePath + add option to exclude it.

* fix prependBasePath behavior

* fix test plugins urls

* add pathname to endpoint url builder methods

* Revert "add pathname to endpoint url builder methods"

This reverts commit 7604932b

* adapt createHref instead of prependBasePath

* use object options for createHref

* update generated doc
2020-04-11 09:27:45 +02:00
Joe Portner
97d1685c3d
Sharing saved-objects phase 1 (#54605)
Co-authored-by: kobelb <brandon.kobel@elastic.co>
2020-04-09 23:18:18 -04:00
Joe Reuter
8d21b6b6f3
Move search source parsing and serializing to data (#59919) 2020-04-09 14:06:01 +02:00
Josh Dover
f84773faed
Add basic StatusService (#60335) 2020-04-08 13:16:32 -06:00
Alexey Antonov
008b0fda64
[data.search.aggs] Remove service getters from agg types (#61628)
* [data.search.aggs] Remove service getters from agg types

Part of #60333

* new portion of changes

* pass dependencies to MetricAgg Type through constructor

* update docs

* refactoring buckets

* remove unused mockDataServices

* Remove service getters from metrics

* Some fixes

* remove temporary code

* moved notifications to the getInternalStartServices

* fixed karma lock

* update docs

* Fixed tests

* fix broken CI

* fix PR comment

* fix typo

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: Uladzislau Lasitsa <Uladzislau_Lasitsa@epam.com>
2020-04-07 13:39:30 +03:00
Lukas Olson
80417f6888
[Search] Fix async search to encode index pattern in path (#61374)
* Fix async search to encode index in path

* Update docs

* Review feedback & fixing types
2020-03-27 08:31:34 -07:00
Peter Pisljar
7b0c66f7f1
move visualizations plugin to new platform (#60403) 2020-03-27 13:02:06 +01:00
Pierre Gayvallet
468de51153
Add plugin start contract to getStartServices return value (#61216)
* add plugin own contract as third element of getStartServices result

* adapt plugins code

* update tests

* revert unknown to use void again

* update generated doc

* fix UT

* update mock to allow non-object `pluginStartContract`

* add @typeParam documentation
2020-03-26 10:49:05 +01:00