diff --git a/x-pack/plugins/observability_solution/synthetics/common/translations/translations.ts b/x-pack/plugins/observability_solution/synthetics/common/translations/translations.ts index cbfa5fff3995a..d28771cf213d1 100644 --- a/x-pack/plugins/observability_solution/synthetics/common/translations/translations.ts +++ b/x-pack/plugins/observability_solution/synthetics/common/translations/translations.ts @@ -7,18 +7,6 @@ import { i18n } from '@kbn/i18n'; -export const URL_LABEL = i18n.translate('xpack.synthetics.monitorList.table.url.name', { - defaultMessage: 'Url', -}); - -export const TAGS_LABEL = i18n.translate('xpack.synthetics.monitorList.table.tags.name', { - defaultMessage: 'Tags', -}); - -export const PROJECT_LABEL = i18n.translate('xpack.synthetics.monitorList.table.project.name', { - defaultMessage: 'Project ID', -}); - export const STATUS_UP_LABEL = i18n.translate('xpack.synthetics.monitorList.statusColumn.upLabel', { defaultMessage: 'Up', }); @@ -29,29 +17,3 @@ export const STATUS_DOWN_LABEL = i18n.translate( defaultMessage: 'Down', } ); - -export const STATUS_COMPLETE_LABEL = i18n.translate( - 'xpack.synthetics.monitorList.statusColumn.completeLabel', - { - defaultMessage: 'Complete', - } -); - -export const STATUS_FAILED_LABEL = i18n.translate( - 'xpack.synthetics.monitorList.statusColumn.failedLabel', - { - defaultMessage: 'Failed', - } -); - -export const SECONDS_LABEL = i18n.translate('xpack.synthetics.seconds.label', { - defaultMessage: 'seconds', -}); - -export const SEC_LABEL = i18n.translate('xpack.synthetics.seconds.shortForm.label', { - defaultMessage: 'sec', -}); - -export const MS_LABEL = i18n.translate('xpack.synthetics.millisecond.abbreviation.label', { - defaultMessage: 'ms', -}); diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/query_bar.tsx b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/query_bar.tsx deleted file mode 100644 index f090f807a0fb8..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/alerts/query_bar.tsx +++ /dev/null @@ -1,85 +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 React, { useEffect, useState } from 'react'; -import { EuiFlexItem } from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; -import { useKibana } from '@kbn/kibana-react-plugin/public'; -import { useFetcher } from '@kbn/observability-shared-plugin/public'; -import { SYNTHETICS_INDEX_PATTERN } from '../../../../../common/constants'; -import { ClientPluginsStart } from '../../../../plugin'; - -interface Props { - query: string; - onChange: (query: string) => void; -} -export const isValidKuery = (query: string) => { - if (query === '') { - return true; - } - const listOfOperators = [':', '>=', '=>', '>', '<']; - for (let i = 0; i < listOfOperators.length; i++) { - const operator = listOfOperators[i]; - const qParts = query.trim().split(operator); - if (query.includes(operator) && qParts.length > 1 && qParts[1]) { - return true; - } - } - return false; -}; - -export const AlertQueryBar = ({ query = '', onChange }: Props) => { - const { services } = useKibana(); - - const { - appName, - dataViews, - unifiedSearch: { - ui: { QueryStringInput }, - }, - } = services; - - const [inputVal, setInputVal] = useState(query); - - const { data: dataView } = useFetcher(async () => { - return await dataViews.create({ title: SYNTHETICS_INDEX_PATTERN }); - }, [dataViews]); - - useEffect(() => { - onChange(query); - setInputVal(query); - }, [onChange, query]); - - return ( - - { - setInputVal(queryN?.query as string); - if (isValidKuery(queryN?.query as string)) { - // we want to submit when user clears or paste a complete kuery - onChange(queryN.query as string); - } - }} - onSubmit={(queryN) => { - if (queryN) onChange(queryN.query as string); - }} - query={{ query: inputVal, language: 'kuery' }} - dataTestSubj="xpack.synthetics.alerts.monitorStatus.filterBar" - autoSubmit={true} - disableLanguageSwitcher={true} - isInvalid={!!(inputVal && !query)} - placeholder={i18n.translate('xpack.synthetics.alerts.searchPlaceholder.kql', { - defaultMessage: 'Filter using kql syntax', - })} - appName={appName} - /> - - ); -}; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/index.ts b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/index.ts index 7cfbdca179d04..29d4478877fc3 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/index.ts +++ b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/certificates/index.ts @@ -5,8 +5,11 @@ * 2.0. */ +export * from './cert_refresh_btn'; export * from './cert_monitors'; export * from './cert_search'; export * from './cert_status'; +export * from './certificates'; export * from './certificates_list'; +export * from './certificate_title'; export * from './fingerprint_col'; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/view_errors.tsx b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/view_errors.tsx deleted file mode 100644 index e41b2be1a7c11..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/links/view_errors.tsx +++ /dev/null @@ -1,31 +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 { EuiButtonIcon, EuiToolTip } from '@elastic/eui'; -import React from 'react'; -import { i18n } from '@kbn/i18n'; -import { useSyntheticsSettingsContext } from '../../../contexts'; - -export const ErrorsLink = ({ disabled }: { disabled?: boolean }) => { - const { basePath } = useSyntheticsSettingsContext(); - - return ( - - - - ); -}; - -const VIEW_ERRORS = i18n.translate('xpack.synthetics.monitorSummary.viewErrors', { - defaultMessage: 'View errors', -}); diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.tsx b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.tsx index 1233bb0390c7e..4809491305cd7 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.tsx +++ b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/getting_started/simple_monitor_form.tsx @@ -119,13 +119,6 @@ export const WEBSITE_URL_LABEL = i18n.translate( } ); -export const WEBSITE_URL_PLACEHOLDER = i18n.translate( - 'xpack.synthetics.monitorManagement.websiteUrlPlaceholder', - { - defaultMessage: 'Enter a website URL', - } -); - export const WEBSITE_URL_HELP_TEXT = i18n.translate( 'xpack.synthetics.monitorManagement.websiteUrlHelpText', { diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/tags.tsx b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/tags.tsx deleted file mode 100644 index b50d97fcecefa..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/tags.tsx +++ /dev/null @@ -1,47 +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 React, { useState } from 'react'; -import { EuiBadge, EuiBadgeGroup } from '@elastic/eui'; -import { EXPAND_TAGS_LABEL } from './labels'; - -interface Props { - tags: string[]; -} - -export const MonitorTags = ({ tags }: Props) => { - const [toDisplay, setToDisplay] = useState(5); - - const tagsToDisplay = tags.slice(0, toDisplay); - - return ( - - {tagsToDisplay.map((tag) => ( - // filtering only makes sense in monitor list, where we have summary - - {tag} - - ))} - {tags.length > toDisplay && ( - { - setToDisplay(tags.length); - }} - onClickAriaLabel={EXPAND_TAGS_LABEL} - > - +{tags.length - 5} - - )} - - ); -}; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/empty_state/empty_state_error.tsx b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/empty_state/empty_state_error.tsx deleted file mode 100644 index 3f3a3552446f2..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/empty_state/empty_state_error.tsx +++ /dev/null @@ -1,58 +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 React, { Fragment } from 'react'; -import { EuiEmptyPrompt, EuiPanel, EuiTitle, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; -import { IHttpSerializedFetchError } from '../../../../state'; - -interface EmptyStateErrorProps { - errors: IHttpSerializedFetchError[]; -} - -export const EmptyStateError = ({ errors }: EmptyStateErrorProps) => { - const unauthorized = errors.find( - (error) => error?.body?.message && error.body.message.includes('unauthorized') - ); - - return ( - - - - - {unauthorized ? ( -

- {i18n.translate('xpack.synthetics.emptyStateError.notAuthorized', { - defaultMessage: - 'You are not authorized to view Uptime data, please contact your system administrator.', - })} -

- ) : ( -

- {i18n.translate('xpack.synthetics.emptyStateError.title', { - defaultMessage: 'Error', - })} -

- )} - - } - body={ - - {!unauthorized && - errors.map((error) =>

{error.body?.message}

)} -
- } - /> -
-
-
- ); -}; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/use_infinite_scroll.ts b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/use_infinite_scroll.ts deleted file mode 100644 index e3e1f48d4e520..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/use_infinite_scroll.ts +++ /dev/null @@ -1,91 +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 useThrottle from 'react-use/lib/useThrottle'; -import { useEffect, useState, MutableRefObject } from 'react'; -import useIntersection from 'react-use/lib/useIntersection'; -import { useSelector } from 'react-redux'; -import type { MonitorListSortField } from '../../../../../../../common/runtime_types/monitor_management/sort_field'; -import { useGetUrlParams } from '../../../../hooks'; -import { selectOverviewState } from '../../../../state'; -import { MonitorOverviewItem } from '../../../../../../../common/runtime_types'; - -export const useInfiniteScroll = ({ - intersectionRef, - monitorsSortedByStatus, -}: { - intersectionRef: MutableRefObject; - monitorsSortedByStatus: any; -}) => { - const [page, setPage] = useState(1); - const [loadNextPage, setLoadNextPage] = useState(false); - - const { statusFilter } = useGetUrlParams(); - const { - pageState: { perPage, sortField }, - data: { monitors }, - } = useSelector(selectOverviewState); - - const currentMonitors = getCurrentMonitors({ - monitors, - monitorsSortedByStatus, - perPage, - page, - sortField, - statusFilter, - }); - - const intersection = useIntersection(intersectionRef, { - root: null, - rootMargin: '640px', // Height of 4 rows of monitors, minus the gutters - threshold: 0.1, - }); - const hasIntersected = intersection && intersection.intersectionRatio > 0; - - useThrottle(() => { - if ( - hasIntersected && - currentMonitors.length === page * perPage && - currentMonitors.length !== monitors.length - ) { - setLoadNextPage(true); - } else { - setLoadNextPage(false); - } - }, 1000); - - useEffect(() => { - if (loadNextPage) { - setPage((p) => p + 1); - setLoadNextPage(false); - } - }, [loadNextPage]); - - return { currentMonitors }; -}; - -const getCurrentMonitors = ({ - sortField, - perPage, - page, - monitors, - monitorsSortedByStatus, - statusFilter, -}: { - sortField: MonitorListSortField; - perPage: number; - page: number; - monitors: MonitorOverviewItem[]; - monitorsSortedByStatus: MonitorOverviewItem[]; - statusFilter?: string; -}) => { - if (sortField === 'status' || statusFilter) { - return monitorsSortedByStatus.slice(0, perPage * page); - } else { - return monitors.slice(0, perPage * page); - } -}; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/not_found/not_found.tsx b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/not_found/not_found.tsx deleted file mode 100644 index 2efdb43ed0b15..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/not_found/not_found.tsx +++ /dev/null @@ -1,39 +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 React from 'react'; -import { EuiEmptyPrompt } from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; - -const NOT_FOUND_TITLE = i18n.translate('xpack.synthetics.notFoundTitle', { - defaultMessage: 'Page not found', -}); - -const NOT_FOUND_BODY = i18n.translate('xpack.synthetics.notFoundBody', { - defaultMessage: - "Sorry, we can't find the page you're looking for. It might have been removed or renamed, or maybe it never existed.", -}); - -/** - * Renders a "Page not found" error. - * - * @deprecated This component must be moved to Kibana/Shared UX. It was created - * as a temporary solution to move #144366 forward but it should not be used. - */ -export function NotFound(): JSX.Element { - return ( - {NOT_FOUND_TITLE}} - body={

{NOT_FOUND_BODY}

} - /> - ); -} diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/screenshot_link.tsx b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/screenshot_link.tsx deleted file mode 100644 index 1ad619735e03d..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/step_details_page/step_screenshot/screenshot_link.tsx +++ /dev/null @@ -1,47 +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 React from 'react'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { euiStyled } from '@kbn/kibana-react-plugin/common'; -import { ReactRouterEuiLink } from '../../common/react_router_helpers'; -import { Ping } from '../../../../../../common/runtime_types'; - -const LabelLink = euiStyled.div` - margin-bottom: ${(props) => props.theme.eui.euiSizeXS}; - font-size: ${({ theme }) => theme.eui.euiFontSizeS}; -`; - -interface Props { - lastSuccessfulCheck: Ping; -} - -export const ScreenshotLink = ({ lastSuccessfulCheck }: Props) => { - return ( - - - - - - - ), - }} - /> - - ); -}; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/routes.tsx b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/routes.tsx index ca1d194994e8d..8f475f458deef 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/routes.tsx +++ b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/routes.tsx @@ -18,8 +18,7 @@ import { APP_WRAPPER_CLASS } from '@kbn/core/public'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import type { LazyObservabilityPageTemplateProps } from '@kbn/observability-shared-plugin/public'; import { useInspectorContext } from '@kbn/observability-shared-plugin/public'; -import { CertificateTitle } from './components/certificates/certificate_title'; -import { CertRefreshBtn } from './components/certificates/cert_refresh_btn'; +import { CertRefreshBtn, CertificateTitle, CertificatesPage } from './components/certificates'; import { useSyntheticsPrivileges } from './hooks/use_synthetics_priviliges'; import { ClientPluginsStart } from '../../plugin'; import { getMonitorsRoute } from './components/monitors_page/route_config'; @@ -47,7 +46,6 @@ import { import { PLUGIN } from '../../../common/constants/plugin'; import { apiService } from '../../utils/api_service'; import { getErrorDetailsRouteConfig } from './components/error_details/route_config'; -import { CertificatesPage } from './components/certificates/certificates'; export type RouteProps = LazyObservabilityPageTemplateProps & { path: string; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/format.ts b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/format.ts index 44393b034ac56..5e4c9360fcd37 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/format.ts +++ b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/formatting/format.ts @@ -18,7 +18,7 @@ const NUM_MICROSECONDS_IN_MILLISECOND = 1000; * This simply converts microseconds to milliseconds. People tend to prefer ms to us * when visualizing request duration times. */ -export const microsToMillis = (microseconds: number | null): number | null => { +const microsToMillis = (microseconds: number | null): number | null => { if (!microseconds && microseconds !== 0) return null; return Math.floor(microseconds / NUM_MICROSECONDS_IN_MILLISECOND); }; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/__mocks__/screenshot_ref.mock.ts b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/__mocks__/screenshot_ref.mock.ts deleted file mode 100644 index f704c3309c1f9..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/__mocks__/screenshot_ref.mock.ts +++ /dev/null @@ -1,44 +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 { ScreenshotRefImageData } from '../../../../../../common/runtime_types'; - -export const mockRef: ScreenshotRefImageData = { - maxSteps: 1, - stepName: 'load homepage', - ref: { - screenshotRef: { - '@timestamp': '2021-06-08T19:42:30.257Z', - synthetics: { - package_version: '1.0.0-beta.2', - step: { name: 'load homepage', index: 1 }, - type: 'step/screenshot_ref', - }, - screenshot_ref: { - blocks: [ - { - top: 0, - left: 0, - width: 160, - hash: 'd518801fc523cf02727cd520f556c4113b3098c7', - height: 90, - }, - { - top: 0, - left: 160, - width: 160, - hash: 'fa90345d5d7b05b1601e9ee645e663bc358869e0', - height: 90, - }, - ], - width: 1280, - height: 720, - }, - monitor: { check_group: 'a567cc7a-c891-11eb-bdf9-3e22fb19bf97' }, - }, - }, -}; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx index 9d4870b8c9154..af007700c4484 100644 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx +++ b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/rtl_helpers.tsx @@ -356,41 +356,12 @@ export const makeSyntheticsPermissionsCore = ( }; }; -// This function filters out the queried elements which appear only -// either on mobile or desktop. -// -// It does so by filtering those with the class passed as the `classWrapper`. -// For mobile, we filter classes which tell elements to be hidden on desktop. -// For desktop, we do the opposite. -// -// We have this function because EUI will manipulate the visibility of some -// elements through pure CSS, which we can't assert on tests. Therefore, -// we look for the corresponding class wrapper. -const finderWithClassWrapper = - (classWrapper: string) => - ( - getterFn: (f: MatcherFunction) => HTMLElement | null, - customAttribute?: keyof Element | keyof HTMLElement - ) => - (text: string): HTMLElement | null => - getterFn((_content: string, node: Element | null) => { - if (!node) return false; - // There are actually properties that are not in Element but which - // appear on the `node`, so we must cast the customAttribute as a keyof Element - const content = node[(customAttribute as keyof Element) ?? 'innerHTML']; - if (content === text && wrappedInClass(node, classWrapper)) return true; - return false; - }); - const wrappedInClass = (element: HTMLElement | Element, classWrapper: string): boolean => { if (element.className.includes(classWrapper)) return true; if (element.parentElement) return wrappedInClass(element.parentElement, classWrapper); return false; }; -export const forMobileOnly = finderWithClassWrapper('hideForDesktop'); -export const forDesktopOnly = finderWithClassWrapper('hideForMobile'); - export const makeUptimePermissionsCore = ( permissions: Partial<{ 'alerting:save': boolean; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/spy_use_fetcher.ts b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/spy_use_fetcher.ts deleted file mode 100644 index e1f43ee0b003e..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/testing/spy_use_fetcher.ts +++ /dev/null @@ -1,32 +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 * as observabilitySharedPublic from '@kbn/observability-shared-plugin/public'; - -jest.mock('@kbn/observability-shared-plugin/public', () => { - const originalModule = jest.requireActual('@kbn/observability-shared-plugin/public'); - - return { - ...originalModule, - useFetcher: jest.fn().mockReturnValue({ - data: null, - status: 'success', - }), - useTrackPageview: jest.fn(), - }; -}); - -export function spyOnUseFetcher( - payload: unknown, - status = observabilitySharedPublic.FETCH_STATUS.SUCCESS -) { - return jest.spyOn(observabilitySharedPublic, 'useFetcher').mockReturnValue({ - status, - data: payload, - refetch: () => null, - }); -} diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_is_paused.test.ts b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_is_paused.test.ts deleted file mode 100644 index 3842c2c20dbda..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_is_paused.test.ts +++ /dev/null @@ -1,22 +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 { parseIsPaused } from './parse_is_paused'; - -describe('parseIsPaused', () => { - it('parses correct true isPaused value', () => { - expect(parseIsPaused('true', false)).toEqual(true); - }); - - it('parses correct false isPaused value', () => { - expect(parseIsPaused('false', true)).toEqual(false); - }); - - it('uses default value for non-boolean string', () => { - expect(parseIsPaused('foo', true)).toEqual(true); - }); -}); diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_is_paused.ts b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_is_paused.ts deleted file mode 100644 index 82502f5290cbc..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_is_paused.ts +++ /dev/null @@ -1,17 +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. - */ - -// TODO: add a comment explaining the purpose of this function -export const parseIsPaused = (value: string | undefined, defaultValue: boolean): boolean => { - if (value === 'true') { - return true; - } - if (value === 'false') { - return false; - } - return defaultValue; -}; diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_url_int.test.ts b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_url_int.test.ts deleted file mode 100644 index e8b2aea4f6f11..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_url_int.test.ts +++ /dev/null @@ -1,25 +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 { parseUrlInt } from './parse_url_int'; - -describe('parseUrlInt', () => { - it('parses a number', () => { - const result = parseUrlInt('23', 50); - expect(result).toBe(23); - }); - - it('returns default value for empty string', () => { - const result = parseUrlInt('', 50); - expect(result).toBe(50); - }); - - it('returns default value for non-numeric string', () => { - const result = parseUrlInt('abc', 50); - expect(result).toBe(50); - }); -}); diff --git a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_url_int.ts b/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_url_int.ts deleted file mode 100644 index a48ded2fac9ff..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/utils/url_params/parse_url_int.ts +++ /dev/null @@ -1,11 +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. - */ - -export const parseUrlInt = (value: string | undefined, defaultValue: number): number => { - const parsed = parseInt(value || '', 10); - return isNaN(parsed) ? defaultValue : parsed; -}; diff --git a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/types.ts b/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/types.ts deleted file mode 100644 index 9c8cc0b9a6e36..0000000000000 --- a/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/types.ts +++ /dev/null @@ -1,23 +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. - */ - -export interface MonitorSummaryStatusRule { - reason: string; - status: string; - configId: string; - hostName: string; - monitorId: string; - checkedAt: string; - monitorUrl: string; - locationId: string; - monitorType: string; - monitorName: string; - locationName: string; - lastErrorMessage: string; - stateId: string | null; - monitorUrlLabel: string; -} diff --git a/x-pack/plugins/observability_solution/synthetics/server/common/unzipt_project_code.ts b/x-pack/plugins/observability_solution/synthetics/server/common/unzip_project_code.ts similarity index 100% rename from x-pack/plugins/observability_solution/synthetics/server/common/unzipt_project_code.ts rename to x-pack/plugins/observability_solution/synthetics/server/common/unzip_project_code.ts diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/inspect_monitor.ts b/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/inspect_monitor.ts index 2c7d62f4830d4..6b4687e2bea81 100644 --- a/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/inspect_monitor.ts +++ b/x-pack/plugins/observability_solution/synthetics/server/routes/monitor_cruds/inspect_monitor.ts @@ -8,7 +8,7 @@ import { v4 as uuidV4 } from 'uuid'; import { schema } from '@kbn/config-schema'; import { PrivateLocationAttributes } from '../../runtime_types/private_locations'; import { SyntheticsRestApiRouteFactory } from '../types'; -import { unzipFile } from '../../common/unzipt_project_code'; +import { unzipFile } from '../../common/unzip_project_code'; import { ConfigKey, MonitorFields, SyntheticsMonitor } from '../../../common/runtime_types'; import { SYNTHETICS_API_URLS } from '../../../common/constants'; import { DEFAULT_FIELDS } from '../../../common/constants/monitor_defaults'; diff --git a/x-pack/plugins/observability_solution/synthetics/server/routes/pings/journey_screenshot_blocks.ts b/x-pack/plugins/observability_solution/synthetics/server/routes/pings/journey_screenshot_blocks.ts index c86ccbd169c71..e155e2f320584 100644 --- a/x-pack/plugins/observability_solution/synthetics/server/routes/pings/journey_screenshot_blocks.ts +++ b/x-pack/plugins/observability_solution/synthetics/server/routes/pings/journey_screenshot_blocks.ts @@ -23,8 +23,8 @@ export const createJourneyScreenshotBlocksRoute: SyntheticsRestApiRouteFactory = }), }, writeAccess: false, - handler: async (routeProps) => { - return await journeyScreenshotBlocksHandler(routeProps); + handler: (routeProps) => { + return journeyScreenshotBlocksHandler(routeProps); }, }); diff --git a/x-pack/plugins/observability_solution/synthetics/server/telemetry/constants.ts b/x-pack/plugins/observability_solution/synthetics/server/telemetry/constants.ts index ebb462301dea5..021fc57713471 100644 --- a/x-pack/plugins/observability_solution/synthetics/server/telemetry/constants.ts +++ b/x-pack/plugins/observability_solution/synthetics/server/telemetry/constants.ts @@ -8,5 +8,3 @@ export const MONITOR_UPDATE_CHANNEL = 'synthetics-monitor-update'; export const MONITOR_CURRENT_CHANNEL = 'synthetics-monitor-current'; export const MONITOR_ERROR_EVENTS_CHANNEL = 'synthetics-monitor-error-events'; -export const MONITOR_SYNC_STATE_CHANNEL = 'synthetics-monitor-sync-state'; -export const MONITOR_SYNC_EVENTS_CHANNEL = 'synthetics-monitor-sync-events'; diff --git a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/spy_use_fetcher.ts b/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/spy_use_fetcher.ts deleted file mode 100644 index e1f43ee0b003e..0000000000000 --- a/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/helper/spy_use_fetcher.ts +++ /dev/null @@ -1,32 +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 * as observabilitySharedPublic from '@kbn/observability-shared-plugin/public'; - -jest.mock('@kbn/observability-shared-plugin/public', () => { - const originalModule = jest.requireActual('@kbn/observability-shared-plugin/public'); - - return { - ...originalModule, - useFetcher: jest.fn().mockReturnValue({ - data: null, - status: 'success', - }), - useTrackPageview: jest.fn(), - }; -}); - -export function spyOnUseFetcher( - payload: unknown, - status = observabilitySharedPublic.FETCH_STATUS.SUCCESS -) { - return jest.spyOn(observabilitySharedPublic, 'useFetcher').mockReturnValue({ - status, - data: payload, - refetch: () => null, - }); -} diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 5a4660f362987..be7469c9a3952 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -43963,7 +43963,6 @@ "xpack.synthetics.alerts.monitorStatus.removedLocation.status": "a récupéré", "xpack.synthetics.alerts.monitorStatus.upCheck.reasonWithoutDuration": "le moniteur est de nouveau opérationnel. Il a été exécuté avec succès à {checkedAt}", "xpack.synthetics.alerts.monitorStatus.upCheck.status": "est désormais disponible", - "xpack.synthetics.alerts.searchPlaceholder.kql": "Filtrer à l'aide de la syntaxe KQL", "xpack.synthetics.alerts.settings.addConnector": "Ajouter un connecteur", "xpack.synthetics.alerts.syntheticsMonitorStatus.clientName": "Statut du moniteur", "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultRecoverySubjectMessage": "\"{monitorName}\" ({locationName}) {recoveryStatus} - Elastic Synthetics", @@ -44100,8 +44099,6 @@ "xpack.synthetics.emptyState.enablement.contactAdministrator": "Seuls les administrateurs peuvent activer cette fonctionnalité.", "xpack.synthetics.emptyState.enablement.disabledDescription": "Exécutez des vérifications automatiques basées sur des simulations de navigateur réel et des pings de point de terminaison légers pour mesurer l’expérience de vos utilisateurs depuis n'importe quel endroit dans le monde.", "xpack.synthetics.emptyState.enablement.title": "Monitorer le statut de vos services et applications avec Synthetics", - "xpack.synthetics.emptyStateError.notAuthorized": "Vous n'êtes pas autorisé à afficher les données Uptime, veuillez contacter votre administrateur système.", - "xpack.synthetics.emptyStateError.title": "Erreur", "xpack.synthetics.errorDetails.errorDuration": "Erreur de durée", "xpack.synthetics.errorDetails.errorDuration.days": "{value} jours", "xpack.synthetics.errorDetails.errorDuration.hours": "{value} heures", @@ -44219,7 +44216,6 @@ "xpack.synthetics.management.noLabel": "Annuler", "xpack.synthetics.management.yesLabel": "Supprimer", "xpack.synthetics.manualTestRun.failedTest.name": "L'exécution de test manuelle a échoué pour {name}", - "xpack.synthetics.millisecond.abbreviation.label": "ms", "xpack.synthetics.monitor.duration.label": "Durée", "xpack.synthetics.monitor.result.label": "Résultat", "xpack.synthetics.monitor.result.lastSuccessful": "Dernière réussite", @@ -44496,13 +44492,8 @@ "xpack.synthetics.monitorList.redirects.openWindow": "Le lien s'ouvrira dans une nouvelle fenêtre.", "xpack.synthetics.monitorList.redirects.title": "Redirections", "xpack.synthetics.monitorList.runTest.label": "Exécuter le test", - "xpack.synthetics.monitorList.statusColumn.completeLabel": "Terminé", "xpack.synthetics.monitorList.statusColumn.downLabel": "Arrêté", - "xpack.synthetics.monitorList.statusColumn.failedLabel": "Échoué", "xpack.synthetics.monitorList.statusColumn.upLabel": "Opérationnel", - "xpack.synthetics.monitorList.table.project.name": "ID de projet", - "xpack.synthetics.monitorList.table.tags.name": "Balises", - "xpack.synthetics.monitorList.table.url.name": "Url", "xpack.synthetics.monitorList.testNow.AriaLabel": "Cliquer pour exécuter le test maintenant", "xpack.synthetics.monitorList.testNow.scheduled": "Le test est déjà programmé", "xpack.synthetics.monitorList.testRunLogs": "Logs d'exécution de test", @@ -44647,7 +44638,6 @@ "xpack.synthetics.monitorManagement.viewZeroMonitors": "{name} n'est encore utilisé dans aucun moniteur pour le moment.", "xpack.synthetics.monitorManagement.websiteUrlHelpText": "Par exemple, la page d'accueil de votre entreprise ou https://elastic.co.", "xpack.synthetics.monitorManagement.websiteUrlLabel": "URL de site web", - "xpack.synthetics.monitorManagement.websiteUrlPlaceholder": "Entrer l'URL d'un site web", "xpack.synthetics.monitorManagementRoute.title": "Synthetics Management | {baseTitle}", "xpack.synthetics.monitorNotFound.title": "Moniteur Synthetics introuvable | {baseTitle}", "xpack.synthetics.monitorOverviewTab.title": "Aperçu", @@ -44677,7 +44667,6 @@ "xpack.synthetics.monitorSummary.runTestManually": "Exécuter le test manuellement", "xpack.synthetics.monitorSummary.selectMonitor": "Sélectionner un autre moniteur pour afficher ses détails", "xpack.synthetics.monitorSummary.viewAlerts": "Afficher les alertes", - "xpack.synthetics.monitorSummary.viewErrors": "Afficher les erreurs", "xpack.synthetics.monitorSummaryRoute.monitorBreadcrumb": "Moniteurs", "xpack.synthetics.monitorTestResult.screenshotImageLabel": "\"{stepName}\", {stepNumber} sur {totalSteps}", "xpack.synthetics.namespaceValidation.error": "Espace de nom non valide : {error}", @@ -44685,8 +44674,6 @@ "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedDescription": "Pour afficher les données des moniteurs Synthetics, vous devez mettre à jour les privilèges. Pour en savoir plus, contactez votre administrateur Kibana.", "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedFooterMarkdown": "Privilège d'index Elasticsearch `read` requis pour les index suivants :", "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedTitle": "Privilèges requis", - "xpack.synthetics.notFoundBody": "Désolé, nous ne trouvons pas la page que vous recherchez. Elle a peut-être été retirée ou renommée, ou peut-être qu'elle n'a jamais existé.", - "xpack.synthetics.notFoundTitle": "Page introuvable", "xpack.synthetics.overview.actions.cloneMonitor.name": "Cloner le moniteur", "xpack.synthetics.overview.actions.disabledSuccessLabel": "Moniteur \"{name}\" désactivé.", "xpack.synthetics.overview.actions.disabledSuccessLabel.alert": "Les alertes sont maintenant désactivées pour le moniteur \"{name}\".", @@ -44829,8 +44816,6 @@ "xpack.synthetics.rules.tls.validBeforeExpiredString": "Valide depuis le {date}, il y a {relativeDate} jours.", "xpack.synthetics.rules.tls.validBeforeExpiringString": "Non valide jusqu'au {date}, dans {relativeDate} jours.", "xpack.synthetics.runTest.failure": "Impossible d'exécuter le test manuellement", - "xpack.synthetics.seconds.label": "secondes", - "xpack.synthetics.seconds.shortForm.label": "s", "xpack.synthetics.send": "Envoyer", "xpack.synthetics.server.monitors.invalidConfigurationError": "Impossible d’enregistrer ou de mettre à jour le moniteur en raison d’une configuration non valide.", "xpack.synthetics.server.monitors.invalidPayloadError": "La charge utile n’est pas un objet moniteur valide", @@ -44942,8 +44927,6 @@ "xpack.synthetics.stepDetailsRoute.timingsBreakdown.info": "Somme de tous les délais de requêtes réseau", "xpack.synthetics.stepDetailsRoute.title": "Détails de l'étape | {baseTitle}", "xpack.synthetics.synthetics.accountBlocked": "Le compte est bloqué.", - "xpack.synthetics.synthetics.executedStep.screenshot.success": "dernière vérification réussie", - "xpack.synthetics.synthetics.executedStep.screenshot.successfulLink": "Capture d'écran de {link}", "xpack.synthetics.synthetics.markers.explore": "Explorer", "xpack.synthetics.synthetics.markers.noFieldIcon.label": "Icône indiquant que ce marqueur ne possède aucun champ associé", "xpack.synthetics.synthetics.markers.openEmbeddableButton.label": "Utilisez ce bouton icône afin d'afficher les indicateurs pour ce marqueur d'annotation.", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index c112b137c2e2b..35d98b88e7fba 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -43942,7 +43942,6 @@ "xpack.synthetics.alerts.monitorStatus.removedLocation.status": "回復しました", "xpack.synthetics.alerts.monitorStatus.upCheck.reasonWithoutDuration": "モニターが再起動しました。{checkedAt}に正常に実行されました。", "xpack.synthetics.alerts.monitorStatus.upCheck.status": "現在起動しています", - "xpack.synthetics.alerts.searchPlaceholder.kql": "KQL構文を使用してフィルタリング", "xpack.synthetics.alerts.settings.addConnector": "コネクターの追加", "xpack.synthetics.alerts.syntheticsMonitorStatus.clientName": "監視ステータス", "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultActionMessage": "{locationName}の\"{monitorName}\"は{status}です - Elastic Synthetics\n\n詳細:\n\n- モニター名:{monitorName} \n- {monitorUrlLabel}: {monitorUrl} \n- モニタータイプ:{monitorType} \n- 確認日時:{checkedAt} \n- 開始場所:{locationName} \n- 受信したエラー:{lastErrorMessage} \n{linkMessage}", @@ -44082,8 +44081,6 @@ "xpack.synthetics.emptyState.enablement.contactAdministrator": "管理者のみがこの機能を有効化できます。", "xpack.synthetics.emptyState.enablement.disabledDescription": "実際のブラウザーシミュレーションと軽量のエンドポイントpingに基づいて自動チェックを実行し、世界中のあらゆる場所からユーザーのエクスペリエンスを測定します。", "xpack.synthetics.emptyState.enablement.title": "Syntheticsでサービスとアプリケーションのステータスを監視", - "xpack.synthetics.emptyStateError.notAuthorized": "アップタイムデータの表示が承認されていません。システム管理者にお問い合わせください。", - "xpack.synthetics.emptyStateError.title": "エラー", "xpack.synthetics.errorDetails.errorDuration": "エラー期間", "xpack.synthetics.errorDetails.errorDuration.days": "{value}日以内に期限切れになる", "xpack.synthetics.errorDetails.errorDuration.hours": "{value} 時間", @@ -44201,7 +44198,6 @@ "xpack.synthetics.management.noLabel": "キャンセル", "xpack.synthetics.management.yesLabel": "削除", "xpack.synthetics.manualTestRun.failedTest.name": "{name}の手動テスト実行が失敗しました", - "xpack.synthetics.millisecond.abbreviation.label": "ms", "xpack.synthetics.monitor.duration.label": "期間", "xpack.synthetics.monitor.result.label": "結果", "xpack.synthetics.monitor.result.lastSuccessful": "前回の成功", @@ -44478,13 +44474,8 @@ "xpack.synthetics.monitorList.redirects.openWindow": "リンクは新しいウィンドウで開きます。", "xpack.synthetics.monitorList.redirects.title": "リダイレクト", "xpack.synthetics.monitorList.runTest.label": "テストの実行", - "xpack.synthetics.monitorList.statusColumn.completeLabel": "完了", "xpack.synthetics.monitorList.statusColumn.downLabel": "ダウン", - "xpack.synthetics.monitorList.statusColumn.failedLabel": "失敗", "xpack.synthetics.monitorList.statusColumn.upLabel": "アップ", - "xpack.synthetics.monitorList.table.project.name": "プロジェクト ID", - "xpack.synthetics.monitorList.table.tags.name": "タグ", - "xpack.synthetics.monitorList.table.url.name": "Url", "xpack.synthetics.monitorList.testNow.AriaLabel": "クリックすると今すぐテストを実行します", "xpack.synthetics.monitorList.testNow.scheduled": "テストはすでにスケジュールされています", "xpack.synthetics.monitorList.testRunLogs": "テスト実行ログ", @@ -44629,7 +44620,6 @@ "xpack.synthetics.monitorManagement.viewZeroMonitors": "{name}はまだどのモニターでも使われていません。", "xpack.synthetics.monitorManagement.websiteUrlHelpText": "例:会社のホームページまたはhttps://elastic.co。", "xpack.synthetics.monitorManagement.websiteUrlLabel": "WebサイトのURL", - "xpack.synthetics.monitorManagement.websiteUrlPlaceholder": "WebサイトURLを入力", "xpack.synthetics.monitorManagementRoute.title": "シンセティック管理 | {baseTitle}", "xpack.synthetics.monitorNotFound.title": "Syntheticsモニターが見つかりません | {baseTitle}", "xpack.synthetics.monitorOverviewTab.title": "概要", @@ -44659,7 +44649,6 @@ "xpack.synthetics.monitorSummary.runTestManually": "手動でテストを実行", "xpack.synthetics.monitorSummary.selectMonitor": "詳細を表示するには、別のモニターを選択してください", "xpack.synthetics.monitorSummary.viewAlerts": "アラートを表示", - "xpack.synthetics.monitorSummary.viewErrors": "エラーを表示", "xpack.synthetics.monitorSummaryRoute.monitorBreadcrumb": "監視", "xpack.synthetics.monitorTestResult.screenshotImageLabel": "\"{stepName}\"、{stepNumber}/{totalSteps}", "xpack.synthetics.namespaceValidation.error": "無効な名前空間:{error}", @@ -44667,8 +44656,6 @@ "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedDescription": "Syntheticsモニターデータを表示するには、権限を更新する必要があります。詳細については、Kibana管理者に連絡してください。", "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedFooterMarkdown": "次のインデックスに必要なElasticsearchインデックス権限「読み取り」:", "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedTitle": "権限が必要です", - "xpack.synthetics.notFoundBody": "申し訳ございません。お探しのページは見つかりません。削除または名前変更されたか、存在していなかった可能性があります。", - "xpack.synthetics.notFoundTitle": "ページが見つかりません", "xpack.synthetics.overview.actions.cloneMonitor.name": "モニターを複製", "xpack.synthetics.overview.actions.disabledSuccessLabel": "モニター\"{name}\"は正常に無効にされました。", "xpack.synthetics.overview.actions.disabledSuccessLabel.alert": "モニター\"{name}\"に対するアラートが無効化されました。", @@ -44813,8 +44800,6 @@ "xpack.synthetics.rules.tls.validBeforeExpiredString": "{relativeDate}日前、{date}以降有効です。", "xpack.synthetics.rules.tls.validBeforeExpiringString": "今から{relativeDate}日間、{date}まで無効です。", "xpack.synthetics.runTest.failure": "手動でテストを実行できませんでした", - "xpack.synthetics.seconds.label": "秒", - "xpack.synthetics.seconds.shortForm.label": "秒", "xpack.synthetics.send": "送信", "xpack.synthetics.server.monitors.invalidConfigurationError": "無効な設定のため、モニターを保存または更新できませんでした。", "xpack.synthetics.server.monitors.invalidPayloadError": "ペイロードは有効なモニターオブジェクトではありません", @@ -44926,8 +44911,6 @@ "xpack.synthetics.stepDetailsRoute.timingsBreakdown.info": "すべてのネットワークリクエストタイミングの合計", "xpack.synthetics.stepDetailsRoute.title": "ステップ詳細 | {baseTitle}", "xpack.synthetics.synthetics.accountBlocked": "アカウントがブロックされています。", - "xpack.synthetics.synthetics.executedStep.screenshot.success": "前回成功したチェック", - "xpack.synthetics.synthetics.executedStep.screenshot.successfulLink": "{link}からのスクリーンショット", "xpack.synthetics.synthetics.markers.explore": "探索", "xpack.synthetics.synthetics.markers.noFieldIcon.label": "このマーカーにフィールドが関連付けられていないことを示すアイコン", "xpack.synthetics.synthetics.markers.openEmbeddableButton.label": "このアイコンボタンを使用して、この注釈マーカーのメトリックを表示します。", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 30d822480bdff..1c5ceec1ef7dc 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -43990,7 +43990,6 @@ "xpack.synthetics.alerts.monitorStatus.removedLocation.status": "已恢复", "xpack.synthetics.alerts.monitorStatus.upCheck.reasonWithoutDuration": "监测现已再次启动。它于 {checkedAt}成功运行", "xpack.synthetics.alerts.monitorStatus.upCheck.status": "现已打开", - "xpack.synthetics.alerts.searchPlaceholder.kql": "使用 kql 语法筛选", "xpack.synthetics.alerts.settings.addConnector": "添加连接器", "xpack.synthetics.alerts.syntheticsMonitorStatus.clientName": "监测状态", "xpack.synthetics.alerts.syntheticsMonitorStatus.defaultActionMessage": "来自 {locationName} 的“{monitorName}”为 {status}。- Elastic Synthetics\n\n详情:\n\n- 监测名称:{monitorName} \n- {monitorUrlLabel}:{monitorUrl} \n- 监测类型:{monitorType} \n- 检查时间:{checkedAt} \n- 来自:{locationName} \n- 收到错误:{lastErrorMessage} \n{linkMessage}", @@ -44130,8 +44129,6 @@ "xpack.synthetics.emptyState.enablement.contactAdministrator": "仅管理员可以启用此功能。", "xpack.synthetics.emptyState.enablement.disabledDescription": "基于真实浏览器模拟和轻量级终端 ping 运行自动检查,以从全球任何位置评估您用户的体验。", "xpack.synthetics.emptyState.enablement.title": "通过 Synthetics 监测服务和应用程序的状态", - "xpack.synthetics.emptyStateError.notAuthorized": "您无权查看 Uptime 数据,请联系系统管理员。", - "xpack.synthetics.emptyStateError.title": "错误", "xpack.synthetics.errorDetails.errorDuration": "错误持续时间", "xpack.synthetics.errorDetails.errorDuration.days": "{value} 天内过期的证书", "xpack.synthetics.errorDetails.errorDuration.hours": "{value} 小时", @@ -44249,7 +44246,6 @@ "xpack.synthetics.management.noLabel": "取消", "xpack.synthetics.management.yesLabel": "删除", "xpack.synthetics.manualTestRun.failedTest.name": "{name} 的手动测试运行失败", - "xpack.synthetics.millisecond.abbreviation.label": "ms", "xpack.synthetics.monitor.duration.label": "持续时间", "xpack.synthetics.monitor.result.label": "结果", "xpack.synthetics.monitor.result.lastSuccessful": "上次成功", @@ -44526,13 +44522,8 @@ "xpack.synthetics.monitorList.redirects.openWindow": "将在新窗口中打开链接。", "xpack.synthetics.monitorList.redirects.title": "重定向", "xpack.synthetics.monitorList.runTest.label": "运行测试", - "xpack.synthetics.monitorList.statusColumn.completeLabel": "已完成", "xpack.synthetics.monitorList.statusColumn.downLabel": "关闭", - "xpack.synthetics.monitorList.statusColumn.failedLabel": "失败", "xpack.synthetics.monitorList.statusColumn.upLabel": "运行", - "xpack.synthetics.monitorList.table.project.name": "项目 ID", - "xpack.synthetics.monitorList.table.tags.name": "标签", - "xpack.synthetics.monitorList.table.url.name": "URL", "xpack.synthetics.monitorList.testNow.AriaLabel": "单击以立即运行测试", "xpack.synthetics.monitorList.testNow.scheduled": "已计划测试", "xpack.synthetics.monitorList.testRunLogs": "测试运行日志", @@ -44677,7 +44668,6 @@ "xpack.synthetics.monitorManagement.viewZeroMonitors": "{name} 尚未用在任何监测中。", "xpack.synthetics.monitorManagement.websiteUrlHelpText": "例如,您公司的主页或 https://elastic.co。", "xpack.synthetics.monitorManagement.websiteUrlLabel": "网站 URL", - "xpack.synthetics.monitorManagement.websiteUrlPlaceholder": "输入网站 URL", "xpack.synthetics.monitorManagementRoute.title": "Synthetics 管理 | {baseTitle}", "xpack.synthetics.monitorNotFound.title": "找不到 Synthetics 监测 | {baseTitle}", "xpack.synthetics.monitorOverviewTab.title": "概览", @@ -44707,7 +44697,6 @@ "xpack.synthetics.monitorSummary.runTestManually": "手动运行测试", "xpack.synthetics.monitorSummary.selectMonitor": "选择不同监测以查看其详情", "xpack.synthetics.monitorSummary.viewAlerts": "查看告警", - "xpack.synthetics.monitorSummary.viewErrors": "查看错误", "xpack.synthetics.monitorSummaryRoute.monitorBreadcrumb": "监测", "xpack.synthetics.monitorTestResult.screenshotImageLabel": "“{stepName}”,第 {stepNumber} 步,共 {totalSteps} 步", "xpack.synthetics.namespaceValidation.error": "命名空间无效:{error}", @@ -44715,8 +44704,6 @@ "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedDescription": "要查看 Synthetics 监测数据,必须更新权限。有关详细信息,请联系您的 Kibana 管理员。", "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedFooterMarkdown": "以下索引所需的 Elasticsearch 索引权限 `read`:", "xpack.synthetics.noFindingsStates.unprivileged.unprivilegedTitle": "需要权限", - "xpack.synthetics.notFoundBody": "抱歉,找不到您要查找的页面。该页面可能已移除、重命名,或可能从不存在。", - "xpack.synthetics.notFoundTitle": "未找到页面", "xpack.synthetics.overview.actions.cloneMonitor.name": "克隆监测", "xpack.synthetics.overview.actions.disabledSuccessLabel": "已成功禁用监测“{name}”。", "xpack.synthetics.overview.actions.disabledSuccessLabel.alert": "现在已对监测“{name}”禁用告警。", @@ -44861,8 +44848,6 @@ "xpack.synthetics.rules.tls.validBeforeExpiredString": "自 {relativeDate} 天前,即 {date}开始生效。", "xpack.synthetics.rules.tls.validBeforeExpiringString": "从现在到 {date}的 {relativeDate} 天里无效。", "xpack.synthetics.runTest.failure": "无法手动运行测试", - "xpack.synthetics.seconds.label": "秒", - "xpack.synthetics.seconds.shortForm.label": "秒", "xpack.synthetics.send": "发送", "xpack.synthetics.server.monitors.invalidConfigurationError": "由于配置无效,无法保存或更新监测。", "xpack.synthetics.server.monitors.invalidPayloadError": "有效负载不是有效的监测对象", @@ -44974,8 +44959,6 @@ "xpack.synthetics.stepDetailsRoute.timingsBreakdown.info": "所有网络请求计时的总和", "xpack.synthetics.stepDetailsRoute.title": "步骤详情 | {baseTitle}", "xpack.synthetics.synthetics.accountBlocked": "帐户被阻止。", - "xpack.synthetics.synthetics.executedStep.screenshot.success": "上一成功检查", - "xpack.synthetics.synthetics.executedStep.screenshot.successfulLink": "来自 {link} 的屏幕截图", "xpack.synthetics.synthetics.markers.explore": "浏览", "xpack.synthetics.synthetics.markers.noFieldIcon.label": "一个图标,表示此标记没有与其关联的字段", "xpack.synthetics.synthetics.markers.openEmbeddableButton.label": "使用此图标按钮可显示该标注标记的指标。",