mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
[Shared UX] Separate share reporting and reporting api client into packages from central reporting plugin (#176104)
## Summary This PR separates the reporting api client and the reporting share plugin out of the reporting plugin. As a result, Jobs had to be taken out of the plugin as well. This is work that will benefit the share modal redesign epic by isolating the reporting share plugin code. The share code is added to the @kbn/reporting-public package. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: Timothy Sullivan <tsullivan@elastic.co>
This commit is contained in:
parent
36359b2636
commit
f43fecc1cd
110 changed files with 467 additions and 425 deletions
|
@ -102,7 +102,7 @@
|
|||
"savedObjectsManagement": "src/plugins/saved_objects_management",
|
||||
"searchConnectors": "packages/kbn-search-connectors",
|
||||
"server": "src/legacy/server",
|
||||
"share": "src/plugins/share",
|
||||
"share": ["src/plugins/share", "packages/kbn-reporting-share"],
|
||||
"sharedUXPackages": "packages/shared-ux",
|
||||
"searchApiPanels": "packages/kbn-search-api-panels/",
|
||||
"searchErrors": "packages/kbn-search-errors",
|
||||
|
|
|
@ -76,3 +76,7 @@ export enum JOB_STATUS {
|
|||
// automation that have no version value in the job params, we assume the
|
||||
// intended version is 7.14.0
|
||||
export const UNVERSIONED_VERSION = '7.14.0';
|
||||
|
||||
// Test Subjects
|
||||
export const REPORT_TABLE_ID = 'reportJobListing';
|
||||
export const REPORT_TABLE_ROW_ID = 'reportJobRow';
|
||||
|
|
|
@ -12,3 +12,4 @@ export * from './schema_utils';
|
|||
|
||||
export { CancellationToken } from './cancellation_token';
|
||||
export { buildKibanaPath } from './build_kibana_path';
|
||||
export * from './routes';
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
const prefixInternalPath = '/internal/reporting';
|
|
@ -1,16 +1,14 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import type { HttpSetup } from '@kbn/core/public';
|
||||
import type { FunctionComponent } from 'react';
|
||||
import React, { createContext, useContext } from 'react';
|
||||
|
||||
import { useKibana } from '../../shared_imports';
|
||||
import type { ReportingAPIClient } from './reporting_api_client';
|
||||
import React, { createContext, useContext, type FunctionComponent } from 'react';
|
||||
import { ReportingAPIClient } from './reporting_api_client';
|
||||
|
||||
interface ContextValue {
|
||||
http: HttpSetup;
|
||||
|
@ -21,11 +19,8 @@ const InternalApiClientContext = createContext<undefined | ContextValue>(undefin
|
|||
|
||||
export const InternalApiClientProvider: FunctionComponent<{
|
||||
apiClient: ReportingAPIClient;
|
||||
}> = ({ apiClient, children }) => {
|
||||
const {
|
||||
services: { http },
|
||||
} = useKibana();
|
||||
|
||||
http: HttpSetup;
|
||||
}> = ({ apiClient, http, children }) => {
|
||||
return (
|
||||
<InternalApiClientContext.Provider value={{ http, apiClient }}>
|
||||
{children}
|
|
@ -1,13 +1,15 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { IlmPolicyStatusResponse } from '@kbn/reporting-common/types';
|
||||
import { INTERNAL_ROUTES } from '../../../common/constants';
|
||||
import { useKibana, useRequest, UseRequestResponse } from '../../shared_imports';
|
||||
import { useRequest, UseRequestResponse } from '@kbn/es-ui-shared-plugin/public';
|
||||
import { INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import { useKibana } from '.';
|
||||
|
||||
export const useCheckIlmPolicyStatus = (): UseRequestResponse<IlmPolicyStatusResponse> => {
|
||||
const {
|
|
@ -7,3 +7,28 @@
|
|||
*/
|
||||
|
||||
export type { ClientConfigType } from './types';
|
||||
export { Job } from './job';
|
||||
export * from './job_completion_notifications';
|
||||
export { InternalApiClientProvider, useInternalApiClient } from './context';
|
||||
export { useCheckIlmPolicyStatus } from './hooks';
|
||||
export { ReportingAPIClient } from './reporting_api_client';
|
||||
export { checkLicense } from './license_check';
|
||||
|
||||
import type { CoreSetup, CoreStart } from '@kbn/core/public';
|
||||
import type { DataPublicPluginStart } from '@kbn/data-plugin/public';
|
||||
import { useKibana as _useKibana } from '@kbn/kibana-react-plugin/public';
|
||||
import type { SharePluginStart } from '@kbn/share-plugin/public';
|
||||
|
||||
/* Services received through useKibana context
|
||||
* @internal
|
||||
*/
|
||||
export interface KibanaContext {
|
||||
http: CoreSetup['http'];
|
||||
application: CoreStart['application'];
|
||||
uiSettings: CoreStart['uiSettings'];
|
||||
docLinks: CoreStart['docLinks'];
|
||||
data: DataPublicPluginStart;
|
||||
share: SharePluginStart;
|
||||
}
|
||||
|
||||
export const useKibana = () => _useKibana<KibanaContext>();
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
*/
|
||||
|
||||
module.exports = {
|
||||
preset: '@kbn/test/jest_node',
|
||||
preset: '@kbn/test',
|
||||
rootDir: '../../..',
|
||||
roots: ['<rootDir>/packages/kbn-reporting/public'],
|
||||
};
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import moment from 'moment';
|
||||
|
@ -20,8 +21,21 @@ import type {
|
|||
ReportSource,
|
||||
TaskRunResult,
|
||||
} from '@kbn/reporting-common/types';
|
||||
import { CSV_JOB_TYPE, CSV_JOB_TYPE_V2 } from '@kbn/reporting-export-types-csv-common';
|
||||
import { PDF_JOB_TYPE, PDF_JOB_TYPE_V2 } from '@kbn/reporting-export-types-pdf-common';
|
||||
import { PNG_JOB_TYPE, PNG_JOB_TYPE_V2 } from '@kbn/reporting-export-types-png-common';
|
||||
|
||||
import { JobTypes } from '../../common/types';
|
||||
const jobTypes = [
|
||||
CSV_JOB_TYPE,
|
||||
CSV_JOB_TYPE_V2,
|
||||
PDF_JOB_TYPE,
|
||||
PDF_JOB_TYPE_V2,
|
||||
PNG_JOB_TYPE,
|
||||
PNG_JOB_TYPE_V2,
|
||||
];
|
||||
|
||||
type JobTypeDeclaration = typeof jobTypes;
|
||||
type JobTypes = JobTypeDeclaration[keyof JobTypeDeclaration];
|
||||
|
||||
const { COMPLETED, FAILED, PENDING, PROCESSING, WARNINGS } = JOB_STATUS;
|
||||
|
||||
|
@ -119,20 +133,20 @@ export class Job {
|
|||
const status = this.status;
|
||||
let smallMessage;
|
||||
if (status === PENDING) {
|
||||
smallMessage = i18n.translate('xpack.reporting.jobStatusDetail.pendingStatusReachedText', {
|
||||
smallMessage = i18n.translate('reporting.jobStatusDetail.pendingStatusReachedText', {
|
||||
defaultMessage: 'Waiting for job to process.',
|
||||
});
|
||||
} else if (status === PROCESSING) {
|
||||
smallMessage = i18n.translate('xpack.reporting.jobStatusDetail.attemptXofY', {
|
||||
smallMessage = i18n.translate('reporting.jobStatusDetail.attemptXofY', {
|
||||
defaultMessage: 'Attempt {attempts} of {max_attempts}.',
|
||||
values: { attempts: this.attempts, max_attempts: this.max_attempts },
|
||||
});
|
||||
} else if (this.getWarnings()) {
|
||||
smallMessage = i18n.translate('xpack.reporting.jobStatusDetail.warningsText', {
|
||||
smallMessage = i18n.translate('reporting.jobStatusDetail.warningsText', {
|
||||
defaultMessage: 'See report info for warnings.',
|
||||
});
|
||||
} else if (this.getError()) {
|
||||
smallMessage = i18n.translate('xpack.reporting.jobStatusDetail.errorText', {
|
||||
smallMessage = i18n.translate('reporting.jobStatusDetail.errorText', {
|
||||
defaultMessage: 'See report info for error details.',
|
||||
});
|
||||
}
|
||||
|
@ -143,7 +157,7 @@ export class Job {
|
|||
<EuiText size="s">
|
||||
{' '}
|
||||
<EuiTextColor color="warning">
|
||||
{i18n.translate('xpack.reporting.jobStatusDetail.deprecatedText', {
|
||||
{i18n.translate('reporting.jobStatusDetail.deprecatedText', {
|
||||
defaultMessage: `This is a deprecated export type. Automation of this report will need to be re-created for compatibility with future versions of Kibana.`,
|
||||
})}
|
||||
</EuiTextColor>
|
||||
|
@ -168,7 +182,7 @@ export class Job {
|
|||
public get prettyStatus(): string {
|
||||
return (
|
||||
jobStatusLabelsMap.get(this.status) ??
|
||||
i18n.translate('xpack.reporting.jobStatusDetail.unknownText', { defaultMessage: 'Unknown' })
|
||||
i18n.translate('reporting.jobStatusDetail.unknownText', { defaultMessage: 'Unknown' })
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -184,17 +198,17 @@ export class Job {
|
|||
switch (this.jobtype as JobTypes) {
|
||||
case 'printable_pdf':
|
||||
case 'printable_pdf_v2':
|
||||
return i18n.translate('xpack.reporting.jobType.pdfOutputName', {
|
||||
return i18n.translate('reporting.jobType.pdfOutputName', {
|
||||
defaultMessage: 'PDF',
|
||||
});
|
||||
case 'PNG':
|
||||
case 'PNGV2':
|
||||
return i18n.translate('xpack.reporting.jobType.pngOutputName', {
|
||||
return i18n.translate('reporting.jobType.pngOutputName', {
|
||||
defaultMessage: 'PNG',
|
||||
});
|
||||
case 'csv_v2':
|
||||
case 'csv_searchsource':
|
||||
return i18n.translate('xpack.reporting.jobType.csvOutputName', {
|
||||
return i18n.translate('reporting.jobType.csvOutputName', {
|
||||
defaultMessage: 'CSV',
|
||||
});
|
||||
default:
|
||||
|
@ -204,12 +218,12 @@ export class Job {
|
|||
|
||||
public get prettyTimeout(): string {
|
||||
if (this.timeout == null) {
|
||||
return i18n.translate('xpack.reporting.jobStatusDetail.timeoutSecondsUnknown', {
|
||||
return i18n.translate('reporting.jobStatusDetail.timeoutSecondsUnknown', {
|
||||
defaultMessage: 'Unknown',
|
||||
});
|
||||
}
|
||||
const seconds = this.timeout / 1000;
|
||||
return i18n.translate('xpack.reporting.jobStatusDetail.timeoutSeconds', {
|
||||
return i18n.translate('reporting.jobStatusDetail.timeoutSeconds', {
|
||||
defaultMessage: '{timeout} seconds',
|
||||
values: { timeout: seconds },
|
||||
});
|
||||
|
@ -228,7 +242,7 @@ export class Job {
|
|||
getCreatedBy(): string {
|
||||
return (
|
||||
this.created_by ||
|
||||
i18n.translate('xpack.reporting.jobCreatedBy.unknownUserPlaceholderText', {
|
||||
i18n.translate('reporting.jobCreatedBy.unknownUserPlaceholderText', {
|
||||
defaultMessage: 'Unknown',
|
||||
})
|
||||
);
|
||||
|
@ -260,7 +274,7 @@ export class Job {
|
|||
|
||||
getDeprecatedMessage(): undefined | string {
|
||||
if (this.isDeprecated) {
|
||||
return i18n.translate('xpack.reporting.jobWarning.exportTypeDeprecated', {
|
||||
return i18n.translate('reporting.jobWarning.exportTypeDeprecated', {
|
||||
defaultMessage:
|
||||
'This is a deprecated export type. Automation of this report will need to be re-created for compatibility with future versions of Kibana.',
|
||||
});
|
||||
|
@ -276,7 +290,7 @@ export class Job {
|
|||
|
||||
if (this.csv_contains_formulas) {
|
||||
warnings.push(
|
||||
i18n.translate('xpack.reporting.jobWarning.csvContainsFormulas', {
|
||||
i18n.translate('reporting.jobWarning.csvContainsFormulas', {
|
||||
defaultMessage:
|
||||
'Your CSV contains characters that spreadsheet applications might interpret as formulas.',
|
||||
})
|
||||
|
@ -284,7 +298,7 @@ export class Job {
|
|||
}
|
||||
if (this.max_size_reached) {
|
||||
warnings.push(
|
||||
i18n.translate('xpack.reporting.jobWarning.maxSizeReachedTooltip', {
|
||||
i18n.translate('reporting.jobWarning.maxSizeReachedTooltip', {
|
||||
defaultMessage: 'Your search reached the max size and contains partial data.',
|
||||
})
|
||||
);
|
||||
|
@ -336,31 +350,31 @@ export class Job {
|
|||
const jobStatusLabelsMap = new Map<JOB_STATUS, string>([
|
||||
[
|
||||
PENDING,
|
||||
i18n.translate('xpack.reporting.jobStatuses.pendingText', {
|
||||
i18n.translate('reporting.jobStatuses.pendingText', {
|
||||
defaultMessage: 'Pending',
|
||||
}),
|
||||
],
|
||||
[
|
||||
PROCESSING,
|
||||
i18n.translate('xpack.reporting.jobStatuses.processingText', {
|
||||
i18n.translate('reporting.jobStatuses.processingText', {
|
||||
defaultMessage: 'Processing',
|
||||
}),
|
||||
],
|
||||
[
|
||||
COMPLETED,
|
||||
i18n.translate('xpack.reporting.jobStatuses.completedText', {
|
||||
i18n.translate('reporting.jobStatuses.completedText', {
|
||||
defaultMessage: 'Completed', // NOTE: a job is `completed` not `completed_with_warings` if it has reached max size or possibly contains csv characters
|
||||
}),
|
||||
],
|
||||
[
|
||||
WARNINGS,
|
||||
i18n.translate('xpack.reporting.jobStatuses.warningText', {
|
||||
i18n.translate('reporting.jobStatuses.warningText', {
|
||||
defaultMessage: 'Completed',
|
||||
}),
|
||||
],
|
||||
[
|
||||
FAILED,
|
||||
i18n.translate('xpack.reporting.jobStatuses.failedText', {
|
||||
i18n.translate('reporting.jobStatuses.failedText', {
|
||||
defaultMessage: 'Failed',
|
||||
}),
|
||||
],
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { JOB_COMPLETION_NOTIFICATIONS_SESSION_KEY } from '@kbn/reporting-common';
|
|
@ -1,11 +1,12 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import type { LicenseCheck } from '../shared_imports';
|
||||
import { LicenseCheck } from '@kbn/licensing-plugin/public';
|
||||
import { checkLicense } from './license_check';
|
||||
|
||||
describe('License check', () => {
|
|
@ -1,11 +1,12 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { LicenseCheck } from '@kbn/licensing-plugin/public';
|
||||
import type { LicenseCheck } from '@kbn/licensing-plugin/public';
|
||||
import { LicenseCheckResults } from '@kbn/reporting-common/types';
|
||||
|
||||
export const checkLicense = (checkResults: LicenseCheck): LicenseCheckResults => {
|
|
@ -1,15 +1,16 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { tz } from 'moment-timezone';
|
||||
|
||||
import { HttpSetup, IUiSettingsClient } from '@kbn/core/public';
|
||||
import { httpServiceMock, uiSettingsServiceMock } from '@kbn/core/public/mocks';
|
||||
import { Job } from '../job';
|
||||
import { Job } from './job';
|
||||
import { ReportingAPIClient } from './reporting_api_client';
|
||||
|
||||
describe('ReportingAPIClient', () => {
|
|
@ -1,9 +1,11 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { ELASTIC_INTERNAL_ORIGIN_QUERY_PARAM } from '@kbn/core-http-common';
|
||||
import type { HttpFetchQuery } from '@kbn/core/public';
|
||||
import { HttpSetup, IUiSettingsClient } from '@kbn/core/public';
|
||||
|
@ -12,14 +14,14 @@ import {
|
|||
REPORTING_MANAGEMENT_HOME,
|
||||
buildKibanaPath,
|
||||
getRedirectAppPath,
|
||||
INTERNAL_ROUTES,
|
||||
PUBLIC_ROUTES,
|
||||
} from '@kbn/reporting-common';
|
||||
import { BaseParams, JobId, ManagementLinkFn, ReportApiJSON } from '@kbn/reporting-common/types';
|
||||
import rison from '@kbn/rison';
|
||||
import moment from 'moment';
|
||||
import { stringify } from 'query-string';
|
||||
import { INTERNAL_ROUTES, PUBLIC_ROUTES } from '../../../common/constants';
|
||||
import { add } from '../../notifier/job_completion_notifications';
|
||||
import { Job } from '../job';
|
||||
import { Job, add } from '.';
|
||||
|
||||
/*
|
||||
* For convenience, apps do not have to provide the browserTimezone and Kibana version.
|
||||
|
@ -136,7 +138,7 @@ export class ReportingAPIClient implements IReportingAPI {
|
|||
return job.warnings[0];
|
||||
}
|
||||
|
||||
return i18n.translate('xpack.reporting.apiClient.unknownError', {
|
||||
return i18n.translate('reporting.apiClient.unknownError', {
|
||||
defaultMessage: `Report job {job} failed. Error unknown.`,
|
||||
values: { job: jobId },
|
||||
});
|
12
packages/kbn-reporting/public/share/index.ts
Normal file
12
packages/kbn-reporting/public/share/index.ts
Normal file
|
@ -0,0 +1,12 @@
|
|||
/*
|
||||
* 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 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
export { getSharedComponents } from './shared';
|
||||
export { reportingScreenshotShareProvider } from './share_context_menu/register_pdf_png_reporting';
|
||||
export { reportingCsvShareProvider } from './share_context_menu/register_csv_reporting';
|
||||
export type { ReportingPublicComponents } from './shared/get_shared_components';
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import type {
|
||||
|
@ -13,7 +14,7 @@ import type {
|
|||
} from '@kbn/core/public';
|
||||
import { ILicense } from '@kbn/licensing-plugin/public';
|
||||
import type { LayoutParams } from '@kbn/screenshotting-plugin/common';
|
||||
import type { ReportingAPIClient } from '../lib/reporting_api_client';
|
||||
import type { ReportingAPIClient } from '../../reporting_api_client';
|
||||
|
||||
export interface ExportPanelShareOpts {
|
||||
apiClient: ReportingAPIClient;
|
|
@ -1,14 +1,15 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
||||
import { EuiSpacer, EuiFlexGroup, EuiFlexItem, EuiLoadingSpinner } from '@elastic/eui';
|
||||
|
||||
export const PanelSpinner: React.FC = (props) => {
|
||||
export const PanelSpinner: React.FC = () => {
|
||||
return (
|
||||
<>
|
||||
<EuiSpacer />
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
@ -12,8 +13,8 @@ import { CSV_JOB_TYPE, CSV_JOB_TYPE_V2 } from '@kbn/reporting-export-types-csv-c
|
|||
|
||||
import type { SearchSourceFields } from '@kbn/data-plugin/common';
|
||||
import { ShareContext, ShareMenuProvider } from '@kbn/share-plugin/public';
|
||||
import { checkLicense } from '../lib/license_check';
|
||||
import type { ExportPanelShareOpts } from '.';
|
||||
import { checkLicense } from '../..';
|
||||
import { ReportingPanelContent } from './reporting_panel_content_lazy';
|
||||
|
||||
export const reportingCsvShareProvider = ({
|
||||
|
@ -83,7 +84,7 @@ export const reportingCsvShareProvider = ({
|
|||
}
|
||||
|
||||
if (licenseHasCsvReporting && capabilityHasCsvReporting) {
|
||||
const panelTitle = i18n.translate('xpack.reporting.shareContextMenu.csvReportsButtonLabel', {
|
||||
const panelTitle = i18n.translate('reporting.share.contextMenu.csvReportsButtonLabel', {
|
||||
defaultMessage: 'CSV Reports',
|
||||
});
|
||||
|
|
@ -1,17 +1,16 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React from 'react';
|
||||
import { ShareContext, ShareMenuProvider } from '@kbn/share-plugin/public';
|
||||
import { isJobV2Params } from '../../common/job_utils';
|
||||
import { checkLicense } from '../lib/license_check';
|
||||
import { ReportingAPIClient } from '../lib/reporting_api_client';
|
||||
import React from 'react';
|
||||
import { ExportPanelShareOpts, JobParamsProviderOptions, ReportingSharingData } from '.';
|
||||
import { ReportingAPIClient, checkLicense } from '../..';
|
||||
import { ScreenCapturePanelContent } from './screen_capture_panel_content_lazy';
|
||||
|
||||
const getJobParams =
|
||||
|
@ -116,7 +115,7 @@ export const reportingScreenshotShareProvider = ({
|
|||
const { sharingData } = shareOpts as unknown as { sharingData: ReportingSharingData };
|
||||
const shareActions = [];
|
||||
|
||||
const pngPanelTitle = i18n.translate('xpack.reporting.shareContextMenu.pngReportsButtonLabel', {
|
||||
const pngPanelTitle = i18n.translate('reporting.share.contextMenu.pngReportsButtonLabel', {
|
||||
defaultMessage: 'PNG Reports',
|
||||
});
|
||||
|
||||
|
@ -125,6 +124,11 @@ export const reportingScreenshotShareProvider = ({
|
|||
objectType,
|
||||
sharingData,
|
||||
};
|
||||
const isJobV2Params = ({
|
||||
sharingData: _sharingData,
|
||||
}: {
|
||||
sharingData: Record<string, unknown>;
|
||||
}) => _sharingData.locatorParams != null;
|
||||
|
||||
const isV2Job = isJobV2Params(jobProviderOptions);
|
||||
const requiresSavedState = !isV2Job;
|
||||
|
@ -160,7 +164,7 @@ export const reportingScreenshotShareProvider = ({
|
|||
},
|
||||
};
|
||||
|
||||
const pdfPanelTitle = i18n.translate('xpack.reporting.shareContextMenu.pdfReportsButtonLabel', {
|
||||
const pdfPanelTitle = i18n.translate('reporting.share.contextMenu.pdfReportsButtonLabel', {
|
||||
defaultMessage: 'PDF Reports',
|
||||
});
|
||||
|
|
@ -1,9 +1,11 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import type { FunctionComponent } from 'react';
|
||||
import React from 'react';
|
||||
|
@ -11,7 +13,7 @@ import { FormattedMessage } from '@kbn/i18n-react';
|
|||
import { EuiCallOut, EuiText, EuiSpacer } from '@elastic/eui';
|
||||
|
||||
const i18nTexts = {
|
||||
title: i18n.translate('xpack.reporting.panelContent.unsavedStateErrorTitle', {
|
||||
title: i18n.translate('reporting.share.panelContent.unsavedStateErrorTitle', {
|
||||
defaultMessage: 'Unsaved work',
|
||||
}),
|
||||
};
|
||||
|
@ -28,7 +30,7 @@ export const ErrorUnsavedWorkPanel: FunctionComponent = () => {
|
|||
<EuiText size="s">
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.panelContent.unsavedStateErrorText"
|
||||
id="reporting.share.panelContent.unsavedStateErrorText"
|
||||
defaultMessage="Save your work before copying this URL."
|
||||
/>
|
||||
</p>
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import type { FunctionComponent } from 'react';
|
||||
|
@ -16,7 +17,7 @@ interface Props {
|
|||
}
|
||||
|
||||
const i18nTexts = {
|
||||
title: i18n.translate('xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthTitle', {
|
||||
title: i18n.translate('reporting.share.panelContent.unsavedStateAndExceedsMaxLengthTitle', {
|
||||
defaultMessage: 'URL too long',
|
||||
}),
|
||||
};
|
||||
|
@ -28,7 +29,7 @@ export const ErrorUrlTooLongPanel: FunctionComponent<Props> = ({ isUnsaved }) =>
|
|||
{isUnsaved ? (
|
||||
<span data-test-subj="urlTooLongTrySavingMessage">
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthTrySaveDescription"
|
||||
id="reporting.share.panelContent.unsavedStateAndExceedsMaxLengthTrySaveDescription"
|
||||
defaultMessage="This URL cannot be copied. Try saving your work."
|
||||
/>
|
||||
</span>
|
||||
|
@ -36,7 +37,7 @@ export const ErrorUrlTooLongPanel: FunctionComponent<Props> = ({ isUnsaved }) =>
|
|||
// Reaching this state is essentially just an error and should result in a user contacting us.
|
||||
<span data-test-subj="urlTooLongErrorMessage">
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthDescription"
|
||||
id="reporting.share.panelContent.unsavedStateAndExceedsMaxLengthDescription"
|
||||
defaultMessage="This URL cannot be copied."
|
||||
/>
|
||||
</span>
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
export { ErrorUnsavedWorkPanel } from './error_unsaved_work_panel';
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
/**
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
export type { Props, ReportingPanelProps } from './reporting_panel_content';
|
|
@ -1,26 +1,27 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React from 'react';
|
||||
import { mountWithIntl } from '@kbn/test-jest-helpers';
|
||||
import {
|
||||
httpServiceMock,
|
||||
notificationServiceMock,
|
||||
themeServiceMock,
|
||||
uiSettingsServiceMock,
|
||||
} from '@kbn/core/public/mocks';
|
||||
import { ReportingAPIClient } from '../../lib/reporting_api_client';
|
||||
import { ReportingPanelContent, ReportingPanelProps as Props } from '.';
|
||||
import { mountWithIntl } from '@kbn/test-jest-helpers';
|
||||
import React from 'react';
|
||||
import { ReportingPanelProps as Props, ReportingPanelContent } from '.';
|
||||
import { ReportingAPIClient } from '../../..';
|
||||
import { ErrorUnsavedWorkPanel } from './components';
|
||||
import * as constants from './constants';
|
||||
|
||||
jest.mock('./constants', () => ({
|
||||
getMaxUrlLength: jest.fn(() => 9999999),
|
||||
}));
|
||||
import * as constants from './constants';
|
||||
|
||||
const theme = themeServiceMock.createSetupContract();
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import React, { Component, ReactElement } from 'react';
|
||||
|
@ -28,7 +29,7 @@ import { FormattedMessage, InjectedIntl, injectI18n } from '@kbn/i18n-react';
|
|||
import { toMountPoint } from '@kbn/kibana-react-plugin/public';
|
||||
import type { BaseParams } from '@kbn/reporting-common/types';
|
||||
|
||||
import { ReportingAPIClient } from '../../lib/reporting_api_client';
|
||||
import { ReportingAPIClient } from '../../../reporting_api_client';
|
||||
import { ErrorUnsavedWorkPanel, ErrorUrlTooLongPanel } from './components';
|
||||
import { getMaxUrlLength } from './constants';
|
||||
|
||||
|
@ -144,7 +145,7 @@ class ReportingPanelContentUi extends Component<Props, State> {
|
|||
data-test-subj="shareReportingCopyURL"
|
||||
>
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.panelContent.copyUrlButtonLabel"
|
||||
id="reporting.share.panelContent.copyUrlButtonLabel"
|
||||
defaultMessage="Copy POST URL"
|
||||
/>
|
||||
</EuiButton>
|
||||
|
@ -162,7 +163,7 @@ class ReportingPanelContentUi extends Component<Props, State> {
|
|||
<EuiFormRow
|
||||
helpText={
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.panelContent.saveWorkDescription"
|
||||
id="reporting.share.panelContent.saveWorkDescription"
|
||||
defaultMessage="Please save your work before generating a report."
|
||||
/>
|
||||
}
|
||||
|
@ -180,7 +181,7 @@ class ReportingPanelContentUi extends Component<Props, State> {
|
|||
<EuiText size="s">
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.panelContent.generationTimeDescription"
|
||||
id="reporting.share.panelContent.generationTimeDescription"
|
||||
defaultMessage="{reportingType}s can take a minute or two to generate based upon the size of your {objectType}."
|
||||
description="Here 'reportingType' can be 'PDF' or 'CSV'"
|
||||
values={{
|
||||
|
@ -203,7 +204,7 @@ class ReportingPanelContentUi extends Component<Props, State> {
|
|||
|
||||
<EuiAccordion
|
||||
id="advanced-options"
|
||||
buttonContent={i18n.translate('xpack.reporting.panelContent.advancedOptions', {
|
||||
buttonContent={i18n.translate('reporting.share.panelContent.advancedOptions', {
|
||||
defaultMessage: 'Advanced options',
|
||||
})}
|
||||
paddingSize="none"
|
||||
|
@ -213,7 +214,7 @@ class ReportingPanelContentUi extends Component<Props, State> {
|
|||
<EuiText size="s">
|
||||
<p>
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.panelContent.howToCallGenerationDescription"
|
||||
id="reporting.share.panelContent.howToCallGenerationDescription"
|
||||
defaultMessage="Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher."
|
||||
/>
|
||||
</p>
|
||||
|
@ -237,7 +238,7 @@ class ReportingPanelContentUi extends Component<Props, State> {
|
|||
isLoading={this.state.isCreatingReportJob}
|
||||
>
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.panelContent.generateButtonLabel"
|
||||
id="reporting.share.panelContent.generateButtonLabel"
|
||||
defaultMessage="Generate {reportingType}"
|
||||
values={{ reportingType: this.prettyPrintReportingType() }}
|
||||
/>
|
||||
|
@ -291,20 +292,20 @@ class ReportingPanelContentUi extends Component<Props, State> {
|
|||
this.props.toasts.addSuccess({
|
||||
title: intl.formatMessage(
|
||||
{
|
||||
id: 'xpack.reporting.panelContent.successfullyQueuedReportNotificationTitle',
|
||||
id: 'reporting.share.panelContent.successfullyQueuedReportNotificationTitle',
|
||||
defaultMessage: 'Queued report for {objectType}',
|
||||
},
|
||||
{ objectType: this.state.objectType }
|
||||
),
|
||||
text: toMountPoint(
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.panelContent.successfullyQueuedReportNotificationDescription"
|
||||
id="reporting.share.panelContent.successfullyQueuedReportNotificationDescription"
|
||||
defaultMessage="Track its progress in {path}."
|
||||
values={{
|
||||
path: (
|
||||
<a href={this.props.apiClient.getManagementLink()}>
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.publicNotifier.reportLink.reportingSectionUrlLinkLabel"
|
||||
id="reporting.share.publicNotifier.reportLink.reportingSectionUrlLinkLabel"
|
||||
defaultMessage="Stack Management > Reporting"
|
||||
/>
|
||||
</a>
|
||||
|
@ -325,7 +326,7 @@ class ReportingPanelContentUi extends Component<Props, State> {
|
|||
.catch((error) => {
|
||||
this.props.toasts.addError(error, {
|
||||
title: intl.formatMessage({
|
||||
id: 'xpack.reporting.panelContent.notification.reportingErrorTitle',
|
||||
id: 'reporting.share.panelContent.notification.reportingErrorTitle',
|
||||
defaultMessage: 'Unable to create report',
|
||||
}),
|
||||
toastMessage: (
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
|
@ -1,15 +1,16 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { coreMock, themeServiceMock } from '@kbn/core/public/mocks';
|
||||
import { __IntlProvider as IntlProvider } from '@kbn/i18n-react';
|
||||
import { mount } from 'enzyme';
|
||||
import React from 'react';
|
||||
import { __IntlProvider as IntlProvider } from '@kbn/i18n-react';
|
||||
import { coreMock, themeServiceMock } from '@kbn/core/public/mocks';
|
||||
import { ReportingAPIClient } from '../lib/reporting_api_client';
|
||||
import { ReportingAPIClient } from '../..';
|
||||
import { ScreenCapturePanelContent } from './screen_capture_panel_content';
|
||||
|
||||
const { http, uiSettings, ...coreSetup } = coreMock.createSetup();
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { EuiFormRow, EuiSwitch, EuiSwitchEvent } from '@elastic/eui';
|
||||
|
@ -47,7 +48,7 @@ export class ScreenCapturePanelContent extends Component<Props, State> {
|
|||
<EuiFormRow
|
||||
helpText={
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.screenCapturePanelContent.optimizeForPrintingHelpText"
|
||||
id="reporting.share.screenCapturePanelContent.optimizeForPrintingHelpText"
|
||||
defaultMessage="Uses multiple pages, showing at most 2 visualizations per page"
|
||||
/>
|
||||
}
|
||||
|
@ -55,7 +56,7 @@ export class ScreenCapturePanelContent extends Component<Props, State> {
|
|||
<EuiSwitch
|
||||
label={
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.screenCapturePanelContent.optimizeForPrintingLabel"
|
||||
id="reporting.share.screenCapturePanelContent.optimizeForPrintingLabel"
|
||||
defaultMessage="Optimize for printing"
|
||||
/>
|
||||
}
|
||||
|
@ -72,7 +73,7 @@ export class ScreenCapturePanelContent extends Component<Props, State> {
|
|||
<EuiFormRow
|
||||
helpText={
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.screenCapturePanelContent.canvasLayoutHelpText"
|
||||
id="reporting.share.screenCapturePanelContent.canvasLayoutHelpText"
|
||||
defaultMessage="Remove borders and footer logo"
|
||||
/>
|
||||
}
|
||||
|
@ -80,7 +81,7 @@ export class ScreenCapturePanelContent extends Component<Props, State> {
|
|||
<EuiSwitch
|
||||
label={
|
||||
<FormattedMessage
|
||||
id="xpack.reporting.screenCapturePanelContent.canvasLayoutLabel"
|
||||
id="reporting.share.screenCapturePanelContent.canvasLayoutLabel"
|
||||
defaultMessage="Full page layout"
|
||||
/>
|
||||
}
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import * as React from 'react';
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { CoreSetup } from '@kbn/core/public';
|
||||
|
@ -11,7 +12,7 @@ import React from 'react';
|
|||
import { PDF_REPORT_TYPE, PDF_REPORT_TYPE_V2 } from '@kbn/reporting-export-types-pdf-common';
|
||||
import { PNG_REPORT_TYPE_V2 } from '@kbn/reporting-export-types-png-common';
|
||||
|
||||
import { ReportingAPIClient } from '../lib/reporting_api_client';
|
||||
import { ReportingAPIClient } from '../../reporting_api_client';
|
||||
import { ReportingPanelProps } from '../share_context_menu/reporting_panel_content';
|
||||
import { ScreenCapturePanelContent } from '../share_context_menu/screen_capture_panel_content_lazy';
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
export { getSharedComponents } from './get_shared_components';
|
|
@ -8,10 +8,27 @@
|
|||
]
|
||||
},
|
||||
"include": [
|
||||
"**/*.ts",
|
||||
"**/*.ts", "**/*.tsx"
|
||||
],
|
||||
"exclude": [
|
||||
"target/**/*"
|
||||
],
|
||||
"kbn_references": []
|
||||
"kbn_references": [
|
||||
"@kbn/reporting-common",
|
||||
"@kbn/core",
|
||||
"@kbn/data-plugin",
|
||||
"@kbn/kibana-react-plugin",
|
||||
"@kbn/share-plugin",
|
||||
"@kbn/es-ui-shared-plugin",
|
||||
"@kbn/core-http-common",
|
||||
"@kbn/i18n",
|
||||
"@kbn/rison",
|
||||
"@kbn/reporting-export-types-png-common",
|
||||
"@kbn/reporting-export-types-pdf-common",
|
||||
"@kbn/reporting-export-types-csv-common",
|
||||
"@kbn/licensing-plugin",
|
||||
"@kbn/screenshotting-plugin",
|
||||
"@kbn/i18n-react",
|
||||
"@kbn/test-jest-helpers",
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { checkLicense } from './check_license';
|
||||
import { ILicense } from '@kbn/licensing-plugin/server';
|
||||
import { checkLicense } from './check_license';
|
||||
import { ExportTypesRegistry } from './export_types_registry';
|
||||
|
||||
describe('check_license', () => {
|
|
@ -1,12 +1,13 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { ILicense } from '@kbn/licensing-plugin/server';
|
||||
import { ExportType } from '@kbn/reporting-server';
|
||||
import type { ExportType } from '.';
|
||||
import { ExportTypesRegistry } from './export_types_registry';
|
||||
|
||||
export interface LicenseCheckResult {
|
|
@ -1,12 +1,13 @@
|
|||
/*
|
||||
* 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.
|
||||
* 2.0 and the Server Side Public License, v 1; you may not use this file except
|
||||
* in compliance with, at your election, the Elastic License 2.0 or the Server
|
||||
* Side Public License, v 1.
|
||||
*/
|
||||
|
||||
import { isString } from 'lodash';
|
||||
import { ExportType } from '@kbn/reporting-server';
|
||||
import type { ExportType } from '.';
|
||||
|
||||
type GetCallbackFn = (item: ExportType) => boolean;
|
||||
|
|
@ -5,7 +5,6 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
// Export Type Sets
|
||||
import {
|
||||
CSV_JOB_TYPE,
|
||||
CSV_JOB_TYPE_DEPRECATED,
|
||||
|
@ -26,6 +25,7 @@ import {
|
|||
PNG_REPORT_TYPE_V2,
|
||||
} from '@kbn/reporting-export-types-png-common';
|
||||
|
||||
// Export Type Sets
|
||||
export const reportTypes = [
|
||||
CSV_REPORT_TYPE,
|
||||
CSV_REPORT_TYPE_V2,
|
||||
|
@ -52,3 +52,7 @@ export const USES_HEADLESS_JOB_TYPES = [
|
|||
];
|
||||
|
||||
export const DEPRECATED_JOB_TYPES = [CSV_JOB_TYPE_DEPRECATED];
|
||||
|
||||
// Test Subjects
|
||||
export const REPORT_TABLE_ID = 'reportJobListing';
|
||||
export const REPORT_TABLE_ROW_ID = 'reportJobRow';
|
|
@ -1,13 +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 * from './routes';
|
||||
export * from './export_types';
|
||||
|
||||
// Test Subjects
|
||||
export const REPORT_TABLE_ID = 'reportJobListing';
|
||||
export const REPORT_TABLE_ROW_ID = 'reportJobRow';
|
|
@ -6,8 +6,8 @@
|
|||
*/
|
||||
|
||||
import type { PluginInitializerContext } from '@kbn/core/public';
|
||||
import type { ReportingPublicComponents } from '@kbn/reporting-public/share';
|
||||
import { ReportingPublicPlugin } from './plugin';
|
||||
import type { ReportingPublicComponents } from './shared/get_shared_components';
|
||||
|
||||
/**
|
||||
* Setup contract for the Reporting plugin.
|
||||
|
@ -31,12 +31,6 @@ export interface ReportingSetup {
|
|||
*/
|
||||
export type ReportingStart = ReportingSetup;
|
||||
|
||||
/**
|
||||
* Public interface needed for shared components
|
||||
*/
|
||||
export type { ApplicationProps } from './shared';
|
||||
export type { ReportingPublicComponents };
|
||||
|
||||
/**
|
||||
* @internal
|
||||
*
|
||||
|
|
|
@ -8,8 +8,7 @@
|
|||
import type { FunctionComponent } from 'react';
|
||||
import React, { createContext, useContext } from 'react';
|
||||
import type { IlmPolicyStatusResponse } from '@kbn/reporting-common/types';
|
||||
|
||||
import { useCheckIlmPolicyStatus } from './reporting_api_client';
|
||||
import { useCheckIlmPolicyStatus } from '@kbn/reporting-public';
|
||||
|
||||
type UseCheckIlmPolicyStatus = ReturnType<typeof useCheckIlmPolicyStatus>;
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
import { jobTypes } from '../../common/constants';
|
||||
import { mockJobs } from '../../common/test';
|
||||
import { Job } from './job';
|
||||
import { Job } from '@kbn/reporting-public/job';
|
||||
|
||||
describe('Job', () => {
|
||||
it('should provide a pretty name for all known job types', () => {
|
||||
|
|
|
@ -15,4 +15,4 @@ export const mockAPIClient = {
|
|||
downloadReport: jest.fn(),
|
||||
};
|
||||
|
||||
jest.mock('./reporting_api_client', () => mockAPIClient);
|
||||
jest.mock('@kbn/reporting-public/reporting_api_client', () => mockAPIClient);
|
||||
|
|
|
@ -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 { InternalApiClientProvider, useInternalApiClient } from './context';
|
||||
export { useCheckIlmPolicyStatus } from './hooks';
|
||||
export { ReportingAPIClient } from './reporting_api_client';
|
||||
export type { DiagnoseResponse } from './reporting_api_client';
|
|
@ -12,8 +12,7 @@ import { coreMock, docLinksServiceMock, themeServiceMock } from '@kbn/core/publi
|
|||
import { ReportApiJSON } from '@kbn/reporting-common/types';
|
||||
|
||||
import { JobSummary } from '../types';
|
||||
import { Job } from './job';
|
||||
import { ReportingAPIClient } from './reporting_api_client';
|
||||
import { Job, ReportingAPIClient } from '@kbn/reporting-public';
|
||||
import { ReportingNotifierStreamHandler } from './stream_handler';
|
||||
|
||||
Object.defineProperty(window, 'sessionStorage', {
|
||||
|
|
|
@ -13,6 +13,7 @@ import { i18n } from '@kbn/i18n';
|
|||
import { JOB_COMPLETION_NOTIFICATIONS_SESSION_KEY, JOB_STATUS } from '@kbn/reporting-common';
|
||||
import { JobId } from '@kbn/reporting-common/types';
|
||||
|
||||
import { Job, ReportingAPIClient } from '@kbn/reporting-public';
|
||||
import {
|
||||
getFailureToast,
|
||||
getGeneralErrorToast,
|
||||
|
@ -22,8 +23,6 @@ import {
|
|||
getWarningToast,
|
||||
} from '../notifier';
|
||||
import { JobSummary, JobSummarySet } from '../types';
|
||||
import { Job } from './job';
|
||||
import { ReportingAPIClient } from './reporting_api_client';
|
||||
|
||||
/**
|
||||
* @todo Replace with `Infinity` once elastic/eui#5945 is resolved.
|
||||
|
|
|
@ -25,13 +25,11 @@ import type { ILicense } from '@kbn/licensing-plugin/public';
|
|||
import { dataPluginMock } from '@kbn/data-plugin/public/mocks';
|
||||
import { sharePluginMock } from '@kbn/share-plugin/public/mocks';
|
||||
|
||||
import { InternalApiClientProvider, Job, ReportingAPIClient } from '@kbn/reporting-public';
|
||||
import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public';
|
||||
import { mockJobs } from '../../../common/test';
|
||||
|
||||
import { KibanaContextProvider } from '../../shared_imports';
|
||||
|
||||
import { IlmPolicyStatusContextProvider } from '../../lib/ilm_policy_status_context';
|
||||
import { InternalApiClientProvider, ReportingAPIClient } from '../../lib/reporting_api_client';
|
||||
import { Job } from '../../lib/job';
|
||||
|
||||
import { ListingProps as Props, ReportListing } from '..';
|
||||
import { ReportDiagnostic } from '../components';
|
||||
|
@ -111,7 +109,7 @@ export const createTestBed = registerTestBed(
|
|||
...rest
|
||||
}: Partial<Props> & TestDependencies) => (
|
||||
<KibanaContextProvider services={{ http, application, uiSettings, data, share }}>
|
||||
<InternalApiClientProvider apiClient={reportingAPIClient}>
|
||||
<InternalApiClientProvider apiClient={reportingAPIClient} http={http}>
|
||||
<IlmPolicyStatusContextProvider>
|
||||
<ReportListing
|
||||
license$={l$}
|
||||
|
|
|
@ -13,11 +13,9 @@ import type { ISearchStartSearchSource } from '@kbn/data-plugin/common';
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import { useKibana } from '@kbn/kibana-react-plugin/public';
|
||||
import { type TaskPayloadCSV } from '@kbn/reporting-export-types-csv-common';
|
||||
import type { ClientConfigType } from '@kbn/reporting-public';
|
||||
import type { ClientConfigType, Job, KibanaContext } from '@kbn/reporting-public';
|
||||
import type { LocatorClient } from '@kbn/share-plugin/common/url_service';
|
||||
|
||||
import type { Job } from '../../../lib/job';
|
||||
import type { KibanaContext } from '../../../types';
|
||||
import { getPitApiTextForConsole } from './get_console_text_pit';
|
||||
import { getScrollApiTextForConsole } from './get_console_text_scroll';
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ import type { FunctionComponent } from 'react';
|
|||
import React, { useState } from 'react';
|
||||
import useMountedState from 'react-use/lib/useMountedState';
|
||||
|
||||
import { useInternalApiClient } from '../../../lib/reporting_api_client';
|
||||
import { useInternalApiClient } from '@kbn/reporting-public';
|
||||
|
||||
const i18nTexts = {
|
||||
title: i18n.translate('xpack.reporting.listing.ilmPolicyCallout.migrationNeededTitle', {
|
||||
|
|
|
@ -15,7 +15,7 @@ import {
|
|||
} from '@testing-library/react';
|
||||
|
||||
import { mockJobs } from '../../../common/test';
|
||||
import type { Job } from '../../lib/job';
|
||||
import type { Job } from '@kbn/reporting-public/job';
|
||||
import { ReportDeleteButton } from './report_delete_button';
|
||||
|
||||
describe('ReportDeleteButton', () => {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
import { EuiButton, EuiConfirmModal } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React, { Fragment, PureComponent } from 'react';
|
||||
import { Job } from '../../lib/job';
|
||||
import { Job } from '@kbn/reporting-public';
|
||||
|
||||
type DeleteFn = () => Promise<void>;
|
||||
|
||||
|
|
|
@ -19,8 +19,8 @@ import {
|
|||
EuiText,
|
||||
EuiTitle,
|
||||
} from '@elastic/eui';
|
||||
import { ClientConfigType } from '@kbn/reporting-public';
|
||||
import { ReportingAPIClient, DiagnoseResponse } from '../../lib/reporting_api_client';
|
||||
import { ClientConfigType, ReportingAPIClient } from '@kbn/reporting-public';
|
||||
import { DiagnoseResponse } from '@kbn/reporting-public/reporting_api_client';
|
||||
|
||||
interface Props {
|
||||
apiClient: ReportingAPIClient;
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
import { EuiButtonEmpty, EuiToolTip } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import React, { FunctionComponent } from 'react';
|
||||
import { Job } from '../../lib/job';
|
||||
import { Job } from '@kbn/reporting-public/job';
|
||||
|
||||
interface Props {
|
||||
job: Job;
|
||||
|
|
|
@ -25,10 +25,8 @@ import {
|
|||
EuiTitle,
|
||||
} from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import type { ClientConfigType } from '@kbn/reporting-public';
|
||||
import { ClientConfigType, Job, useInternalApiClient } from '@kbn/reporting-public';
|
||||
|
||||
import type { Job } from '../../lib/job';
|
||||
import { useInternalApiClient } from '../../lib/reporting_api_client';
|
||||
import { InspectInConsoleButton } from './inspect_in_console_button/inspect_in_console_button';
|
||||
import { ReportInfoFlyoutContent } from './report_info_flyout_content';
|
||||
|
||||
|
|
|
@ -18,10 +18,9 @@ import {
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import { VisualReportingSoftDisabledError } from '@kbn/reporting-common/errors';
|
||||
|
||||
import { Job, useKibana } from '@kbn/reporting-public';
|
||||
import { USES_HEADLESS_JOB_TYPES } from '../../../common/constants';
|
||||
import type { Job } from '../../lib/job';
|
||||
import { sharedI18nTexts } from '../../shared_i18n_texts';
|
||||
import { useKibana } from '../../shared_imports';
|
||||
|
||||
// TODO: Move all of these i18n texts to ./i18n_texts.tsx
|
||||
const NA = i18n.translate('xpack.reporting.listing.infoPanel.notApplicableLabel', {
|
||||
|
|
|
@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n';
|
|||
import { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiLoadingSpinner, EuiToolTip } from '@elastic/eui';
|
||||
import { JOB_STATUS } from '@kbn/reporting-common/constants';
|
||||
|
||||
import type { Job } from '../../lib/job';
|
||||
import { Job } from '@kbn/reporting-public';
|
||||
import { jobHasIssues } from '../utils';
|
||||
|
||||
interface Props {
|
||||
|
|
|
@ -7,10 +7,8 @@
|
|||
|
||||
import type { ApplicationStart, ToastsStart } from '@kbn/core/public';
|
||||
import type { LicensingPluginStart } from '@kbn/licensing-plugin/public';
|
||||
import type { ClientConfigType } from '@kbn/reporting-public';
|
||||
import type { ClientConfigType, ReportingAPIClient } from '@kbn/reporting-public';
|
||||
import type { SharePluginStart } from '@kbn/share-plugin/public';
|
||||
import type { ReportingAPIClient } from '../lib/reporting_api_client';
|
||||
|
||||
export interface ListingProps {
|
||||
apiClient: ReportingAPIClient;
|
||||
license$: LicensingPluginStart['license$'];
|
||||
|
|
|
@ -17,10 +17,13 @@ import type { ManagementAppMountParams } from '@kbn/management-plugin/public';
|
|||
import { KibanaThemeProvider } from '@kbn/react-kibana-context-theme';
|
||||
import type { ClientConfigType } from '@kbn/reporting-public';
|
||||
import type { SharePluginStart } from '@kbn/share-plugin/public';
|
||||
import {
|
||||
InternalApiClientProvider,
|
||||
ReportingAPIClient,
|
||||
KibanaContext,
|
||||
} from '@kbn/reporting-public';
|
||||
import { ReportListing } from '.';
|
||||
import { PolicyStatusContextProvider } from '../lib/default_status_context';
|
||||
import { InternalApiClientProvider, type ReportingAPIClient } from '../lib/reporting_api_client';
|
||||
import type { KibanaContext } from '../types';
|
||||
|
||||
export async function mountManagementSection(
|
||||
coreStart: CoreStart,
|
||||
|
@ -44,7 +47,7 @@ export async function mountManagementSection(
|
|||
<KibanaThemeProvider theme={{ theme$: params.theme$ }}>
|
||||
<I18nProvider>
|
||||
<KibanaContextProvider services={services}>
|
||||
<InternalApiClientProvider apiClient={apiClient}>
|
||||
<InternalApiClientProvider apiClient={apiClient} http={services.http}>
|
||||
<PolicyStatusContextProvider config={config}>
|
||||
<ReportListing
|
||||
apiClient={apiClient}
|
||||
|
|
|
@ -13,9 +13,9 @@ import { IlmPolicyMigrationStatus } from '@kbn/reporting-common/types';
|
|||
|
||||
import { ListingProps as Props } from '.';
|
||||
import { mockJobs } from '../../common/test';
|
||||
import { Job } from '../lib/job';
|
||||
import { TestBed, TestDependencies, setup } from './__test__';
|
||||
import { mockConfig } from './__test__/report_listing.test.helpers';
|
||||
import { Job } from '@kbn/reporting-public';
|
||||
|
||||
describe('ReportListing', () => {
|
||||
let testBed: TestBed;
|
||||
|
|
|
@ -7,15 +7,13 @@
|
|||
|
||||
import React from 'react';
|
||||
|
||||
import { ListingProps as Props } from '.';
|
||||
import { useInternalApiClient } from '../lib/reporting_api_client';
|
||||
import { useKibana } from '../shared_imports';
|
||||
|
||||
import './report_listing.scss';
|
||||
import { useInternalApiClient, useKibana } from '@kbn/reporting-public';
|
||||
import { ReportListingStateful } from './stateful/report_listing_stateful';
|
||||
import { ReportListingDefault } from './default/report_listing_default';
|
||||
import { ListingProps } from '.';
|
||||
|
||||
export const ReportListing = (props: Props) => {
|
||||
export const ReportListing = (props: ListingProps) => {
|
||||
const { apiClient } = useInternalApiClient();
|
||||
const {
|
||||
services: {
|
||||
|
|
|
@ -21,11 +21,10 @@ import { i18n } from '@kbn/i18n';
|
|||
import { ILicense } from '@kbn/licensing-plugin/public';
|
||||
import { durationToNumber } from '@kbn/reporting-common';
|
||||
|
||||
import { checkLicense, Job } from '@kbn/reporting-public';
|
||||
import { REPORT_TABLE_ID, REPORT_TABLE_ROW_ID } from '../../common/constants';
|
||||
import { prettyPrintJobType } from '../../common/job_utils';
|
||||
import { Poller } from '../../common/poller';
|
||||
import { Job } from '../lib/job';
|
||||
import { checkLicense } from '../lib/license_check';
|
||||
import { ReportDeleteButton, ReportInfoFlyout, ReportStatusIndicator } from './components';
|
||||
import { guessAppIconTypeFromObjectType } from './utils';
|
||||
import { ListingPropsInternal } from '.';
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
import type { IconType } from '@elastic/eui';
|
||||
import { JOB_STATUS } from '@kbn/reporting-common';
|
||||
import { Job } from '../lib/job';
|
||||
import { Job } from '@kbn/reporting-public';
|
||||
|
||||
/**
|
||||
* This is not the most forward-compatible way of mapping to an {@link IconType} for an application.
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
*/
|
||||
|
||||
import { coreMock } from '@kbn/core/public/mocks';
|
||||
import { ReportingAPIClient } from './lib/reporting_api_client';
|
||||
import { getSharedComponents } from '@kbn/reporting-public/share';
|
||||
import { ReportingAPIClient } from '@kbn/reporting-public/reporting_api_client';
|
||||
import { ReportingSetup } from '.';
|
||||
import { getSharedComponents } from './shared';
|
||||
|
||||
type Setup = jest.Mocked<ReportingSetup>;
|
||||
|
||||
|
|
|
@ -14,11 +14,11 @@ import { LicenseCheckState } from '@kbn/licensing-plugin/public';
|
|||
import { coreMock } from '@kbn/core/public/mocks';
|
||||
import { dataPluginMock } from '@kbn/data-plugin/public/mocks';
|
||||
import { licensingMock } from '@kbn/licensing-plugin/public/mocks';
|
||||
import { ReportingAPIClient } from '../lib/reporting_api_client';
|
||||
import type { ReportingPublicPluginStartDependencies } from '../plugin';
|
||||
import type { ActionContext } from './get_csv_panel_action';
|
||||
import { ReportingCsvPanelAction } from './get_csv_panel_action';
|
||||
import { dataViewMock } from '@kbn/discover-utils/src/__mocks__';
|
||||
import { ReportingAPIClient } from '@kbn/reporting-public';
|
||||
|
||||
const core = coreMock.createSetup();
|
||||
let apiClient: ReportingAPIClient;
|
||||
|
|
|
@ -19,8 +19,7 @@ import type { SavedSearch } from '@kbn/saved-search-plugin/public';
|
|||
import type { UiActionsActionDefinition as ActionDefinition } from '@kbn/ui-actions-plugin/public';
|
||||
import { IncompatibleActionError } from '@kbn/ui-actions-plugin/public';
|
||||
|
||||
import { checkLicense } from '../lib/license_check';
|
||||
import { ReportingAPIClient } from '../lib/reporting_api_client';
|
||||
import { ReportingAPIClient, checkLicense } from '@kbn/reporting-public';
|
||||
import type { ReportingPublicPluginStartDependencies } from '../plugin';
|
||||
|
||||
function isSavedSearchEmbeddable(
|
||||
|
|
|
@ -28,18 +28,19 @@ import type { ScreenshotModePluginSetup } from '@kbn/screenshot-mode-plugin/publ
|
|||
|
||||
import { JOB_COMPLETION_NOTIFICATIONS_SESSION_KEY, durationToNumber } from '@kbn/reporting-common';
|
||||
import type { JobId } from '@kbn/reporting-common/types';
|
||||
import type { ClientConfigType } from '@kbn/reporting-public';
|
||||
import { ClientConfigType, ReportingAPIClient } from '@kbn/reporting-public';
|
||||
import type { SharePluginSetup, SharePluginStart } from '@kbn/share-plugin/public';
|
||||
import type { UiActionsSetup, UiActionsStart } from '@kbn/ui-actions-plugin/public';
|
||||
|
||||
import {
|
||||
getSharedComponents,
|
||||
reportingScreenshotShareProvider,
|
||||
reportingCsvShareProvider,
|
||||
} from '@kbn/reporting-public/share';
|
||||
import type { ReportingSetup, ReportingStart } from '.';
|
||||
import { ReportingAPIClient } from './lib/reporting_api_client';
|
||||
import { ReportingNotifierStreamHandler as StreamHandler } from './lib/stream_handler';
|
||||
import { getGeneralErrorToast } from './notifier';
|
||||
import { ReportingCsvPanelAction } from './panel_actions/get_csv_panel_action';
|
||||
import { reportingCsvShareProvider } from './share_context_menu/register_csv_reporting';
|
||||
import { reportingScreenshotShareProvider } from './share_context_menu/register_pdf_png_reporting';
|
||||
import { getSharedComponents } from './shared';
|
||||
import type { JobSummarySet } from './types';
|
||||
|
||||
function getStored(): JobId[] {
|
||||
|
|
|
@ -13,7 +13,7 @@ import type { AppMountParameters } from '@kbn/core/public';
|
|||
import type { ScreenshotModePluginSetup } from '@kbn/screenshot-mode-plugin/public';
|
||||
import type { SharePluginSetup } from '@kbn/share-plugin/public';
|
||||
|
||||
import type { ReportingAPIClient } from '../lib/reporting_api_client';
|
||||
import type { ReportingAPIClient } from '@kbn/reporting-public';
|
||||
import { RedirectApp } from './redirect_app';
|
||||
|
||||
interface MountParams extends AppMountParameters {
|
||||
|
|
|
@ -17,7 +17,7 @@ import { REPORTING_REDIRECT_LOCATOR_STORE_KEY } from '@kbn/reporting-common';
|
|||
import { LocatorParams } from '@kbn/reporting-common/types';
|
||||
import type { ScreenshotModePluginSetup } from '@kbn/screenshot-mode-plugin/public';
|
||||
|
||||
import { ReportingAPIClient } from '../lib/reporting_api_client';
|
||||
import { ReportingAPIClient } from '@kbn/reporting-public';
|
||||
import type { SharePluginSetup } from '../shared_imports';
|
||||
|
||||
import './redirect_app.scss';
|
||||
|
|
|
@ -12,12 +12,6 @@ export type { SharePluginSetup, SharePluginStart, LocatorPublic } from '@kbn/sha
|
|||
export type { UseRequestResponse } from '@kbn/es-ui-shared-plugin/public';
|
||||
export { useRequest } from '@kbn/es-ui-shared-plugin/public';
|
||||
|
||||
export { KibanaContextProvider } from '@kbn/kibana-react-plugin/public';
|
||||
|
||||
import { useKibana as _useKibana } from '@kbn/kibana-react-plugin/public';
|
||||
import type { KibanaContext } from './types';
|
||||
export const useKibana = () => _useKibana<KibanaContext>();
|
||||
|
||||
export type { SerializableRecord } from '@kbn/utility-types';
|
||||
|
||||
export type { UiActionsSetup, UiActionsStart } from '@kbn/ui-actions-plugin/public';
|
||||
|
|
|
@ -5,11 +5,8 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import type { CoreSetup, CoreStart } from '@kbn/core/public';
|
||||
import type { DataPublicPluginStart } from '@kbn/data-plugin/public';
|
||||
import { JOB_STATUS } from '@kbn/reporting-common';
|
||||
import type { JobId, ReportOutput, ReportSource, TaskRunResult } from '@kbn/reporting-common/types';
|
||||
import type { SharePluginStart } from '@kbn/share-plugin/public';
|
||||
|
||||
/*
|
||||
* Notifier Toasts
|
||||
|
@ -33,15 +30,3 @@ export interface JobSummarySet {
|
|||
completed: JobSummary[];
|
||||
failed: JobSummary[];
|
||||
}
|
||||
|
||||
/* Services received through useKibana context
|
||||
* @internal
|
||||
*/
|
||||
export interface KibanaContext {
|
||||
http: CoreSetup['http'];
|
||||
application: CoreStart['application'];
|
||||
uiSettings: CoreStart['uiSettings'];
|
||||
docLinks: CoreStart['docLinks'];
|
||||
data: DataPublicPluginStart;
|
||||
share: SharePluginStart;
|
||||
}
|
||||
|
|
|
@ -47,9 +47,10 @@ import type {
|
|||
} from '@kbn/task-manager-plugin/server';
|
||||
import type { UsageCounter } from '@kbn/usage-collection-plugin/server';
|
||||
|
||||
import { checkLicense } from '@kbn/reporting-server/check_license';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import type { ReportingSetup } from '.';
|
||||
import { createConfig } from './config';
|
||||
import { ExportTypesRegistry, checkLicense } from './lib';
|
||||
import { reportingEventLoggerFactory } from './lib/event_logger/logger';
|
||||
import type { IReport, ReportingStore } from './lib/store';
|
||||
import { ExecuteReportTask, ReportTaskParams } from './lib/tasks';
|
||||
|
|
|
@ -7,8 +7,7 @@
|
|||
|
||||
import { DeprecationsDetails, GetDeprecationsContext } from '@kbn/core/server';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { ILM_POLICY_NAME } from '@kbn/reporting-common';
|
||||
import { INTERNAL_ROUTES } from '../../common/constants';
|
||||
import { ILM_POLICY_NAME, INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import { ReportingCore } from '../core';
|
||||
import { deprecations } from '../lib/deprecations';
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { ExportTypesRegistry } from './export_types_registry';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
|
||||
describe('ExportTypesRegistry', function () {
|
||||
let exportTypesRegistry;
|
||||
|
|
|
@ -5,10 +5,8 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
export { checkLicense } from './check_license';
|
||||
export { checkParamsVersion } from './check_params_version';
|
||||
export { ContentStream, getContentStream } from './content_stream';
|
||||
export { ExportTypesRegistry } from './export_types_registry';
|
||||
export { PassThroughStream } from './passthrough_stream';
|
||||
export { ReportingStore, IlmPolicyManager } from './store';
|
||||
export { startTrace } from './trace';
|
||||
|
|
|
@ -37,6 +37,7 @@ import type {
|
|||
} from '@kbn/task-manager-plugin/server';
|
||||
import { throwRetryableError } from '@kbn/task-manager-plugin/server';
|
||||
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import {
|
||||
REPORTING_EXECUTE_TYPE,
|
||||
ReportTaskParams,
|
||||
|
@ -44,7 +45,7 @@ import {
|
|||
ReportingTaskStatus,
|
||||
TIME_BETWEEN_ATTEMPTS,
|
||||
} from '.';
|
||||
import { ExportTypesRegistry, getContentStream } from '..';
|
||||
import { getContentStream } from '..';
|
||||
import type { ReportingCore } from '../..';
|
||||
import {
|
||||
isExecutionError,
|
||||
|
|
|
@ -14,10 +14,10 @@ import { PDF_REPORT_TYPE, PDF_REPORT_TYPE_V2 } from '@kbn/reporting-export-types
|
|||
import { PNG_REPORT_TYPE_V2 } from '@kbn/reporting-export-types-png-common';
|
||||
|
||||
import type { ReportingCore, ReportingInternalStart } from './core';
|
||||
import { ExportTypesRegistry } from './lib/export_types_registry';
|
||||
import { ReportingPlugin } from './plugin';
|
||||
import { createMockPluginSetup, createMockPluginStart } from './test_helpers';
|
||||
import type { ReportingSetupDeps } from './types';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
|
||||
const sleep = (time: number) => new Promise((r) => setTimeout(r, time));
|
||||
|
||||
|
@ -87,7 +87,7 @@ describe('Reporting Plugin', () => {
|
|||
});
|
||||
|
||||
describe('config and export types registration', () => {
|
||||
jest.mock('./lib/export_types_registry');
|
||||
jest.mock('@kbn/reporting-server/export_types_registry');
|
||||
ExportTypesRegistry.prototype.getAll = jest.fn(() => []); // code breaks if getAll returns undefined
|
||||
let registerSpy: jest.SpyInstance;
|
||||
|
||||
|
|
|
@ -11,13 +11,13 @@ import moment from 'moment';
|
|||
import { schema, TypeOf } from '@kbn/config-schema';
|
||||
import type { KibanaRequest, KibanaResponseFactory, Logger } from '@kbn/core/server';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { PUBLIC_ROUTES } from '@kbn/reporting-common';
|
||||
import type { BaseParams } from '@kbn/reporting-common/types';
|
||||
import { cryptoFactory } from '@kbn/reporting-server';
|
||||
import rison from '@kbn/rison';
|
||||
|
||||
import { Counters, getCounters } from '..';
|
||||
import { type Counters, getCounters } from '..';
|
||||
import type { ReportingCore } from '../../..';
|
||||
import { PUBLIC_ROUTES } from '../../../../common/constants';
|
||||
import { checkParamsVersion } from '../../../lib';
|
||||
import { Report } from '../../../lib/store';
|
||||
import type {
|
||||
|
|
|
@ -6,9 +6,8 @@
|
|||
*/
|
||||
import { errors } from '@elastic/elasticsearch';
|
||||
import type { Logger, RequestHandler } from '@kbn/core/server';
|
||||
import { ILM_POLICY_NAME } from '@kbn/reporting-common';
|
||||
import { ILM_POLICY_NAME, INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import type { IlmPolicyStatusResponse } from '@kbn/reporting-common/url';
|
||||
import { INTERNAL_ROUTES } from '../../../../common/constants';
|
||||
import type { ReportingCore } from '../../../core';
|
||||
import { IlmPolicyManager } from '../../../lib';
|
||||
import { deprecations } from '../../../lib/deprecations';
|
||||
|
|
|
@ -8,10 +8,10 @@
|
|||
import { setupServer } from '@kbn/core-test-helpers-test-utils';
|
||||
import { loggingSystemMock } from '@kbn/core/server/mocks';
|
||||
import { licensingMock } from '@kbn/licensing-plugin/server/mocks';
|
||||
import { INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import { createMockConfigSchema } from '@kbn/reporting-mocks-server';
|
||||
import { securityMock } from '@kbn/security-plugin/server/mocks';
|
||||
import supertest from 'supertest';
|
||||
import { INTERNAL_ROUTES } from '../../../../../common/constants';
|
||||
import {
|
||||
createMockPluginSetup,
|
||||
createMockPluginStart,
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
|
||||
import type { DocLinksServiceSetup, Logger } from '@kbn/core/server';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
import { INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import { lastValueFrom } from 'rxjs';
|
||||
import type { DiagnosticResponse } from '.';
|
||||
import type { ReportingCore } from '../../..';
|
||||
import { INTERNAL_ROUTES } from '../../../../common/constants';
|
||||
import { authorizedUserPreRouting, getCounters } from '../../common';
|
||||
|
||||
const logsToHelpMapFactory = (docLinks: DocLinksServiceSetup) => ({
|
||||
|
|
|
@ -10,11 +10,11 @@ import supertest from 'supertest';
|
|||
|
||||
import { setupServer } from '@kbn/core-test-helpers-test-utils';
|
||||
import { docLinksServiceMock, loggingSystemMock } from '@kbn/core/server/mocks';
|
||||
import { ScreenshottingStart } from '@kbn/screenshotting-plugin/server';
|
||||
import { INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import { createMockConfigSchema } from '@kbn/reporting-mocks-server';
|
||||
import { ScreenshottingStart } from '@kbn/screenshotting-plugin/server';
|
||||
import { IUsageCounter } from '@kbn/usage-collection-plugin/server/usage_counters/usage_counter';
|
||||
import { ReportingCore } from '../../../..';
|
||||
import { INTERNAL_ROUTES } from '../../../../../common/constants';
|
||||
import { reportingMock } from '../../../../mocks';
|
||||
import { createMockPluginSetup, createMockReportingCore } from '../../../../test_helpers';
|
||||
import { ReportingRequestHandlerContext } from '../../../../types';
|
||||
|
|
|
@ -10,12 +10,12 @@ import moment from 'moment';
|
|||
|
||||
import { schema } from '@kbn/config-schema';
|
||||
import type { KibanaRequest, Logger } from '@kbn/core/server';
|
||||
import { INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import {
|
||||
CSV_SEARCHSOURCE_IMMEDIATE_TYPE,
|
||||
JobParamsDownloadCSV,
|
||||
} from '@kbn/reporting-export-types-csv-common';
|
||||
import type { ReportingCore } from '../../..';
|
||||
import { INTERNAL_ROUTES } from '../../../../common/constants';
|
||||
import { PassThroughStream } from '../../../lib';
|
||||
import { authorizedUserPreRouting, getCounters } from '../../common';
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
|
||||
import { KibanaResponse } from '@kbn/core-http-router-server-internal';
|
||||
import type { Logger } from '@kbn/core/server';
|
||||
import { INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import type { ReportingCore } from '../../..';
|
||||
import { INTERNAL_ROUTES } from '../../../../common/constants';
|
||||
import { authorizedUserPreRouting } from '../../common';
|
||||
import { RequestHandler } from '../../common/generate';
|
||||
|
||||
|
|
|
@ -12,14 +12,14 @@ import supertest from 'supertest';
|
|||
import { setupServer } from '@kbn/core-test-helpers-test-utils';
|
||||
import { coreMock, loggingSystemMock } from '@kbn/core/server/mocks';
|
||||
import { licensingMock } from '@kbn/licensing-plugin/server/mocks';
|
||||
import { INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import { PdfExportType } from '@kbn/reporting-export-types-pdf';
|
||||
import { createMockConfigSchema } from '@kbn/reporting-mocks-server';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import { IUsageCounter } from '@kbn/usage-collection-plugin/server/usage_counters/usage_counter';
|
||||
|
||||
import { ReportingCore } from '../../../..';
|
||||
import { INTERNAL_ROUTES } from '../../../../../common/constants';
|
||||
import { ReportingStore } from '../../../../lib';
|
||||
import { ExportTypesRegistry } from '../../../../lib/export_types_registry';
|
||||
import { Report } from '../../../../lib/store';
|
||||
import { reportingMock } from '../../../../mocks';
|
||||
import {
|
||||
|
|
|
@ -17,14 +17,15 @@ import { estypes } from '@elastic/elasticsearch';
|
|||
import { setupServer } from '@kbn/core-test-helpers-test-utils';
|
||||
import { ElasticsearchClientMock, coreMock } from '@kbn/core/server/mocks';
|
||||
import { licensingMock } from '@kbn/licensing-plugin/server/mocks';
|
||||
import { INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import { createMockConfigSchema } from '@kbn/reporting-mocks-server';
|
||||
import { ExportType } from '@kbn/reporting-server';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import { IUsageCounter } from '@kbn/usage-collection-plugin/server/usage_counters/usage_counter';
|
||||
|
||||
import { ReportingCore } from '../../../..';
|
||||
import { INTERNAL_ROUTES } from '../../../../../common/constants';
|
||||
import { ReportingInternalSetup, ReportingInternalStart } from '../../../../core';
|
||||
import { ContentStream, ExportTypesRegistry, getContentStream } from '../../../../lib';
|
||||
import { ContentStream, getContentStream } from '../../../../lib';
|
||||
import { reportingMock } from '../../../../mocks';
|
||||
import {
|
||||
createMockPluginSetup,
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
*/
|
||||
|
||||
import { schema } from '@kbn/config-schema';
|
||||
import { INTERNAL_ROUTES } from '@kbn/reporting-common';
|
||||
import { ROUTE_TAG_CAN_REDIRECT } from '@kbn/security-plugin/server';
|
||||
import { ReportingCore } from '../../..';
|
||||
import { INTERNAL_ROUTES } from '../../../../common/constants';
|
||||
import { authorizedUserPreRouting, getCounters } from '../../common';
|
||||
import { handleUnavailable } from '../../common/generate';
|
||||
import {
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
|
||||
import { KibanaResponse } from '@kbn/core-http-router-server-internal';
|
||||
import type { Logger } from '@kbn/core/server';
|
||||
import { PUBLIC_ROUTES } from '@kbn/reporting-common';
|
||||
import type { ReportingCore } from '../..';
|
||||
import { PUBLIC_ROUTES } from '../../../common/constants';
|
||||
import { authorizedUserPreRouting } from '../common';
|
||||
import { RequestHandler } from '../common/generate';
|
||||
|
||||
|
|
|
@ -12,13 +12,13 @@ import supertest from 'supertest';
|
|||
import { setupServer } from '@kbn/core-test-helpers-test-utils';
|
||||
import { coreMock, loggingSystemMock } from '@kbn/core/server/mocks';
|
||||
import { licensingMock } from '@kbn/licensing-plugin/server/mocks';
|
||||
import { PUBLIC_ROUTES } from '@kbn/reporting-common';
|
||||
import { PdfExportType } from '@kbn/reporting-export-types-pdf';
|
||||
import { createMockConfigSchema } from '@kbn/reporting-mocks-server';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import { IUsageCounter } from '@kbn/usage-collection-plugin/server/usage_counters/usage_counter';
|
||||
import { ReportingCore } from '../../..';
|
||||
import { PUBLIC_ROUTES } from '../../../../common/constants';
|
||||
import { ReportingStore } from '../../../lib';
|
||||
import { ExportTypesRegistry } from '../../../lib/export_types_registry';
|
||||
import { Report } from '../../../lib/store';
|
||||
import { reportingMock } from '../../../mocks';
|
||||
import {
|
||||
|
|
|
@ -17,14 +17,14 @@ import { estypes } from '@elastic/elasticsearch';
|
|||
import { setupServer } from '@kbn/core-test-helpers-test-utils';
|
||||
import { coreMock, type ElasticsearchClientMock } from '@kbn/core/server/mocks';
|
||||
import { licensingMock } from '@kbn/licensing-plugin/server/mocks';
|
||||
import { PUBLIC_ROUTES } from '@kbn/reporting-common';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import { createMockConfigSchema } from '@kbn/reporting-mocks-server';
|
||||
import type { ExportType } from '@kbn/reporting-server';
|
||||
import { IUsageCounter } from '@kbn/usage-collection-plugin/server/usage_counters/usage_counter';
|
||||
|
||||
import { ReportingCore } from '../../..';
|
||||
import { PUBLIC_ROUTES } from '../../../../common/constants';
|
||||
import { ReportingInternalSetup, ReportingInternalStart } from '../../../core';
|
||||
import { ContentStream, ExportTypesRegistry, getContentStream } from '../../../lib';
|
||||
import { ContentStream, getContentStream } from '../../../lib';
|
||||
import { reportingMock } from '../../../mocks';
|
||||
import {
|
||||
createMockPluginSetup,
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { PUBLIC_ROUTES } from '@kbn/reporting-common';
|
||||
import { ROUTE_TAG_CAN_REDIRECT } from '@kbn/security-plugin/server';
|
||||
import { ReportingCore } from '../..';
|
||||
import { PUBLIC_ROUTES } from '../../../common/constants';
|
||||
import { authorizedUserPreRouting } from '../common';
|
||||
import { commonJobsRouteHandlerFactory } from '../common/jobs';
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ import type {
|
|||
} from '@kbn/task-manager-plugin/server';
|
||||
import type { UsageCollectionSetup } from '@kbn/usage-collection-plugin/server';
|
||||
|
||||
import { ExportTypesRegistry } from './lib';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
|
||||
/**
|
||||
* Plugin Setup Contract
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import { createMockConfigSchema } from '@kbn/reporting-mocks-server';
|
||||
import { ExportTypesRegistry } from '../lib';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import { createMockReportingCore } from '../test_helpers';
|
||||
import { getExportStats } from './get_export_stats';
|
||||
import { getExportTypesHandler } from './get_export_type_handler';
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { ExportTypesRegistry } from '../lib/export_types_registry';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import { FeaturesAvailability } from '.';
|
||||
import { JobTypes } from './types';
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey';
|
|||
import type { ElasticsearchClient } from '@kbn/core/server';
|
||||
import { REPORTING_SYSTEM_INDEX } from '@kbn/reporting-common';
|
||||
import { get, pick } from 'lodash';
|
||||
import type { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import type { GetLicense } from '.';
|
||||
import type { ExportTypesRegistry } from '../lib/export_types_registry';
|
||||
import {
|
||||
FIELD_EXECUTION_TIME_MS,
|
||||
FIELD_QUEUE_TIME_MS,
|
||||
|
|
|
@ -14,7 +14,7 @@ import {
|
|||
usageCollectionPluginMock,
|
||||
} from '@kbn/usage-collection-plugin/server/mocks';
|
||||
import { FeaturesAvailability } from '.';
|
||||
import { ExportTypesRegistry } from '../lib';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import { createMockReportingCore } from '../test_helpers';
|
||||
import {
|
||||
getReportingUsageCollector,
|
||||
|
|
|
@ -8,9 +8,9 @@
|
|||
import { CollectorFetchContext, UsageCollectionSetup } from '@kbn/usage-collection-plugin/server';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { ExportTypesRegistry } from '@kbn/reporting-server/export_types_registry';
|
||||
import { GetLicense } from '.';
|
||||
import { ReportingCore } from '..';
|
||||
import { ExportTypesRegistry } from '../lib/export_types_registry';
|
||||
import { getReportingUsage } from './get_reporting_usage';
|
||||
import { reportingSchema } from './schema';
|
||||
import { ReportingUsageType } from './types';
|
||||
|
|
|
@ -38,13 +38,13 @@
|
|||
"@kbn/reporting-common",
|
||||
"@kbn/saved-search-plugin",
|
||||
"@kbn/core-http-router-server-internal",
|
||||
"@kbn/reporting-public",
|
||||
"@kbn/reporting-server",
|
||||
"@kbn/reporting-export-types-csv",
|
||||
"@kbn/reporting-export-types-pdf",
|
||||
"@kbn/reporting-export-types-png",
|
||||
"@kbn/reporting-export-types-pdf-common",
|
||||
"@kbn/reporting-export-types-csv-common",
|
||||
"@kbn/core-http-common",
|
||||
"@kbn/react-kibana-context-theme",
|
||||
"@kbn/reporting-export-types-png-common",
|
||||
"@kbn/reporting-mocks-server",
|
||||
|
|
|
@ -29747,7 +29747,7 @@
|
|||
"xpack.remoteClusters.requestFlyout.unnamedTitle": "Requête",
|
||||
"xpack.remoteClusters.updateRemoteCluster.noRemoteClusterErrorMessage": "Aucun cluster distant ne porte ce nom.",
|
||||
"xpack.remoteClusters.updateRemoteCluster.unknownRemoteClusterErrorMessage": "Impossible de modifier le cluster, aucune réponse renvoyée d'ES.",
|
||||
"xpack.reporting.apiClient.unknownError": "La tâche de reporting {job} a échoué. Erreur inconnue.",
|
||||
"reporting.apiClient.unknownError": "La tâche de reporting {job} a échoué. Erreur inconnue.",
|
||||
"xpack.reporting.deprecations.migrateIndexIlmPolicy.manualStepOneMessage": "Mettez à jour tous les index de reporting de façon à ce qu'ils utilisent la politique \"{reportingIlmPolicy}\" à l'aide de l'API de paramètres des index.",
|
||||
"xpack.reporting.deprecations.migrateIndexIlmPolicyActionMessage": "Les nouveaux index de reporting seront gérés par la politique ILM provisionnée \"{reportingIlmPolicy}\". Vous devez modifier cette politique pour gérer le cycle de vie des rapports. Cette modification vise tous les index possédant le préfixe \"{indexPattern}\".",
|
||||
"xpack.reporting.deprecations.reportingRoleMappings.manualStepFive": "Supprimez le rôle \"reporting_user\" pour tous les mappings de rôle et ajoutez le rôle personnalisé. Les mappings de rôle concernés sont les suivants : {roleMappings}.",
|
||||
|
@ -29760,8 +29760,8 @@
|
|||
"xpack.reporting.diagnostic.noUsableSandbox": "Impossible d'utiliser la sandbox Chromium. Vous pouvez la désactiver à vos risques et périls avec \"xpack.screenshotting.browser.chromium.disableSandbox\". Veuillez consulter {url}",
|
||||
"xpack.reporting.jobResponse.errorHandler.notAuthorized": "Désolé, vous n'êtes pas autorisé à afficher ou supprimer les rapports {jobtype}",
|
||||
"xpack.reporting.jobsQuery.deleteError": "Impossible de supprimer le rapport : {error}",
|
||||
"xpack.reporting.jobStatusDetail.attemptXofY": "Tentative {attempts} sur {max_attempts}.",
|
||||
"xpack.reporting.jobStatusDetail.timeoutSeconds": "{timeout} secondes",
|
||||
"reporting.jobStatusDetail.attemptXofY": "Tentative {attempts} sur {max_attempts}.",
|
||||
"reporting.jobStatusDetail.timeoutSeconds": "{timeout} secondes",
|
||||
"xpack.reporting.listing.diagnosticApiCallFailure": "Un problème est survenu lors de l'exécution du diagnostic : {error}",
|
||||
"xpack.reporting.listing.ilmPolicyCallout.migrateIndicesButtonLabel": "Appliquer la politique {ilmPolicyName}",
|
||||
"xpack.reporting.listing.ilmPolicyCallout.migrationNeededDescription": "Pour vous assurer que vos rapports sont gérés de façon cohérente, tous les index de reporting doivent utiliser la politique {ilmPolicyName}.",
|
||||
|
@ -29773,10 +29773,10 @@
|
|||
"xpack.reporting.listing.table.deleteFailedErrorMessage": "Le rapport n'a pas été supprimé : {error}",
|
||||
"xpack.reporting.listing.table.deleteNumConfirmTitle": "Supprimer {num} rapports ?",
|
||||
"xpack.reporting.listing.table.deleteReportButton": "Supprimer {num, plural, one {rapport} many {les rapports} other {les rapports}}",
|
||||
"xpack.reporting.panelContent.generateButtonLabel": "Générer {reportingType}",
|
||||
"xpack.reporting.panelContent.generationTimeDescription": "La génération des {reportingType} peut prendre une ou deux minutes en fonction de la taille de votre {objectType}.",
|
||||
"xpack.reporting.panelContent.successfullyQueuedReportNotificationDescription": "Suivre sa progression dans {path}.",
|
||||
"xpack.reporting.panelContent.successfullyQueuedReportNotificationTitle": "Rapport mis en file d'attente pour {objectType}",
|
||||
"reporting.share.panelContent.generateButtonLabel": "Générer {reportingType}",
|
||||
"reporting.share.panelContent.generationTimeDescription": "La génération des {reportingType} peut prendre une ou deux minutes en fonction de la taille de votre {objectType}.",
|
||||
"reporting.share.panelContent.successfullyQueuedReportNotificationDescription": "Suivre sa progression dans {path}.",
|
||||
"reporting.share.panelContent.successfullyQueuedReportNotificationTitle": "Rapport mis en file d'attente pour {objectType}",
|
||||
"xpack.reporting.publicNotifier.csvContainsFormulas.formulaReportTitle": "{reportType} peut contenir des formules",
|
||||
"xpack.reporting.publicNotifier.error.checkManagement": "Accédez à {path} pour plus d'informations.",
|
||||
"xpack.reporting.publicNotifier.reportLinkDescription": "Téléchargez-le maintenant ou retrouvez-le ultérieurement sous {path}.",
|
||||
|
@ -29812,25 +29812,25 @@
|
|||
"xpack.reporting.deprecations.reportingRoleUsers.manualStepThree": "Sous Gestion > Sécurité > Rôles, créez un ou plusieurs rôles permettant d'accorder le privilège de l'application Kibana à Reporting.",
|
||||
"xpack.reporting.deprecations.reportingRoleUsers.manualStepTwo": "Supprimez le paramètre \"xpack.reporting.roles.allow\" du fichier kibana.yml, le cas échéant.",
|
||||
"xpack.reporting.errorHandler.unknownError": "Erreur inconnue",
|
||||
"xpack.reporting.jobCreatedBy.unknownUserPlaceholderText": "Inconnu",
|
||||
"reporting.jobCreatedBy.unknownUserPlaceholderText": "Inconnu",
|
||||
"xpack.reporting.jobResponse.errorHandler.unknownError": "Erreur inconnue",
|
||||
"xpack.reporting.jobStatusDetail.deprecatedText": "Il s'agit d'un type d'exportation déclassé. L'automatisation de ce rapport devra être à nouveau créée pour une question de compatibilité avec les futures versions de Kibana.",
|
||||
"xpack.reporting.jobStatusDetail.errorText": "Consultez les informations de rapport pour plus de détails sur l'erreur.",
|
||||
"xpack.reporting.jobStatusDetail.pendingStatusReachedText": "En attente du traitement de la tâche.",
|
||||
"xpack.reporting.jobStatusDetail.timeoutSecondsUnknown": "Inconnu",
|
||||
"xpack.reporting.jobStatusDetail.unknownText": "Inconnu",
|
||||
"xpack.reporting.jobStatusDetail.warningsText": "Consultez les informations de rapport pour plus de détails sur les avertissements.",
|
||||
"xpack.reporting.jobStatuses.completedText": "Terminé",
|
||||
"xpack.reporting.jobStatuses.failedText": "Échoué",
|
||||
"xpack.reporting.jobStatuses.pendingText": "En attente",
|
||||
"xpack.reporting.jobStatuses.processingText": "Traitement",
|
||||
"xpack.reporting.jobStatuses.warningText": "Terminé",
|
||||
"xpack.reporting.jobType.csvOutputName": "CSV",
|
||||
"xpack.reporting.jobType.pdfOutputName": "PDF",
|
||||
"xpack.reporting.jobType.pngOutputName": "PNG",
|
||||
"xpack.reporting.jobWarning.csvContainsFormulas": "Votre fichier CSV contient des caractères que les applications de feuilles de calcul pourraient considérer comme des formules.",
|
||||
"xpack.reporting.jobWarning.exportTypeDeprecated": "Il s'agit d'un type d'exportation déclassé. L'automatisation de ce rapport devra être à nouveau créée pour une question de compatibilité avec les futures versions de Kibana.",
|
||||
"xpack.reporting.jobWarning.maxSizeReachedTooltip": "Votre recherche a atteint la taille maximale et contient des données partielles.",
|
||||
"reporting.jobStatusDetail.deprecatedText": "Il s'agit d'un type d'exportation déclassé. L'automatisation de ce rapport devra être à nouveau créée pour une question de compatibilité avec les futures versions de Kibana.",
|
||||
"reporting.jobStatusDetail.errorText": "Consultez les informations de rapport pour plus de détails sur l'erreur.",
|
||||
"reporting.jobStatusDetail.pendingStatusReachedText": "En attente du traitement de la tâche.",
|
||||
"reporting.jobStatusDetail.timeoutSecondsUnknown": "Inconnu",
|
||||
"reporting.jobStatusDetail.unknownText": "Inconnu",
|
||||
"reporting.jobStatusDetail.warningsText": "Consultez les informations de rapport pour plus de détails sur les avertissements.",
|
||||
"reporting.jobStatuses.completedText": "Terminé",
|
||||
"reporting.jobStatuses.failedText": "Échoué",
|
||||
"reporting.jobStatuses.pendingText": "En attente",
|
||||
"reporting.jobStatuses.processingText": "Traitement",
|
||||
"reporting.jobStatuses.warningText": "Terminé",
|
||||
"reporting.jobType.csvOutputName": "CSV",
|
||||
"reporting.jobType.pdfOutputName": "PDF",
|
||||
"reporting.jobType.pngOutputName": "PNG",
|
||||
"reporting.jobWarning.csvContainsFormulas": "Votre fichier CSV contient des caractères que les applications de feuilles de calcul pourraient considérer comme des formules.",
|
||||
"reporting.jobWarning.exportTypeDeprecated": "Il s'agit d'un type d'exportation déclassé. L'automatisation de ce rapport devra être à nouveau créée pour une question de compatibilité avec les futures versions de Kibana.",
|
||||
"reporting.jobWarning.maxSizeReachedTooltip": "Votre recherche a atteint la taille maximale et contient des données partielles.",
|
||||
"xpack.reporting.listing.diagnosticBrowserButton": "Vérifier le navigateur",
|
||||
"xpack.reporting.listing.diagnosticBrowserMessage": "Le reporting utilise un navigateur sans affichage pour générer les fichiers PDF et PNG. Confirmez que le navigateur peut réussir à se lancer.",
|
||||
"xpack.reporting.listing.diagnosticBrowserTitle": "Vérifier le navigateur",
|
||||
|
@ -29901,16 +29901,16 @@
|
|||
"xpack.reporting.listing.tableColumns.statusTitle": "Statut",
|
||||
"xpack.reporting.listing.tableColumns.typeTitle": "Type",
|
||||
"xpack.reporting.management.reportingTitle": "Reporting",
|
||||
"xpack.reporting.panelContent.advancedOptions": "Options avancées",
|
||||
"xpack.reporting.panelContent.copyUrlButtonLabel": "Copier l'URL POST",
|
||||
"xpack.reporting.panelContent.howToCallGenerationDescription": "Sinon, copiez cette URL POST pour appeler la génération depuis l'extérieur de Kibana ou à partir de Watcher.",
|
||||
"xpack.reporting.panelContent.notification.reportingErrorTitle": "Impossible de créer le rapport",
|
||||
"xpack.reporting.panelContent.saveWorkDescription": "Veuillez enregistrer votre travail avant de générer un rapport.",
|
||||
"xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthDescription": "Impossible de copier cette URL.",
|
||||
"xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthTitle": "URL trop longue",
|
||||
"xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthTrySaveDescription": "Impossible de copier cette URL. Essayez d'enregistrer votre travail.",
|
||||
"xpack.reporting.panelContent.unsavedStateErrorText": "Enregistrez votre travail avant de copier cette URL.",
|
||||
"xpack.reporting.panelContent.unsavedStateErrorTitle": "Travail non enregistré",
|
||||
"reporting.share.panelContent.advancedOptions": "Options avancées",
|
||||
"reporting.share.panelContent.copyUrlButtonLabel": "Copier l'URL POST",
|
||||
"reporting.share.panelContent.howToCallGenerationDescription": "Sinon, copiez cette URL POST pour appeler la génération depuis l'extérieur de Kibana ou à partir de Watcher.",
|
||||
"reporting.share.panelContent.notification.reportingErrorTitle": "Impossible de créer le rapport",
|
||||
"reporting.share.panelContent.saveWorkDescription": "Veuillez enregistrer votre travail avant de générer un rapport.",
|
||||
"reporting.share.panelContent.unsavedStateAndExceedsMaxLengthDescription": "Impossible de copier cette URL.",
|
||||
"reporting.share.panelContent.unsavedStateAndExceedsMaxLengthTitle": "URL trop longue",
|
||||
"reporting.share.panelContent.unsavedStateAndExceedsMaxLengthTrySaveDescription": "Impossible de copier cette URL. Essayez d'enregistrer votre travail.",
|
||||
"reporting.share.panelContent.unsavedStateErrorText": "Enregistrez votre travail avant de copier cette URL.",
|
||||
"reporting.share.panelContent.unsavedStateErrorTitle": "Travail non enregistré",
|
||||
"xpack.reporting.pdfFooterImageDescription": "Image personnalisée à utiliser dans le pied de page du PDF",
|
||||
"xpack.reporting.pdfFooterImageLabel": "Image de pied de page du PDF",
|
||||
"xpack.reporting.publicNotifier.csvContainsFormulas.formulaReportMessage": "Le rapport \"{reportObjectTitle}\" contient des caractères que les applications de feuilles de calcul peuvent considérer comme des formules.",
|
||||
|
@ -29928,13 +29928,13 @@
|
|||
"xpack.reporting.reportInfoFlyout.actionsButtonLabel": "Actions",
|
||||
"xpack.reporting.reportInfoFlyout.downloadButtonLabel": "Télécharger",
|
||||
"xpack.reporting.reportInfoFlyout.openInKibanaAppButtonLabel": "Ouvrir dans Kibana",
|
||||
"xpack.reporting.screenCapturePanelContent.canvasLayoutHelpText": "Supprimer les bordures et le logo de pied de page",
|
||||
"xpack.reporting.screenCapturePanelContent.canvasLayoutLabel": "Mise en page complète",
|
||||
"xpack.reporting.screenCapturePanelContent.optimizeForPrintingHelpText": "Utilise plusieurs pages, affichant au maximum 2 visualisations par page",
|
||||
"xpack.reporting.screenCapturePanelContent.optimizeForPrintingLabel": "Optimiser pour l'impression",
|
||||
"xpack.reporting.shareContextMenu.csvReportsButtonLabel": "Rapports CSV",
|
||||
"xpack.reporting.shareContextMenu.pdfReportsButtonLabel": "Rapports PDF",
|
||||
"xpack.reporting.shareContextMenu.pngReportsButtonLabel": "Rapports PNG",
|
||||
"reporting.share.screenCapturePanelContent.canvasLayoutHelpText": "Supprimer les bordures et le logo de pied de page",
|
||||
"reporting.share.screenCapturePanelContent.canvasLayoutLabel": "Mise en page complète",
|
||||
"reporting.share.screenCapturePanelContent.optimizeForPrintingHelpText": "Utilise plusieurs pages, affichant au maximum 2 visualisations par page",
|
||||
"reporting.share.screenCapturePanelContent.optimizeForPrintingLabel": "Optimiser pour l'impression",
|
||||
"reporting.share.contextMenu.csvReportsButtonLabel": "Rapports CSV",
|
||||
"reporting.share.contextMenu.pdfReportsButtonLabel": "Rapports PDF",
|
||||
"reporting.share.contextMenu.pngReportsButtonLabel": "Rapports PNG",
|
||||
"xpack.reporting.statusIndicator.completedLabel": "Terminé",
|
||||
"xpack.reporting.statusIndicator.completedWithWarningsLabel": "Terminé, avec des avertissements",
|
||||
"xpack.reporting.statusIndicator.failedLabel": "Échoué",
|
||||
|
|
|
@ -29748,7 +29748,7 @@
|
|||
"xpack.remoteClusters.requestFlyout.unnamedTitle": "リクエスト",
|
||||
"xpack.remoteClusters.updateRemoteCluster.noRemoteClusterErrorMessage": "その名前のリモートクラスターはありません。",
|
||||
"xpack.remoteClusters.updateRemoteCluster.unknownRemoteClusterErrorMessage": "ES からレスポンスが返らず、クラスターを編集できません。",
|
||||
"xpack.reporting.apiClient.unknownError": "レポートジョブ{job}が失敗しました。不明なエラーです。",
|
||||
"reporting.apiClient.unknownError": "レポートジョブ{job}が失敗しました。不明なエラーです。",
|
||||
"xpack.reporting.deprecations.migrateIndexIlmPolicy.manualStepOneMessage": "インデックス設定APIを使用して、すべてのレポートインデックスを更新し、\"{reportingIlmPolicy}\"ポリシーを使用します。",
|
||||
"xpack.reporting.deprecations.migrateIndexIlmPolicyActionMessage": "新しいレポートインデックスは\"{reportingIlmPolicy}\"がプロビジョニングしたILMポリシーによって管理されます。レポートライフサイクルを管理するには、このポリシーを編集する必要があります。この変更は\"{indexPattern}\"というプレフィックスが付いたすべてのインデックスが対象です。",
|
||||
"xpack.reporting.deprecations.reportingRoleMappings.manualStepFive": "すべてのロールマッピングから\"reporting_user\"ロールを削除し、カスタムロールを追加します。影響を受けるロールマッピング:{roleMappings}。",
|
||||
|
@ -29761,8 +29761,8 @@
|
|||
"xpack.reporting.diagnostic.noUsableSandbox": "Chromiumサンドボックスを使用できません。これは「xpack.screenshotting.browser.chromium.disableSandbox」で無効にすることができます。この作業はご自身の責任で行ってください。{url}を参照してください",
|
||||
"xpack.reporting.jobResponse.errorHandler.notAuthorized": "{jobtype}レポートを表示または削除する権限がありません",
|
||||
"xpack.reporting.jobsQuery.deleteError": "レポートを削除できません:{error}",
|
||||
"xpack.reporting.jobStatusDetail.attemptXofY": "{max_attempts}回中{attempts}回試行します。",
|
||||
"xpack.reporting.jobStatusDetail.timeoutSeconds": "{timeout}秒",
|
||||
"reporting.jobStatusDetail.attemptXofY": "{max_attempts}回中{attempts}回試行します。",
|
||||
"reporting.jobStatusDetail.timeoutSeconds": "{timeout}秒",
|
||||
"xpack.reporting.listing.diagnosticApiCallFailure": "診断の実行中に問題が発生しました:{error}",
|
||||
"xpack.reporting.listing.ilmPolicyCallout.migrateIndicesButtonLabel": "{ilmPolicyName}ポリシーを適用",
|
||||
"xpack.reporting.listing.ilmPolicyCallout.migrationNeededDescription": "レポートが一貫して管理されることを保証するために、すべてのレポートインデックスは{ilmPolicyName}ポリシーを使用します。",
|
||||
|
@ -29774,10 +29774,10 @@
|
|||
"xpack.reporting.listing.table.deleteFailedErrorMessage": "レポートは削除されませんでした:{error}",
|
||||
"xpack.reporting.listing.table.deleteNumConfirmTitle": "{num}レポートを削除しますか?",
|
||||
"xpack.reporting.listing.table.deleteReportButton": "{num, plural, other {レポート}}削除",
|
||||
"xpack.reporting.panelContent.generateButtonLabel": "{reportingType}を生成",
|
||||
"xpack.reporting.panelContent.generationTimeDescription": "{objectType} のサイズによって、{reportingType} の作成には数分かかる場合があります。",
|
||||
"xpack.reporting.panelContent.successfullyQueuedReportNotificationDescription": "{path}で進捗状況を追跡します。",
|
||||
"xpack.reporting.panelContent.successfullyQueuedReportNotificationTitle": "{objectType}のレポートキュー",
|
||||
"reporting.share.panelContent.generateButtonLabel": "{reportingType}を生成",
|
||||
"reporting.share.panelContent.generationTimeDescription": "{objectType} のサイズによって、{reportingType} の作成には数分かかる場合があります。",
|
||||
"reporting.share.panelContent.successfullyQueuedReportNotificationDescription": "{path}で進捗状況を追跡します。",
|
||||
"reporting.share.panelContent.successfullyQueuedReportNotificationTitle": "{objectType}のレポートキュー",
|
||||
"xpack.reporting.publicNotifier.csvContainsFormulas.formulaReportTitle": "{reportType}には式を含めることができます",
|
||||
"xpack.reporting.publicNotifier.error.checkManagement": "詳細については、{path}にアクセスしてください。",
|
||||
"xpack.reporting.publicNotifier.reportLinkDescription": "今すぐダウンロードするか、後から{path}でダウンロードできます。",
|
||||
|
@ -29813,25 +29813,25 @@
|
|||
"xpack.reporting.deprecations.reportingRoleUsers.manualStepThree": "[管理]>[セキュリティ]>[ロール]から、レポートのKibanaアプリケーション権限を付与する1つ以上のロールを作成します。",
|
||||
"xpack.reporting.deprecations.reportingRoleUsers.manualStepTwo": "存在する場合は、kibana.ymlで「xpack.reporting.roles.allow」を削除します。",
|
||||
"xpack.reporting.errorHandler.unknownError": "不明なエラー",
|
||||
"xpack.reporting.jobCreatedBy.unknownUserPlaceholderText": "不明",
|
||||
"reporting.jobCreatedBy.unknownUserPlaceholderText": "不明",
|
||||
"xpack.reporting.jobResponse.errorHandler.unknownError": "不明なエラー",
|
||||
"xpack.reporting.jobStatusDetail.deprecatedText": "これは廃止予定のエクスポートタイプです。将来のバージョンのKibanaとの互換性のためには、このレポートの自動化を再作成する必要があります。",
|
||||
"xpack.reporting.jobStatusDetail.errorText": "エラー詳細についてはレポート情報を参照してください。",
|
||||
"xpack.reporting.jobStatusDetail.pendingStatusReachedText": "ジョブの処理を待機しています。",
|
||||
"xpack.reporting.jobStatusDetail.timeoutSecondsUnknown": "不明",
|
||||
"xpack.reporting.jobStatusDetail.unknownText": "不明",
|
||||
"xpack.reporting.jobStatusDetail.warningsText": "警告についてはレポート情報を参照してください。",
|
||||
"xpack.reporting.jobStatuses.completedText": "完了",
|
||||
"xpack.reporting.jobStatuses.failedText": "失敗",
|
||||
"xpack.reporting.jobStatuses.pendingText": "保留中",
|
||||
"xpack.reporting.jobStatuses.processingText": "処理中",
|
||||
"xpack.reporting.jobStatuses.warningText": "完了",
|
||||
"xpack.reporting.jobType.csvOutputName": "CSV",
|
||||
"xpack.reporting.jobType.pdfOutputName": "PDF",
|
||||
"xpack.reporting.jobType.pngOutputName": "PNG",
|
||||
"xpack.reporting.jobWarning.csvContainsFormulas": "CSVには、スプレッドシートアプリケーションで式と解釈される可能性のある文字が含まれています。",
|
||||
"xpack.reporting.jobWarning.exportTypeDeprecated": "これは廃止予定のエクスポートタイプです。将来のバージョンのKibanaとの互換性のためには、このレポートの自動化を再作成する必要があります。",
|
||||
"xpack.reporting.jobWarning.maxSizeReachedTooltip": "レポートが最大サイズに達し、部分データが含まれています。",
|
||||
"reporting.jobStatusDetail.deprecatedText": "これは廃止予定のエクスポートタイプです。将来のバージョンのKibanaとの互換性のためには、このレポートの自動化を再作成する必要があります。",
|
||||
"reporting.jobStatusDetail.errorText": "エラー詳細についてはレポート情報を参照してください。",
|
||||
"reporting.jobStatusDetail.pendingStatusReachedText": "ジョブの処理を待機しています。",
|
||||
"reporting.jobStatusDetail.timeoutSecondsUnknown": "不明",
|
||||
"reporting.jobStatusDetail.unknownText": "不明",
|
||||
"reporting.jobStatusDetail.warningsText": "警告についてはレポート情報を参照してください。",
|
||||
"reporting.jobStatuses.completedText": "完了",
|
||||
"reporting.jobStatuses.failedText": "失敗",
|
||||
"reporting.jobStatuses.pendingText": "保留中",
|
||||
"reporting.jobStatuses.processingText": "処理中",
|
||||
"reporting.jobStatuses.warningText": "完了",
|
||||
"reporting.jobType.csvOutputName": "CSV",
|
||||
"reporting.jobType.pdfOutputName": "PDF",
|
||||
"reporting.jobType.pngOutputName": "PNG",
|
||||
"reporting.jobWarning.csvContainsFormulas": "CSVには、スプレッドシートアプリケーションで式と解釈される可能性のある文字が含まれています。",
|
||||
"reporting.jobWarning.exportTypeDeprecated": "これは廃止予定のエクスポートタイプです。将来のバージョンのKibanaとの互換性のためには、このレポートの自動化を再作成する必要があります。",
|
||||
"reporting.jobWarning.maxSizeReachedTooltip": "レポートが最大サイズに達し、部分データが含まれています。",
|
||||
"xpack.reporting.listing.diagnosticBrowserButton": "ブラウザーを確認",
|
||||
"xpack.reporting.listing.diagnosticBrowserMessage": "レポートはヘッドレスブラウザーを使用して、PDFとPNGを生成します。ブラウザーを正常に起動できることを確認してください。",
|
||||
"xpack.reporting.listing.diagnosticBrowserTitle": "ブラウザーを確認",
|
||||
|
@ -29902,16 +29902,16 @@
|
|||
"xpack.reporting.listing.tableColumns.statusTitle": "ステータス",
|
||||
"xpack.reporting.listing.tableColumns.typeTitle": "型",
|
||||
"xpack.reporting.management.reportingTitle": "レポート",
|
||||
"xpack.reporting.panelContent.advancedOptions": "高度なオプション",
|
||||
"xpack.reporting.panelContent.copyUrlButtonLabel": "POST URL をコピー",
|
||||
"xpack.reporting.panelContent.howToCallGenerationDescription": "POST URL をコピーして Kibana 外または ウォッチャー から生成を実行することもできます。",
|
||||
"xpack.reporting.panelContent.notification.reportingErrorTitle": "レポートを作成できません",
|
||||
"xpack.reporting.panelContent.saveWorkDescription": "レポートの生成前に変更内容を保存してください。",
|
||||
"xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthDescription": "このURLはコピーできません。",
|
||||
"xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthTitle": "URLが長すぎます",
|
||||
"xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthTrySaveDescription": "このURLはコピーできません。作業内容を保存してください。",
|
||||
"xpack.reporting.panelContent.unsavedStateErrorText": "このURLをコピーする前に作業内容を保存してください。",
|
||||
"xpack.reporting.panelContent.unsavedStateErrorTitle": "保存されていない作業内容",
|
||||
"reporting.share.panelContent.advancedOptions": "高度なオプション",
|
||||
"reporting.share.panelContent.copyUrlButtonLabel": "POST URL をコピー",
|
||||
"reporting.share.panelContent.howToCallGenerationDescription": "POST URL をコピーして Kibana 外または ウォッチャー から生成を実行することもできます。",
|
||||
"reporting.share.panelContent.notification.reportingErrorTitle": "レポートを作成できません",
|
||||
"reporting.share.panelContent.saveWorkDescription": "レポートの生成前に変更内容を保存してください。",
|
||||
"reporting.share.panelContent.unsavedStateAndExceedsMaxLengthDescription": "このURLはコピーできません。",
|
||||
"reporting.share.panelContent.unsavedStateAndExceedsMaxLengthTitle": "URLが長すぎます",
|
||||
"reporting.share.panelContent.unsavedStateAndExceedsMaxLengthTrySaveDescription": "このURLはコピーできません。作業内容を保存してください。",
|
||||
"reporting.share.panelContent.unsavedStateErrorText": "このURLをコピーする前に作業内容を保存してください。",
|
||||
"reporting.share.panelContent.unsavedStateErrorTitle": "保存されていない作業内容",
|
||||
"xpack.reporting.pdfFooterImageDescription": "PDFのフッターに使用するカスタム画像です",
|
||||
"xpack.reporting.pdfFooterImageLabel": "PDFフッター画像",
|
||||
"xpack.reporting.publicNotifier.csvContainsFormulas.formulaReportMessage": "レポート'{reportObjectTitle}'には、スプレッドシートアプリケーションで式と解釈される可能性のある文字が含まれています。",
|
||||
|
@ -29929,13 +29929,13 @@
|
|||
"xpack.reporting.reportInfoFlyout.actionsButtonLabel": "アクション",
|
||||
"xpack.reporting.reportInfoFlyout.downloadButtonLabel": "ダウンロード",
|
||||
"xpack.reporting.reportInfoFlyout.openInKibanaAppButtonLabel": "Kibanaで開く",
|
||||
"xpack.reporting.screenCapturePanelContent.canvasLayoutHelpText": "枠線とフッターロゴを削除",
|
||||
"xpack.reporting.screenCapturePanelContent.canvasLayoutLabel": "全ページレイアウト",
|
||||
"xpack.reporting.screenCapturePanelContent.optimizeForPrintingHelpText": "複数のページを使用します。ページごとに最大2のビジュアライゼーションが表示されます",
|
||||
"xpack.reporting.screenCapturePanelContent.optimizeForPrintingLabel": "印刷用に最適化",
|
||||
"xpack.reporting.shareContextMenu.csvReportsButtonLabel": "CSV レポート",
|
||||
"xpack.reporting.shareContextMenu.pdfReportsButtonLabel": "PDF レポート",
|
||||
"xpack.reporting.shareContextMenu.pngReportsButtonLabel": "PNG レポート",
|
||||
"reporting.share.screenCapturePanelContent.canvasLayoutHelpText": "枠線とフッターロゴを削除",
|
||||
"reporting.share.screenCapturePanelContent.canvasLayoutLabel": "全ページレイアウト",
|
||||
"reporting.share.screenCapturePanelContent.optimizeForPrintingHelpText": "複数のページを使用します。ページごとに最大2のビジュアライゼーションが表示されます",
|
||||
"reporting.share.screenCapturePanelContent.optimizeForPrintingLabel": "印刷用に最適化",
|
||||
"reporting.share.contextMenu.csvReportsButtonLabel": "CSV レポート",
|
||||
"reporting.share.contextMenu.pdfReportsButtonLabel": "PDF レポート",
|
||||
"reporting.share.contextMenu.pngReportsButtonLabel": "PNG レポート",
|
||||
"xpack.reporting.statusIndicator.completedLabel": "完了",
|
||||
"xpack.reporting.statusIndicator.completedWithWarningsLabel": "完了しました。警告が検出されました",
|
||||
"xpack.reporting.statusIndicator.failedLabel": "失敗",
|
||||
|
|
|
@ -29732,7 +29732,7 @@
|
|||
"xpack.remoteClusters.requestFlyout.unnamedTitle": "请求",
|
||||
"xpack.remoteClusters.updateRemoteCluster.noRemoteClusterErrorMessage": "没有该名称的远程集群。",
|
||||
"xpack.remoteClusters.updateRemoteCluster.unknownRemoteClusterErrorMessage": "无法编辑集群,ES 未返回任何响应。",
|
||||
"xpack.reporting.apiClient.unknownError": "报告作业 {job} 失败。错误未知。",
|
||||
"reporting.apiClient.unknownError": "报告作业 {job} 失败。错误未知。",
|
||||
"xpack.reporting.deprecations.migrateIndexIlmPolicy.manualStepOneMessage": "使用索引设置 API 更新所有报告索引以使用“{reportingIlmPolicy}”策略。",
|
||||
"xpack.reporting.deprecations.migrateIndexIlmPolicyActionMessage": "新报告索引将由预配的 ILM 策略“{reportingIlmPolicy}”管理。必须编辑此策略,才能管理报告生命周期。此更改适用于加有“{indexPattern}”前缀的所有索引。",
|
||||
"xpack.reporting.deprecations.reportingRoleMappings.manualStepFive": "从所有角色映射中移除“reporting_user”角色,然后添加定制角色。受影响的角色映射为:{roleMappings}。",
|
||||
|
@ -29745,8 +29745,8 @@
|
|||
"xpack.reporting.diagnostic.noUsableSandbox": "无法使用 Chromium 沙盒。您自行承担使用“xpack.screenshotting.browser.chromium.disableSandbox”禁用此项的风险。请参见 {url}",
|
||||
"xpack.reporting.jobResponse.errorHandler.notAuthorized": "抱歉,您无权查看或删除 {jobtype} 报告",
|
||||
"xpack.reporting.jobsQuery.deleteError": "无法删除报告:{error}",
|
||||
"xpack.reporting.jobStatusDetail.attemptXofY": "尝试 {attempts} 次,最多可尝试 {max_attempts} 次。",
|
||||
"xpack.reporting.jobStatusDetail.timeoutSeconds": "{timeout} 秒",
|
||||
"reporting.jobStatusDetail.attemptXofY": "尝试 {attempts} 次,最多可尝试 {max_attempts} 次。",
|
||||
"reporting.jobStatusDetail.timeoutSeconds": "{timeout} 秒",
|
||||
"xpack.reporting.listing.diagnosticApiCallFailure": "运行诊断时出现问题:{error}",
|
||||
"xpack.reporting.listing.ilmPolicyCallout.migrateIndicesButtonLabel": "应用 {ilmPolicyName} 策略",
|
||||
"xpack.reporting.listing.ilmPolicyCallout.migrationNeededDescription": "为了确保得到一致的管理,所有报告索引应使用 {ilmPolicyName} 策略。",
|
||||
|
@ -29758,10 +29758,10 @@
|
|||
"xpack.reporting.listing.table.deleteFailedErrorMessage": "报告未删除:{error}",
|
||||
"xpack.reporting.listing.table.deleteNumConfirmTitle": "删除 {num} 个报告?",
|
||||
"xpack.reporting.listing.table.deleteReportButton": "删除 {num, plural, other {报告}}",
|
||||
"xpack.reporting.panelContent.generateButtonLabel": "生成 {reportingType}",
|
||||
"xpack.reporting.panelContent.generationTimeDescription": "{reportingType} 可能会花费 1 或 2 分钟生成,取决于 {objectType} 的大小。",
|
||||
"xpack.reporting.panelContent.successfullyQueuedReportNotificationDescription": "在 {path} 中跟踪其进度。",
|
||||
"xpack.reporting.panelContent.successfullyQueuedReportNotificationTitle": "已为 {objectType} 排队报告",
|
||||
"reporting.share.panelContent.generateButtonLabel": "生成 {reportingType}",
|
||||
"reporting.share.panelContent.generationTimeDescription": "{reportingType} 可能会花费 1 或 2 分钟生成,取决于 {objectType} 的大小。",
|
||||
"reporting.share.panelContent.successfullyQueuedReportNotificationDescription": "在 {path} 中跟踪其进度。",
|
||||
"reporting.share.panelContent.successfullyQueuedReportNotificationTitle": "已为 {objectType} 排队报告",
|
||||
"xpack.reporting.publicNotifier.csvContainsFormulas.formulaReportTitle": "{reportType} 可能包含公式",
|
||||
"xpack.reporting.publicNotifier.error.checkManagement": "前往 {path} 了解详情。",
|
||||
"xpack.reporting.publicNotifier.reportLinkDescription": "立即下载,或者稍后在 {path} 中获取。",
|
||||
|
@ -29797,25 +29797,25 @@
|
|||
"xpack.reporting.deprecations.reportingRoleUsers.manualStepThree": "前往“管理”>“安全性”>“角色”以创建一个或多个针对 Reporting 授予 Kibana 应用程序权限的角色。",
|
||||
"xpack.reporting.deprecations.reportingRoleUsers.manualStepTwo": "移除 kibana.yml 中的“xpack.reporting.roles.allow”(如果存在)。",
|
||||
"xpack.reporting.errorHandler.unknownError": "未知错误",
|
||||
"xpack.reporting.jobCreatedBy.unknownUserPlaceholderText": "未知",
|
||||
"reporting.jobCreatedBy.unknownUserPlaceholderText": "未知",
|
||||
"xpack.reporting.jobResponse.errorHandler.unknownError": "未知错误",
|
||||
"xpack.reporting.jobStatusDetail.deprecatedText": "这是已弃用的导出类型。此报告的自动化将需要重新创建,才能与未来版本的 Kibana 兼容。",
|
||||
"xpack.reporting.jobStatusDetail.errorText": "查看报告信息以了解错误详情。",
|
||||
"xpack.reporting.jobStatusDetail.pendingStatusReachedText": "正在等待处理作业。",
|
||||
"xpack.reporting.jobStatusDetail.timeoutSecondsUnknown": "未知",
|
||||
"xpack.reporting.jobStatusDetail.unknownText": "未知",
|
||||
"xpack.reporting.jobStatusDetail.warningsText": "查看报告信息以了解警告。",
|
||||
"xpack.reporting.jobStatuses.completedText": "已完成",
|
||||
"xpack.reporting.jobStatuses.failedText": "失败",
|
||||
"xpack.reporting.jobStatuses.pendingText": "待处理",
|
||||
"xpack.reporting.jobStatuses.processingText": "正在处理",
|
||||
"xpack.reporting.jobStatuses.warningText": "已完成",
|
||||
"xpack.reporting.jobType.csvOutputName": "CSV",
|
||||
"xpack.reporting.jobType.pdfOutputName": "PDF",
|
||||
"xpack.reporting.jobType.pngOutputName": "PNG",
|
||||
"xpack.reporting.jobWarning.csvContainsFormulas": "您的 CSV 包含电子表格应用程序可能解释为公式的字符。",
|
||||
"xpack.reporting.jobWarning.exportTypeDeprecated": "这是已弃用的导出类型。此报告的自动化将需要重新创建,才能与未来版本的 Kibana 兼容。",
|
||||
"xpack.reporting.jobWarning.maxSizeReachedTooltip": "您的搜索已达到最大大小,仅包含部分数据。",
|
||||
"reporting.jobStatusDetail.deprecatedText": "这是已弃用的导出类型。此报告的自动化将需要重新创建,才能与未来版本的 Kibana 兼容。",
|
||||
"reporting.jobStatusDetail.errorText": "查看报告信息以了解错误详情。",
|
||||
"reporting.jobStatusDetail.pendingStatusReachedText": "正在等待处理作业。",
|
||||
"reporting.jobStatusDetail.timeoutSecondsUnknown": "未知",
|
||||
"reporting.jobStatusDetail.unknownText": "未知",
|
||||
"reporting.jobStatusDetail.warningsText": "查看报告信息以了解警告。",
|
||||
"reporting.jobStatuses.completedText": "已完成",
|
||||
"reporting.jobStatuses.failedText": "失败",
|
||||
"reporting.jobStatuses.pendingText": "待处理",
|
||||
"reporting.jobStatuses.processingText": "正在处理",
|
||||
"reporting.jobStatuses.warningText": "已完成",
|
||||
"reporting.jobType.csvOutputName": "CSV",
|
||||
"reporting.jobType.pdfOutputName": "PDF",
|
||||
"reporting.jobType.pngOutputName": "PNG",
|
||||
"reporting.jobWarning.csvContainsFormulas": "您的 CSV 包含电子表格应用程序可能解释为公式的字符。",
|
||||
"reporting.jobWarning.exportTypeDeprecated": "这是已弃用的导出类型。此报告的自动化将需要重新创建,才能与未来版本的 Kibana 兼容。",
|
||||
"reporting.jobWarning.maxSizeReachedTooltip": "您的搜索已达到最大大小,仅包含部分数据。",
|
||||
"xpack.reporting.listing.diagnosticBrowserButton": "检查浏览器",
|
||||
"xpack.reporting.listing.diagnosticBrowserMessage": "报告使用无界面浏览器生成 PDF 和 PNG。验证浏览器是否可以成功启动。",
|
||||
"xpack.reporting.listing.diagnosticBrowserTitle": "检查浏览器",
|
||||
|
@ -29886,16 +29886,16 @@
|
|||
"xpack.reporting.listing.tableColumns.statusTitle": "状态",
|
||||
"xpack.reporting.listing.tableColumns.typeTitle": "类型",
|
||||
"xpack.reporting.management.reportingTitle": "Reporting",
|
||||
"xpack.reporting.panelContent.advancedOptions": "高级选项",
|
||||
"xpack.reporting.panelContent.copyUrlButtonLabel": "复制 POST URL",
|
||||
"xpack.reporting.panelContent.howToCallGenerationDescription": "或者,复制此 POST URL 以从 Kibana 外部或从 Watcher 调用生成。",
|
||||
"xpack.reporting.panelContent.notification.reportingErrorTitle": "无法创建报告",
|
||||
"xpack.reporting.panelContent.saveWorkDescription": "请在生成报告之前保存您的工作。",
|
||||
"xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthDescription": "无法复制此 URL。",
|
||||
"xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthTitle": "URL 太长",
|
||||
"xpack.reporting.panelContent.unsavedStateAndExceedsMaxLengthTrySaveDescription": "无法复制此 URL。尝试保存您的工作。",
|
||||
"xpack.reporting.panelContent.unsavedStateErrorText": "在复制此 URL 之前保存您的工作。",
|
||||
"xpack.reporting.panelContent.unsavedStateErrorTitle": "未保存的工作",
|
||||
"reporting.share.panelContent.advancedOptions": "高级选项",
|
||||
"reporting.share.panelContent.copyUrlButtonLabel": "复制 POST URL",
|
||||
"reporting.share.panelContent.howToCallGenerationDescription": "或者,复制此 POST URL 以从 Kibana 外部或从 Watcher 调用生成。",
|
||||
"reporting.share.panelContent.notification.reportingErrorTitle": "无法创建报告",
|
||||
"reporting.share.panelContent.saveWorkDescription": "请在生成报告之前保存您的工作。",
|
||||
"reporting.share.panelContent.unsavedStateAndExceedsMaxLengthDescription": "无法复制此 URL。",
|
||||
"reporting.share.panelContent.unsavedStateAndExceedsMaxLengthTitle": "URL 太长",
|
||||
"reporting.share.panelContent.unsavedStateAndExceedsMaxLengthTrySaveDescription": "无法复制此 URL。尝试保存您的工作。",
|
||||
"reporting.share.panelContent.unsavedStateErrorText": "在复制此 URL 之前保存您的工作。",
|
||||
"reporting.share.panelContent.unsavedStateErrorTitle": "未保存的工作",
|
||||
"xpack.reporting.pdfFooterImageDescription": "要在 PDF 的页脚中使用的定制图像",
|
||||
"xpack.reporting.pdfFooterImageLabel": "PDF 页脚图像",
|
||||
"xpack.reporting.publicNotifier.csvContainsFormulas.formulaReportMessage": "报告“{reportObjectTitle}”包含电子表格应用程序可解释为公式的字符。",
|
||||
|
@ -29913,13 +29913,13 @@
|
|||
"xpack.reporting.reportInfoFlyout.actionsButtonLabel": "操作",
|
||||
"xpack.reporting.reportInfoFlyout.downloadButtonLabel": "下载",
|
||||
"xpack.reporting.reportInfoFlyout.openInKibanaAppButtonLabel": "在 Kibana 中打开",
|
||||
"xpack.reporting.screenCapturePanelContent.canvasLayoutHelpText": "删除边框和页脚徽标",
|
||||
"xpack.reporting.screenCapturePanelContent.canvasLayoutLabel": "全页面布局",
|
||||
"xpack.reporting.screenCapturePanelContent.optimizeForPrintingHelpText": "使用多页,每页最多显示 2 个可视化",
|
||||
"xpack.reporting.screenCapturePanelContent.optimizeForPrintingLabel": "打印优化",
|
||||
"xpack.reporting.shareContextMenu.csvReportsButtonLabel": "CSV 报告",
|
||||
"xpack.reporting.shareContextMenu.pdfReportsButtonLabel": "PDF 报告",
|
||||
"xpack.reporting.shareContextMenu.pngReportsButtonLabel": "PNG 报告",
|
||||
"reporting.share.screenCapturePanelContent.canvasLayoutHelpText": "删除边框和页脚徽标",
|
||||
"reporting.share.screenCapturePanelContent.canvasLayoutLabel": "全页面布局",
|
||||
"reporting.share.screenCapturePanelContent.optimizeForPrintingHelpText": "使用多页,每页最多显示 2 个可视化",
|
||||
"reporting.share.screenCapturePanelContent.optimizeForPrintingLabel": "打印优化",
|
||||
"reporting.share.contextMenu.csvReportsButtonLabel": "CSV 报告",
|
||||
"reporting.share.contextMenu.pdfReportsButtonLabel": "PDF 报告",
|
||||
"reporting.share.contextMenu.pngReportsButtonLabel": "PNG 报告",
|
||||
"xpack.reporting.statusIndicator.completedLabel": "完成",
|
||||
"xpack.reporting.statusIndicator.completedWithWarningsLabel": "已完成,但检测到警告",
|
||||
"xpack.reporting.statusIndicator.failedLabel": "失败",
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue