* Update routers
- To facilitate this being broken up into multiple PRs, non-migrated views still get a wrapping layout
* Set up Engine subnav in EuiSideNav format
+ tweak CSS for new label - heads up that this will break the old nav, but will disappear as the pages get converted
* Convert Engine Overview pages to new page template
* [PR feedback] Code comment explaining side nav icon reorder
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Convert Engine Creation page to new page template
+ simplify EuiForm/form to 1 level of nesting
* Convert Meta Engine Creation page to new page template
* Initial conversion of Engines overview to new page template
* Engines Overview: simplify loading & empty state to use new page template props
* Engines Overview: simplify header
- now that the header/actions, chrome/telemetry, & empty state etc. are all DRY'd out by the template, there's no need for a separate header component
- we can simply dry out the header action, which will shortly be removed with the 7.14 launch
- note: for empty state changes: mostly indenting, the new template automatically creates a subdued panel for us in empty state so no need to include one manually
* Fix broken test mocks
I definitely should not have been importing the index file I'm mocking, but why did this only break now?? :psyduck:
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* add `isExportable` SO export API
* add warning when export contains excluded objects
* add FTR test
* fix API integration assertions
* lint
* fix assertions again
* doc
* update generated doc
* fix esarchiver paths
* use maps instead of objects
* SavedObjectsExportablePredicate is no longer async
* more docs
* generated doc
* use info instead of warning when export contains excluded objects
* try/catch on isExportable call and add exclusion reason
* add FTR test for errored objects
* log error if isExportable throws
This a companion to elastic/elasticsearch#74188.
This PR is functionally a no-op, as the removed method
was not called anywhere. But it is sensible to remove
it to prevent it being called in the future now that it
references fields that don't exist in Elasticsearch.
* Used test user and added appropriate kibana privileges for Ingest Node Pipeline functional tests.
* Updated ingest pipelines test config to have read permissions in advanced settings.
* Updated test to account for the fact that advanced settings will be visible due to kibana permissions.
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [Maps] clean up feature editing name space to avoid conflicts with layer settings editing
* update vector_source
* mvt_single_layer_vector_source udpates
* review feedback
* Convert Groups page to new page template
* Convert Groups > Group overview to new page template
- Because dataLoading is no longer an early return, certain items need to be converted to conditional checks in order for the app to not crash
* Convert Groups > source prioritization to new page template
* Convert Group subnav to EuiSideNav format
* Update routers
* Mock KibanaServices with services from app context renderer + fix error noise in endpoint host tests
* silence more error noise to the console
* Added options to the ApiHandlerMock function to be able to suppress errors to the console
* Endpoint list - Refactor Fleet mocks for reuse
* Add default http mocks to the app context render test utility
* Remove endpoint from the default packages
* Change the default spinner for the initial load
* Export fleet endpoint package as a constant
* Use constants for special packages
* Simplify type signature of `isRequiredPackage`
* Remove unused types
* Simplify required and default package definitions
* Treat REQUIRED_PACKAGES as independent from DEFAULT_PACKAGES
We want to keep the assumption that the lists contain the same packages
only in `epm/constants.ts`
* Install all default packages, not only the required ones
* Document the purpose of each package list
* Handle auto-update for non-default packages
* Make `endpoint` non-removable
* Make endpoint package be installed by default in tests
* Rename requiredPackages to unremovablePackages
* Fix type check
* Add Endpoint to be installed by default on Fleet tests too
Co-authored-by: Jen Huang <its.jenetic@gmail.com>
* Add event log entry when a rule starts executing
* Add in alertId
* Add more logging and fix tests
* Use existing startTiming logic
* Add additional tests
* Adds boilerplate for new hook-utils package
* Move existing, identified utils into our hook-utils package
Updates references, and fixes a few missing config that were preventing
packages from building.
* Extracts a common type and adds a little more JSdoc for clarity
* Adds new useObservable hook
Similar to useAsync (a nearly identical interface), this is meant to
wrap a thunk returning an observable, allowing conditional invocation
and progressive updates as the observable continues to emit.
* Remove orphaned test
This function (and its tests) were moved to the hook-utils package; this
was simply missed.
* Remove optional chaining from kbn package
The build system does not currently support these typescript features.
While a valid fix would also have been to build separate browser and
node targets a la #99390, the use here was very minimal and so changing
to a supported syntax was the most pragmatic fix.
* Update old reference in test file
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Convert Settings > Customize to new page template
* Convert Settings > oAuth application to new page template
+ DRY form wrappers, update test
* Convert Settings > Connectors to new page template
* Convert source config view to new page template
* Convert Settings subnav to EuiSideNav format
+ update main WS nav
* Update routers
* Convert WS Overview page to new page template
* Misc Overview refactors
- Fix extra spacing caused by hidden onboarding steps
- Default page title to "Organization overview" instead of to onboarding title which flashes during loading
- Prefer shallow over mount (will matter later, when WorkplaceSearchPageTemplate nav includes more kea logic)
* Convert Security page to new page template
+ misc ux enhancement disabling header actions while data is still loading
* added public-side implementation for package search
* added a test for the new search results provider and updated behaviour
* added comment about open issue regarding hash router in fleet
* fixed jest tests
* refactor to reduce size of if statement
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Previously the observability plugin set the page title and breadcrumbs in the main app rendering component based on the `breadcrumb` property of the current route.
In addition, there's a `useBreadcrumb` hook used by the UX app, exploratory view, and cases.
The conflict between these was creating situations where neither would work and the breadcrumbs would just show "Kibana".
Remove the breadcrumb properties from the routes and the main app breadcrumb handling and just use `useBreadcrumb` on all pages.
Fixes#102131.
* Set up shared EnterpriseSearchPageTemplate component
* Set up product-specific page templates + setPageChrome
+ misc tech debt - create AS components/layout/index.ts for imports
* Set up navigation helpers for EuiSideNav usage
- Update react_router_helpers to pass back props as a plain JS obj instead of only working with React components (+ update react components to use new simpler helper)
- Convert SideNavLink active logic to a plain JS helper
* Set up top-level product navigations
NYI: sub navigations (future separate PRs)
* Set up test_helpers for inspecting pageHeaders
- primarily useful for rightSideItems, which often contain conditional logic
* Initial example: Convert RoleMappings views to new page template
Minor refactors:
+ remove unnecessary type union
+ fix un-i18n'ed product names
+ add full stop to documentation sentence
+ add semantic HTML tags around various page landmarks (header, section)
* EUI feedback: add empty root parent section
* Revert Role Mappings union type removal
- but shenanigans it a bit to take our i18n'd shared product names (requires as const assertion)
- done to reduce merge conflicts for Scotty / make his life (hopefully) a bit easier between ent-search and Kibana
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Log at different levels based on the state
* Fix types and add tests
* Remove unnecessary code
* Add more descriptive message
* Partially fix failing tests
* Move into separate function
* Get rid of customStatus in favor of moving the logging logic to a separate, mockable function
* Remove debug logging
* Do not log as an error if the stats are empty
* PR feedback
* Add docker whitelist
* alpha order
* English is hard
* Removing extra newline
* PR feedback around ignoring capacity estimation
* Move json utils
* WIP: Migrate fleet to new page layout system
* Add 'Add Agent' button to agents table
* Fix flyout import in search and filter bar
* Place settings/feedback in header
* Move actions to top nav
* Fix i18n + types + unit test failures
* Remove unused props in DefaultLayout
* Fix background height in Fleet layout
This is fixed through a hack for now, because Kibana's layout doesn't
allow apps to flex the top-level wrapper via `flex: 1`. The same
behavior reported in the original issue (#101781) is present in all
other Kibana apps.
Fixes#101781
* Use euiHeaderHeightCompensation for min-height calc
* Move settings portal to app component
* Fix agent details URL in failing unit test
* Remove unreferenced overview files + update functional tests
* Remove unneeded fragment
* Remove beta badges in Fleet + Integrations
Fixes#100731
* Fix i18n
* Fix page path reference
* Fix failing tests
* Re-fix i18n post merge
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Added CITs for Circle processor.
* Fixed issue with form function using int instead of string.
* Added changed per nits.
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Modify threshold rules to receive a single date range tuple
* Modify threat match rules to receive a single date range tuple
* Modify custom query rules to receive a single date range tuple
* Fix up tests (partially)
* Change log message to indicate single tuple instead of array
* Bad test?
* Prevent max_signals from being exceeded on threat match rule executions
* Revert "Prevent max_signals from being exceeded on threat match rule executions"
This reverts commit ba3b2f7a382ef7c369f02c7939e1495f72d92bfe.
* Modify EQL rules to use date range tuple
* Modify ML rules to use date range tuple
* Fix ML/EQL tests
* Use dateMath to parse moments in ML/Threshold tests
* Add mocks for threshold test
* Use dateMath for eql tests
* Add endpoint isolation status for when multiple actions of different types are pending
* Refactored List to break out Agent status code to separate component
* Generator improvements for how actions are generated for Endpoints
* Add HTTP mock for fleet EPM packages (to silence console errors)
* new `.updateCommonInfo()` method to generator (to regenerate stateful data)
* Use export type instead of export to reduce bundle size
* Update legacy docs
* update docs again
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Differentiate the dialog message on the deletion of one item from the deletion of multiple items.
Simplifies CasesTableUtilityBar by handling the selection of multiple and single cases in the same way.
* [APM] Service map: Add border to panel
* [APM] Metrics: Add border to panel
* [APM] Service overview: Add border to panel
* [APM] Transactions and charts: Add border to panel
* Adding boilerplate for new CTI search strategy type
This is going to be a subtype of the general SecSol search strategy;
the main functionality is going to be:
* transformation of the incoming parameters into named equivalents
* transformation of responses to include enrichment context fields
(matched.*)
* More boilerplate, including tests
A few type errors because our functions don't actually do anything yet,
nor are our request/response types fleshed out.
* Starting to flesh out the request parsing
* Defines a basic request, along with a mock
* Defines helper function to generate should clauses from field values
* Adds placeholder tests throughout
* Fleshing out unit tests around our enrichment query
* Fleshing out response parsing of eventEnrichment strategy
* Fix types from elasticsearch
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Rename PrivateSourcesLayout to PersonalDashboardLayout
The renaming was required because this layout is also used for Account Settings.
* Rename imports
* Rename files
* More personal_dashboard_layout from sources folder to layout folder
* Extract PrivateSourcesSidebar from PersonalDashboardLayout
This is needed to add the ability to pass AccountSettingsSidebar in the
next commit.
* Add and use AccountSettingsSidebar
* Move related styles to personal_dashboard_layout folder
* Move tests from personal_dashboard_layout to private_sources_sidebar
* Add tests for account_settings_sidebar
* Remove redundant import
* Move source-related sidebar text constants to top-level constants file
Now all personal dashboard sidebar copy is in one place
* fix flakyness of metricbeat dashboard test
* skip test for now
* Update _metricbeat_dashboard.js
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Add tooltip back to table row
This was missed when refactoring the table to an EUI component. Built-in mappings have tooltips and don’t have IDs and need to show tooltips instead of actions.
* Fix roleType display
Also missed in the refactor. Made a mistake when copying/pasting
* Refactor logic files to use single endpoint for UI props
As a part of this feature, we are now passing all props needed for the UI in the list endpoint. Previously, whether creating a new mapping, or updating an existing mapping, an endpoint had to be called to fetch the data needed for display. Now all this data comes from the initial fetching of mappings and the other endpoints are no longer needed.
* Refactor WS test to match AS
There was an issue where 100% test coverage was not achieved in Workplace Search. This had already been fixed in App Search by refactoring. This changes the code and test in Workplace Search to match
* Remove server routes