diff --git a/src/platform/packages/shared/kbn-cps-utils/components/cps_icon.tsx b/src/platform/packages/shared/kbn-cps-utils/components/cps_icon.tsx index c70f49feec276..756f0c5887eed 100644 --- a/src/platform/packages/shared/kbn-cps-utils/components/cps_icon.tsx +++ b/src/platform/packages/shared/kbn-cps-utils/components/cps_icon.tsx @@ -7,42 +7,33 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ -import { useEuiTheme } from '@elastic/eui'; import React from 'react'; - -export const CPSIcon = () => { - return ( - - - - ); -}; +import { useEuiTheme } from '@elastic/eui'; export const CPSIconDisabled = () => { - const { euiTheme } = useEuiTheme(); + const { + euiTheme: { + colors: { textDisabled }, + }, + } = useEuiTheme(); return ( - setShowPopover(!showPopover)} size="s" - notification={projectRouting !== PROJECT_ROUTING.ALL ? 1 : undefined} - notificationColor="success" - css={styles.button} + iconType="crossProjectSearch" + onClick={() => setShowPopover(!showPopover)} + color="text" > - - + {activeProjectsCount === totalProjects + ? strings.allButtonLabel() + : `${activeProjectsCount}/${totalProjects}`} + ); @@ -150,13 +150,4 @@ const projectPickerStyles = { css({ margin: euiTheme.size.s, }), - button: ({ euiTheme }: UseEuiTheme) => - css({ - svg: { - verticalAlign: 'middle', - }, - '.euiNotificationBadge': { - insetInlineEnd: `-${euiTheme.size.s}`, - }, - }), }; diff --git a/src/platform/packages/shared/kbn-cps-utils/components/strings.ts b/src/platform/packages/shared/kbn-cps-utils/components/strings.ts index 48735b9d77907..5af0b9afa0791 100644 --- a/src/platform/packages/shared/kbn-cps-utils/components/strings.ts +++ b/src/platform/packages/shared/kbn-cps-utils/components/strings.ts @@ -10,6 +10,10 @@ import { i18n } from '@kbn/i18n'; export const strings = { + allButtonLabel: () => + i18n.translate('cpsUtils.projectPicker.allButtonLabel', { + defaultMessage: 'All', + }), getProjectPickerButtonAriaLabel: () => i18n.translate('cpsUtils.projectPicker.projectPickerButtonLabel', { defaultMessage: 'Cross-project search project picker', diff --git a/src/platform/plugins/private/presentation_panel/public/panel_actions/customize_panel_action/cps_usage_overrides_badge.tsx b/src/platform/plugins/private/presentation_panel/public/panel_actions/customize_panel_action/cps_usage_overrides_badge.tsx index eb6c9fd40ab50..be1d9b21a1ab8 100644 --- a/src/platform/plugins/private/presentation_panel/public/panel_actions/customize_panel_action/cps_usage_overrides_badge.tsx +++ b/src/platform/plugins/private/presentation_panel/public/panel_actions/customize_panel_action/cps_usage_overrides_badge.tsx @@ -129,7 +129,7 @@ export class CpsUsageOverridesBadge } public getIconType() { - return 'beaker'; + return 'crossProjectSearch'; } public async isCompatible({ embeddable }: EmbeddableApiContext) { diff --git a/src/platform/plugins/shared/cps/server/routes/get_projects_tags.ts b/src/platform/plugins/shared/cps/server/routes/get_projects_tags.ts index eda122a8b6bad..a9c31d991669c 100644 --- a/src/platform/plugins/shared/cps/server/routes/get_projects_tags.ts +++ b/src/platform/plugins/shared/cps/server/routes/get_projects_tags.ts @@ -7,6 +7,7 @@ * License v3.0 only", or the "Server Side Public License, v 1". */ +import { schema } from '@kbn/config-schema'; import type { IRouter, PluginInitializerContext } from '@kbn/core/server'; import type { ProjectTagsResponse } from '@kbn/cps-utils'; @@ -17,7 +18,11 @@ export const registerGetProjectTagsRoute = ( router.get( { path: '/internal/cps/projects_tags', - validate: false, + validate: { + query: schema.object({ + project_routing: schema.maybe(schema.string()), + }), + }, security: { authz: { enabled: false, @@ -28,10 +33,13 @@ export const registerGetProjectTagsRoute = ( async (requestHandlerContext, request, response) => { try { const core = await requestHandlerContext.core; + const { project_routing } = request.query; + const result: ProjectTagsResponse = await core.elasticsearch.client.asCurrentUser.transport.request({ method: 'GET', path: `/_project/tags`, + querystring: project_routing ? { project_routing } : undefined, }); return response.ok({