Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[7.x] backport typescript dashboard (#37527) #38295

Closed

Conversation

stacey-gammon
Copy link
Contributor

backports #37527

toddself and others added 30 commits May 28, 2019 09:52
…c#37139)

* [feat] add reach-like functionality to object

In elastic#36804 we need to validate a `Partial<HttpConfig>` object which may
or may not have all the required keys attached to it.  This is the type
of use-case for `Joi.reach`, so we should expose a reach-like method on
the object validation class so that you can return the validator for a
specific key on an object.

* [fix] change to validateKey

* [fix] use throw error matcher

* [fix] use same interface for validate

* [fix] change test name]
…#37253)

## Summary

Low impact linter rules to help catch bugs for back-porting as well as moving into the future. We will slowly turn the warns into errors and fix the errors as we go along. This helps us avoid a "big bang" switch over approach to avoid back-port issues as we are porting bugs aggressively at the beginning.

Added a custom pattern detection rule for determining if the UI is trying to import anything from the server backend since that would cause web-pack front to pull in backend code. Also forbid the use of NodeJS imports on the front end.  

Double checked that I was not duplicating rules from:
* https://github.com/elastic/kibana/blob/master/packages/eslint-config-kibana/typescript.js
* https://github.com/elastic/kibana/blob/master/packages/eslint-config-kibana/javascript.js

### Checklist

Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR.

