Commit graph

20728 commits

Author SHA1 Message Date
Chris Roberson
9ba4c9ac6b
[Monitoring] Ensure we use the provided node id in the query (#23715)
* Ensure we use the right parameter name

* Update test fixture to use second node
2018-10-03 12:26:54 -04:00
Brandon Kobel
937e07c5f1
Limiting maximum number of Spaces (#23673)
* Limiting the number of spaces

* Adding docs

* Adding forgotten fixture

* Fixing tslint error

* Adjusting docs

* Changing test descriptions from Boom.badRequest to bad request

* Updating error snapshots
2018-10-03 09:09:12 -07:00
Ryan Keairns
c0eec4dd60
misc ui bug fixes (#23629) 2018-10-03 11:03:22 -05:00
Ryan Keairns
88c5c6d93c
Watcher - convert LESS to SASS (#23252)
* convert watch less to sass

* add temp workaround for loading new styles

* use new style path
2018-10-03 10:56:12 -05:00
Court Ewing
fd050fbcd3
docs: note about permissions for grok debugger (#23664) 2018-10-03 11:35:46 -04:00
Pete Harverson
557fc7a66f
[ML] Indicate multi-bucket anomalies in results dashboards (#23746) 2018-10-03 16:09:52 +01:00
Leanid Shutau
c993ad3996
[I18n] Add HOC injecting i18n provider (#23683)
* add injectI18nProvider HOC

* Fix propTypes typo

* Typescriptify wrapper

* Add tests

* Fix tests

* Resolve comments
2018-10-03 17:57:04 +03:00
Leanid Shutau
2f62fd6978
[I18n] Fix types paths for kbn-i18n package (#23744)
* [I18n] Fix types paths for kbn-i18n package

* Remove module field from package.json
2018-10-03 17:56:07 +03:00
Thomas Watson
1d7adee485
chore: fix spelling of APM Server (#23729) 2018-10-03 13:49:34 +02:00
Melissa Alvarez
1311d89b24
[ML] Ensure charts loaded in Anomaly Explorer match swimlane selection (#23690)
* Only consider last request.Prevent promise race condition

* Reminder for regression test
2018-10-03 11:19:20 +01:00
Robert Monfera
57b4b144fc
Feat: group resize for horizontal constituents (#23553)
Feat: group resize for horizontal constituents
2018-10-03 09:08:48 +02:00
Robert Monfera
52df40e42f
Fix: browser back button after workpad switch should be handled specially (#23619) 2018-10-03 07:23:22 +02:00
Catherine Liu
2da50a9085
Fix: setState warnings in Canvas (#23671)
* Added check for mounted workpad loader before setState calls

* Added check for mounted page manager before setState calls

* Added check for mounted arg form before setState calls

* Resets onmousemove and onmouseup handlers when workpad page unmounts
2018-10-02 19:18:23 -07:00
Nathan Reese
17f11ccc53
do not call set state when unmounted (#23711) 2018-10-02 17:04:26 -06:00
Catherine Liu
30929fad79
Fix: page preview default font color (#23672)
* Changes default font color to black in page_preview

* Switched to euiTextColor
2018-10-02 14:11:20 -07:00
Larry Gregory
981e98c2fe
Fix space privilege associations when editing roles (#23638)
This PR updates the role management screen so that changes to space privileges are correctly tracked when adding/updating/deleting both new and existing privilege associations.

We were not tracking state correctly when both existing and in-progress privileges existed on screen.

Closes #23541
2018-10-02 16:45:28 -04:00
Nathan Reese
e44113393a
Fix child controls don't work after parent reset (#23616)
* Fix child controls don't work after parent reset

* do not clear value on disable - this breaks values provided from kibana filters as highlighted by the broken functional test
2018-10-02 13:55:27 -06:00
Chris Davies
cce9a682de
Fix a bug with reindex timing out during migration of largish indices (#23397)
Modify migrations to poll for realias completion to
avoid a timeout on larger indices
2018-10-02 15:54:45 -04:00
Nathan Reese
2040cd501c
Use EuiPanel to for dashboard panels (#22078)
* Use EuiPanel to for dashboard panels

* Fixed styles (#27)

* Fixed styles

- Removed extraneous panel styles no longer needed
- Fixed overflow issue in FF

* Couple classname adjustments

* removed styles in expanded mode

* remove styles in expanded mode
2018-10-02 13:53:48 -06:00
Josh Dover
49798bc8ad
Add K7 header navigation (#23300)
* Add basic support for new K7 navigation

* Make visibility and app title work

* Allow nav controls on right side of navbar

* Use render callback w/ el

* Add support for multiple sides

* Remove fake spaces nav control

* Breadcrumb support

* Hide breadcrumbs in plugins when k7design is enabled:

* Fix units

* Rename k7 -> header

* Add tests

* Fix tests

* Fix loading indicator

* PR comments

* Move ts-ignore

* Use canvasApp icon type
2018-10-02 14:09:47 -05:00
Chris Davies
f74b4bfdac
Fixes relative timezone bug #18133 for Chromium reports (#23652) 2018-10-02 14:09:54 -04:00
Larry Gregory
e9d23f64f7
Fix spaces table rendering in IE (#23608)
This fixes table rendering in IE where we display the Space Avatar alongside the Space Name. The solution is to[ render them in separate columns](https://github.com/elastic/kibana/issues/23546#issuecomment-425108806), instead of a single column.

Screenshots from IE:
![fixed spaces cutoff](https://user-images.githubusercontent.com/3493255/46208213-036db700-c2f8-11e8-9a43-67bb42b7c788.png)

![fixed spaces cutoff 2](https://user-images.githubusercontent.com/3493255/46208216-0668a780-c2f8-11e8-94e0-454c51d543e2.png)


Closes #23546
2018-10-02 13:31:42 -04:00
Ryan Keairns
6932cf2b17
Search Profiler - convert LESS to SASS (#23588)
* converts less to sass

* IE fixes and misc tweaks

* feedback

* use bem css class naming
2018-10-02 12:30:29 -05:00
Larry Gregory
5c6ebc76f4
Fix error handling on role management screen (#23583)
Fixes #23542 - old error handling was not working when API calls to create/update roles returned an error
2018-10-02 13:29:50 -04:00
Stacey Gammon
4c1c04cb40
Reporting test readme (#23507)
* Reporting test readme

* Use full urls

* more full paths

* Don't use link to session folder, it's not in repo.

* updates

* Consolidate all reporting information into the readme and link from main x-pack readme.

* be consistent with Note: styling

* Add windows steps for downloading the correct packages.
2018-10-02 12:19:28 -04:00
Brandon Kobel
a839f7f403
When we get a 403 trying to get the telemetry document, assume we (#23631)
haven't opted into telemetry
2018-10-02 09:09:05 -07:00
Nathan Reese
3d50ef741a
Fix sample data install toasts error when user navigates away from home app while installing (#23574)
* do not call functions on  after component has been unmounted

* use isDefault method when checking if defaultIndex config is set
2018-10-02 09:58:17 -06:00
Josh Dover
cea1301127
Remove elasticsearch package from kbn-es (#23662) 2018-10-02 10:19:33 -05:00
Tim Sullivan
8d02866321
[Reporting] Chromium wait until domcontentloaded not networkidle0 (#23586)
Kibana now keeps a constant connection between the browser and the
server from Canvas's websocket. When there's a reverse proxy between the
server and the browser, the fallback is XHR polling. This open polling
connection was keeping the network alive all the time, never idle, which
resulted in the Chromium browser driver kept waiting. Eventually, the
Report job would fail with a timeout error.
2018-10-02 06:57:14 -07:00
Chris Roberson
52723502bc
[Beats] Add space.id to all filebeat and metricbeat tutorials (#22998)
* Add space id to all filebeat and metricbeat tutorials

* Do not show if default or does not exist. Also, move to a helper method as the logic is fairly complex now.

* Add comment

* Provide a boolean indicating if the current space is the default one on the context object

* Remove debug

* PR feedback

* Fix prettier issue
2018-10-02 09:49:54 -04:00
Aliaksandr Yankouski
a002ee4369 i18n engine typescript migration (#22441)
* configure typescript build, add necessary dependencies, change extensions, react migration

* migrate lib files in root

* update tests snapshots, resolve core loader, helper

* fix types for core components

* fix angular components

* fix angular staff

* use Messages type

* first-upper-case letter while using classs

* use stable latest babel, fix ts issues

* optimize .babelrc

* update lock file

* Fix x-pack/yarn.lock

* fix issue with unknown babel plugin

* add babel-config.js file with babel configuration for i18n engine build process instead of .babelrc file to fix jest issue

* Resolve comments

* Fix babel config

* Fix packages incompatibility issue

* Fix tslint errors

* Fix tests

* Resolve comments

* Fix types
2018-10-02 11:55:15 +03:00
Jonathan Budzenski
6b3bc45b9a
[field caps] filter nested and object fields (#23658)
* [field caps] filter nested and object fields

* update type list test

* update snapshots
2018-10-01 16:15:22 -05:00
Larry Gregory
1f38026731
Spaces Phase 1 (#21408)
### Review notes
This is generally ready for review. We are awaiting https://github.com/elastic/elasticsearch/issues/32777 to improve handling when users do not have any access to Kibana, but this should not hold up the overall review for this PR.

This PR is massive, there's no denying that. Here's what to focus on:
1) `x-pack/plugins/spaces`: This is, well, the Spaces plugin. Everything in here is brand new. The server code is arguably more important, but feel free to review whatever you see fit.
2) `x-pack/plugins/security`: There are large and significant changes here to allow Spaces to be securable. To save a bit of time, you are free to ignore changes in `x-pack/plugins/security/public`: These are the UI changes for the role management screen, which were previously reviewed by both us and the design team.
3) `x-pack/test/saved_object_api_integration` and `x-pack/test/spaces_api_integration`: These are the API test suites which verify functionality for:
     a) Both security and spaces enabled
     b) Only security enabled
     c) Only spaces enabled

What to ignore:
1) As mentioned above, you are free to ignore changes in `x-pack/plugins/security/public`
2) Changes to `kibana/src/server/*`: These changes are part of a [different PR that we're targeting against master](https://github.com/elastic/kibana/pull/23378) for easier review.

## Saved Objects Client Extensions
A bulk of the changes to the saved objects service are in the namespaces PR, but we have a couple of important changes included here.

### Priority Queue for wrappers
We have implemented a priority queue which allows plugins to specify the order in which their SOC wrapper should be applied: `kibana/src/server/saved_objects/service/lib/priority_collection.ts`. We are leveraging this to ensure that both the security SOC wrapper and the spaces SOC wrapper are applied in the correct order (more details below).

### Spaces SOC Wrapper
This wrapper is very simple, and it is only responsible for two things:
1) Prevent users from interacting with any `space` objects (use the Spaces client instead, described below)
2) Provide a `namespace` to the underlying Saved Objects Client, and ensure that no other wrappers/callers have provided a namespace. In order to accomplish this, the Spaces wrapper uses the priority queue to ensure that it is the last wrapper invoked before calling the underlying client.

### Security SOC Wrapper
This wrapper is responsible for performing authorization checks. It uses the priority queue to ensure that it is the first wrapper invoked. To say another way, if the authorization checks fail, then no other wrappers will be called, and the base client will not be called either. This wrapper authorizes users in one of two ways: RBAC or Legacy. More details on this are below.


### Examples:
`GET /s/marketing/api/saved_objects/index-pattern/foo`

**When both Security and Spaces are enabled:**
1) Saved objects API retrieves an instance of the SOC via `savedObjects.getScopedClient()`, and invokes its `get` function
2) The Security wrapper is invoked.
    a) Authorization checks are performed to ensure user can access this particular saved object at this space.
3) The Spaces wrapper is invoked.
   a) Spaces applies a `namespace` to be used by the underlying client
4) The underlying client/repository are invoked to retrieve the object from ES.

**When only Spaces are enabled:**
1) Saved objects API retrieves an instance of the SOC via `savedObjects.getScopedClient()`, and invokes its `get` function
2) The Spaces wrapper is invoked.
   a) Spaces applies a `namespace` to be used by the underlying client
3) The underlying client/repository are invoked to retrieve the object from ES.

**When only Security is enabled:**
(assume `/s/marketing` is no longer part of the request)
1) Saved objects API retrieves an instance of the SOC via `savedObjects.getScopedClient()`, and invokes its `get` function
2) The Security wrapper is invoked.
   a) Authorization checks are performed to ensure user can access this particular saved object globally.
3) The underlying client/repository are invoked to retrieve the object from ES.

## Authorization
Authorization changes for this project are centered around Saved Objects, and builds on the work introduced in RBAC Phase 1.

### Saved objects client
#### Security without spaces
When security is enabled, but spaces is disabled, then the authorization model behaves the same way as before: If the user is taking advantage of Kibana Privileges, then we check their privileges "globally" before proceeding. A "global" privilege check specifies `resources: ['*']` when calling the [ES _has_privileges api.](https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api-has-privileges.html). Legacy users (non-rbac) will continue to use the underlying index privileges for authorization.

#### Security with spaces
When both plugins are enabled, then the authorization model becomes more fine-tuned. Rather than checking privileges globally, the privileges are checked against a specific resource that matches the user's active space. In order to accomplish this, the Security plugin needs to know if Spaces is enabled, and if so, it needs to ask Spaces for the user's active space. The subsequent call to the `ES _has_privileges api` would use `resources: ['space:marketing']` to verify that the user is authorized at the `marketing` space. Legacy users (non-rbac) will continue to use the underlying index privileges for authorization. **NOTE** The legacy behavior implies that those users will have access to all spaces. The read/write restrictions are still enforced, but there is no way to restrict access to a specific space for legacy auth users.

#### Spaces without security
No authorization performed. Everyone can access everything.

### Spaces client
Spaces, when enabled, prevents saved objects of type `space` from being CRUD'd via the Saved Objects Client. Instead, the only "approved" way to work with these objects is through the new Spaces client (`kibana/x-pack/plugins/spaces/lib/spaces_client.ts`).

When security is enabled, the Spaces client performs its own set of authorization checks before allowing the request to proceed. The Spaces client knows which authorization checks need to happen for a particular request, but it doesn't know _how_ to check privileges. To accomplish this, the spaces client will delegate the check security's authorization service.

#### FAQ: Why oh why can't you used the Saved Objects Client instead!?
That's a great question! We did this primarily to simplify the authorization model (at least for our initial release). Accessing regular saved objects follows a predictible authorization pattern (described above). Spaces themselves inform the authorization model, and this interplay would have greatly increased the complexity. We are brainstorming ideas to obselete the Spaces client in favor of using the Saved Objects Client everywhere, but that's certainly out of scope for this release.



## Test Coverage
### Saved Objects API
A bulk of the changes to enable spaces are centered around saved objects, so we have spent a majority of our time automating tests against the saved objects api.

**`x-pack/test/saved_object_api_integration/`** contains the test suites for the saved objects api. There is a `common/suites` subfolder which contains a bulk of the test logic. The suites defined here are used in the following test configurations:
1) Spaces only: `./spaces_only`
2) Security and spaces: `./security_and_spaces`
3) Security only: `./security_only`

Each of these test configurations will start up ES/Kibana with the appropriate license and plugin set. Each set runs through the entire test suite described in `common/suites`. Each test with in each suite is run multiple times with different inputs, to test the various permutations of authentication, authorization type (legacy vs RBAC), space-level privileges, and the user's active space.  

### Spaces API
Spaces provides an experimental public API.

**`x-pack/test/spaces_api_integration`** contains the test suites for the Spaces API. Similar to the Saved Objects API tests described above, there is a `common/suites` folder which contains a bulk of the test logic. The suites defined here are used in the following test configurations:
1) Spaces only: `./spaces_only`
2) Security and spaces: `./security_and_spaces`


### Role Management UI
We did not provide any new functional UI tests for role management, but the existing suite was updated to accomidate the screen rewrite.

We do have a decent suite of jest unit tests for the various components that make up the new role management screen. They're nested within `kibana/x-pack/plugins/security/public/views/management/edit_role`

### Spaces Management UI
We did not provide any new functional UI tests for spaces management, but the components that make up the screens are well-tested, and can be found within `kibana/x-pack/plugins/spaces/public/views/management/edit_space`

### Spaces Functional UI Tests
There are a couple of UI tests that verify _basic_ functionality. They assert that a user can login, select a space, and then choose a different space once inside: `kibana/x-pack/test/functional/apps/spaces`



## Reference

Notable child PRs are listed below for easier digesting. Note that some of these PRs are built on other PRs, so the deltas in the links below may be outdated. Cross reference with this PR when in doubt.

### UI
- Reactify Role Management Screen: https://github.com/elastic/kibana/pull/19035
- Space Aware Privileges UI: https://github.com/elastic/kibana/pull/21049
- Space Selector (in Kibana Nav): https://github.com/elastic/kibana/pull/19497
- Recently viewed Widget: https://github.com/elastic/kibana/pull/22492
- Support Space rename/delete: https://github.com/elastic/kibana/pull/22586

### Saved Objects Client
- ~~Space Aware Saved Objects: https://github.com/elastic/kibana/pull/18862~~
- ~~Add Space ID to document id: https://github.com/elastic/kibana/pull/21372~~
- Saved object namespaces (supercedes #18862 and #21372):  https://github.com/elastic/kibana/pull/22357
- Securing saved objects: https://github.com/elastic/kibana/pull/21995
- Dedicated Spaces client (w/ security): https://github.com/elastic/kibana/pull/21995

### Other
- Public Spaces API (experimental): https://github.com/elastic/kibana/pull/22501
- Telemetry: https://github.com/elastic/kibana/pull/20581
- Reporting: https://github.com/elastic/kibana/pull/21457
- Spencer's original Spaces work: https://github.com/elastic/kibana/pull/18664
- Expose `spaceId` to "Add Data" tutorials: https://github.com/elastic/kibana/pull/22760

Closes #18948 

"Release Note: Create spaces within Kibana to organize dashboards, visualizations, and other saved objects. Secure access to each space when X-Pack Security is enabled"
2018-10-01 07:09:33 -04:00
Josh Dover
76c0a0a546
Handle different junit XML formats (#23617) 2018-09-28 11:51:06 -05:00
Josh Dover
c44075f253
Update kbn-pm build (#23621) 2018-09-28 11:47:36 -05:00
dave.snider@gmail.com
abb3fcf53e
[PROPOSAL] Make Kibana's PR template a checklist (#23511)
Kibana now uses a checklist for its PR template. The contributing docs were updated with more detail about release process.
2018-09-28 09:36:31 -07:00
Catherine Liu
86caf52a57
Feat: Progress Elements (#23176)
* Adds progress function and elements

Added progress elements

Added progress view

Added unit tests for progress common function

Fixed prop type in toggle arg

Renamed vert -> vertical and horiz -> horizontal

Adjusted progress element dimensions

Removed check for null context in progress function

Refactored progress shapes

Added unicorn shape

Adds labelPosition arg

Added tests for labelPosition

* Added percentage column to demodata

* Updated elements to use percent_uptime in demodata

* Updated demodata percent values

* Refactored progress to use SVGs instead of shape defs

* Added barWeight arg to progress function

* Removed labelPosition arg. Set static label position for each progress shape

* Added label to unicorn shape

* Fixed element images
2018-09-28 08:56:16 -07:00
Rashid Khan
046430f876
Remove debug messages in Canvas (#23615) 2018-09-28 07:41:00 -07:00
Walter Rafelsberger
34abe9762b
[ML] Fix view link regression. (#23604)
Fixes a regression introduced in #23494. The view link was broken because it expects a callback with an action instead of just the link.
2018-09-28 14:07:11 +02:00
Martijn Rondeel
7f1ee07405 Add ElastAlert Kibana Plugin to known plugins list (#23598)
* Add ElastAlert Kibana Plugin to known plugins list

* Add author of ElastAlert plugin
2018-09-28 10:47:27 +02:00
Catherine Liu
37d3e54bd9
Added dataurl=null to default image expression (#23582) 2018-09-27 16:36:55 -07:00
Brian Gaddis
16b4f85151 Fix error with reporting urls generated prior to 6.2 (when there was no layout parameter) (#23508)
* removed passing of ID in to creation of layout and added a new test without a layout param

* renamed test constant so it reflects what we are testing and added comment

* Recommended Changes

* removed */ from end of line
2018-09-27 15:28:34 -07:00
Caroline Horn
91c7fbc9f2
More Kibana plugin LESS 2 SASS (#23413)
This PR removes the LESS files for dev_tools, context, console, and inspector_views and replaces them with Sass.
2018-09-27 18:11:26 -04:00
Justin Kambic
6bb4355c39
[Logstash Management] Euify pipeline (#22902)
* Begin replacing pipeline editor KUI elements.

* WIP build out EUI rendering of Create Pipeline view.

* Add settings components.

* Add close functionality.

* Add save functionality.

* Add temporary dependency hack for testing purposes until EUI XY Chart replaces jquery-flot.

* Add delete pipeline button/capability.

* Add delete modal.

* Remove TODO comment.

* Added toasts.

* Switch to global toast system.

* Add toast for inactive license and readonly state.

* Remove pipeline edit template.

* Add notify on PUT and DELETE errors.

* Add null check for username prop of securityService return value.

* Add disable save button if invalid ID.

* Remove pipeline id field when editing existing pipeline.

* Remove obsolete code.

* Move PipelineEditor component to dedicated file.

* Add EUI table to pipeline list view.

* Add search to pipelines table.

* Add create/delete pipelines buttons.

* Add pagination stubs. Complete after EUI bug resolved.

* Added unselectable for non-centrally-managed pipelines.

* Add clone button to pipelines list.

* Add min page height. Fix bug with edit pipeline link.

* Remove obsolete pipeline list code.

* Remove obsolete tooltip, edit, list code.

* Disable create pipeline if id is empty.

* Move PipelineList component to dedicated file.

* Add empty state to pipeline list. Add selection messages.

* Update loading message.

* Move methods to more logical positions in component.

* Add info alerts to pipeline list.

* Remove obsolete angular template.

* Remove obsolete imports from pipeline list directive.

* Define UpgradeFailure component.

* Move UpgradeFailure subcomponents to dedicated files. Write tests.

* Move PipelineEditor subcomponents to dedicated files.

* Write tests for pipeline editor subcomponents.

* Move bare strings into constants.

* Move PipelineEditor constant values into constants file.

* Break subcomponents of InfoAlerts component into dedicated files.

* Remove obsolete constants.

* WIP - write tests for PipelineList, break table into separate component, add error empty prompt message.

* Move ConfirmDeleteModal component to dedicated file and test.

* Add TODO comment.

* Add test tags to react components.

* Add 'data-test-subj' prop to fields for func tests. Minor layout update. Run prettier on some files.

* Add data-test-subj prop to button. Disable two tests until pagination is re-added.

* Re-enabled pagination for pipeline list.

* Remove wallaby hack.

* Update pagination options, remove obsolete code.

* Fix bug introduced in refactor to display delete button at appropriate time.

* Handle max_bytes setting correctly. Add theme/mode to code editor.

* Update snapshot for new pagination.

* Remove angular template for UpgradeFailure view.

* Move bare text from Modal functional component to constant file. Update test + snapshot.

* Ran prettier on all changed documents.

* Remove obsolete TODO comments.

* Re-enable disabled functional test. Clean up TODO code.

* Fix unresolved promise in functional tests.

* Pipeline delete button hidden unless enabled, move to left.

* Make filter title more readable.

* Apply width to clone column on Pipeline List.

* Modify pipeline edit view to use 's'-size icons.

* Change pipeline editor delete button to empty button.

* Move pipeline edit actions to bottom left of form.

* Add propTypes for PipelineEditor.

* Update test snapshots.

* Update pipeline list delete button func test.

* Add pipeline edit test. Add heading to pipeline edit page.

* Move constant files to modules where they are consumed.

* Move UPGRADE_FAILURE constants into module that consumes them.

* Remove redundant tests and remove text constant imports from tests.

* Give initial values to id and description text fields to make them controlled components.

* Clean up pipeline ID form regex validation and add tests.
2018-09-27 16:58:23 -04:00
Nathan Reese
95f48c584e
Migrate report listing management to react and EUI (#22928)
* EUIify report management page

* wire ReportListing component together

* fetch jobs and display content in EuiPage

* display jobs in table

* add title and remove page size dropdown

* format date and display date in status column

* add poller

* add download button

* report error button

* remove old reporting table

* fix page styling

* create type for job

* remove job queue service

* remove angular-paging dependency from x-pack

* make download lib, update job notification hack to use jobQueueClient

* fix some more typescript stuff

* remove last angular service

* make report object type subdued color and small text

* update import in canvas

* stricter typing

* fix stuff lost in branch merge

* add return types to JobQueueClient

* wrap javascript code in {} in JSX
2018-09-27 14:49:41 -06:00
Walter Rafelsberger
0ff498d5c4
[ML] Improve Explorer Chart labels. (#23494)
Improves the display of the Explorer Chart labels to fix the following issues:
- Long chart labels could be cut off, so it's not possible to tell what entity fields a chart is referring to. A workaround is to hover the info icon tooltip but that's really slow and cumbersome if you have to do it for every chart.
- The list of entity fields and its values is an unformatted text blob which makes it hard to read and tell which values refer to which field.

Changes:
- If any of the chart labels is longer than 60 chars, the entity fields will wrap to a new line (for all charts to a achieve a consistent look).
- Entity fields use EuiBadge and some custom formatting to make it easier to see field/value pairs.
- If the detector description is too long, it still uses ellipsis for text-overflow:
- If the entity badges are too long, they will be just cut off to the right. There's no simple CSS fix for that, we cannot use ellipsis and we don't want to wrap those badges again because then multiple charts could have different heights. I experimented with gradients but that turned out to be somewhat unreliable. I still consider this a good enough improvement compare to the previous version and would like to leave a tweak for that to a follow up PR.
- If there are mixed detectors with and without entity fields and the existing one wrap, multiple charts are aligned considered the height of the entity fields on display:
- Additionally, this changes the link to the single series viewer from custom code using a Font Awesome icon to use EuiButtonEmpty with the same EUI based icon and a tooltip.
2018-09-27 21:10:11 +02:00
Lisa Cawley
186cea2d74
[DOCS] Adds TLS info to licensing page (#20638) 2018-09-27 10:09:14 -07:00
Josh Dover
b778d53e9e
Fix plugin generator when using hacks and SCSS [ci skip] (#23579) 2018-09-27 12:08:37 -05:00
Walter Rafelsberger
7e4e0cb84c
[ML] Fixes Anomaly Explorer IE11 issues (#23558)
Fixes two issues in IE11 for Anomaly Explorer:
- The format of the string returned from element.attr('transform') is different in IE11 so the regex based on it would fail. This fixes the issue and adds tests for the different formats. The code was also changed to gracefully return NaN in case the regex wouldn't return results, the previous version triggered a JS error.
- The migration of the swimlanes to React caused the cell selection to malfunction in IE11. This fixes it by updating the dragSelect library to use the new method setSelectables. The previous method we used (addSelectables) didn't play well with how React rerenders the swimlanes. Note this lib update using the new method will require to run yarn kbn bootstrap.
2018-09-27 18:00:03 +02:00
CJ Cenizal
ecaf26edd0
Add Vanilla JS example to kbn-i18n README (#23556)
Rename Node.js to Vanilla JS and give example of internationalizing a string constant.
2018-09-27 07:16:52 -07:00