mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[APM][ECO] removing Service group tour/updating eco welcome copy (#189400)
closes https://github.com/elastic/kibana/issues/188412 - [x] Removing service groups tour once and for all. <img width="1273" alt="Screenshot 2024-07-29 at 15 23 12" src="https://github.com/user-attachments/assets/a8c831d7-84d5-43e6-902d-79b9661c8c38"> - [x] Updating Entity inventory welcome copy <img width="680" alt="Screenshot 2024-07-29 at 13 57 19" src="https://github.com/user-attachments/assets/c1e8a9dc-17c4-4482-9d5b-b0ef93a682bd">
This commit is contained in:
parent
934d0b1cbc
commit
7e0dab954b
13 changed files with 22 additions and 201 deletions
|
@ -27,7 +27,6 @@ describe('Service inventory - header filters', () => {
|
|||
specialServiceName,
|
||||
})
|
||||
);
|
||||
cy.dismissServiceGroupsTour();
|
||||
});
|
||||
|
||||
after(() => {
|
||||
|
|
|
@ -103,7 +103,6 @@ describe('Service inventory', () => {
|
|||
|
||||
it('when selecting a different time range and clicking the update button', () => {
|
||||
cy.wait(mainAliasNames);
|
||||
cy.getByTestSubj('apmServiceGroupsTourDismissButton').click();
|
||||
|
||||
cy.selectAbsoluteTimeRange(
|
||||
moment(timeRange.rangeFrom).subtract(5, 'm').toISOString(),
|
||||
|
|
|
@ -55,7 +55,6 @@ describe('service map', () => {
|
|||
it.skip('shows nodes in service map', () => {
|
||||
cy.visitKibana(serviceMapHref);
|
||||
cy.wait('@serviceMap');
|
||||
cy.getByTestSubj('apmServiceGroupsTourDismissButton').click();
|
||||
|
||||
prepareCanvasForScreenshot();
|
||||
|
||||
|
@ -90,7 +89,6 @@ describe('service map', () => {
|
|||
it('shows empty state', () => {
|
||||
cy.visitKibana(serviceMapHref);
|
||||
// we need to dismiss the service-group call out first
|
||||
cy.getByTestSubj('apmServiceGroupsTourDismissButton').click();
|
||||
cy.getByTestSubj('apmUnifiedSearchBar').type('_id : foo{enter}');
|
||||
cy.contains('No services available');
|
||||
// search bar is still visible
|
||||
|
|
|
@ -133,16 +133,6 @@ Cypress.Commands.add('updateAdvancedSettings', (settings: Record<string, unknown
|
|||
});
|
||||
});
|
||||
|
||||
Cypress.Commands.add('dismissServiceGroupsTour', () => {
|
||||
window.localStorage.setItem(
|
||||
'apm.serviceGroupsTour',
|
||||
JSON.stringify({
|
||||
createGroup: false,
|
||||
editGroup: false,
|
||||
})
|
||||
);
|
||||
});
|
||||
|
||||
Cypress.Commands.add('withHidden', (selector, callback) => {
|
||||
cy.get(selector).invoke('attr', 'style', 'display: none');
|
||||
callback();
|
||||
|
|
|
@ -22,7 +22,6 @@ declare namespace Cypress {
|
|||
expectAPIsToHaveBeenCalledWith(params: { apisIntercepted: string[]; value: string }): void;
|
||||
updateAdvancedSettings(settings: Record<string, unknown>): void;
|
||||
getByTestSubj(selector: string): Chainable<JQuery<Element>>;
|
||||
dismissServiceGroupsTour(): void;
|
||||
withHidden(selector: string, callback: () => void): void;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,39 +7,23 @@
|
|||
import { EuiButton } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React from 'react';
|
||||
import { ServiceGroupsTour } from '../service_groups_tour';
|
||||
import { useServiceGroupsTour } from '../use_service_groups_tour';
|
||||
|
||||
interface Props {
|
||||
onClick: () => void;
|
||||
}
|
||||
|
||||
export function EditButton({ onClick }: Props) {
|
||||
const { tourEnabled, dismissTour } = useServiceGroupsTour('editGroup');
|
||||
return (
|
||||
<ServiceGroupsTour
|
||||
tourEnabled={tourEnabled}
|
||||
dismissTour={dismissTour}
|
||||
title={i18n.translate('xpack.apm.serviceGroups.tour.editGroups.title', {
|
||||
defaultMessage: 'Edit this service group',
|
||||
})}
|
||||
content={i18n.translate('xpack.apm.serviceGroups.tour.editGroups.content', {
|
||||
defaultMessage:
|
||||
'Use the edit option to change the name, query, or details of this service group.',
|
||||
})}
|
||||
<EuiButton
|
||||
data-test-subj="apmEditButtonEditGroupButton"
|
||||
iconType="pencil"
|
||||
onClick={() => {
|
||||
onClick();
|
||||
}}
|
||||
>
|
||||
<EuiButton
|
||||
data-test-subj="apmEditButtonEditGroupButton"
|
||||
iconType="pencil"
|
||||
onClick={() => {
|
||||
dismissTour();
|
||||
onClick();
|
||||
}}
|
||||
>
|
||||
{i18n.translate('xpack.apm.serviceGroups.editGroupLabel', {
|
||||
defaultMessage: 'Edit group',
|
||||
})}
|
||||
</EuiButton>
|
||||
</ServiceGroupsTour>
|
||||
{i18n.translate('xpack.apm.serviceGroups.editGroupLabel', {
|
||||
defaultMessage: 'Edit group',
|
||||
})}
|
||||
</EuiButton>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -8,8 +8,6 @@ import { EuiButtonGroup } from '@elastic/eui';
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import React from 'react';
|
||||
import { useHistory } from 'react-router-dom';
|
||||
import { ServiceGroupsTour } from './service_groups_tour';
|
||||
import { useServiceGroupsTour } from './use_service_groups_tour';
|
||||
|
||||
const buttonGroupOptions = {
|
||||
allServices: {
|
||||
|
@ -40,32 +38,18 @@ export function ServiceGroupsButtonGroup({
|
|||
selectedNavButton: SelectedNavButton;
|
||||
}) {
|
||||
const history = useHistory();
|
||||
const { tourEnabled, dismissTour } = useServiceGroupsTour('createGroup');
|
||||
return (
|
||||
<ServiceGroupsTour
|
||||
tourEnabled={tourEnabled}
|
||||
dismissTour={dismissTour}
|
||||
anchorPosition="leftUp"
|
||||
title={i18n.translate('xpack.apm.serviceGroups.tour.createGroups.title', {
|
||||
defaultMessage: 'Introducing service groups',
|
||||
<EuiButtonGroup
|
||||
color="primary"
|
||||
options={[buttonGroupOptions.allServices.option, buttonGroupOptions.serviceGroups.option]}
|
||||
idSelected={selectedNavButton as string}
|
||||
onChange={(id) => {
|
||||
const { pathname } = buttonGroupOptions[id as SelectedNavButton];
|
||||
history.push({ pathname });
|
||||
}}
|
||||
legend={i18n.translate('xpack.apm.servicesGroups.buttonGroup.legend', {
|
||||
defaultMessage: 'View all services or service groups',
|
||||
})}
|
||||
content={i18n.translate('xpack.apm.serviceGroups.tour.createGroups.content', {
|
||||
defaultMessage:
|
||||
'Group services together to build curated inventory views that remove noise and simplify investigations across services. Groups are Kibana space-specific and available for any users with appropriate access.',
|
||||
})}
|
||||
>
|
||||
<EuiButtonGroup
|
||||
color="primary"
|
||||
options={[buttonGroupOptions.allServices.option, buttonGroupOptions.serviceGroups.option]}
|
||||
idSelected={selectedNavButton as string}
|
||||
onChange={(id) => {
|
||||
const { pathname } = buttonGroupOptions[id as SelectedNavButton];
|
||||
history.push({ pathname });
|
||||
}}
|
||||
legend={i18n.translate('xpack.apm.servicesGroups.buttonGroup.legend', {
|
||||
defaultMessage: 'View all services or service groups',
|
||||
})}
|
||||
/>
|
||||
</ServiceGroupsTour>
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import {
|
||||
EuiButtonEmpty,
|
||||
EuiSpacer,
|
||||
EuiText,
|
||||
EuiTourStep,
|
||||
PopoverAnchorPosition,
|
||||
} from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
import React from 'react';
|
||||
import { ElasticDocsLink } from '../../shared/links/elastic_docs_link';
|
||||
|
||||
export type TourType = 'createGroup' | 'editGroup';
|
||||
|
||||
interface Props {
|
||||
title: string;
|
||||
content: string;
|
||||
tourEnabled: boolean;
|
||||
dismissTour: () => void;
|
||||
anchorPosition?: PopoverAnchorPosition;
|
||||
children: React.ReactElement;
|
||||
}
|
||||
|
||||
export function ServiceGroupsTour({
|
||||
tourEnabled,
|
||||
dismissTour,
|
||||
title,
|
||||
content,
|
||||
anchorPosition,
|
||||
children,
|
||||
}: Props) {
|
||||
return (
|
||||
<EuiTourStep
|
||||
content={
|
||||
<>
|
||||
<EuiText size="s">{content}</EuiText>
|
||||
<EuiSpacer />
|
||||
<FormattedMessage
|
||||
id="xpack.apm.serviceGroups.tour.content.link"
|
||||
defaultMessage="Learn more in the {docsLink}."
|
||||
values={{
|
||||
docsLink: (
|
||||
<ElasticDocsLink section="/kibana" path="/services.html" target="blank">
|
||||
{i18n.translate('xpack.apm.serviceGroups.tour.content.link.docs', {
|
||||
defaultMessage: 'docs',
|
||||
})}
|
||||
</ElasticDocsLink>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
isStepOpen={tourEnabled}
|
||||
onFinish={() => {}}
|
||||
maxWidth={300}
|
||||
minWidth={300}
|
||||
step={1}
|
||||
stepsTotal={1}
|
||||
title={title}
|
||||
anchorPosition={anchorPosition}
|
||||
footerAction={
|
||||
<EuiButtonEmpty
|
||||
data-test-subj="apmServiceGroupsTourDismissButton"
|
||||
color="text"
|
||||
size="xs"
|
||||
onClick={dismissTour}
|
||||
>
|
||||
{i18n.translate('xpack.apm.serviceGroups.tour.dismiss', {
|
||||
defaultMessage: 'Dismiss',
|
||||
})}
|
||||
</EuiButtonEmpty>
|
||||
}
|
||||
>
|
||||
{children}
|
||||
</EuiTourStep>
|
||||
);
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
/*
|
||||
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
||||
* or more contributor license agreements. Licensed under the Elastic License
|
||||
* 2.0; you may not use this file except in compliance with the Elastic License
|
||||
* 2.0.
|
||||
*/
|
||||
|
||||
import { useLocalStorage } from '../../../hooks/use_local_storage';
|
||||
import { TourType } from './service_groups_tour';
|
||||
|
||||
const INITIAL_STATE: Record<TourType, boolean> = {
|
||||
createGroup: true,
|
||||
editGroup: true,
|
||||
};
|
||||
|
||||
export function useServiceGroupsTour(type: TourType) {
|
||||
const [tourEnabled, setTourEnabled] = useLocalStorage('apm.serviceGroupsTour', INITIAL_STATE);
|
||||
|
||||
return {
|
||||
tourEnabled: tourEnabled[type],
|
||||
dismissTour: () =>
|
||||
setTourEnabled({
|
||||
...tourEnabled,
|
||||
[type]: false,
|
||||
}),
|
||||
};
|
||||
}
|
|
@ -95,7 +95,7 @@ export function Welcome({
|
|||
<p>
|
||||
{i18n.translate('xpack.apm.welcome.body', {
|
||||
defaultMessage:
|
||||
'You can now see services detected from logs alongside services instrumented with APM our new service inventory so you can view all of your services in a single place.',
|
||||
'You can now see services detected from logs alongside your APM-instrumented services in a single inventory so you can view all of your services in one place.',
|
||||
})}
|
||||
</p>
|
||||
</EuiText>
|
||||
|
|
|
@ -10079,13 +10079,6 @@
|
|||
"xpack.apm.serviceGroups.selectServicesList.nameColumnLabel": "Nom",
|
||||
"xpack.apm.serviceGroups.selectServicesList.notFoundLabel": "Aucun service disponible dans les dernières 24 heures. Vous pouvez toujours créer le groupe et les services qui correspondent à votre requête.",
|
||||
"xpack.apm.serviceGroups.sortLabel": "Trier",
|
||||
"xpack.apm.serviceGroups.tour.content.link": "Découvrez plus d'informations dans le {docsLink}.",
|
||||
"xpack.apm.serviceGroups.tour.content.link.docs": "documents",
|
||||
"xpack.apm.serviceGroups.tour.createGroups.content": "Regroupez les services afin de créer des vues d'inventaire organisées qui éliminent le bruit et simplifient les enquêtes sur les services. Les groupes sont spécifiques à l'espace Kibana et sont disponibles pour tous les utilisateurs ayant un accès approprié.",
|
||||
"xpack.apm.serviceGroups.tour.createGroups.title": "Présentation des groupes de services",
|
||||
"xpack.apm.serviceGroups.tour.dismiss": "Rejeter",
|
||||
"xpack.apm.serviceGroups.tour.editGroups.content": "Utilisez l'option de modification pour changer le nom, la requête ou les détails de ce groupe de services.",
|
||||
"xpack.apm.serviceGroups.tour.editGroups.title": "Modifier ce groupe de services",
|
||||
"xpack.apm.serviceHealthStatus.critical": "Critique",
|
||||
"xpack.apm.serviceHealthStatus.healthy": "Intègre",
|
||||
"xpack.apm.serviceHealthStatus.unknown": "Inconnu",
|
||||
|
|
|
@ -10042,13 +10042,6 @@
|
|||
"xpack.apm.serviceGroups.selectServicesList.nameColumnLabel": "名前",
|
||||
"xpack.apm.serviceGroups.selectServicesList.notFoundLabel": "過去24時間以内にサービスはありません。グループを作成できます。クエリと一致するサービスが追加されます。",
|
||||
"xpack.apm.serviceGroups.sortLabel": "並べ替え",
|
||||
"xpack.apm.serviceGroups.tour.content.link": "詳細は{docsLink}をご覧ください。",
|
||||
"xpack.apm.serviceGroups.tour.content.link.docs": "ドキュメント",
|
||||
"xpack.apm.serviceGroups.tour.createGroups.content": "サービスをグループ化し、ノイズを減らした編集済みのインベントリビューを作成し、サービス全体での調査を簡素化します。グループはKibanaスペース固有であり、適切なアクセス権のあるユーザーが使用できます。",
|
||||
"xpack.apm.serviceGroups.tour.createGroups.title": "サービスグループの概要",
|
||||
"xpack.apm.serviceGroups.tour.dismiss": "閉じる",
|
||||
"xpack.apm.serviceGroups.tour.editGroups.content": "編集オプションを使用して、名前、クエリ、このサービスグループの詳細を変更します。",
|
||||
"xpack.apm.serviceGroups.tour.editGroups.title": "このサービスグループを編集",
|
||||
"xpack.apm.serviceHealthStatus.critical": "重大",
|
||||
"xpack.apm.serviceHealthStatus.healthy": "正常",
|
||||
"xpack.apm.serviceHealthStatus.unknown": "不明",
|
||||
|
|
|
@ -10095,13 +10095,6 @@
|
|||
"xpack.apm.serviceGroups.selectServicesList.nameColumnLabel": "名称",
|
||||
"xpack.apm.serviceGroups.selectServicesList.notFoundLabel": "过去 24 小时内没有服务可用。您仍然可以创建该组,并且会添加与您的查询匹配的服务。",
|
||||
"xpack.apm.serviceGroups.sortLabel": "排序",
|
||||
"xpack.apm.serviceGroups.tour.content.link": "在{docsLink}中了解详情。",
|
||||
"xpack.apm.serviceGroups.tour.content.link.docs": "文档",
|
||||
"xpack.apm.serviceGroups.tour.createGroups.content": "将服务组合在一起以构建策展库存视图,进而跨服务消除噪音并简化调查。组特定于 Kibana 工作区,并且可用于任何具有适当访问权限的用户。",
|
||||
"xpack.apm.serviceGroups.tour.createGroups.title": "服务组简介",
|
||||
"xpack.apm.serviceGroups.tour.dismiss": "关闭",
|
||||
"xpack.apm.serviceGroups.tour.editGroups.content": "使用编辑选项更改此服务组的名称、查询或详情。",
|
||||
"xpack.apm.serviceGroups.tour.editGroups.title": "编辑此服务组",
|
||||
"xpack.apm.serviceHealthStatus.critical": "紧急",
|
||||
"xpack.apm.serviceHealthStatus.healthy": "运行正常",
|
||||
"xpack.apm.serviceHealthStatus.unknown": "未知",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue