* [New Platform Migration]: Management - Implement NP API
Part of #47432
* partial progress on a number of management sections
* fix passing history
* Fixed types
* Fixed routing for Ingest Node Pipelines
* introduce and use react router wrapped eui components
* react router utils
* work in progress => hashRouter to router
* more partial progress
* remove console.log
* use reactRouterNavigate for management_sidebar
* Breadcrumbs will need to make use of the reactRouterNavigate function
* [triggersActions] app. Hash Router -> Router
* Replace /app/kibana#/management urls to /app/management
* remove ui/public/management
* fix some links to management apps
* fix management url for functional tests
* add data-test-subj for EuiSideNavItem
* partial progress
* fix some of ts issues
* Fixed breadcrumbs for data index management
* [kibana/spaces] section
* fix functional test
* [role_management] fix Breadcrumbs
* [api_keys] fix Breadcrumbs and Navigation
* Fixed routing for remote cluster
* [role_mapping] Partial progress
* [users] partial progress
* [watcher] partial progress
* fix eslint issues
* [snapshot_restore] partial progress
* [rollup_jobs] partial progress
* Fixed routing for cross cluster replications (partial progress). Enhanced reactRouterNavigate
* Perf optimization: fix extra re-rendering
* fix TS errors
* x-pack fix config for functional tests
* Fixed routing for index lifecycle management
* fix some broken CI tests
* fix PR comment
* [snapshot_restore] move onClick into reactRouterNavigate
* fix some jest
* fix some functional tests
* fix functiona test: management scripted fields testing regression for issue
* fix some functional tests
* [licence_management] partial progress
* Fixed x-pack jest tests
* [saved_object_management] partial progress
* Fixed some tests
* fix functional test: should add new role myroleEast
* Reverted part of changes for ml
* [transforms] partial progress
* fix TS errors
* fix functional: redirects to Kibana home
* add support of Backward compatibility
* fix functional: Saved objects management feature controls saved objects management global visualize all privileges listing redirects to Kibana home
* fix PR comment
* fix TS issues
* Fixed x-pack jest tests
* fix oss JEST
* Fixed functional test
* fix functional test
* fix PR comment
* Fixed i18n
* fix typo
* fix Styles
* Fixed paths for cross_cluster_replication
* fix wrong link
* Fixed jest
* Fixed some comments
* fix sorting
* fix type check
* fixed x-pack jest
* fixed x-pack jest
* reverted using of parentHistory
* Add debugging toasts to CCR.
* Comment out non-CCR functional tests.
* Fix typo.
* Uncomment non-CCR functional tests.
* Enable CCR.
* fix CI
* Add comment to explain why CCR is enabled by default and move config variable back to original location in CCR plugin.
* revert some changes in APM
* add space between index pattern name and tags
* fix function test
* Update x-pack/plugins/security/public/management/management_urls.ts
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
* Update x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
* Update x-pack/plugins/spaces/public/management/spaces_management_app.tsx
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
* Update x-pack/plugins/security/public/management/roles/roles_management_app.tsx
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
* Update x-pack/plugins/security/public/management/users/users_management_app.tsx
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
* Update x-pack/plugins/security/public/management/management_urls.ts
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
* Update x-pack/plugins/security/public/management/management_urls.ts
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
* [security] getUrlForApp -> navigateToApp
* [mp] fix Uncaught (in promise) undefined
Co-authored-by: Matt Kime <matt@mattki.me>
Co-authored-by: Uladzislau Lasitsa <Uladzislau_Lasitsa@epam.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Co-authored-by: CJ Cenizal <cj@cenizal.com>
Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
* Convert common/services and server/lib to TypeScript. Update Jest tests.
- Remove deserializeAutoFollowPattern behavior that returned an empty object if the pattern was undefined.
* Localize mocks with the component integration tests.
* Update API unit tests to use NP mocks.
- Break up test files.
- Use inline mocked ES response instead of fixture files.
- Move remaining fixture files into client integration tests directory.
* Make API route validation more strict.
* Publish isUiDisabled as part of Remote Clusters contract.
* Default trackUiMetric service to be a no-op.
* Remove security dependency.
- Fix license check so that CCR won't render if the license is invalid.
- Fix server security check to be more precise by checking if ES has security disabled.
* Render timestamp for autofollow errors.
* [CCR] Refactor redux for Auto-follow pattern detail panel (#27491)
* [CCR] Refactor redux for Auto-follow pattern detail panel
* [CCR] Small refactor
* [CCR] Change to present tense
* [CCR] Display auto-follow pattern name even if it does not exist
* [CCR] Use href to edit auto-follow pattern + remove middelware to update "pattern" query params
* [CCR] Fix navigation back bug + set 2 ids for detail and edit an auto-follow pattern
* [CCR] Replace api middleware with redux-thunk action
* [CCR] Show detail footer close button even when cluster is not valid
* [CCR] Add endpoints for fetching and creating follower indices (#27646)
* Add GET /follower_indices endpoint with deserialization logic and tests.
* Add POST /follower_indices endpoint with serialization logic and tests.
* [CCR] Add unit tests for RemoteClusterForm, RemoteClusterList, and RemoteClusterTable (#27647)
* Use componentDidUpdate instead of getDerivedStateFromProps.
* Add unit tests for RemoteClusterForm, RemoteClusterList, and RemoteClusterTable.
* Add jest mock for eui `makeId()` utility and get deterministic aria IDs for snapshots
* Update snapshot for Remote Cluster list test
* [CCR] Follower indices table and detail panel (#27804)
* Store for follower indices
* Initial work for follower indices table and detail panel
* Fix load auto-follow stats load as middleware was removed
* [CCR] Create follower index UI form (#27864)
* Initial setup Follower Index form
* Working form without client validation
* Add client side validation for follower index
* Add client validation to check if index already exist
* Improve error message when leader index does not exist
* Remove update method for follower index
* Clear api error on field change
* Fix i18n error
* Update snapshots
* [CCR] Add pause, resume, and unfollow actions for follower indices (#28305)
* Add pause and resume follower index routes
* Add unfollow route
* Add api methods for new routes
* Adjust routes to have bulk capabilities, add corresponding actions
* Refresh list after pausing/resuming, remove items after unfollowing
* First pass at UI for pause and unfollow (and resume, but that is not visible due to ES stats response)
* Handle additional conditions needed for unfollowing leader index, add placeholder code to deduce paused status
* PR feedback
* [CCR] Advanced settings UI for follower indices (#28267)
* Add client side validation of advanced settings form
* Move form entry row to separate component
* Add server side serialization for advanced settings
* Ignore advanced settings input when that section is hidden.
- Cache and restore input when the section is shown again.
* [CCR] Show remote cluster validation in CCR forms, and add edit follower index (#28778)
* [CCR] Advanced settings component
* Remove preview active on toggle settings
* Add client side validation of advanced settings form
* Move form entry row to separate component
* Add title to panel
* Add i18n translation of advanced settings
* Update Follower index form with toggle for advanced settings
* Add server side serialisation for advanced settings
* Make code review changes
* Fix test: mock constant dependency
* Add section to edit follower index
* Show confirm modal before updating follower index
* Add edit icon in table + update server endpoint to pause / resume
* [CCR] Show remote cluster validation in follower index form & auto-follow pattern form
* PR feedback, cleanup form sizes, add redirect to edit remote cluster
* Fix routing, remove unused code, adjust auto follow pattern edit loading error page
* Adjust error messages and make remote cluster not found edit page the same
* Fix functionality as result of merge
* Fix validation, reorder actions, fix tests, and address feedback
* PR feedback and fix validation pt 2
* Adjust remote cluster validation
* Fix i18n
* Fix api error not showing on add follower form
* [CCR] Integrate new follower index info ES API (#29153)
* Integrate new follower index info ES API
* Collate data from follower stats and info apis when retrieving all followers and single follower
* Add follower settings info to detail panel
* Add paused/active UI state
* Surface follower default settings to UI
* Adjust tests
* Address PR feedback
* Update snapshots
* [CCR] Surface license errors in-app and refine permissions error UI. (#29228)
* Fix camelcasing bug in XPackInfo.
* Silently swallow API error when checking for index name availability.
* Fix typo in followerIndexForm fatal error.
* Add permissions check before allowing user to access the app.
* Refine wording of CCR permission denied page, to specify cluster privileges. (#29533)
* [CCR] Improve form error handling and general UX (#29419)
* Remove unnecessary eslint disable-line
* [CCR] Implement Advanced Settings design feedback (#29543)
* Use EuiSwitch to toggle advanced settings in Create Follower Index form.
* Move 'optional' from each Advanced Setting field to the section heading.
* Change Advanced Settings switch label and description to emphasize that you can customize them or use the defaults.
* Prepopulate Advanced Settings fields with default values.
* When editing a follower index, check if advanced settings have been edited and open them if so.
* Add 'Reset to default' button below advanced settings fields if their values are different than the default.
* Remove 'Default' copy from Advanced Settings descriptions.
* Simplify toggleAdvancedSettings function, add comments, and fix React console error.
* [CCR] Follower index list fixes from design feedback (#29484)
* Delete remote cluster settings before updating
* Fix detail panel z-index
* Remove default descriptor from follower index detail panel setting values
* Follower index confirm action copy adjustments
* Change z-index styling to use EUI vars
* [CCR] Improve remote clusters test coverage (#29487)
* Add Jest test for RemoteClusterForm validation state.
* Extract validation functions out of RemoteClusterForm and add unit tests.
- Return null instead of undefined from validators.
* Add unit tests for different types of remote clusters in RemoteClusterTable.
* Add unit test for RemoteClusterList empty prompt.
* Add tests verifying behavior for row link, row delete button, and detail panel delete button.
- Use getRouterLinkProps to assign onClick and href to edit buttons in row and detail panel.
* [CCR] Adjust spacing around descriptions in list views, link to transport port docs, etc (#29789)
* Adjust spacing around description around descriptions in list views so that it's even on top and bottom.
* Add link to transport port docs from Remote Cluster form.
* Move 'View in Index Management' link from the detail panel body into the footer.
* Re-order follower index form sections: remote cluster, leader index, follower index. (#29885)
* Fix deep-linking to follower index after creating/updating it. (#29865)
* [CCR] Copy edits (#29676)
* Use 'Resume/pause data replication' in context menu and row actions.
* Update copy of 'Update' confirm modal for a paused follower index.
* Update copy of 'Update' confirm modal for an active follower index.
* Update copy of 'Pause data replication' confirm modal.
* Update copy of 'Resume data replication' confirm modal.
* Update copy for permissions check.
* Update copy of table empty state.
* Update copy around tables.
* Update form copy.
* Update copy for RemoteClustersFormField callouts.
* Convert 'data replication' -> 'replication'.
* Update copy for Unfollow confirm modal.
* Update copy for form API error and Auto-follow Patterns table.
* Update form save button labels to be 'Create' and 'Update'.
* Move API errors to bottom of form, into same position as sync validation errors. Remove spacer from SectionError implementation.
* [CCR] Open index after unfollowing leader (#29887)
* Open index after unfollowing leader, fix some variable names
* Fix typo
* Add comment
* [CCR] IE and Screen reader accesibility (#29731)
* Fix api endpoit for auto-follow stats
* Prevent letter wrapping in IE for the Remote cluster "connection" table column
* Move inline style to CSS class to fix IE flex bug
* [CCR] Add callout to paused follower index detail panel (#30013)
* Add callout to paused follower index detail panel
* Update copy
* Skip call to ccr stats api if follower index is paused (#30027)
* [CCR] Add integration tests for follower indices (#30064)
* [CCR] Add integration tests for follower indices
* Import advanced settings value from app constants