I've seen a few failures recently like https://kibana-ci.elastic.co/job/elastic+kibana+pull-request+multijob-selenium/4940/console which are caused by the modal not being visible, but if you look at the screenshot you can see the the modal was just about to be displayed but the find didn't wait quite long enough. ~~To fix this temporarily I've increased the `isConfirmModalOpen()` timeout from 2 to 5 seconds.~~
These tests are actually trying to assert that the modal is gone, so rather than simply checking the state of the modal once, the `CommonPage#isConfirmModalOpen()` method has been renamed to `CommonPage#expectConfirmModalOpenState()` which expects a boolean and will assert the state of the confirm modal within a retry, so that as long as the modal eventually transitions to that state it will eventually resolve.
![dashboard app using legacy data dashboard listing page delete default confirm action is cancel 1](https://user-images.githubusercontent.com/1329312/41569272-3215b4aa-731f-11e8-864a-0c0022228245.png)
* Patch ConfigView changes from x-pack-kibana to OSS Kibana.
* Remove old css.
* Update style for queue statement.
* WIP modifying based on designer feedback.
* Add flatten function and list class.
* Rename functions to be more descriptive.
* WIP checkin. Modify components to handle flattened object list.
* Finish moving flatten logic into classes, add tests.
* Simplify flattening, remove non-native dependency. Add more tests.
* Add defaults to simplify function call.
* Refactor two blocks into a function.
* Begin adapting components for list.
* Add collapse functionality.
* Add expand functionality.
* Nested collapsed elements remain collapsed on parent expansion.
* Style section headers.
* Update Plugin statement styles.
* Add DetailDrawer support.
* Update statement formatting.
* Add stats to plugin element rows.
* Resolve conflicts.
* Remove obsolete code.
* Reorganize code.
* Remove warnings.
* Add PropTypes. Add keys to arrays and iterables.
* Update color for borders/buttons.
* Add stat class. Clean up code.
* Convert plugin statement component from class to function.
* Update queue metrics message.
* Update style to make view more responsive.
* Change section heading size.
* Remove gutter from metrics group.
* Change name "stat" to "metric".
* Remove obsolete export line, simplify declaration, based on PR feedback.
* Add new functional component in place of model class.
* Add PropTypes to several components. Rename a function. Add keys to metrics.
* Convert stateless classes to functional components.
* Prefer ES6 syntax over bindings for Component methods.
* Do not render statement section if there are no statements.
* design cleanup for pipeline viewer
* Update CSS to add min-height to page.
* Rename "elements" to "statements". Delete unused LESS variables.
* Revert naming of "statements" to "elements" for StatementList component.
* Update jest snapshots for DetailDrawer.
There are several cases where we want to do different things in the
optimizer based on whether we are running in the distributable version
of Kibana or running from source. Historically we have handled this by
relying on the env, but as we start to prebuild things, like TypeScript
and soon SCSS, we actually need to know if the version of Kibana running
was a result of the build process or not. To address this the src/utils
module now exports a constant: `IS_KIBANA_DISTRIBUTABLE`. This constant
will be based on the build.distributable flag being set in Kibana's
package.json, which is done automatically in the build process.
This PR upgrades RxJS to version 6 and switches to a fork of `stream-to-observable` which includes an updated version of `any-observable` that supports RxJS 6 until https://github.com/jamestalmage/stream-to-observable/pull/10 is merged. The primary change in this version of RxJS is the movement of stream operators from `Obersable.prototype` to the `rxjs/operators` module. Some of the operators, like `catch` and `do`, have been renamed (`catchError`, and `tap`). The Obsevable factories have also been moved from static methods on the `Observable` class to named exports of the root `rxjs` module. Some of those factories have also changed slightly, like `fromEvent` which now emits arrays if the event handler is called with multiple arguments.
```js
// import the Rx namespace to get the Observable factories
import * as Rx from 'rxjs';
// import the operators as named imports
import { map, tap, switchMap } from 'rxjs/operators';
```
* Migrate dashboard save error from old toast message to new EUI toast
* save function does not need to exist on anymore
* account for error in onSave
* update clone
* lint errors
This PR tries to reduce the Elasticsearch cluster load for index patterns with many indices.
**Theory of operation**
Before this PR, Elasticsearch had to perform the query and sorting for every shard matching the index pattern. In order to avoid that in a time-base indexing scheme, the queries should include a `range` filter. This enables Elasticsearch to rewrite most of the shard accesses to `match_none`. But since the context view operates on document counts, the time intervals need to be determined heuristically:
* start of the interval is the second end of the previous query iteration or `anchor_time` if it is the first iteration
* end of the interval is `interval_start +/- n days` with `n in {1, 7, 30, 365, 10000}` or unlimited if insufficient hits were returned for all `n`
This date arithmetic introduces the assumption that the primary sorting field is a date or at least numeric. Therefore, the `sortingField` has been renamed to `timeField` to make those new assumptions explicit.
**Other notes**
As an additional optimization, the queries are now executed in a `constant_score` filter context to enable caching by Elasticsearch.
Tests for `fetchSuccessors` and `fetchPredecessors` were added.
Changes in ElasticSearch required a concurrent fix of #17696, which is also included. It now splits up the anchor `uid` into `anchorType` and `anchorId` and uses them in an `ids` query.
**Testing**
The fact that only a small subset of the shards are involved in a query should be observable using the `skipped` shard count in the response.
fixes#15143fixes#17696
* [Monitoring/No Data] Show a "still waiting" link after 19s
* minor bug fix: spinner if _interval_ updating
* update "we tried"
* some wording changes on activating / trying to activate monitoring
* cancel the setTimeout when component gets unmounted
* more wording tweaks
* update snapshot
To get rid of angular's tooltip="..." code in the header of data cards of the data visualizer, this introduces a ml-field-title-bar directive/component.
- The directive replaces the raw template code in field_data_card.html.
- The directive itself wraps a React component which uses EUI's tooltip instead of angular's tooltip attribute.
- The previous angular template logic (about which classes and fieldnames to display) is also move to the React component