* migrate reporting top nav to sharing menu
* pass share extensions to visualize share menu
* start creating the reporting panel component
* add buttons
* generate report generatation URL
* require save if url changes
* add print layout UI
* putting it all together - generate reports from share context menu
* ensure copy button fills entire menu width
* inject job params functionallity
* refactor print layout out of ReportingContentPanel
* CSV report generation
* disable report generation when app is dirty
* update URL when window is resized
* remove all the old stuff
* clean up CSV report register provider
* fix typescript errors
* fix functional retests
* remove failure_debug folder
* close popover when generate button clicked, more work on functional tests
* set size on button and text, do not use EuiFormRow
* use ReactElement type
* move ShareContextMenuExtensionsRegistryProvider to ui/share and create interfaces for registy
* strictor typing, do not use hard coded object type name
* move registry files to typescript
* remove destructuring in the interface
* convert createReportingJob to async function, remove unneeded comment
I'd really like to upgrade to Typescript 3 for its `unknown` type, but we need to upgrade to `jest@23` to support a recent version of `ts-jest@23`.
The [jest changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) breaks down the breaking changes in 23.x, but I found it to be slightly incomplete so I've broken down the changes that actually caused breaks for us here, and addressed each in individual commits to make review a little easier:
- the `testURL` config default was changed from `about:blank` to `http://localhost`
- this cause some XHR requests powered by JSdom to start failing. It seems these requests just do nothing in master but start to fail when JSdom is initialized with an actual URL... I think we would ideally stop sending meaningless XHR requests in the tests, but it was a lot easier to just set the config to `about:blank` for now, and we can worry about cleanup later if necessary
- `expect(...).toThrow()` only passes if an actual error was thrown.
- In two places in the index pattern code we were throwing strings, which broke the assertions. Fortunately/Unfortunately the errors are not being consumed by anything, so I was able to wrap them in `new Error()` without causing any issues.
- snapshots of mock functions now include a `results` array, detailing the return values of the function
- React fragments are now serialized as `<React.Fragment>` instead of `<UNDEFINED>`
- undefined props in React components are now stripped from snapshots
- minor changes to the ordering of mocks, imports resolution, and before hooks caused the uiSettings API tests to start breaking, but I'm replacing them with totally new tests in #22694 so I just deleted them here
- mocks created with `jest.spyOn()` that are restored now have their `mock.calls` reset, so some of the kbn-pm tests stated failing. This was fixed by restoring them with `jest.restoreAllMocks()` rather than trying to do it before the assertions
Update Chromium to a recent version compatible with Puppeteer.
Update Chromium build scripts to initialize build environments and work with
recent versions of Chromium.
Modify Chromium reporting logic to be driven mostly by Puppeteer.
This is an attempt to write a log capture integration for the functional test runner that will collect all log output written during a test, prevent it from being written to stdout to lower the amount of work Jenkins master has to do and include the entire log output for each test in the junit report. I'm slightly concerned about the amount of memory we'll be using to store a copy of the logs for each test, but streaming the XML report isn’t easy and there doesn’t seem to be a library out there to help. If we decide it’s torally necessary we might be able to figure it out.
This adds support for autoprefixer which we have been using in Webpack.
Additionally, we have improved the watching functionality and now update builds based directly on their dependencies an not an assumption that the files are children.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* set kibana locale in kibana.yml config
* remove accept-language-parser
* remove unnecessary tests
* fix readme description, fix description for locale in kibana.yml
* add point, that i18n.locale option should have exact match
* update kbn/i18n README
* Update README.md
* use getUiTranslations in render_mixin, remove i18n_mixin
* move registering translation files to mixin function
This upgrades prettier to version 1.14.0. The main motivation is to gain support for the new TypeScript language features introduced in 2.9 and 3.0.
Prettier versions 1.13 and 1.14 also introduced some other JavaScript and TypeScript style improvements resulting in a few small line break and parenthesis changes.
The relevant release notes are:
* [Prettier 1.13.0 Release Notes](https://prettier.io/blog/2018/05/27/1.13.0.html)
* [Prettier 1.40.0 Release Notes](https://prettier.io/blog/2018/07/29/1.14.0.html)
In order to make the awesome new kfetch api easier to consume in purely TypeScript projects, and since it's a pretty small module with very few dependencies, I converted it to TypeScript.
Along with kfetch I also started a type definition file for `ui/chrome` that we can extend as we go, but will likely be unnecessary after #19992
* bump eui
* Fixed breaking `EuiPage` changes
Mainly adding `EuiPageBody`’s where there were none
* bump to 3.0, remove duplicate declaration of EuiFlyoutBody, update jest snapshots
* bump eui
* bump to 3.0, remove duplicate declaration of EuiFlyoutBody, update jest snapshots
* Update jest snapshots in xpack
This upgrades TypeScript to version 2.9.2. My main motivation is the support for generic type arguments in JSX elements and tagged templates (e.g. for `styled-components`).
Problems arising from breaking changes in the new TypeScript version have been mitigated by:
* setting the `keyofStringsOnly` option until impacted code has been
future-proofed
* Restricting some joi-related generics
See the [release notes](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-9.html) for details.
Some follow-up tasks should be:
* Update EUI to support the new `keyof` behaviour
* Update new platform TypeScript code to support new `keyof` behaviour
* Remove `keyofStringsOnly` setting
* Upgrade to EUI 1.0.1
* upgraded to eui 1.1.0
* fix setInspectorTablePageSize function in functional tests
* better comment about basic table pagination buttons
* Add MarkdownSimple component.
* Replace Context use of notifier with toastNotifications.
* Replace field.js use of notifier with toastNotifications.
* Replace State use of notifier with toastNotifications.
* Replace reporting use of notifier with toastNotifications.
* Convert Logstash to use toastNotifications.
* Convert Security to use toastNotifications.
* Upgrade styled-components to 3.3.3
* Update test style snapshots
The upgrade seems to have affected the order in which the css classes
are serialized in the snapshot. The css rules within these classes look
identical.
* Update Kibana's yarn.lock
* Update kbn-i18n lockfile in anticipation of #20301
This upgrades x-pack dependencies to the following versions:
* `redux@4.0.0` (to support TypeScript in the upcoming infra-ui migration, `redux-observable@1.0.0` in particular)
* `redux-thunk@2.3.0` (to support `redux@4.0.0`)
* `react-redux@^5.0.7` (to support `redux@4.0.0`)