* [APM] Only fetch custom links when user has valid license
* Rename more files for consistency
* i18n fixes
* Fix tests
* Addess feedback and minor cleanup
* Fix test (and more cleanup)
* Make cachable
* update deps
* update rules
use type-aware @typescript-eslint/no-shadow instead of no-shadow. do not use no-undef, rely on TypeScript instead
* fix or mute all lint errors
* react-hooks eslint plugin fails on ? syntax
* fix wrong typings in viz
* remove React as a global type
* fix eslint errors
* update version to 4.8.1
* fix a new error
- Make APM and UX headers size medium instead of large
- Remove margin around APM main container
- Make APM tabs condensed
- Switch environment filter and date picker positions
- Move search bar (kuery + date picker) below the tabs
- Wrap pages in `EuiPage` components
- Set a minimum width on the enironment selector so it doesn't collapse when loading
- Don't show search bar on service map
Fixes#81954.
Observability was importing `dateAsStringRt` from APM, which creates an implicit circular dependency between the two plugins.
Copy that function into where it was being used in observability to remove the dependency.
Related to #80508.
* Add code to display/hide UX section when appropriate.
* Suppress errors with link to dedicated issue.
* Fix typo in call to action.
* Remove type error suppression.
* Add empty state for user experience metrics.
* Add empty state for page load duration metrics.
* Add empty state for core web vitals.
* Fix bug injected by these changes.
* Add a test.
* using kibana persisted date when available to set the date time
* fixing types
* adding setTime when changin the dates in the url
* renaming
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Upgrade to Storybook 6 and attempt to use the declarative configuration.
The goals of this PR (as part of Kibana's Storybook roadmap, are:
Upgrade to Storybook 6
Still allow running Storybooks with yarn storybook plugin_name
Use the declarative configuration to (hopefully) make the configuration simpler to use an easier to understand, as well as avoiding deprecation warnings and loss of future compatibility
The ways in which what I have so far differs from how we do things today are:
In the alias configuration it takes a path to a storybook configuration directory instead of the storybook.js file from before
Each plugin (it doesn't have to be a plugin; can be any directory) has a .storybook/main.js (the aliases file in @kbn/storybook specifies these locations) where they can define their Storybook configuration. You can require('@kbn/storybook').defaultConfig to get defaults and override them
@kbn/storybook has a preset that can provide Webpack and Babel configuration and Storybook parameters and decorators
Instead of dynamically creating the list of stories to import, we define them in the globs of the stories property in .storybook/main.js.
Do not build a DLL. We are using @kbn/ui-shared-deps as externals. Startup time is not quite as fast but still acceptable.
Other things done in this PR:
Allow default exports in .stories. to allow for Common Story Format CSF stories
Add guard in Webpack configuration needed for overriding CSS rules
Update filename casing check to allow for files with required names in Storybook
Clean up observability stories
Rename *.examples.tsx and *.story.tsx to *.stories.tsx
* First stab at some internal telemetry
* Add missing files
* mbCount telemetry
* Include more data
* Remove unused field
* This file isn't used
* Mock in tests
* Add schema
* Store schema
* Use sample cluster instead
* Fix telemetry schema
* Fix type issues
* Updates
* Fix schema and tests
* Add tests
* Add tests
* Go back to using an array
* Fix schema
* Add page view data
* Remove debug
* Handle loading scenario here
* Add delay tracking too
* Add clicks for setup mode
* Add clicks for setup mode
* Fix beats/apm page views
* Fix typings
Co-authored-by: Catherine Liu <catherine.liu@elastic.co>
Co-authored-by: Ryan Keairns <contactryank@gmail.com>
Co-authored-by: Catherine Liu <catherineqliu@outlook.com>
Co-authored-by: Michael Marcialis <michael.marcialis@elastic.co>
In APM:
* Fix stories crashing with errors
* Hide some additional prop tables
* Fix node severites story to show correct node severites
* Fix Service Map Popover story
* Use knobs on sync badge story
In Observability:
* Remove an extra stray paren in decorators
There's additional refactoring and fixes that can be done but this just gets everything in working order.
I noticed there's a `core.chrome.docTitle.change` method. It can take a string or array of strings and provides its own separator character if given an array.
Replace our setting of `window.document.title` directly in the APM and Observability plugins with using the chrome method.
This changes the title to be, for example, "トランザクション - opbeans-node - サービス - APM - Elastic" instead of "トランザクション | opbeans-node | サービス | APM | Elastic", using " - " as a separator instead of " | ".
* [APM] APM & Observability plugin lint improvements
This is a large change, but most of it is automatic `eslint --fix` changes.
* Apply the same ESLint ovderrides in APM and Observability plugins.
* Remove the `no-unused-vars` rule. We can turn on the TypeScript check if needed.
* Check both JS and TS files.
* Add a rule for react function component definitions
* Upgrade eslint-plugin-react to include that rule