~- [ ] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~
~- [ ] 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)~
~- [ ] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~
~- [ ] [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~
~- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~

### For maintainers

~- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~
~- [ ] This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~
…data visualizer cards (elastic#36932) (elastic#37267)

* filedataviz cards - abbrev long numeric values

* add directive for index dataviz values

* Add arg to indicate format. update tests

* truncate with ellipsis

* use eui ellipsis truncation

* increase card content height

* ensure truncation for firefox and safari
## Summary
  * Turned on linter rule to be an error
  * Removed the extra character
  * https://github.com/elastic/ingest-dev/issues/467

Removes the extra `}` character seen after line 84 below in the screen shot:

<img width="368" alt="Screen Shot 2019-05-28 at 9 39 28 AM" src="https://user-images.githubusercontent.com/1151048/58498271-f4672f00-813a-11e9-8b80-2326db363bb0.png">

### Checklist

Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR.

~~- [ ] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~~
~~- [ ] 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)~~
~~- [ ] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~~
~~- [ ] [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~~
~~- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~~

### For maintainers

~~- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~
~~- [ ] This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~
…) (elastic#37231)

* Adding a read only access section to the infrastructure docs

* Adjusting where the infrastructure read only access section is and
adding the logs readonly access section

* Fixing grammar
…ic#37261) (elastic#37272)

## Summary

Fixed prevState issues with React setState
  * This will avoid subtle bugs with the react update renderer
  * Enabled one lint rule from warn to error
  * Turned off the other linter issue as it has an open ticket against it.
  * https://github.com/elastic/ingest-dev/issues/468

Summarize your PR. If it involves visual changes include a screenshot or gif.

### Checklist

Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR.

~~- [ ] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~~
~~- [ ] 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)~~
~~- [ ] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~~
~~- [ ] [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~~
~~- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~~

### For maintainers

~~- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~
~~- [ ] This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~
…astic#37244)

## [SIEM] Fixes timeline notes overflowing the modal (elastic#37134)

Beginning in Chrome 74 (see elastic/eui#1902), the timeline notes modal can overflow in some browsers, per the _Before_ gif below.

This fix uses `EuiModal` and other `EUI` components to address the overflow issue across all the browsers tested in the gifs below:

### Before (Chrome `74.0`)

![01-before-chrome](https://user-images.githubusercontent.com/4459398/58355997-4d7d4d00-7e33-11e9-864b-7e77d0635116.gif)

### After (Chrome `74.0`)

![02-after-chrome-74 0](https://user-images.githubusercontent.com/4459398/58356028-6128b380-7e33-11e9-8c7d-3022e45b1f41.gif)

### After (Firefox `67.0`)

![03-after-firefox-67 0](https://user-images.githubusercontent.com/4459398/58356056-6ede3900-7e33-11e9-92ca-a6dd8e0b804b.gif)

### After (Safari `12.1.1`)

![04-after-safari-12 1 1](https://user-images.githubusercontent.com/4459398/58356123-a947d600-7e33-11e9-80ab-d6b3d3c601c0.gif)

### After (IE`11.0.9600`)

![05-after-ie-11](https://user-images.githubusercontent.com/4459398/58356131-aea52080-7e33-11e9-989e-51aab7c4e9da.gif)

https://github.com/elastic/ingest-dev/issues/442
…#37291)

* fix: provide css value for workpads

old workpads were missing this value, this fixes scaling in fullscreen mode

* fix: make workpadCss a required prop

this will cause warnings in the future if the value is missing. also remove the unused css prop.
This change adjusts validation of query parameters in the
/api/security/v1/oidc endpoint. It was discovered during manual
testing that Google's OP is sending extra parameters than the ones
identified in https://tools.ietf.org/html/rfc6749#section-4.1.2
which is refernced by
https://openid.net/specs/openid-connect-core-1_0.html#AuthResponse
(for instance auth_user and session_state). The existing validation
rules only allowed the expected query parameters but this
means that Kibana wouldn't be able to complete OpenID Connect
authentication with Google acting as the OP.
As dictated in the standard (RFC6749), "The client MUST ignore
unrecognized response parameters." so we should allow but discard
any extra parameters we do not recognize and not throw an error.
Furthermore, it adds stricter validation for the issuer and all
parameters of type URI when these are present.
elastic#37236)

* Moved query filter and push filter from filter bar to filter manager
…7271)

* expose plugin contracts to Legacy platform

* move mapToObject to src/core/utils
…6660) (elastic#37317)

* move charts to separate components

* replace areachart

* apply custom styles

* customize barchart color

* customize color for areachart

* move reusable functions into common

* exchange x & y value in barchart dataset

* replace pure component with react memo and upgrade enzyme adapter
…astic#37314)

* Add default value for labels in sortByLabel function

* TS: make label optional
…) (elastic#37320)

* Upgrade enzyme and enzyme-adapter-react-16 to the latest

* Skip failed expectation

* Update yarn.lock

* Update snapshot
elastic#37307)

Rollup fields were were merged twice with other fields, this caused duplicates. Fix of a bug introduced by elastic#28762
* move tsvb timeseries tests into new file
…lastic#36567) (elastic#37324)

* EUIficate top_aggregate_and_size param editor

* Remove template

* Change typescript interfaces

* Fix browser tests

* Add an icon alert

* Changes due to comments

* Move error to a help text

* Move error to a field

* Change validation logic

* Fix discarding changes action

* Remove changed translation
…lastic#37309)

* Visual Builder duration in second showing as number

Fix: elastic#35641 , elastic#35805

* fix PR comments

* Visual Builder duration in second showing as number

* Visual Builder duration in second showing as number -fix placeholder
elastic#37330)

* EUIficate order_agg param editor

* Update browser tests

* Add types

* Update enzyme version in x-pack

* Fix functional tests

* Changes due to comments

* Update_terms_helper.tsx

Co-Authored-By: Maryia Lapata <mary.lopato@gmail.com>

* Fix code review comments

* Update yarn.lock
nreese and others added 22 commits June 5, 2019 15:42
…lastic#38151)

* [Maps] replace FormattedText with FormattedMessage

* fix Capitalization
…8217)

* Move Expression types to OSS.

* Add interfaces for KibanaContext and KibanaDatatable types.

* Convert esaggs expression function to TypeScript.

* Clean up KibanaDatatable and KibanaContext types.

* Convert functions to use new Interpreter types

* Update ArgumentString-related types to simply be TypeString.

* Rename types.ts to index.ts so types can be imported at the top level.

* Update ArgumentString-related types to simply be TypeString.

* Rename types.ts to index.ts so types can be imported at the top level.

* Remove unused code from arguments types.

* Convert x-pack imports of OSS plugins from relative to absolute.

* Fix esaggs import.

* Addressing self feedback
…#37572)

* Some type improvements

* Tweak type

* Type strength lock-in for matrix operations

* minor fix

* Some merge changes

* Addressing feedback
…astic#38185) (elastic#38231)

## Summary

* Fix: disables dropping a new data provider provider on the timeline, deleting an existing data provider, or choosing an action from the data provider context menu while the timeline is loading data to prevent draggable errors, like the one pictured in the screenshot below:

![draggable-error](https://user-images.githubusercontent.com/4459398/58996789-ebb7ce00-87b6-11e9-9490-47a0df6f89ab.png)

* Fix: the timeline settings icon appears too close to the `Refresh` button:
### Before (Chrome)

![timeline-gear-before](https://user-images.githubusercontent.com/4459398/58997030-e6a74e80-87b7-11e9-86df-cb67592e63a7.png)

### After (Chrome)

<img width="1679" alt="timeline-gear-after-chrome" src="https://user-images.githubusercontent.com/4459398/58997064-1ce4ce00-87b8-11e9-9ffb-0f412e0018ad.png">

### After (Firefox)

<img width="1672" alt="timeline-gear-after-firefox" src="https://user-images.githubusercontent.com/4459398/58997113-4f8ec680-87b8-11e9-9b52-dc8a13d51361.png">

### After (Safari)

<img width="1680" alt="timeline-gear-after-safari" src="https://user-images.githubusercontent.com/4459398/58997169-911f7180-87b8-11e9-8186-0ff31e41ad53.png">

### After (IE 11)

<img width="1354" alt="timeline-gear-after-ie11" src="https://user-images.githubusercontent.com/4459398/58997306-40f4df00-87b9-11e9-844d-b12c7e16f7cb.png">

* Fix: the `Open Timeline` modal is showing bulk-delete actions

### Before (Chrome)

![open-timeline-before](https://user-images.githubusercontent.com/4459398/58997349-700b5080-87b9-11e9-8299-7dbeccbd8ff9.png)

### After (Chrome)

<img width="1008" alt="open-timeline-after" src="https://user-images.githubusercontent.com/4459398/58997381-9af5a480-87b9-11e9-9909-2d68bd5ff2c3.png">

* Fix: action icons on the `Timelines` page and `Open Timelines` modal are not aligned with the counts

### Before (Chrome)

<img width="1552" alt="all-timelines-before" src="https://user-images.githubusercontent.com/4459398/58997554-659d8680-87ba-11e9-868c-d92ad72f44b8.png">

### After (Chrome)

<img width="1550" alt="all-timelines-after" src="https://user-images.githubusercontent.com/4459398/58997656-d8a6fd00-87ba-11e9-9038-c0ca464f8c4d.png">

* Fix: Changed the title text of the fields browser from `Select Fields` to `Customize Columns`

### Before (Chrome)

<img width="910" alt="fields-browser-before" src="https://user-images.githubusercontent.com/4459398/58997616-a4334100-87ba-11e9-9cd8-02ed9d265bf2.png">

### After (Chrome)

<img width="910" alt="fields-browser-after" src="https://user-images.githubusercontent.com/4459398/58997691-fa07e900-87ba-11e9-8cd9-6412d2cef8f0.png">

https://github.com/elastic/ingest-dev/issues/471
…tic#38229)

## Summary

Currently, searching the `message` field within Timeline will not function properly, so in effort to prevent the user from searching with it, this PR removes the areas where `message` is draggable, which includes:

* Host Events Table
* Host Details Events Table
* Timeline Renderers
* Timeline Event Details

### Checklist

Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR.

- [ ] ~This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~
- [ ] ~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)~
- [ ] ~[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
- [ ] ~This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~

### For maintainers

- [ ] ~This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~
- [ ] ~This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~
…orting bug (elastic#38158) (elastic#38227)

## Summary

  * Change out event.severity for message in timeline
  * Fixed critical crash where you should not be able to sort on timeline columns that are not aggregatable
  * https://github.com/elastic/ingest-dev/issues/513
  * https://github.com/elastic/ingest-dev/issues/496

Error toaster fixes:
<img width="348" alt="Screen Shot 2019-06-05 at 1 59 01 PM" src="https://user-images.githubusercontent.com/1151048/58986428-97065a00-879a-11e9-8ff9-003ac29f6d9e.png">

What the timeline looks like with severity replaced with message:
<img width="883" alt="Screen Shot 2019-06-05 at 1 55 19 PM" src="https://user-images.githubusercontent.com/1151048/58986459-a71e3980-879a-11e9-8144-f16f055bd53d.png">

### Checklist

Use ~~strikethroughs~~ to remove checklist items you don't feel are applicable to this PR.

~~- [ ] This was checked for cross-browser compatibility, [including a check against IE11](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#cross-browser-compatibility)~~
~~- [ ] 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)~~
~~- [ ] [Documentation](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#writing-documentation) was added for features that require explanation or tutorials~~
~~- [ ] [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~~
~~- [ ] This was checked for [keyboard-only and screenreader accessibility](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Accessibility#Accessibility_testing_checklist)~~

### For maintainers

~~- [ ] This was checked for breaking API changes and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~
~~- [ ] This includes a feature addition or change that requires a release note and was [labeled appropriately](https://github.com/elastic/kibana/blob/master/CONTRIBUTING.md#release-notes-process)~~
* fix math

* add unit test

* review I
elastic#38233)

* [APM] Closes elastic#37499 by moving the APM index creation from server startup
to savedObject request for the index pattern. It first checks if the
index pattern is saved, if not it creates it.

* [APM] provide more meaninful status codes in the default error handler
…lastic#38263)

* rename PanelsMap to PanelStateMap to better reflect content (elastic#33332)

* Backports elastic#32703 and elastic#33332 to 7.x
…#38253) (elastic#38270)

* [ML] Close job after forecast errors if starting from closed

* [ML] Pass closeJob flag to error handler if forecast ID undefined
@stacey-gammon stacey-gammon requested review from a team as code owners June 6, 2019 17:28
@stacey-gammon stacey-gammon requested a review from a team June 6, 2019 17:28
@stacey-gammon
Copy link
Contributor Author

I don't know what happened, this obviously isn't right. Sorry for the pings

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet