* Re-add noItemsMessage to ApiLogsTable
- Primarily for Engine Overview use - totally forgot about this 🤦
* Tweak API logs empty state copy
- after discussing w/ Davey
* Convert Result Settings page to new page template
+ remove wrapper around empty state (auto handled by new page template)
+ update tests w/ new test helpers
* Convert Relevance Tuning page to new page template
- Remove old relevance_tuning_layout (which handled breadcrumbs, page header, flash messages, and callouts) in favor of simply using the new templtate + callouts (yay DRYing)
- Remove panel wrapper around empty state (handled by new page template)
* Update router
* [Polish] Spacing & icon polish from Davey
see https://github.com/elastic/kibana/pull/101958/files
* add link in datafeed tab.remove interval
* add annotation overlay to chart
* adds annotations checkbox
* ensure annotation with same start/end time show up in chart
* update annotations time format
* move time format to client
* adds info tooltip to modal title
* adds model snapshots to datafeed chart
* Convert Schema page to new page template
+ update empty state - remove panel wrapper, add create schema field modal
* Convert ReindexJob view to new page template
+ remove breadcrumb prop
* Convert Meta Engine Schema view to new page template
* Update routers
* [Polish] Misc Davey Schema UI tweaks
- see https://github.com/elastic/kibana/pull/101958/files
+ change color away from secondary, since that's going away in EUI at some point
* [UX] Fix SchemaAddFieldModal stuttering on first new schema field add
- With the new template, transitioning from the empty state to the filled schema state causes the modal to stutter due to the component rerender
- Changing the page to not instantly react/update `hasSchema` when local schema state changes but instead to wait for the server call to finish and for cachedSchema to update fixes the UX problem
* [UI polish] Revert button color change per Davey's feedback
resolves https://github.com/elastic/kibana/issues/99225
Prior to this PR, when an alerting connection action was executed, the event
log document generated did not contain a reference to the originating rule.
This makes it difficult to diagnose problems with connector errors, since
the error is often in the parameters specified in the actions in the alert.
In this PR, a reference to the alerting rule is added to the saved_objects
field in the event document for these events.
* Convert API Logs noItemsMessage to its own empty state prompt
- Will be used by new page template
* Convert API Logs view to new page template
+ use new empty state
+ add tests clarifying loading UX
* Update router
* Fix i18n ID
* Adding feature flag for auth
* Hiding SOs and adding consumer field
* First pass at adding security changes
* Consumer as the app's plugin ID
* Create addConsumerToSO migration helper
* Fix mapping's SO consumer
* Add test for CasesActions
* Declare hidden types on SO client
* Restructure integration tests
* Init spaces_only integration tests
* Implementing the cases security string
* Adding security plugin tests for cases
* Rough concept for authorization class
* Adding comments
* Fix merge
* Get requiredPrivileges for classes
* Check privillages
* Ensure that all classes are available
* Success if hasAllRequested is true
* Failure if hasAllRequested is false
* Adding schema updates for feature plugin
* Seperate basic from trial
* Enable SIR on integration tests
* Starting the plumbing for authorization in plugin
* Unit tests working
* Move find route logic to case client
* Create integration test helper functions
* Adding auth to create call
* Create getClassFilter helper
* Add class attribute to find request
* Create getFindAuthorizationFilter
* Ensure savedObject is authorized in find method
* Include fields for authorization
* Combine authorization filter with cases & subcases filter
* Fix isAuthorized flag
* Fix merge issue
* Create/delete spaces & users before and after tests
* Add more user and roles
* [Cases] Convert filters from strings to KueryNode (#95288)
* [Cases] RBAC: Rename class to scope (#95535)
* [Cases][RBAC] Rename scope to owner (#96035)
* [Cases] RBAC: Create & Find integration tests (#95511)
* [Cases] Cases client enchantment (#95923)
* [Cases] Authorization and Client Audit Logger (#95477)
* Starting audit logger
* Finishing auth audit logger
* Fixing tests and types
* Adding audit event creator
* Renaming class to scope
* Adding audit logger messages to create and find
* Adding comments and fixing import issue
* Fixing type errors
* Fixing tests and adding username to message
* Addressing PR feedback
* Removing unneccessary log and generating id
* Fixing module issue and remove expect.anything
* [Cases] Migrate sub cases routes to a client (#96461)
* Adding sub cases client
* Move sub case routes to case client
* Throw when attempting to access the sub cases client
* Fixing throw and removing user ans soclients
* [Cases] RBAC: Migrate routes' unit tests to integration tests (#96374)
Co-authored-by: Jonathan Buttner <jonathan.buttner@elastic.co>
* [Cases] Move remaining HTTP functionality to client (#96507)
* Moving deletes and find for attachments
* Moving rest of comment apis
* Migrating configuration routes to client
* Finished moving routes, starting utils refactor
* Refactoring utilites and fixing integration tests
* Addressing PR feedback
* Fixing mocks and types
* Fixing integration tests
* Renaming status_stats
* Fixing test type errors
* Adding plugins to kibana.json
* Adding cases to required plugin
* [Cases] Refactoring authorization (#97483)
* Refactoring authorization
* Wrapping auth calls in helper for try catch
* Reverting name change
* Hardcoding the saved object types
* Switching ensure to owner array
* [Cases] Add authorization to configuration & cases routes (#97228)
* [Cases] Attachments RBAC (#97756)
* Starting rbac for comments
* Adding authorization to rest of comment apis
* Starting the comment rbac tests
* Fixing some of the rbac tests
* Adding some integration tests
* Starting patch tests
* Working tests for comments
* Working tests
* Fixing some tests
* Fixing type issues from pulling in master
* Fixing connector tests that only work in trial license
* Attempting to fix cypress
* Mock return of array for configure
* Fixing cypress test
* Cleaning up
* Addressing PR comments
* Reducing operations
* [Cases] Add RBAC to remaining Cases APIs (#98762)
* Starting rbac for comments
* Adding authorization to rest of comment apis
* Starting the comment rbac tests
* Fixing some of the rbac tests
* Adding some integration tests
* Starting patch tests
* Working tests for comments
* Working tests
* Fixing some tests
* Fixing type issues from pulling in master
* Fixing connector tests that only work in trial license
* Attempting to fix cypress
* Mock return of array for configure
* Fixing cypress test
* Cleaning up
* Working case update tests
* Addressing PR comments
* Reducing operations
* Working rbac push case tests
* Starting stats apis
* Working status tests
* User action tests and fixing migration errors
* Fixing type errors
* including error in message
* Addressing pr feedback
* Fixing some type errors
* [Cases] Add space only tests (#99409)
* Starting spaces tests
* Finishing space only tests
* Refactoring createCaseWithConnector
* Fixing spelling
* Addressing PR feedback and creating alert tests
* Fixing mocks
* [Cases] Add security only tests (#99679)
* Starting spaces tests
* Finishing space only tests
* Refactoring createCaseWithConnector
* Fixing spelling
* Addressing PR feedback and creating alert tests
* Fixing mocks
* Starting security only tests
* Adding remainder security only tests
* Using helper objects
* Fixing type error for null space
* Renaming utility variables
* Refactoring users and roles for security only tests
* Adding sub feature
* [Cases] Cleaning up the services and TODOs (#99723)
* Cleaning up the service intialization
* Fixing type errors
* Adding comments for the api
* Working test for cases client
* Fix type error
* Adding generated docs
* Adding more docs and cleaning up types
* Cleaning up readme
* More clean up and links
* Changing some file names
* Renaming docs
* Integration tests for cases privs and fixes (#100038)
* [Cases] RBAC on UI (#99478)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Fixing case ids by alert id route call
* [Cases] Fixing UI feature permissions and adding UI tests (#100074)
* Integration tests for cases privs and fixes
* Fixing ui cases permissions and adding tests
* Adding test for collection failure and fixing jest
* Renaming variables
* Fixing type error
* Adding some comments
* Validate cases features
* Fix new schema
* Adding owner param for the status stats
* Fix get case status tests
* Adjusting permissions text and fixing status
* Address PR feedback
* Adding top level feature back
* Fixing feature privileges
* Renaming
* Removing uneeded else
* Fixing tests and adding cases merge tests
* [Cases][Security Solution] Basic license security solution API tests (#100925)
* Cleaning up the fixture plugins
* Adding basic feature test
* renaming to unsecuredSavedObjectsClient (#101215)
* [Cases] RBAC Refactoring audit logging (#100952)
* Refactoring audit logging
* Adding unit tests for authorization classes
* Addressing feedback and adding util tests
* return undefined on empty array
* fixing eslint
* conditional rendering the recently created cases
* Remove unnecessary Array.from
* Cleaning up overview page for permissions
* Fixing log message for attachments
* hiding add to cases button
* Disable the Cases app from the global nav
* Hide the add to cases button from detections
* Fixing merge
* Making progress on removing icons
* Hding edit icons on detail view
* Trying to get connector error msg tests working
* Removing test
* Disable error callouts
* Fixing spacing and removing cases tab one no read
* Adding read only badge
* Cleaning up and adding badge
* Wrapping in use effect
* Default toasting permissions errors
* Removing actions icon on comments
* Addressing feedback
* Fixing type
Co-authored-by: Christos Nasikas <christos.nasikas@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Check if endpoint event filters list exists before create and create it without specific id
* Removes creation of endpoint event filters list in manifest manager
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Convert Search UI view to use new page template
+ update tests TODO
* [UX polish] Add empty state to Search UI view
- On a totally new engine, all pages except this one* had an empty state, so per Davey's recommendations I whipped up a new empty state for this page
* Overview has a custom 'empty' state, analytics does not have an empty state
* Update router
* Fix bad merge conflict resolution
* [Polish] Copy feedback proposed by Davey
- see cbc3706223
* wip: start migrating views from ccr
* finish up migrating ccr pages to new nav layout
* Fix tests, linter errors and i18n strings
* remove todo
* Render loading and error states centered in screen without page title
* Keep loader going while we still setting the payload
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Convert AnalyticsHeader to AnalyticsFilters
- it's basically the same component as before, but without the title section/log retention tooltip, since the header/title will be handled by the new page template
* Update AnalyticsLayout to use new page template
+ add new test_helper for header children
* Update breadcrumb behavior
- Set analytic breadcrumbs in AnalyticsLayout rather than AnalyticsRouter
- Update individual views to pass breadcrumbs (consistent with new page template API)
* Update router
* very wip
* added new assets screen
* added routes to new assets view on the package details view
* Finished styling the assets page layout, need to work on adding
links
* rather use EuiHorizontalRule
* only show the assets tab if installed
* Added hacky version of linking to assets.
* added comment about deprecation of current linking functionality
* added an initial version of the success toast with a link to the agent flyout
* First iteration of end-to-end UX working. Need to add a lot of tests!
* fixed navigation bug and added a comment
* added a lot more padding to bottom of form
* restructured code for clarity, updated deprecation comments and moved relevant code closer together
* added a longer form comment about the origin policyId
* added logic for handling load error
* refactor assets accordions out of assets page component
* slightly larger text in badge
* added some basic jest test for view data step in enrollment flyout
* adjusted sizing of numbers in badges again, EuiText does not know about size="l"
* updated size limits for fleet
* updated styling and layout of assets accordion based on original
designs
* remove unused EuiTitle
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* 🐛 Carry over filter extra fields with in incomplete state
* 👌 Integrated feedback
* 👌 Integrated feedback
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* [Metrics] Add divider in the actions menu
* [Metrics] Add color and icon to the alert link
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Removes 'none' compression as it not used anymore
* Revert type because none type is needed for the first time the artifact is created befor the compression
* start working on license management
* migrate permissions check to new layout
* refactor license expiration as a subtitle of the page header
* finish up working on page title
* Fix linter errors and update snapshots
* update method name
* CR changes
* update snapshots
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* WIP add filtering capabilities to XY legend
* Fix filter by legend on xy axis charts
* Filter pie and xy axis by legend
* create a shared component
* Add functional test
* Add functional test for pie
* Make the buttons keyboard accessible
* Fix functional test
* move function to retry
* Give another try
* Enable the rest od the tests
* Address PR comments
* Address PR comments
* Apply PR comments, fix popover label for alreadyformatted layers
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Refactor PersonalDashboardLayout to more closely match new page template
- Remove references to enterpriseSearchLayout CSS (which will be removed in an upcoming PR)
- Prefer to lean more heavily on default EuiPage props/CSS/etc.
- Handle conditional sidebar logic in this layout rather than passing it in as a prop
- Update props & DRY concerns to more closely match WorkplaceSearchPageTemplate
- e.g. isLoading & pageChrome (mostly for document titles)
- make FlashMessage and readOnlyMode work OOTB w/o props)
* Convert Source subnav to EuiSideNav format
+ update PrivateSourcesSidebar to use EuiSIdeNav
* Update routers
- removing wrapping layouts, flash messages, chrome/telemetry
* Refactor SourceRouter into shared layout component
- Remove license callout, page header, and page chrome/telemetry
- NOTE: The early page isLoading behavior (lines 51-) is required to prevent a flash of a completely empty page (instead of preserving the layout/side nav while loading). We cannot let the page fall through to the route because some routes are conditionally rendered based on isCustomSource.
- FWIW: App Search has a similar isLoading early return with its Engine sub nav, and also a similar AnalyticsLayout for DRYing out repeated concerns/UI elements within Analytics subroutes.
* Convert all single source views to new page template
- Mostly removing isLoading tests
- NOTE: Schema page could *possibly* use the new isEmptyState/emptyState page template props, but would need some layout reshuffling
* Convert Add Source pages to conditional page templates
- Opted to give these pages their own conditional layout logic - this could possibly be DRY'd out
- There is possibly extra cleanup here on this file that could have been done (e.g. empty state, titles, etc.) in light of the new templates - but I didn't want to spend extra time here and went with creating as few diffs as possible
* Convert separate Organization Sources & Private Sources views to new page templates
+ fix Link to EuiButtonTo on Organization Sources view
* Update Account Settings with personal layout + write tests
+ add related KibanaLogic branch coverage
* [UX feedback] Do not render page headers while loading on Overview & Sources pages
* [PR feedback] Breadcrumb errors/fallbacks
* [Proposal] Update schema errors routing to better work with nav/breadcrumbs
- `exact` is required to make the parent schemas/ not gobble schema/{errorId}
- added bonus breadcrumb for nicer schema navigation UX
- No tests need to update AFAICT
* Ignore Typescript error on soon-to-come EUI prop
This updates the Fleet final pipeline added in #100973 to match the specification of
`event.agent_id_status` field as defined in ECS. The field was added to ECS in
https://github.com/elastic/ecs/pull/1454. Basically the values of the field were simplified
from what was originally proposed and implemented.
* Convert Documents view to new page template
* [UI polish] Move empty state to top-level instead of showing full UI
- per Davey's previous approval
* [UX polish] Show loading indicator on initial documents page load
* Convert single Document detail view to new page template
* Update router
* Convert Settings to new page template
+ add missing ability check around route
* Convert Credentials to new page template
+ add missing ability check around route
* [Tests refactor] DRY out repeated ability tests to a helper
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
* Split up engines vs. meta engines into separate panels
- per Davey's feedback from earlier UI passes
* DRY out manual header/spacing to reusable DataPanel component
+ update DataPanel icon typing to not error when passed a custom icon/svg
- kudos again to Davey for the component
* Typography tweaks
- Update DataPanel component to accept a custom titleSize (to maintain previous UI/sizing)
- Fix meta engines empty prompt title heading to follow heading levels + tweak sizing to not be larger than panel heading
* Set up new license CTA button for upcoming meta engines CTA
falls back to a documentation link! so fancy
* Update Enterprise Search Overview to use new license button
* Add new Meta Engines license upgrade CTA
- Reuse some copy from Meta Engines creation view
- Reuse DataPanel so visuals stay consistent + it looks similar to CTA on Enterprise Search Overview
- Update DataPanel to allow buttons to be responsive + conditionally load spacer between header & children
* Improve responsiveness of app when platinum license changes
Previously, routes/apps were going off the static data passed from the server which was only initialized once on page load. hasPlatinumLicense however changes dynamically and in real-time, removing the need for a hard page refresh.
I could have replaced all `canManageMetaEngine` flags with `isPlatinum && canManageEngines`, but I thought baking license checks into the main ability would be more scalable and potentially open the way to other license-based flags also being dynamic.
* [PR feedback] Typos in test names
Co-authored-by: Jason Stoltzfus <jastoltz24@gmail.com>
* Fix failing test
Missed updating the heading level
Co-authored-by: Jason Stoltzfus <jastoltz24@gmail.com>
* add scenarios 1-3
* add tests for toggle full screen
* add tests for timeline pagination
* add tests for timeline correlation tab
* fix cypress tests
* add data-test-subj for timeline tabs content
* fix up
* fix flaky tests
* fix mark as favorite scenario
* fix flaky test
* fix flaky test
* fix flaky test
* refactors 'can be marked as favourite' test
* fixes test
* fixes typecheck issue
* refactors the pipe
* little fix
* mark as favourite refactor
* removes code that causes the flakiness
* apply the fix for 7.13 branch
* fix timeline api call
* fix timeline api call
* fix timeline api call
* fix syntax
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Gloria Hornero <snootchie.boochies@gmail.com>
* 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