* [Reporting] Remove `any`, improve telemetry schema for completeness
* remove another any
* rename file per exported function
* test variable name
* use variable for DRY
* update reporting telemetry contract
* added csv_searchsource_immediate to telemetry
* fix types
* update jest snapshots
* remove tests on large literal objects
Co-authored-by: Jean-Louis Leysens <jloleysens@gmail.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Move legacy dashboards API to core and adds usage data
* More legacy_export plugin removal
* Log a warning for deprecated dashboard import/export API
* Review comments
A bugfix for significant terms on the ES side resulted in changes to assertions we have for api integration tests for APM correlations. This PR updates the affected tests.
## Summary
This PR resolves issue <https://github.com/elastic/kibana/issues/110041> reported by @snide to enable schema-driven sorting descriptions in column headers.
@chandlerprall recommends obtaining a **+1** from the Machine Learning and Observability solutions, because the fix updates an `i18n` constant in Kibana common to all consumers of `EuiDataGrid`.
## Details
Thanks @chandlerprall for paring on this!
The Alerts table, `Host > Events`, and other `EuiDataGrid`-based views in the Security Solution make use of the default [`EuiDataGrid` schemas](https://elastic.github.io/eui/#/tabular-content/data-grid-schemas-and-popovers).
The default schemas enable `EuiDataGrid` to automatically display, for example, `Old-New` and `New-Old` sorting descriptions for datetime fields, as opposed to generic `A-Z` and `Z-A` descriptions.
The following (shared) Kibana `i18n` constant in `src/core/public/i18n/i18n_eui_mapping.tsx` is expected to be rendered a `string` at runtime:
```ts
'euiColumnActions.sort': ({ schemaLabel }: EuiValues) =>
i18n.translate('core.euiColumnActions.sort', {
defaultMessage: 'Sort {schemaLabel}',
values: { schemaLabel },
}),
```
But the constant was rendered in `EuiDataGrid` column headers as `[object Object]` when schemas were enabled, as shown in the screenshot below:
![column-header-object-object](https://user-images.githubusercontent.com/4459398/132079843-a8b0f5e5-9d47-4816-8baa-e29577511bf1.png)
_Above: The `sortTextAsc/Desc` text was rendered as `[object Object]`_
The temporary workaround described by [#110041](https://github.com/elastic/kibana/issues/110041) ensured that `Sort A-Z` and `Sort Z-A` labels were always displayed (in lieu of `[object Object]`), as shown in the screenshot below:
![image](https://user-images.githubusercontent.com/324519/130789326-bfe67cae-e4f7-469a-9b57-320cbf733cc8.png)
_Above: `Sort A-Z` and `Sort Z-A` labels were always displayed as a workaround_
The fix in this PR updates the following (shared) Kibana `i18n` constant in `src/core/public/i18n/i18n_eui_mapping.tsx` to use a `FormattedMessage`:
```ts
'euiColumnActions.sort': ({ schemaLabel }: EuiValues) => (
<FormattedMessage
id="core.euiColumnActions.sort"
defaultMessage="Sort {schemaLabel}"
values={{ schemaLabel }}
/>
),
```
, which ensures a schema-specific sorting label is displayed as-expected.
It also removes the workaround, as shown in the animated gif below:
![after](https://user-images.githubusercontent.com/4459398/132080352-1ee41a7e-8884-45ad-ae3c-daa9a0127aac.gif)
_Above: Schema-specific sorting descriptions are displayed for `datetime`, `text`, and `numeric` column headers_
* Switch the overview to single column when we're at < 1200px
* Hide sparkplots on transactions, dependencies, and instances tables at widths where they could be easily cut off
* Right-align sparkplot columns
* Make chart heights match latency chart height when showing a single column
* Make all impact bars fixed 96px width
* Make values be shown before sparklines
* Make SparkPlots `overflow: 'hidden'`
* Remove fixed widths from columns
* Return breakpoint and width from `useBreakpoints`
* Rename "breakPoint" to "breakpoint" everywhere to match what EUI does
* Replace `ServiceListMetric` (on used on service list) with `ListMetric` (used when sparkplots are conditionally shown)
Fixes#110165.
* Add new policy tabs layout with policy settings and trusted apps tab. Only visible with feature flag enabled
* Add URL state of which tab is selected. Also refactored policy_details component. Hide sticky bar at bottom when trustedApps tab is selected
* Fix wrong constant path in routing
* Don't refresh policyItem if is not necessary
* Remove old code and use new form layout component even if FF is disabled
* Split test file
* Clean test file with unused mocks
* Fixes failing test
* Address pr comments
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Convert App Search server routes to new prefix
* Update frontend route prefixes for App Search
* Convert Workplace Search server routes to new prefix
* Update frontend route prefixes for Workplace Search
* Convert Enterprise Search server routes to new prefix
* Update frontend route prefixes for Enterprise Search
Code deduplication:
- combine 3 existing client side hooks into useSearchStrategy
- combine server side multiple search strategy files into shared search_strategy_provider.ts
- Clarified naming (client/server params, strategy naming etc.), improved types.
- None of the actual deeper internal logic changed, larger chunks of code that show up as new lines is mostly just moved code + additional types (e.g. function overloads) to support the different search strategies with the same server side code and client side hook.