From e913396548a1e7a2628b67bca407292f4de5d58a Mon Sep 17 00:00:00 2001 From: Scotty Bollinger Date: Tue, 24 Aug 2021 14:42:42 -0500 Subject: [PATCH 001/139] Prevent long errors from breaking UI (#109899) --- .../public/applications/shared/schema/add_field_modal/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/schema/add_field_modal/index.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/schema/add_field_modal/index.tsx index ba9da900c0145..6b85ba4f681f9 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/schema/add_field_modal/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/schema/add_field_modal/index.tsx @@ -99,7 +99,7 @@ export const SchemaAddFieldModal: React.FC = ({ helpText={fieldNameNote} fullWidth data-test-subj="SchemaAddFieldNameRow" - error={addFieldFormErrors} + error={{addFieldFormErrors}} isInvalid={!!addFieldFormErrors} > Date: Tue, 24 Aug 2021 15:17:09 -0500 Subject: [PATCH 002/139] [DOCS] Adds data views attributes (#109928) * [DOCS] Adds data views attributes * Adds Data Views attribute --- docs/index.asciidoc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/index.asciidoc b/docs/index.asciidoc index bd3e36620611d..85b1361f84cb6 100644 --- a/docs/index.asciidoc +++ b/docs/index.asciidoc @@ -13,6 +13,12 @@ include::{docs-root}/shared/versions/stack/{source_branch}.asciidoc[] :es-docker-image: {es-docker-repo}:{version} :blob: {kib-repo}blob/{branch}/ :security-ref: https://www.elastic.co/community/security/ +:Data-Sources: Data Views +:Data-source: Data view +:data-source: data view +:Data-sources: Data views +:data-sources: data views + include::{docs-root}/shared/attributes.asciidoc[] From 213abc47f1b7789245ea9d5e6ffba96905197b5d Mon Sep 17 00:00:00 2001 From: Spencer Date: Tue, 24 Aug 2021 14:23:48 -0700 Subject: [PATCH 003/139] ensure all kibana.json files have owners and they are consistent (#109731) Co-authored-by: spalger --- src/plugins/apm_oss/kibana.json | 2 +- x-pack/plugins/apm/kibana.json | 2 +- x-pack/plugins/observability/kibana.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/apm_oss/kibana.json b/src/plugins/apm_oss/kibana.json index 4907be3580be8..f18b275add9e3 100644 --- a/src/plugins/apm_oss/kibana.json +++ b/src/plugins/apm_oss/kibana.json @@ -2,7 +2,7 @@ "id": "apmOss", "owner": { "name": "APM UI", - "gitHubTeam": "apm-ui" + "githubTeam": "apm-ui" }, "version": "8.0.0", "server": true, diff --git a/x-pack/plugins/apm/kibana.json b/x-pack/plugins/apm/kibana.json index 3c66515060d93..40e724e306bc0 100644 --- a/x-pack/plugins/apm/kibana.json +++ b/x-pack/plugins/apm/kibana.json @@ -2,7 +2,7 @@ "id": "apm", "owner": { "name": "APM UI", - "gitHubTeam": "apm-ui" + "githubTeam": "apm-ui" }, "version": "8.0.0", "kibanaVersion": "kibana", diff --git a/x-pack/plugins/observability/kibana.json b/x-pack/plugins/observability/kibana.json index 4273252850da4..ac6389bff8a0b 100644 --- a/x-pack/plugins/observability/kibana.json +++ b/x-pack/plugins/observability/kibana.json @@ -2,7 +2,7 @@ "id": "observability", "owner": { "name": "Observability UI", - "gitHubTeam": "observability-ui" + "githubTeam": "observability-ui" }, "version": "8.0.0", "kibanaVersion": "kibana", From cc9912c542c74cd42be22609db8b8719a79dd152 Mon Sep 17 00:00:00 2001 From: Jonathan Buttner <56361221+jonathan-buttner@users.noreply.github.com> Date: Tue, 24 Aug 2021 18:09:03 -0400 Subject: [PATCH 004/139] [Cases][Observability] Disabling sync alerts for observability (#109929) * Disabling sync alerts for observability * Adding unit tests --- .../components/case_action_bar/index.test.tsx | 21 +++++++++++++++++++ .../public/components/case_view/index.tsx | 6 +++++- .../components/app/cases/case_view/index.tsx | 1 + 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/cases/public/components/case_action_bar/index.test.tsx b/x-pack/plugins/cases/public/components/case_action_bar/index.test.tsx index 3040b0fe47a47..371d6dcf3063e 100644 --- a/x-pack/plugins/cases/public/components/case_action_bar/index.test.tsx +++ b/x-pack/plugins/cases/public/components/case_action_bar/index.test.tsx @@ -7,6 +7,7 @@ import React from 'react'; import { mount } from 'enzyme'; +import { render } from '@testing-library/react'; import { basicCase } from '../../containers/mock'; import { CaseActionBar } from '.'; @@ -114,4 +115,24 @@ describe('CaseActionBar', () => { }, }); }); + + it('should not show the sync alerts toggle when alerting is disabled', () => { + const { queryByText } = render( + + + + ); + + expect(queryByText('Sync alerts')).not.toBeInTheDocument(); + }); + + it('should show the sync alerts toggle when alerting is enabled', () => { + const { queryByText } = render( + + + + ); + + expect(queryByText('Sync alerts')).toBeInTheDocument(); + }); }); diff --git a/x-pack/plugins/cases/public/components/case_view/index.tsx b/x-pack/plugins/cases/public/components/case_view/index.tsx index a44c2cb22010e..a12a3a5bb869c 100644 --- a/x-pack/plugins/cases/public/components/case_view/index.tsx +++ b/x-pack/plugins/cases/public/components/case_view/index.tsx @@ -59,6 +59,7 @@ export interface CaseViewComponentProps { * **NOTE**: Do not hold on to the `.current` object, as it could become stale */ refreshRef?: MutableRefObject; + hideSyncAlerts?: boolean; } export interface CaseViewProps extends CaseViewComponentProps { @@ -101,6 +102,7 @@ export const CaseComponent = React.memo( useFetchAlertData, userCanCrud, refreshRef, + hideSyncAlerts = false, }) => { const [initLoadingData, setInitLoadingData] = useState(true); const init = useRef(true); @@ -389,7 +391,7 @@ export const CaseComponent = React.memo( caseData={caseData} currentExternalIncident={currentExternalIncident} userCanCrud={userCanCrud} - disableAlerting={ruleDetailsNavigation == null} + disableAlerting={ruleDetailsNavigation == null || hideSyncAlerts} isLoading={isLoading && (updateKey === 'status' || updateKey === 'settings')} onRefresh={handleRefresh} onUpdateField={onUpdateField} @@ -509,6 +511,7 @@ export const CaseView = React.memo( useFetchAlertData, userCanCrud, refreshRef, + hideSyncAlerts, }: CaseViewProps) => { const { data, isLoading, isError, fetchCase, updateCase } = useGetCase(caseId, subCaseId); if (isError) { @@ -548,6 +551,7 @@ export const CaseView = React.memo( useFetchAlertData={useFetchAlertData} userCanCrud={userCanCrud} refreshRef={refreshRef} + hideSyncAlerts={hideSyncAlerts} /> diff --git a/x-pack/plugins/observability/public/components/app/cases/case_view/index.tsx b/x-pack/plugins/observability/public/components/app/cases/case_view/index.tsx index 52a840a6e5447..c273a7271a3dc 100644 --- a/x-pack/plugins/observability/public/components/app/cases/case_view/index.tsx +++ b/x-pack/plugins/observability/public/components/app/cases/case_view/index.tsx @@ -156,6 +156,7 @@ export const CaseView = React.memo(({ caseId, subCaseId, userCanCrud }: Props) = setSelectedAlertId(alertId); }, userCanCrud, + hideSyncAlerts: true, })} ); From b37c3f56be20897a9430529791479a5801971ceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Tue, 24 Aug 2021 18:30:39 -0400 Subject: [PATCH 005/139] [APM] update policy editor with additional config values (#109516) * refactoring apm integration sections * adding agent auth section * refactoring * adding some unit tests * fixing ts issue * removing unnecessary section * hide fields * removing suggestions when combo * fixing apm migration * addressing PR comments * addressing PR changes Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../create_apm_policy_form.tsx | 8 +- .../apm_policy_form/edit_apm_policy_form.tsx | 4 +- .../apm_policy_form/index.tsx | 126 +++++++++-- .../apm_policy_form/settings/rum_settings.tsx | 197 ------------------ .../apm_policy_form/settings/tls_settings.tsx | 117 ----------- .../apm_policy_form/settings/typings.ts | 38 ---- .../agent_authorization_settings.test.ts | 70 +++++++ .../agent_authorization_settings.ts | 166 +++++++++++++++ .../settings_definition/apm_settings.test.ts | 87 ++++++++ .../apm_settings.ts} | 109 ++-------- .../settings_definition/rum_settings.ts | 132 ++++++++++++ .../settings_definition/tls_settings.test.ts | 36 ++++ .../settings_definition/tls_settings.ts | 95 +++++++++ .../form_row_setting.tsx | 33 ++- .../index.tsx} | 114 +++++----- .../{settings => settings_form}/utils.test.ts | 58 ++++-- .../{settings => settings_form}/utils.ts | 17 +- .../apm_policy_form/typings.ts | 35 +++- .../public/tutorial/config_agent/index.tsx | 2 +- .../tutorial_fleet_instructions/index.tsx | 2 +- .../get_apm_package_policy_definition.ts | 58 +++--- 21 files changed, 910 insertions(+), 594 deletions(-) delete mode 100644 x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/rum_settings.tsx delete mode 100644 x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/tls_settings.tsx delete mode 100644 x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/typings.ts create mode 100644 x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.test.ts create mode 100644 x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.ts create mode 100644 x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.test.ts rename x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/{settings/apm_settings.tsx => settings_definition/apm_settings.ts} (70%) create mode 100644 x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/rum_settings.ts create mode 100644 x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tls_settings.test.ts create mode 100644 x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tls_settings.ts rename x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/{settings => settings_form}/form_row_setting.tsx (72%) rename x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/{settings/settings_form.tsx => settings_form/index.tsx} (56%) rename x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/{settings => settings_form}/utils.test.ts (73%) rename x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/{settings => settings_form}/utils.ts (80%) diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/create_apm_policy_form.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/create_apm_policy_form.tsx index 6a970632ee192..7354846aba64f 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/create_apm_policy_form.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/create_apm_policy_form.tsx @@ -21,7 +21,7 @@ export function CreateAPMPolicyForm({ newPolicy, onChange }: Props) { const [firstInput, ...restInputs] = newPolicy?.inputs; const vars = firstInput?.vars; - function handleChange(newVars: PackagePolicyVars, isValid: boolean) { + function updateAPMPolicy(newVars: PackagePolicyVars, isValid: boolean) { onChange({ isValid, updatedPolicy: { @@ -31,6 +31,10 @@ export function CreateAPMPolicyForm({ newPolicy, onChange }: Props) { }); } return ( - + ); } diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/edit_apm_policy_form.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/edit_apm_policy_form.tsx index 5843b9005e7fa..e8d3b5d6940aa 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/edit_apm_policy_form.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/edit_apm_policy_form.tsx @@ -24,7 +24,7 @@ export function EditAPMPolicyForm({ newPolicy, onChange }: Props) { const [firstInput, ...restInputs] = newPolicy?.inputs; const vars = firstInput?.vars; - function handleChange(newVars: PackagePolicyVars, isValid: boolean) { + function updateAPMPolicy(newVars: PackagePolicyVars, isValid: boolean) { onChange({ isValid, updatedPolicy: { @@ -35,7 +35,7 @@ export function EditAPMPolicyForm({ newPolicy, onChange }: Props) { return ( ); diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/index.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/index.tsx index 60d95ab2b9f0d..51944fdbddec0 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/index.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/index.tsx @@ -5,30 +5,124 @@ * 2.0. */ import { EuiSpacer } from '@elastic/eui'; -import React from 'react'; -import { OnFormChangeFn, PackagePolicyVars } from './typings'; -import { APMSettingsForm } from './settings/apm_settings'; -import { RUMSettingsForm } from './settings/rum_settings'; -import { TLSSettingsForm } from './settings/tls_settings'; +import { i18n } from '@kbn/i18n'; +import React, { useMemo } from 'react'; +import { getAgentAuthorizationSettings } from './settings_definition/agent_authorization_settings'; +import { getApmSettings } from './settings_definition/apm_settings'; +import { + getRUMSettings, + isRUMFormValid, +} from './settings_definition/rum_settings'; +import { + getTLSSettings, + isTLSFormValid, +} from './settings_definition/tls_settings'; +import { SettingsForm, SettingsSection } from './settings_form'; +import { isSettingsFormValid, mergeNewVars } from './settings_form/utils'; +import { PackagePolicyVars } from './typings'; interface Props { - onChange: OnFormChangeFn; + updateAPMPolicy: (newVars: PackagePolicyVars, isValid: boolean) => void; vars?: PackagePolicyVars; isCloudPolicy: boolean; } -export function APMPolicyForm({ vars = {}, isCloudPolicy, onChange }: Props) { +export function APMPolicyForm({ + vars = {}, + isCloudPolicy, + updateAPMPolicy, +}: Props) { + const { + apmSettings, + rumSettings, + tlsSettings, + agentAuthorizationSettings, + } = useMemo(() => { + return { + apmSettings: getApmSettings({ isCloudPolicy }), + rumSettings: getRUMSettings(), + tlsSettings: getTLSSettings(), + agentAuthorizationSettings: getAgentAuthorizationSettings({ + isCloudPolicy, + }), + }; + }, [isCloudPolicy]); + + function handleFormChange(key: string, value: any) { + // Merge new key/value with the rest of fields + const newVars = mergeNewVars(vars, key, value); + + // Validate the entire form before sending it to fleet + const isFormValid = + isSettingsFormValid(apmSettings, newVars) && + isRUMFormValid(newVars, rumSettings) && + isTLSFormValid(newVars, tlsSettings) && + isSettingsFormValid(agentAuthorizationSettings, newVars); + + updateAPMPolicy(newVars, isFormValid); + } + + const settingsSections: SettingsSection[] = [ + { + id: 'apm', + title: i18n.translate( + 'xpack.apm.fleet_integration.settings.apm.settings.title', + { defaultMessage: 'General' } + ), + subtitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.apm.settings.subtitle', + { defaultMessage: 'Settings for the APM integration.' } + ), + settings: apmSettings, + }, + { + id: 'rum', + title: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.settings.title', + { defaultMessage: 'Real User Monitoring' } + ), + subtitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.settings.subtitle', + { defaultMessage: 'Manage the configuration of the RUM JS agent.' } + ), + settings: rumSettings, + }, + { + id: 'tls', + title: i18n.translate( + 'xpack.apm.fleet_integration.settings.tls.settings.title', + { defaultMessage: 'TLS Settings' } + ), + subtitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.tls.settings.subtitle', + { defaultMessage: 'Settings for TLS certification.' } + ), + settings: tlsSettings, + }, + { + id: 'agentAuthorization', + title: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.settings.title', + { defaultMessage: 'Agent authorization' } + ), + settings: agentAuthorizationSettings, + }, + ]; + return ( <> - - - - - + {settingsSections.map((settingsSection) => { + return ( + + + + + ); + })} ); } diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/rum_settings.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/rum_settings.tsx deleted file mode 100644 index 0a1b6c66a47e1..0000000000000 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/rum_settings.tsx +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import { i18n } from '@kbn/i18n'; -import React from 'react'; -import { getIntegerRt } from '../../../../../common/agent_configuration/runtime_types/integer_rt'; -import { OnFormChangeFn, PackagePolicyVars } from '../typings'; -import { SettingsForm } from './settings_form'; -import { SettingDefinition } from './typings'; -import { isSettingsFormValid, mergeNewVars, OPTIONAL_LABEL } from './utils'; - -const ENABLE_RUM_KEY = 'enable_rum'; -const rumSettings: SettingDefinition[] = [ - { - key: ENABLE_RUM_KEY, - type: 'boolean', - rowTitle: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.enableRumTitle', - { defaultMessage: 'Enable RUM' } - ), - rowDescription: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.enableRumDescription', - { defaultMessage: 'Enable Real User Monitoring (RUM)' } - ), - settings: [ - { - key: 'rum_allow_headers', - type: 'combo', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumAllowHeaderLabel', - { defaultMessage: 'Allowed origin headers' } - ), - labelAppend: OPTIONAL_LABEL, - helpText: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumAllowHeaderHelpText', - { - defaultMessage: 'Allowed Origin headers to be sent by User Agents.', - } - ), - rowTitle: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumAllowHeaderTitle', - { defaultMessage: 'Custom headers' } - ), - rowDescription: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumAllowHeaderDescription', - { defaultMessage: 'Configure authentication for the agent' } - ), - }, - { - key: 'rum_allow_origins', - type: 'combo', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumAllowOriginsLabel', - { defaultMessage: 'Access-Control-Allow-Headers' } - ), - labelAppend: OPTIONAL_LABEL, - helpText: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumAllowOriginsHelpText', - { - defaultMessage: - 'Supported Access-Control-Allow-Headers in addition to "Content-Type", "Content-Encoding" and "Accept".', - } - ), - }, - { - key: 'rum_response_headers', - type: 'area', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumResponseHeadersLabel', - { defaultMessage: 'Custom HTTP response headers' } - ), - labelAppend: OPTIONAL_LABEL, - helpText: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumResponseHeadersHelpText', - { - defaultMessage: - 'Added to RUM responses, e.g. for security policy compliance.', - } - ), - }, - { - type: 'advanced_settings', - settings: [ - { - key: 'rum_event_rate_limit', - type: 'integer', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumEventRateLimitLabel', - { defaultMessage: 'Rate limit events per IP' } - ), - labelAppend: OPTIONAL_LABEL, - helpText: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumEventRateLimitHelpText', - { - defaultMessage: - 'Maximum number of events allowed per IP per second.', - } - ), - rowTitle: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumEventRateLimitTitle', - { defaultMessage: 'Limits' } - ), - rowDescription: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumEventRateLimitDescription', - { defaultMessage: 'Configure authentication for the agent' } - ), - validation: getIntegerRt({ min: 1 }), - }, - { - key: 'rum_event_rate_lru_size', - type: 'integer', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumEventRateLRUSizeLabel', - { defaultMessage: 'Rate limit cache size' } - ), - labelAppend: OPTIONAL_LABEL, - helpText: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumEventRateLRUSizeHelpText', - { - defaultMessage: - 'Number of unique IPs to be cached for the rate limiter.', - } - ), - validation: getIntegerRt({ min: 1 }), - }, - { - key: 'rum_library_pattern', - type: 'text', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumLibraryPatternLabel', - { defaultMessage: 'Library Frame Pattern' } - ), - labelAppend: OPTIONAL_LABEL, - helpText: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumLibraryPatternHelpText', - { - defaultMessage: - "Identify library frames by matching a stacktrace frame's file_name and abs_path against this regexp.", - } - ), - }, - { - key: 'rum_allow_service_names', - type: 'combo', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumAllowServiceNamesLabel', - { defaultMessage: 'Allowed service names' } - ), - labelAppend: OPTIONAL_LABEL, - rowTitle: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumAllowServiceNamesTitle', - { defaultMessage: 'Allowed service names' } - ), - rowDescription: i18n.translate( - 'xpack.apm.fleet_integration.settings.rum.rumAllowServiceNamesDescription', - { defaultMessage: 'Configure authentication for the agent' } - ), - }, - ], - }, - ], - }, -]; - -interface Props { - vars: PackagePolicyVars; - onChange: OnFormChangeFn; -} - -export function RUMSettingsForm({ vars, onChange }: Props) { - return ( - { - const newVars = mergeNewVars(vars, key, value); - onChange( - newVars, - // only validates RUM when its flag is enabled - !newVars[ENABLE_RUM_KEY].value || - isSettingsFormValid(rumSettings, newVars) - ); - }} - /> - ); -} diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/tls_settings.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/tls_settings.tsx deleted file mode 100644 index 6529de07b7564..0000000000000 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/tls_settings.tsx +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import { i18n } from '@kbn/i18n'; -import React from 'react'; -import { OnFormChangeFn, PackagePolicyVars } from '../typings'; -import { SettingsForm } from './settings_form'; -import { SettingDefinition } from './typings'; -import { - isSettingsFormValid, - mergeNewVars, - OPTIONAL_LABEL, - REQUIRED_LABEL, -} from './utils'; - -const TLS_ENABLED_KEY = 'tls_enabled'; -const tlsSettings: SettingDefinition[] = [ - { - key: TLS_ENABLED_KEY, - rowTitle: i18n.translate( - 'xpack.apm.fleet_integration.settings.tls.tlsEnabledTitle', - { defaultMessage: 'Enable TLS' } - ), - type: 'boolean', - settings: [ - { - key: 'tls_certificate', - type: 'text', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.tls.tlsCertificateLabel', - { defaultMessage: 'File path to server certificate' } - ), - rowTitle: i18n.translate( - 'xpack.apm.fleet_integration.settings.tls.tlsCertificateTitle', - { defaultMessage: 'TLS certificate' } - ), - labelAppend: REQUIRED_LABEL, - required: true, - }, - { - key: 'tls_key', - type: 'text', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.tls.tlsKeyLabel', - { defaultMessage: 'File path to server certificate key' } - ), - labelAppend: REQUIRED_LABEL, - required: true, - }, - { - key: 'tls_supported_protocols', - type: 'combo', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.tls.tlsSupportedProtocolsLabel', - { defaultMessage: 'Supported protocol versions' } - ), - labelAppend: OPTIONAL_LABEL, - }, - { - key: 'tls_cipher_suites', - type: 'combo', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.tls.tlsCipherSuitesLabel', - { defaultMessage: 'Cipher suites for TLS connections' } - ), - helpText: i18n.translate( - 'xpack.apm.fleet_integration.settings.tls.tlsCipherSuitesHelpText', - { defaultMessage: 'Not configurable for TLS 1.3.' } - ), - labelAppend: OPTIONAL_LABEL, - }, - { - key: 'tls_curve_types', - type: 'combo', - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.tls.tlsCurveTypesLabel', - { defaultMessage: 'Curve types for ECDHE based cipher suites' } - ), - labelAppend: OPTIONAL_LABEL, - }, - ], - }, -]; - -interface Props { - vars: PackagePolicyVars; - onChange: OnFormChangeFn; -} - -export function TLSSettingsForm({ vars, onChange }: Props) { - return ( - { - const newVars = mergeNewVars(vars, key, value); - onChange( - newVars, - // only validates TLS when its flag is enabled - !newVars[TLS_ENABLED_KEY].value || - isSettingsFormValid(tlsSettings, newVars) - ); - }} - /> - ); -} diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/typings.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/typings.ts deleted file mode 100644 index 8f2e28a72ea2d..0000000000000 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/typings.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import * as t from 'io-ts'; - -export type SettingValidation = t.Type; - -interface AdvancedSettings { - type: 'advanced_settings'; - settings: SettingDefinition[]; -} - -export interface Setting { - type: - | 'text' - | 'combo' - | 'area' - | 'boolean' - | 'integer' - | 'bytes' - | 'duration'; - key: string; - rowTitle?: string; - rowDescription?: string; - label?: string; - helpText?: string; - placeholder?: string; - labelAppend?: string; - settings?: SettingDefinition[]; - validation?: SettingValidation; - required?: boolean; - readOnly?: boolean; -} - -export type SettingDefinition = Setting | AdvancedSettings; diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.test.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.test.ts new file mode 100644 index 0000000000000..509b0d13552c2 --- /dev/null +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.test.ts @@ -0,0 +1,70 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { getAgentAuthorizationSettings } from './agent_authorization_settings'; +import { SettingsRow } from '../typings'; +import { isSettingsFormValid } from '../settings_form/utils'; + +describe('apm-fleet-apm-integration', () => { + describe('getAgentAuthorizationSettings', () => { + function findSetting(key: string, settings: SettingsRow[]) { + return settings.find( + (setting) => setting.type !== 'advanced_setting' && setting.key === key + ); + } + it('returns read only secret token when on cloud', () => { + const settings = getAgentAuthorizationSettings({ isCloudPolicy: true }); + const secretToken = findSetting('secret_token', settings); + expect(secretToken).toEqual({ + type: 'text', + key: 'secret_token', + readOnly: true, + labelAppend: 'Optional', + label: 'Secret token', + }); + }); + it('returns secret token when NOT on cloud', () => { + const settings = getAgentAuthorizationSettings({ isCloudPolicy: false }); + const secretToken = findSetting('secret_token', settings); + + expect(secretToken).toEqual({ + type: 'text', + key: 'secret_token', + readOnly: false, + labelAppend: 'Optional', + label: 'Secret token', + }); + }); + }); + + describe('isAgentAuthorizationFormValid', () => { + describe('validates integer fields', () => { + [ + 'api_key_limit', + 'anonymous_rate_limit_ip_limit', + 'anonymous_rate_limit_event_limit', + ].map((key) => { + it(`returns false when ${key} is lower than 1`, () => { + const settings = getAgentAuthorizationSettings({ + isCloudPolicy: true, + }); + expect( + isSettingsFormValid(settings, { + [key]: { value: 0, type: 'integer' }, + }) + ).toBeFalsy(); + + expect( + isSettingsFormValid(settings, { + [key]: { value: -1, type: 'integer' }, + }) + ).toBeFalsy(); + }); + }); + }); + }); +}); diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.ts new file mode 100644 index 0000000000000..3540fb97fb173 --- /dev/null +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/agent_authorization_settings.ts @@ -0,0 +1,166 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; +import { getIntegerRt } from '../../../../../common/agent_configuration/runtime_types/integer_rt'; +import { OPTIONAL_LABEL } from '../settings_form/utils'; +import { SettingsRow } from '../typings'; + +export function getAgentAuthorizationSettings({ + isCloudPolicy, +}: { + isCloudPolicy: boolean; +}): SettingsRow[] { + return [ + { + type: 'boolean', + key: 'api_key_enabled', + labelAppend: OPTIONAL_LABEL, + placeholder: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.apiKeyAuthenticationPlaceholder', + { defaultMessage: 'API key for agent authentication' } + ), + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.apiKeyAuthenticationHelpText', + { + defaultMessage: + 'Enable API Key auth between APM Server and APM Agents.', + } + ), + settings: [ + { + key: 'api_key_limit', + type: 'integer', + labelAppend: OPTIONAL_LABEL, + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.apiKeyLimitLabel', + { defaultMessage: 'Number of keys' } + ), + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.apiKeyLimitHelpText', + { defaultMessage: 'Might be used for security policy compliance.' } + ), + rowTitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.apiKeyLimitTitle', + { + defaultMessage: + 'Maximum number of API keys of Agent authentication', + } + ), + rowDescription: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.apiKeyLimitDescription', + { + defaultMessage: + 'Restrict number of unique API keys per minute, used for auth between APM Agents and Server.', + } + ), + validation: getIntegerRt({ min: 1 }), + }, + ], + }, + { + type: 'text', + key: 'secret_token', + readOnly: isCloudPolicy, + labelAppend: OPTIONAL_LABEL, + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.secretTokenLabel', + { defaultMessage: 'Secret token' } + ), + }, + { + type: 'boolean', + key: 'anonymous_enabled', + rowTitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousEnabledTitle', + { defaultMessage: 'Anonymous Agent access' } + ), + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousEnabledHelpText', + { + defaultMessage: + 'Enable anonymous access to APM Server for select APM Agents.', + } + ), + rowDescription: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousEnabledDescription', + { + defaultMessage: + 'Allow anonymous access only for specified agents and/or services. This is primarily intended to allow limited access for untrusted agents, such as Real User Monitoring. When anonymous auth is enabled, only agents matching the Allowed Agents and services matching the Allowed Services configuration are allowed. See below for details on default values.', + } + ), + settings: [ + { + type: 'combo', + key: 'anonymous_allow_agent', + labelAppend: OPTIONAL_LABEL, + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousAllowAgentLabel', + { defaultMessage: 'Allowed agents' } + ), + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousAllowAgentHelpText', + { + defaultMessage: 'Allowed agent names for anonymous access.', + } + ), + }, + { + type: 'combo', + key: 'anonymous_allow_service', + labelAppend: OPTIONAL_LABEL, + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousAllowServiceLabel', + { defaultMessage: 'Allowed services' } + ), + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousAllowServiceHelpText', + { + defaultMessage: 'Allowed service names for anonymous access.', + } + ), + }, + { + key: 'anonymous_rate_limit_ip_limit', + type: 'integer', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousRateLimitIpLimitLabel', + { defaultMessage: 'Rate limit (IP limit)' } + ), + labelAppend: OPTIONAL_LABEL, + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousRateLimitIpLimitHelpText', + { + defaultMessage: + 'Number of unique client IPs for which a distinct rate limit will be maintained.', + } + ), + validation: getIntegerRt({ min: 1 }), + }, + { + key: 'anonymous_rate_limit_event_limit', + type: 'integer', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousRateLimitEventLimitLabel', + { + defaultMessage: 'Event rate limit (event limit)', + } + ), + labelAppend: OPTIONAL_LABEL, + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.agentAuthorization.anonymousRateLimitEventLimitHelpText', + { + defaultMessage: + 'Maximum number of events per client IP per second.', + } + ), + validation: getIntegerRt({ min: 1 }), + }, + ], + }, + ]; +} diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.test.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.test.ts new file mode 100644 index 0000000000000..2d2acbcd37c55 --- /dev/null +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.test.ts @@ -0,0 +1,87 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { getApmSettings } from './apm_settings'; +import { SettingsRow, BasicSettingRow } from '../typings'; +import { isSettingsFormValid } from '../settings_form/utils'; + +describe('apm_settings', () => { + describe('getApmSettings', () => { + function findSetting(key: string, settings: SettingsRow[]) { + return settings.find( + (setting) => setting.type !== 'advanced_setting' && setting.key === key + ) as BasicSettingRow; + } + ['host', 'url'].map((key) => { + it(`returns read only ${key} when on cloud`, () => { + const settings = getApmSettings({ isCloudPolicy: true }); + const setting = findSetting(key, settings); + expect(setting.readOnly).toBeTruthy(); + }); + it(`returns ${key} when NOT on cloud`, () => { + const settings = getApmSettings({ isCloudPolicy: false }); + const setting = findSetting(key, settings); + expect(setting.readOnly).toBeFalsy(); + }); + }); + }); + + describe('isAPMFormValid', () => { + describe('validates integer fields', () => { + ['max_header_bytes', 'max_event_bytes'].map((key) => { + it(`returns false when ${key} is lower than 1`, () => { + const settings = getApmSettings({ isCloudPolicy: true }); + expect( + isSettingsFormValid(settings, { + [key]: { value: 0, type: 'integer' }, + }) + ).toBeFalsy(); + + expect( + isSettingsFormValid(settings, { + [key]: { value: -1, type: 'integer' }, + }) + ).toBeFalsy(); + }); + }); + ['max_connections'].map((key) => { + it(`returns false when ${key} is lower than 0`, () => { + const settings = getApmSettings({ isCloudPolicy: true }); + expect( + isSettingsFormValid(settings, { + [key]: { value: -1, type: 'integer' }, + }) + ).toBeFalsy(); + }); + }); + }); + + describe('validates required fields', () => { + ['host', 'url'].map((key) => { + it(`return false when ${key} is not defined`, () => { + const settings = getApmSettings({ isCloudPolicy: true }); + expect(isSettingsFormValid(settings, {})).toBeFalsy(); + }); + }); + }); + + describe('validates duration fields', () => { + ['idle_timeout', 'read_timeout', 'shutdown_timeout', 'write_timeout'].map( + (key) => { + it(`return false when ${key} lower then 1ms`, () => { + const settings = getApmSettings({ isCloudPolicy: true }); + expect( + isSettingsFormValid(settings, { + [key]: { value: '0ms', type: 'text' }, + }) + ).toBeFalsy(); + }); + } + ); + }); + }); +}); diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/apm_settings.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.ts similarity index 70% rename from x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/apm_settings.tsx rename to x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.ts index d80bccc529d64..2b88e1a1df9ed 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/apm_settings.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/apm_settings.ts @@ -5,26 +5,16 @@ * 2.0. */ import { i18n } from '@kbn/i18n'; -import React, { useMemo } from 'react'; import { getDurationRt } from '../../../../../common/agent_configuration/runtime_types/duration_rt'; import { getIntegerRt } from '../../../../../common/agent_configuration/runtime_types/integer_rt'; -import { OnFormChangeFn, PackagePolicyVars } from '../typings'; -import { SettingsForm } from './settings_form'; -import { SettingDefinition } from './typings'; -import { - isSettingsFormValid, - mergeNewVars, - OPTIONAL_LABEL, - REQUIRED_LABEL, -} from './utils'; +import { OPTIONAL_LABEL, REQUIRED_LABEL } from '../settings_form/utils'; +import { SettingsRow } from '../typings'; -interface Props { - vars: PackagePolicyVars; - onChange: OnFormChangeFn; +export function getApmSettings({ + isCloudPolicy, +}: { isCloudPolicy: boolean; -} - -function getApmSettings(isCloudPolicy: boolean): SettingDefinition[] { +}): SettingsRow[] { return [ { type: 'text', @@ -63,33 +53,7 @@ function getApmSettings(isCloudPolicy: boolean): SettingDefinition[] { required: true, }, { - type: 'text', - key: 'secret_token', - readOnly: isCloudPolicy, - labelAppend: OPTIONAL_LABEL, - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.apm.secretTokenLabel', - { defaultMessage: 'Secret token' } - ), - }, - { - type: 'boolean', - key: 'api_key_enabled', - labelAppend: OPTIONAL_LABEL, - placeholder: i18n.translate( - 'xpack.apm.fleet_integration.settings.apm.apiKeyAuthenticationPlaceholder', - { defaultMessage: 'API key for agent authentication' } - ), - helpText: i18n.translate( - 'xpack.apm.fleet_integration.settings.apm.apiKeyAuthenticationHelpText', - { - defaultMessage: - 'Enable API Key auth between APM Server and APM Agents.', - } - ), - }, - { - type: 'advanced_settings', + type: 'advanced_setting', settings: [ { key: 'max_header_bytes', @@ -176,7 +140,11 @@ function getApmSettings(isCloudPolicy: boolean): SettingDefinition[] { 'xpack.apm.fleet_integration.settings.apm.maxConnectionsLabel', { defaultMessage: 'Simultaneously accepted connections' } ), - validation: getIntegerRt({ min: 1 }), + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.apm.maxConnectionsHelpText', + { defaultMessage: '0 for unlimited' } + ), + validation: getIntegerRt({ min: 0 }), }, { key: 'response_headers', @@ -202,34 +170,6 @@ function getApmSettings(isCloudPolicy: boolean): SettingDefinition[] { } ), }, - { - key: 'api_key_limit', - type: 'integer', - labelAppend: OPTIONAL_LABEL, - label: i18n.translate( - 'xpack.apm.fleet_integration.settings.apm.apiKeyLimitLabel', - { defaultMessage: 'Number of keys' } - ), - helpText: i18n.translate( - 'xpack.apm.fleet_integration.settings.apm.apiKeyLimitHelpText', - { defaultMessage: 'Might be used for security policy compliance.' } - ), - rowTitle: i18n.translate( - 'xpack.apm.fleet_integration.settings.apm.apiKeyLimitTitle', - { - defaultMessage: - 'Maximum number of API keys of Agent authentication', - } - ), - rowDescription: i18n.translate( - 'xpack.apm.fleet_integration.settings.apm.apiKeyLimitDescription', - { - defaultMessage: - 'Restrict number of unique API keys per minute, used for auth between aPM Agents and Server.', - } - ), - validation: getIntegerRt({ min: 1 }), - }, { key: 'capture_personal_data', type: 'boolean', @@ -279,28 +219,3 @@ function getApmSettings(isCloudPolicy: boolean): SettingDefinition[] { }, ]; } - -export function APMSettingsForm({ vars, onChange, isCloudPolicy }: Props) { - const apmSettings = useMemo(() => { - return getApmSettings(isCloudPolicy); - }, [isCloudPolicy]); - - return ( - { - const newVars = mergeNewVars(vars, key, value); - onChange(newVars, isSettingsFormValid(apmSettings, newVars)); - }} - /> - ); -} diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/rum_settings.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/rum_settings.ts new file mode 100644 index 0000000000000..f32969d248b9d --- /dev/null +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/rum_settings.ts @@ -0,0 +1,132 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { i18n } from '@kbn/i18n'; +import { PackagePolicyVars, SettingsRow } from '../typings'; +import { isSettingsFormValid, OPTIONAL_LABEL } from '../settings_form/utils'; + +const ENABLE_RUM_KEY = 'enable_rum'; +export function getRUMSettings(): SettingsRow[] { + return [ + { + key: ENABLE_RUM_KEY, + type: 'boolean', + rowTitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.enableRumTitle', + { defaultMessage: 'Enable RUM' } + ), + rowDescription: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.enableRumDescription', + { defaultMessage: 'Enable Real User Monitoring (RUM)' } + ), + settings: [ + { + key: 'rum_allow_origins', + type: 'combo', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumAllowOriginsLabel', + { defaultMessage: 'Origin Headers' } + ), + labelAppend: OPTIONAL_LABEL, + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumAllowOriginsHelpText', + { + defaultMessage: + 'Allowed Origin headers to be sent by User Agents.', + } + ), + }, + { + key: 'rum_allow_headers', + type: 'combo', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumAllowHeaderLabel', + { defaultMessage: 'Access-Control-Allow-Headers' } + ), + labelAppend: OPTIONAL_LABEL, + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumAllowHeaderHelpText', + { + defaultMessage: + 'Supported Access-Control-Allow-Headers in addition to "Content-Type", "Content-Encoding" and "Accept".', + } + ), + rowTitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumAllowHeaderTitle', + { defaultMessage: 'Custom headers' } + ), + rowDescription: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumAllowHeaderDescription', + { defaultMessage: 'Configure authentication for the agent' } + ), + }, + { + key: 'rum_response_headers', + type: 'area', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumResponseHeadersLabel', + { defaultMessage: 'Custom HTTP response headers' } + ), + labelAppend: OPTIONAL_LABEL, + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumResponseHeadersHelpText', + { + defaultMessage: + 'Added to RUM responses, e.g. for security policy compliance.', + } + ), + }, + { + type: 'advanced_setting', + settings: [ + { + key: 'rum_library_pattern', + type: 'text', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumLibraryPatternLabel', + { defaultMessage: 'Library Frame Pattern' } + ), + labelAppend: OPTIONAL_LABEL, + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumLibraryPatternHelpText', + { + defaultMessage: + "Identify library frames by matching a stacktrace frame's file_name and abs_path against this regexp.", + } + ), + }, + { + key: 'rum_exclude_from_grouping', + type: 'text', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumExcludeFromGroupingLabel', + { defaultMessage: 'Exclude from grouping' } + ), + labelAppend: OPTIONAL_LABEL, + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.rum.rumExcludeFromGroupingHelpText', + { + defaultMessage: + "Exclude stacktrace frames from error group calculations by matching a stacktrace frame's `file_name` against this regexp.", + } + ), + }, + ], + }, + ], + }, + ]; +} + +export function isRUMFormValid( + newVars: PackagePolicyVars, + rumSettings: SettingsRow[] +) { + // only validates RUM when its flag is enabled + return ( + !newVars[ENABLE_RUM_KEY].value || isSettingsFormValid(rumSettings, newVars) + ); +} diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tls_settings.test.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tls_settings.test.ts new file mode 100644 index 0000000000000..7043a37fd0e54 --- /dev/null +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tls_settings.test.ts @@ -0,0 +1,36 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { getTLSSettings, isTLSFormValid } from './tls_settings'; + +describe('tls_settings', () => { + describe('isTLSFormValid', () => { + describe('validates duration fields', () => { + ['tls_certificate', 'tls_key'].map((key) => { + it(`return false when ${key} lower then 1ms`, () => { + const settings = getTLSSettings(); + expect( + isTLSFormValid( + { tls_enabled: { value: true, type: 'bool' } }, + settings + ) + ).toBeFalsy(); + }); + }); + }); + + it('returns true when tls_enabled is disabled', () => { + const settings = getTLSSettings(); + expect( + isTLSFormValid( + { tls_enabled: { value: false, type: 'bool' } }, + settings + ) + ).toBeTruthy(); + }); + }); +}); diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tls_settings.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tls_settings.ts new file mode 100644 index 0000000000000..6e699057ad3ef --- /dev/null +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_definition/tls_settings.ts @@ -0,0 +1,95 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { i18n } from '@kbn/i18n'; +import { PackagePolicyVars, SettingsRow } from '../typings'; +import { + isSettingsFormValid, + OPTIONAL_LABEL, + REQUIRED_LABEL, +} from '../settings_form/utils'; + +const TLS_ENABLED_KEY = 'tls_enabled'; + +export function getTLSSettings(): SettingsRow[] { + return [ + { + key: TLS_ENABLED_KEY, + rowTitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.tls.tlsEnabledTitle', + { defaultMessage: 'Enable TLS' } + ), + type: 'boolean', + settings: [ + { + key: 'tls_certificate', + type: 'text', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.tls.tlsCertificateLabel', + { defaultMessage: 'File path to server certificate' } + ), + rowTitle: i18n.translate( + 'xpack.apm.fleet_integration.settings.tls.tlsCertificateTitle', + { defaultMessage: 'TLS certificate' } + ), + labelAppend: REQUIRED_LABEL, + required: true, + }, + { + key: 'tls_key', + type: 'text', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.tls.tlsKeyLabel', + { defaultMessage: 'File path to server certificate key' } + ), + labelAppend: REQUIRED_LABEL, + required: true, + }, + { + key: 'tls_supported_protocols', + type: 'combo', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.tls.tlsSupportedProtocolsLabel', + { defaultMessage: 'Supported protocol versions' } + ), + labelAppend: OPTIONAL_LABEL, + }, + { + key: 'tls_cipher_suites', + type: 'combo', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.tls.tlsCipherSuitesLabel', + { defaultMessage: 'Cipher suites for TLS connections' } + ), + helpText: i18n.translate( + 'xpack.apm.fleet_integration.settings.tls.tlsCipherSuitesHelpText', + { defaultMessage: 'Not configurable for TLS 1.3.' } + ), + labelAppend: OPTIONAL_LABEL, + }, + { + key: 'tls_curve_types', + type: 'combo', + label: i18n.translate( + 'xpack.apm.fleet_integration.settings.tls.tlsCurveTypesLabel', + { defaultMessage: 'Curve types for ECDHE based cipher suites' } + ), + labelAppend: OPTIONAL_LABEL, + }, + ], + }, + ]; +} + +export function isTLSFormValid( + newVars: PackagePolicyVars, + tlsSettings: SettingsRow[] +) { + // only validates TLS when its flag is enabled + return ( + !newVars[TLS_ENABLED_KEY].value || isSettingsFormValid(tlsSettings, newVars) + ); +} diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/form_row_setting.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/form_row_setting.tsx similarity index 72% rename from x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/form_row_setting.tsx rename to x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/form_row_setting.tsx index 33aeaccbeb8cc..6b3d0ed776dcd 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/form_row_setting.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/form_row_setting.tsx @@ -15,11 +15,11 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React from 'react'; -import { FormRowOnChange } from './settings_form'; -import { SettingDefinition } from './typings'; +import { FormRowOnChange } from './'; +import { SettingsRow } from '../typings'; interface Props { - setting: SettingDefinition; + row: SettingsRow; value?: any; onChange: FormRowOnChange; } @@ -33,17 +33,15 @@ const DISABLED_LABEL = i18n.translate( { defaultMessage: 'Disabled' } ); -export function FormRowSetting({ setting, value, onChange }: Props) { - switch (setting.type) { +export function FormRowSetting({ row, value, onChange }: Props) { + switch (row.type) { case 'boolean': { return ( { - onChange(setting.key, e.target.checked); + onChange(row.key, e.target.checked); }} /> ); @@ -52,11 +50,11 @@ export function FormRowSetting({ setting, value, onChange }: Props) { case 'text': { return ( : undefined} + prepend={row.readOnly ? : undefined} onChange={(e) => { - onChange(setting.key, e.target.value); + onChange(row.key, e.target.value); }} /> ); @@ -66,7 +64,7 @@ export function FormRowSetting({ setting, value, onChange }: Props) { { - onChange(setting.key, e.target.value); + onChange(row.key, e.target.value); }} /> ); @@ -77,7 +75,7 @@ export function FormRowSetting({ setting, value, onChange }: Props) { { - onChange(setting.key, e.target.value); + onChange(row.key, e.target.value); }} /> ); @@ -88,6 +86,7 @@ export function FormRowSetting({ setting, value, onChange }: Props) { : []; return ( { onChange( - setting.key, + row.key, option.map(({ label }) => label) ); }} onCreateOption={(newOption) => { - onChange(setting.key, [...value, newOption]); + onChange(row.key, [...value, newOption]); }} isClearable={true} /> ); } default: - throw new Error(`Unknown type "${setting.type}"`); + throw new Error(`Unknown type "${row.type}"`); } } diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/settings_form.tsx b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/index.tsx similarity index 56% rename from x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/settings_form.tsx rename to x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/index.tsx index 1b1dcddc0e7f8..af78e885e85d2 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/settings_form.tsx +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/index.tsx @@ -17,9 +17,8 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React, { useState } from 'react'; -import { PackagePolicyVars } from '../typings'; +import { PackagePolicyVars, SettingsRow } from '../typings'; import { FormRowSetting } from './form_row_setting'; -import { SettingDefinition } from './typings'; import { validateSettingValue } from './utils'; export type FormRowOnChange = (key: string, value: any) => void; @@ -29,73 +28,74 @@ function FormRow({ vars, onChange, }: { - initialSetting: SettingDefinition; + initialSetting: SettingsRow; vars?: PackagePolicyVars; onChange: FormRowOnChange; }) { - function getSettingFormRow(setting: SettingDefinition) { - if (setting.type === 'advanced_settings') { + function getSettingFormRow(row: SettingsRow) { + if (row.type === 'advanced_setting') { return ( - {setting.settings.map((advancedSetting) => + {row.settings.map((advancedSetting) => getSettingFormRow(advancedSetting) )} ); - } else { - const { key } = setting; - const value = vars?.[key]?.value; - const { isValid, message } = validateSettingValue(setting, value); - return ( - - {setting.rowTitle}} - description={setting.rowDescription} - > - {setting.helpText}} - labelAppend={ - - {setting.labelAppend} - - } - > - - - - {setting.settings && - value && - setting.settings.map((childSettings) => - getSettingFormRow(childSettings) - )} - - ); } + + const { key } = row; + const configEntry = vars?.[key]; + // hides a field that doesn't have its key defined in vars. + // This is most likely to happen when a field is no longer supported in the current package version + if (!configEntry) { + return null; + } + const { value } = configEntry; + const { isValid, message } = validateSettingValue(row, value); + return ( + + {row.rowTitle}} + description={row.rowDescription} + > + {row.helpText}} + labelAppend={ + + {row.labelAppend} + + } + > + + + + {row.settings && + value && + row.settings.map((childSettings) => getSettingFormRow(childSettings))} + + ); } return getSettingFormRow(initialSetting); } -interface Props { + +export interface SettingsSection { + id: string; title: string; - subtitle: string; - settings: SettingDefinition[]; + subtitle?: string; + settings: SettingsRow[]; +} + +interface Props { + settingsSection: SettingsSection; vars?: PackagePolicyVars; onChange: FormRowOnChange; } -export function SettingsForm({ - title, - subtitle, - settings, - vars, - onChange, -}: Props) { +export function SettingsForm({ settingsSection, vars, onChange }: Props) { + const { title, subtitle, settings } = settingsSection; return ( @@ -104,11 +104,13 @@ export function SettingsForm({

{title}

- - - {subtitle} - - + {subtitle && ( + + + {subtitle} + + + )}
diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/utils.test.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/utils.test.ts similarity index 73% rename from x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/utils.test.ts rename to x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/utils.test.ts index 3b5cbb652e291..e1be9c547c112 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/utils.test.ts +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/utils.test.ts @@ -5,8 +5,8 @@ * 2.0. */ import { getDurationRt } from '../../../../../common/agent_configuration/runtime_types/duration_rt'; -import { PackagePolicyVars } from '../typings'; -import { SettingDefinition } from './typings'; +import { getIntegerRt } from '../../../../../common/agent_configuration/runtime_types/integer_rt'; +import { PackagePolicyVars, SettingsRow } from '../typings'; import { mergeNewVars, isSettingsFormValid, @@ -16,7 +16,7 @@ import { describe('settings utils', () => { describe('validateSettingValue', () => { it('returns invalid when setting is required and value is empty', () => { - const setting: SettingDefinition = { + const setting: SettingsRow = { key: 'foo', type: 'text', required: true, @@ -27,17 +27,17 @@ describe('settings utils', () => { }); }); it('returns valid when setting is NOT required and value is empty', () => { - const setting: SettingDefinition = { + const setting: SettingsRow = { key: 'foo', type: 'text', }; expect(validateSettingValue(setting, undefined)).toEqual({ isValid: true, - message: '', + message: 'Required field', }); }); it('returns valid when setting does not have a validation property', () => { - const setting: SettingDefinition = { + const setting: SettingsRow = { key: 'foo', type: 'text', }; @@ -46,8 +46,8 @@ describe('settings utils', () => { message: '', }); }); - it('returns valid after validating value', () => { - const setting: SettingDefinition = { + it('returns valid after validating duration value', () => { + const setting: SettingsRow = { key: 'foo', type: 'text', validation: getDurationRt({ min: '1ms' }), @@ -57,8 +57,8 @@ describe('settings utils', () => { message: 'No errors!', }); }); - it('returns invalid after validating value', () => { - const setting: SettingDefinition = { + it('returns invalid after validating duration value', () => { + const setting: SettingsRow = { key: 'foo', type: 'text', validation: getDurationRt({ min: '1ms' }), @@ -68,9 +68,43 @@ describe('settings utils', () => { message: 'Must be greater than 1ms', }); }); + it('returns valid after validating integer value', () => { + const setting: SettingsRow = { + key: 'foo', + type: 'text', + validation: getIntegerRt({ min: 1 }), + }; + expect(validateSettingValue(setting, 1)).toEqual({ + isValid: true, + message: 'No errors!', + }); + }); + it('returns invalid after validating integer value', () => { + const setting: SettingsRow = { + key: 'foo', + type: 'text', + validation: getIntegerRt({ min: 1 }), + }; + expect(validateSettingValue(setting, 0)).toEqual({ + isValid: false, + message: 'Must be greater than 1', + }); + }); + + it('returns valid when required and value is empty', () => { + const setting: SettingsRow = { + key: 'foo', + type: 'text', + required: true, + }; + expect(validateSettingValue(setting, '')).toEqual({ + isValid: false, + message: 'Required field', + }); + }); }); describe('isSettingsFormValid', () => { - const settings: SettingDefinition[] = [ + const settings: SettingsRow[] = [ { key: 'foo', type: 'text', required: true }, { key: 'bar', @@ -79,7 +113,7 @@ describe('settings utils', () => { }, { key: 'baz', type: 'text', validation: getDurationRt({ min: '1ms' }) }, { - type: 'advanced_settings', + type: 'advanced_setting', settings: [ { type: 'text', diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/utils.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/utils.ts similarity index 80% rename from x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/utils.ts rename to x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/utils.ts index 5f19f297ab333..8f9badabeda5e 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings/utils.ts +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/settings_form/utils.ts @@ -8,9 +8,8 @@ import { i18n } from '@kbn/i18n'; import { isRight } from 'fp-ts/lib/Either'; import { PathReporter } from 'io-ts/lib/PathReporter'; -import { isEmpty } from 'lodash'; -import { PackagePolicyVars } from '../typings'; -import { SettingDefinition, Setting } from './typings'; +import { isEmpty, isFinite } from 'lodash'; +import { PackagePolicyVars, SettingsRow, BasicSettingRow } from '../typings'; export const REQUIRED_LABEL = i18n.translate( 'xpack.apm.fleet_integration.settings.requiredLabel', @@ -34,13 +33,13 @@ export function mergeNewVars( } export function isSettingsFormValid( - parentSettings: SettingDefinition[], + parentSettings: SettingsRow[], vars: PackagePolicyVars ) { - function isSettingsValid(settings: SettingDefinition[]): boolean { + function isSettingsValid(settings: SettingsRow[]): boolean { return !settings .map((setting) => { - if (setting.type === 'advanced_settings') { + if (setting.type === 'advanced_setting') { return isSettingsValid(setting.settings); } @@ -59,11 +58,11 @@ export function isSettingsFormValid( return isSettingsValid(parentSettings); } -export function validateSettingValue(setting: Setting, value?: any) { - if (isEmpty(value)) { +export function validateSettingValue(setting: BasicSettingRow, value?: any) { + if (!isFinite(value) && isEmpty(value)) { return { isValid: !setting.required, - message: setting.required ? REQUIRED_FIELD : '', + message: REQUIRED_FIELD, }; } diff --git a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/typings.ts b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/typings.ts index 0a5ebde1584c3..7df1ccf1fb18f 100644 --- a/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/typings.ts +++ b/x-pack/plugins/apm/public/components/fleet_integration/apm_policy_form/typings.ts @@ -4,6 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import * as t from 'io-ts'; import { PackagePolicyConfigRecordEntry } from '../../../../../fleet/common'; export { @@ -19,7 +20,33 @@ export { export type PackagePolicyVars = Record; -export type OnFormChangeFn = ( - newVars: PackagePolicyVars, - isValid: boolean -) => void; +export type SettingValidation = t.Type; + +interface AdvancedSettingRow { + type: 'advanced_setting'; + settings: SettingsRow[]; +} + +export interface BasicSettingRow { + type: + | 'text' + | 'combo' + | 'area' + | 'boolean' + | 'integer' + | 'bytes' + | 'duration'; + key: string; + rowTitle?: string; + rowDescription?: string; + label?: string; + helpText?: string; + placeholder?: string; + labelAppend?: string; + settings?: SettingsRow[]; + validation?: SettingValidation; + required?: boolean; + readOnly?: boolean; +} + +export type SettingsRow = BasicSettingRow | AdvancedSettingRow; diff --git a/x-pack/plugins/apm/public/tutorial/config_agent/index.tsx b/x-pack/plugins/apm/public/tutorial/config_agent/index.tsx index d38d51f01c67b..cfb51b4cd3b68 100644 --- a/x-pack/plugins/apm/public/tutorial/config_agent/index.tsx +++ b/x-pack/plugins/apm/public/tutorial/config_agent/index.tsx @@ -72,7 +72,7 @@ function getFleetLink({ } : { label: GET_STARTED_WITH_FLEET_LABEL, - href: `${basePath}/app/integrations#/detail/apm-0.3.0/overview`, + href: `${basePath}/app/integrations#/detail/apm-0.4.0/overview`, }; } diff --git a/x-pack/plugins/apm/public/tutorial/tutorial_fleet_instructions/index.tsx b/x-pack/plugins/apm/public/tutorial/tutorial_fleet_instructions/index.tsx index 2ea73126711a2..fbbb2e1ffedf4 100644 --- a/x-pack/plugins/apm/public/tutorial/tutorial_fleet_instructions/index.tsx +++ b/x-pack/plugins/apm/public/tutorial/tutorial_fleet_instructions/index.tsx @@ -93,7 +93,7 @@ function TutorialFleetInstructions({ http, basePath, isDarkTheme }: Props) { {i18n.translate( 'xpack.apm.tutorial.apmServer.fleet.apmIntegration.button', diff --git a/x-pack/plugins/apm/server/lib/fleet/get_apm_package_policy_definition.ts b/x-pack/plugins/apm/server/lib/fleet/get_apm_package_policy_definition.ts index 0b086d1998be9..b339c1f1f0be9 100644 --- a/x-pack/plugins/apm/server/lib/fleet/get_apm_package_policy_definition.ts +++ b/x-pack/plugins/apm/server/lib/fleet/get_apm_package_policy_definition.ts @@ -32,7 +32,7 @@ export function getApmPackagePolicyDefinition( ], package: { name: APM_PACKAGE_NAME, - version: '0.3.0', + version: '0.4.0', title: 'Elastic APM', }, }; @@ -74,14 +74,6 @@ export const apmConfigMapping: Record< type: 'text', getValue: ({ cloudPluginSetup }) => cloudPluginSetup?.apm?.url, }, - 'apm-server.secret_token': { - name: 'secret_token', - type: 'text', - }, - 'apm-server.api_key.enabled': { - name: 'api_key_enabled', - type: 'bool', - }, 'apm-server.rum.enabled': { name: 'enable_rum', type: 'bool', @@ -90,10 +82,6 @@ export const apmConfigMapping: Record< name: 'default_service_environment', type: 'text', }, - 'apm-server.rum.allow_service_names': { - name: 'rum_allow_service_names', - type: 'text', - }, 'apm-server.rum.allow_origins': { name: 'rum_allow_origins', type: 'text', @@ -106,14 +94,6 @@ export const apmConfigMapping: Record< name: 'rum_response_headers', type: 'yaml', }, - 'apm-server.rum.event_rate.limit': { - name: 'rum_event_rate_limit', - type: 'integer', - }, - 'apm-server.rum.event_rate.lru_size': { - name: 'rum_event_rate_lru_size', - type: 'integer', - }, 'apm-server.rum.library_pattern': { name: 'rum_library_pattern', type: 'text', @@ -122,10 +102,6 @@ export const apmConfigMapping: Record< name: 'rum_exclude_from_grouping', type: 'text', }, - 'apm-server.api_key.limit': { - name: 'api_key_limit', - type: 'integer', - }, 'apm-server.max_event_size': { name: 'max_event_bytes', type: 'integer', @@ -190,4 +166,36 @@ export const apmConfigMapping: Record< name: 'tls_curve_types', type: 'text', }, + 'apm-server.auth.secret_token': { + name: 'secret_token', + type: 'text', + }, + 'apm-server.auth.api_key.enabled': { + name: 'api_key_enabled', + type: 'bool', + }, + 'apm-server.auth.api_key.limit': { + name: 'api_key_limit', + type: 'bool', + }, + 'apm-server.auth.anonymous.enabled': { + name: 'anonymous_enabled', + type: 'bool', + }, + 'apm-server.auth.anonymous.allow_agent': { + name: 'anonymous_allow_agent', + type: 'text', + }, + 'apm-server.auth.anonymous.allow_service': { + name: 'anonymous_allow_service', + type: 'text', + }, + 'apm-server.auth.anonymous.rate_limit.ip_limit': { + name: 'anonymous_rate_limit_ip_limit', + type: 'integer', + }, + 'apm-server.auth.anonymous.rate_limit.event_limit': { + name: 'anonymous_rate_limit_event_limit', + type: 'integer', + }, }; From bf748549f895cdd3c9d0e6e01f2c36c9cd18c612 Mon Sep 17 00:00:00 2001 From: Scotty Bollinger Date: Tue, 24 Aug 2021 18:14:09 -0500 Subject: [PATCH 006/139] Fix text size for DLP callout (#109964) --- .../views/content_sources/components/overview.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/overview.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/overview.tsx index f44d15c27f002..b7b35f99fb647 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/overview.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/content_sources/components/overview.tsx @@ -283,7 +283,7 @@ export const Overview: React.FC = () => { const documentPermissions = ( <> - +

{DOCUMENT_PERMISSIONS_TITLE}

@@ -305,7 +305,7 @@ export const Overview: React.FC = () => { const documentPermissionsDisabled = ( <> - +

{DOCUMENT_PERMISSIONS_TITLE}

@@ -316,7 +316,7 @@ export const Overview: React.FC = () => { - + {DOCUMENT_PERMISSIONS_DISABLED_TEXT} From 88640a7a10c6691d44407148cb2b126e9e6ae01e Mon Sep 17 00:00:00 2001 From: Clint Andrew Hall Date: Tue, 24 Aug 2021 18:40:04 -0500 Subject: [PATCH 007/139] [canvas][nit] Kill dead, ugly error handler (#109771) --- .../public/components/arg_form/arg_form.js | 1 - .../canvas/public/lib/window_error_handler.js | 88 ------------------- 2 files changed, 89 deletions(-) delete mode 100644 x-pack/plugins/canvas/public/lib/window_error_handler.js diff --git a/x-pack/plugins/canvas/public/components/arg_form/arg_form.js b/x-pack/plugins/canvas/public/components/arg_form/arg_form.js index 0f22307c9cd1c..1e79b8152c9d1 100644 --- a/x-pack/plugins/canvas/public/components/arg_form/arg_form.js +++ b/x-pack/plugins/canvas/public/components/arg_form/arg_form.js @@ -75,7 +75,6 @@ export const ArgForm = (props) => { Promise.resolve().then(() => { // Provide templates with a renderError method, and wrap the error in a known error type // to stop Kibana's window.error from being called - // see window_error_handler.js for details, isMounted.current && setRenderError(true); }); }, diff --git a/x-pack/plugins/canvas/public/lib/window_error_handler.js b/x-pack/plugins/canvas/public/lib/window_error_handler.js deleted file mode 100644 index 0d24a98986124..0000000000000 --- a/x-pack/plugins/canvas/public/lib/window_error_handler.js +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as knownErrors from '../../common/lib/errors'; - -const oldHandler = window.onerror; - -function showError(err) { - const body = document.querySelector('body'); - const notice = document.createElement('div'); - notice.classList.add('window-error'); - - const close = document.createElement('a'); - close.textContent = 'close'; - close.onclick = (ev) => { - ev.preventDefault(); - body.removeChild(notice); - }; - notice.appendChild(close); - - notice.insertAdjacentHTML('beforeend', '

Uncaught error swallowed in dev mode

'); - - const message = document.createElement('p'); - message.textContent = `Error: ${err.message}`; - notice.appendChild(message); - - if (err.stack) { - const stack = document.createElement('pre'); - stack.textContent = err.stack.split('\n').slice(0, 2).concat('...').join('\n'); - notice.appendChild(stack); - } - - notice.insertAdjacentHTML('beforeend', `

Check console for more information

`); - body.appendChild(notice); -} - -window.canvasInitErrorHandler = () => { - // React will delegate to window.onerror, even when errors are caught with componentWillCatch, - // so check for a known custom error type and skip the default error handling when we find one - window.onerror = (...args) => { - const [message, , , , err] = args; - - // ResizeObserver error does not have an `err` object - // It is thrown during workpad loading due to layout thrashing - // https://stackoverflow.com/questions/49384120/resizeobserver-loop-limit-exceeded - // https://github.com/elastic/eui/issues/3346 - console.log(message); - const isKnownError = - message.includes('ResizeObserver loop') || - Object.keys(knownErrors).find((errorName) => { - return err.constructor.name === errorName || message.indexOf(errorName) >= 0; - }); - if (isKnownError) { - return; - } - - // uncaught errors are silenced in dev mode - // NOTE: react provides no way I can tell to distingish that an error came from react, it just - // throws generic Errors. In development mode, it throws those errors even if you catch them in - // an error boundary. This uses in the stack trace to try to detect it, but that stack changes - // between development and production modes. Fortunately, beginWork exists in both, so it uses - // a mix of the runtime mode and checking for another react method (renderRoot) for development - // TODO: this is *super* fragile. If the React method names ever change, which seems kind of likely, - // this check will break. - const isProduction = process.env.NODE_ENV === 'production'; - if (!isProduction) { - // TODO: we should do something here to let the user know something failed, - // but we don't currently have an error logging service - console.error(err); - console.warn(`*** Uncaught error swallowed in dev mode *** - - Check and fix the above error. This will blow up Kibana when run in production mode!`); - showError(err); - return; - } - - // fall back to the default kibana uncaught error handler - oldHandler(...args); - }; -}; - -window.canvasRestoreErrorHandler = () => { - window.onerror = oldHandler; -}; From b300a1d7d15794bfd1361df37569087de3e7629c Mon Sep 17 00:00:00 2001 From: CJ Cenizal Date: Tue, 24 Aug 2021 17:41:32 -0700 Subject: [PATCH 008/139] Add Snapshot and Restore locator. (#109886) --- x-pack/plugins/snapshot_restore/kibana.json | 2 +- .../snapshot_restore/public/locator.ts | 45 +++++++++++++++++++ .../plugins/snapshot_restore/public/plugin.ts | 15 +++++-- 3 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 x-pack/plugins/snapshot_restore/public/locator.ts diff --git a/x-pack/plugins/snapshot_restore/kibana.json b/x-pack/plugins/snapshot_restore/kibana.json index bd2a85126c0c6..66c4023337af1 100644 --- a/x-pack/plugins/snapshot_restore/kibana.json +++ b/x-pack/plugins/snapshot_restore/kibana.json @@ -7,7 +7,7 @@ "name": "Stack Management", "githubTeam": "kibana-stack-management" }, - "requiredPlugins": ["licensing", "management", "features"], + "requiredPlugins": ["licensing", "management", "features", "share"], "optionalPlugins": ["usageCollection", "security", "cloud", "home"], "configPath": ["xpack", "snapshot_restore"], "requiredBundles": ["esUiShared", "kibanaReact", "home"] diff --git a/x-pack/plugins/snapshot_restore/public/locator.ts b/x-pack/plugins/snapshot_restore/public/locator.ts new file mode 100644 index 0000000000000..ba57446a03887 --- /dev/null +++ b/x-pack/plugins/snapshot_restore/public/locator.ts @@ -0,0 +1,45 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { SerializableRecord } from '@kbn/utility-types'; +import { ManagementAppLocator } from 'src/plugins/management/common'; +import { LocatorDefinition } from '../../../../src/plugins/share/public/'; +import { linkToSnapshots } from './application/services/navigation'; +import { PLUGIN } from '../common/constants'; + +export const SNAPSHOT_RESTORE_LOCATOR_ID = 'SNAPSHOT_RESTORE_LOCATOR'; + +export interface SnapshotRestoreLocatorParams extends SerializableRecord { + page: 'snapshots'; +} + +export interface SnapshotRestoreLocatorDefinitionDependencies { + managementAppLocator: ManagementAppLocator; +} + +export class SnapshotRestoreLocatorDefinition + implements LocatorDefinition { + constructor(protected readonly deps: SnapshotRestoreLocatorDefinitionDependencies) {} + + public readonly id = SNAPSHOT_RESTORE_LOCATOR_ID; + + public readonly getLocation = async (params: SnapshotRestoreLocatorParams) => { + const location = await this.deps.managementAppLocator.getLocation({ + sectionId: 'data', + appId: PLUGIN.id, + }); + + switch (params.page) { + case 'snapshots': { + return { + ...location, + path: location.path + linkToSnapshots(), + }; + } + } + }; +} diff --git a/x-pack/plugins/snapshot_restore/public/plugin.ts b/x-pack/plugins/snapshot_restore/public/plugin.ts index fbd59db531d9e..bb091a1fd1831 100644 --- a/x-pack/plugins/snapshot_restore/public/plugin.ts +++ b/x-pack/plugins/snapshot_restore/public/plugin.ts @@ -7,13 +7,14 @@ import { i18n } from '@kbn/i18n'; import { CoreSetup, PluginInitializerContext } from 'src/core/public'; - -import { UsageCollectionSetup } from '../../../../src/plugins/usage_collection/public'; -import { ManagementSetup } from '../../../../src/plugins/management/public'; +import { UsageCollectionSetup } from 'src/plugins/usage_collection/public'; +import { ManagementSetup } from 'src/plugins/management/public'; +import { SharePluginSetup } from 'src/plugins/share/public'; import { FeatureCatalogueCategory, HomePublicPluginSetup, } from '../../../../src/plugins/home/public'; + import { PLUGIN } from '../common/constants'; import { ClientConfigType } from './types'; @@ -22,10 +23,12 @@ import { httpService, setUiMetricService } from './application/services/http'; import { textService } from './application/services/text'; import { UiMetricService } from './application/services'; import { UIM_APP_NAME } from './application/constants'; +import { SnapshotRestoreLocatorDefinition } from './locator'; interface PluginsDependencies { usageCollection: UsageCollectionSetup; management: ManagementSetup; + share: SharePluginSetup; home?: HomePublicPluginSetup; } @@ -79,6 +82,12 @@ export class SnapshotRestoreUIPlugin { order: 630, }); } + + plugins.share.url.locators.create( + new SnapshotRestoreLocatorDefinition({ + managementAppLocator: plugins.management.locator, + }) + ); } public start() {} From a161c2b7d861bd381ebbb4c71dc06a8f6085ddce Mon Sep 17 00:00:00 2001 From: Andrew Goldstein Date: Tue, 24 Aug 2021 20:53:35 -0600 Subject: [PATCH 009/139] [RAC] [TGrid] Use `EuiDataGridColumn` schemas (for sorting) (#109983) ## Summary Updates the `TGrid` to use `EuiDataGrid` [schemas](https://eui.elastic.co/#/tabular-content/data-grid-schemas-and-popovers/) as suggested by @snide in the following issue: ## Desk testing 1) In the `Security Solution`, navigate to `Security > Rules` and enable multiple detection rules that have different `Risk Score`s **Expected result** - The Detection Engine generates alerts (when the rule's criteria is met) that have different risk scores 2) Navigate to the `Security > Alerts` page **Expected results** As shown in the screenshot below: - The alerts table is sorted by `@timestamp` in descending (Z-A) order, "newest first" - The `@timestamp` field in every row is newer than, or the same time as the row below it - The alerts table shows a non-zero count of alerts, e.g. `20,600 alerts` ![alerts-table-at-page-load](https://user-images.githubusercontent.com/4459398/130700525-343d51af-7a3a-475c-b3b4-b429bc212adf.png) _Above: At page load, the alerts table is sorted by `@timestamp` in descending (Z-A) order, "newest first"_ 3) Observe the count of alerts shown in the header of the alerts table, e.g. `20,600 alerts`, and then change the global date picker in the KQL bar from `Today` to `Last 1 year` **Expected results** - The golbal date picker now reads `Last 1 year` - The count of the alerts displayed in the alerts table has increased, e.g. from `20,600 alerts` to `118,709 alerts` - The `@timestamp` field in every row is (still) newer than, or the same time as the row below it 4) Click on the `@timestamp` column, and choose `Sort A-Z` from the popover, to change the sorting to ascending, "oldest first", as shown in the screenshot below: ![click-sort-ascending](https://user-images.githubusercontent.com/4459398/130701250-3f229644-2a78-409e-80ff-f88588562190.png) _Above: Click `Sort A-Z` to sort ascending, "oldest first"_ **Expected results** As shown in the screenshot below: - The alerts table is sorted by `@timestamp` in ascending (A-Z) order, "oldest first" - The `@timestamp` field in every row is older than, or the same time as the row below it - `@timestamp` is older than the previously shown value, e.g. `Aug 3` instead of `Aug 24` ![timestamp-ascending-oldest-first](https://user-images.githubusercontent.com/4459398/130702221-cc8cf84f-c044-4574-8a93-b9d35c14c890.png) _Above: The alerts table is now sorted by `@timestamp` in ascending (A-Z) order, "oldest first"_ 5) Click on the `Risk Score` column, and choose `Sort A-Z` from the popover, to add `Risk Score` as a secondary sort in descending (Z-A) "highest first" order, as shown in the screenshot below: ![sort-risk-score](https://user-images.githubusercontent.com/4459398/130702599-e4c0d74a-8775-435b-a263-5b6b278f6dfd.png) _Above: Click `Sort A-Z` to add `Risk Score` as a secondary sort in descending (Z-A) "highest first" order_ **Expected results** - The alerts table re-fetches data - The alerts table shows `2 fields sorted` 6) Hover over the alerts table and click the `Inspect` magnifiing glass icon **Expected result** - The `Inspect` modal appaers, as shown in the screenshot below: ![inspect](https://user-images.githubusercontent.com/4459398/130702849-1189f32e-eb03-4d9d-b248-6c6f0b5665fa.png) _Above: the `Inspect` modal_ 7) Click the `Request` tab, and scroll to the `sort` section of the request **Expected result** Per the JSON shown below: - The request is sorted first by `@timestamp` in ascending (A-Z) order, "oldest first" - The request is sorted second by `signal.rule.risk_score` descending (Z-A) "highest first" order ```json "sort": [ { "@timestamp": { "order": "asc", "unmapped_type": "date" } }, { "signal.rule.risk_score": { "order": "desc", "unmapped_type": "number" } } ], ``` 8) Click `Close` to close the `Inspect` modal 9) Click `2 fields sorted` to display the sort popover 10) Use the drag handles to, via drag-and-drop, update the sorting such that `Risk Score` is sorted **before** `@timestamp`, as shown in the screenshot below: ![sort-by-risk-score-first](https://user-images.githubusercontent.com/4459398/130704159-523effa2-21ef-4599-a939-964fc523f9ec.png) _Above: Use the drag handles to, via drag-and-drop, update the sorting such that `Risk Score` is sorted **before** `@timestamp`_ **Expected results** As shown in the screenshot below: - The table is updated to be sorted first by the higest risk score, e.g. previously `47`, now `73` - The alerts table is sorted second by `@timestamp` in ascending (A-Z) order, "oldest first", and *may* have changed, e.g. from `Aug 3` to `Aug 12`, depending on the sample data in your environment ![highest-risk-score](https://user-images.githubusercontent.com/4459398/130704878-163a2427-fc7a-4755-9adc-a06b0d7b8e43.png) _Above: The alerts table is now sorted first by highest risk score_ 11) Once again, hover over the alerts table and click the `Inspect` magnifiing glass icon 12) Once again, click the `Request` tab, and scroll to the `sort` section of the request **Expected result** Per the JSON shown below: - The request is sorted first by `signal.rule.risk_score` in descending (Z-A) "highest first" order - The request is sorted second by `@timestamp` in ascending (A-Z) order, "oldest first" ```json "sort": [ { "signal.rule.risk_score": { "order": "desc", "unmapped_type": "number" } }, { "@timestamp": { "order": "asc", "unmapped_type": "date" } } ], ``` --- .../common/types/timeline/columns/index.tsx | 1 + .../body/column_headers/helpers.test.tsx | 93 ++++++++++++++++++- .../t_grid/body/column_headers/helpers.tsx | 47 +++++++++- 3 files changed, 139 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/timelines/common/types/timeline/columns/index.tsx b/x-pack/plugins/timelines/common/types/timeline/columns/index.tsx index 5ca3661eb3afe..d6bc34ca80da9 100644 --- a/x-pack/plugins/timelines/common/types/timeline/columns/index.tsx +++ b/x-pack/plugins/timelines/common/types/timeline/columns/index.tsx @@ -63,6 +63,7 @@ export type ColumnHeaderOptions = Pick< | 'id' | 'initialWidth' | 'isSortable' + | 'schema' > & { aggregatable?: boolean; tGridCellActions?: TGridCellAction[]; diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/column_headers/helpers.test.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/column_headers/helpers.test.tsx index 1e4bae156299b..42057062d8b54 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/column_headers/helpers.test.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/column_headers/helpers.test.tsx @@ -9,7 +9,13 @@ import { omit, set } from 'lodash/fp'; import React from 'react'; import { defaultHeaders } from './default_headers'; -import { getActionsColumnWidth, getColumnWidthFromType, getColumnHeaders } from './helpers'; +import { + BUILT_IN_SCHEMA, + getActionsColumnWidth, + getColumnWidthFromType, + getColumnHeaders, + getSchema, +} from './helpers'; import { DEFAULT_COLUMN_MIN_WIDTH, DEFAULT_DATE_COLUMN_MIN_WIDTH, @@ -18,6 +24,7 @@ import { SHOW_CHECK_BOXES_COLUMN_WIDTH, } from '../constants'; import { mockBrowserFields } from '../../../../mock/browser_fields'; +import { ColumnHeaderOptions } from '../../../../../common'; window.matchMedia = jest.fn().mockImplementation((query) => { return { @@ -62,6 +69,32 @@ describe('helpers', () => { }); }); + describe('getSchema', () => { + const expected: Record = { + date: 'datetime', + date_nanos: 'datetime', + double: 'numeric', + long: 'numeric', + number: 'numeric', + object: 'json', + boolean: 'boolean', + }; + + Object.keys(expected).forEach((type) => + test(`it returns the expected schema for type '${type}'`, () => { + expect(getSchema(type)).toEqual(expected[type]); + }) + ); + + test('it returns `undefined` when `type` does NOT match a built-in schema type', () => { + expect(getSchema('string')).toBeUndefined(); // 'keyword` doesn't have a schema + }); + + test('it returns `undefined` when `type` is undefined', () => { + expect(getSchema(undefined)).toBeUndefined(); + }); + }); + describe('getColumnHeaders', () => { // additional properties used by `EuiDataGrid`: const actions = { @@ -208,6 +241,7 @@ describe('helpers', () => { indexes: ['auditbeat', 'filebeat', 'packetbeat'], isSortable, name: '@timestamp', + schema: 'datetime', searchable: true, type: 'date', initialWidth: 190, @@ -254,5 +288,62 @@ describe('helpers', () => { expectedData ); }); + + test('it should NOT override a custom `schema` when the `header` provides it', () => { + const expected = [ + { + actions, + aggregatable: true, + category: 'base', + columnHeaderType: 'not-filtered', + defaultSortDirection, + description: + 'Date/time when the event originated. For log events this is the date/time when the event was generated, and not when it was read. Required field for all events.', + example: '2016-05-23T08:05:34.853Z', + format: '', + id: '@timestamp', + indexes: ['auditbeat', 'filebeat', 'packetbeat'], + isSortable, + name: '@timestamp', + schema: 'custom', // <-- we expect our custom schema will NOT be overridden by a built-in schema + searchable: true, + type: 'date', // <-- the built-in schema for `type: 'date'` is 'datetime', but the custom schema overrides it + initialWidth: 190, + }, + ]; + + const headerWithCustomSchema: ColumnHeaderOptions = { + columnHeaderType: 'not-filtered', + id: '@timestamp', + initialWidth: 190, + schema: 'custom', // <-- overrides the default of 'datetime' + }; + + expect( + getColumnHeaders([headerWithCustomSchema], mockBrowserFields).map(omit('display')) + ).toEqual(expected); + }); + + test('it should return an `undefined` `schema` when a `header` does NOT have an entry in `BrowserFields`', () => { + const expected = [ + { + actions, + columnHeaderType: 'not-filtered', + defaultSortDirection, + id: 'no_matching_browser_field', + isSortable: false, + schema: undefined, // <-- no `BrowserFields` entry for this field + }, + ]; + + const headerDoesNotMatchBrowserField: ColumnHeaderOptions = { + columnHeaderType: 'not-filtered', + id: 'no_matching_browser_field', + }; + + expect( + getColumnHeaders([headerDoesNotMatchBrowserField], mockBrowserFields).map(omit('display')) + ).toEqual(expected); + }); }); }); diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/column_headers/helpers.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/column_headers/helpers.tsx index 97b947b4344e1..cd08e880bcb25 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/column_headers/helpers.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/column_headers/helpers.tsx @@ -44,15 +44,59 @@ const getAllFieldsByName = ( ): { [fieldName: string]: Partial } => keyBy('name', getAllBrowserFields(browserFields)); +/** + * Valid built-in schema types for the `schema` property of `EuiDataGridColumn` + * are enumerated in the following comment in the EUI repository (permalink): + * https://github.com/elastic/eui/blob/edc71160223c8d74e1293501f7199fba8fa57c6c/src/components/datagrid/data_grid_types.ts#L417 + */ +export type BUILT_IN_SCHEMA = 'boolean' | 'currency' | 'datetime' | 'numeric' | 'json'; + +/** + * Returns a valid value for the `EuiDataGridColumn` `schema` property, or + * `undefined` when the specified `BrowserFields` `type` doesn't match a + * built-in schema type + * + * Notes: + * + * - At the time of this writing, the type definition of the + * `EuiDataGridColumn` `schema` property is: + * + * ```ts + * schema?: string; + * ``` + * - At the time of this writing, Elasticsearch Field data types are documented here: + * https://www.elastic.co/guide/en/elasticsearch/reference/7.14/mapping-types.html + */ +export const getSchema = (type: string | undefined): BUILT_IN_SCHEMA | undefined => { + switch (type) { + case 'date': // fall through + case 'date_nanos': + return 'datetime'; + case 'double': // fall through + case 'long': // fall through + case 'number': + return 'numeric'; + case 'object': + return 'json'; + case 'boolean': + return 'boolean'; + default: + return undefined; + } +}; + /** Enriches the column headers with field details from the specified browserFields */ export const getColumnHeaders = ( headers: ColumnHeaderOptions[], browserFields: BrowserFields ): ColumnHeaderOptions[] => { + const browserFieldByName = getAllFieldsByName(browserFields); return headers ? headers.map((header) => { const splitHeader = header.id.split('.'); // source.geo.city_name -> [source, geo, city_name] + const browserField: Partial | undefined = browserFieldByName[header.id]; + // augment the header with metadata from browserFields: const augmentedHeader = { ...header, @@ -60,6 +104,7 @@ export const getColumnHeaders = ( [splitHeader.length > 1 ? splitHeader[0] : 'base', 'fields', header.id], browserFields ), + schema: header.schema ?? getSchema(browserField?.type), }; const content = <>{header.display ?? header.displayAsText ?? header.id}; @@ -71,7 +116,7 @@ export const getColumnHeaders = ( defaultSortDirection: 'desc', // the default action when a user selects a field via `EuiDataGrid`'s `Pick fields to sort by` UI display: <>{content}, isSortable: allowSorting({ - browserField: getAllFieldsByName(browserFields)[header.id], + browserField, fieldName: header.id, }), }; From 6a1a38b346b3e58a23524fcb91578d64bf4a1b7b Mon Sep 17 00:00:00 2001 From: Xavier Mouligneau <189600+XavierM@users.noreply.github.com> Date: Tue, 24 Aug 2021 23:32:40 -0400 Subject: [PATCH 010/139] [RAC] [o11y] add permission in alerts table from kibana privilege/consumer (#109759) * add alert permission in o11y * review I * review II * fix selection all when checkbox disabled * fix selected on bulk actions --- .../public/hooks/use_alert_permission.ts | 39 ++++++++----- .../pages/alerts/alerts_table_t_grid.tsx | 27 +++++++-- .../timeline/events/all/index.ts | 1 + .../common/types/timeline/actions/index.ts | 1 + .../t_grid/body/control_columns/checkbox.tsx | 19 +++--- .../public/components/t_grid/body/helpers.tsx | 21 +++++-- .../public/components/t_grid/body/index.tsx | 58 ++++++++++++++----- .../t_grid/body/row_action/index.tsx | 3 + .../components/t_grid/standalone/index.tsx | 28 ++++++++- .../timelines/public/container/index.tsx | 4 ++ .../timeline/factory/events/all/constants.ts | 2 + .../timeline/factory/events/all/index.ts | 12 +++- .../events/all/query.events_all.dsl.ts | 6 ++ .../applications/timelines_test/index.tsx | 3 + 14 files changed, 174 insertions(+), 50 deletions(-) diff --git a/x-pack/plugins/observability/public/hooks/use_alert_permission.ts b/x-pack/plugins/observability/public/hooks/use_alert_permission.ts index 509324e00f650..2c2837c4bda82 100644 --- a/x-pack/plugins/observability/public/hooks/use_alert_permission.ts +++ b/x-pack/plugins/observability/public/hooks/use_alert_permission.ts @@ -7,6 +7,7 @@ import { useEffect, useState } from 'react'; import { RecursiveReadonly } from '@kbn/utility-types'; +import { Capabilities } from '../../../../../src/core/types'; export interface UseGetUserAlertsPermissionsProps { crud: boolean; @@ -15,8 +16,29 @@ export interface UseGetUserAlertsPermissionsProps { featureId: string | null; } +export const getAlertsPermissions = ( + uiCapabilities: RecursiveReadonly, + featureId: string +) => { + if (!featureId || !uiCapabilities[featureId]) { + return { + crud: false, + read: false, + loading: false, + featureId, + }; + } + + return { + crud: uiCapabilities[featureId].save as boolean, + read: uiCapabilities[featureId].show as boolean, + loading: false, + featureId, + }; +}; + export const useGetUserAlertsPermissions = ( - uiCapabilities: RecursiveReadonly>, + uiCapabilities: RecursiveReadonly, featureId?: string ): UseGetUserAlertsPermissionsProps => { const [alertsPermissions, setAlertsPermissions] = useState({ @@ -39,20 +61,7 @@ export const useGetUserAlertsPermissions = ( if (currentAlertPermissions.featureId === featureId) { return currentAlertPermissions; } - const capabilitiesCanUserCRUD: boolean = - typeof uiCapabilities[featureId].save === 'boolean' - ? uiCapabilities[featureId].save - : false; - const capabilitiesCanUserRead: boolean = - typeof uiCapabilities[featureId].show === 'boolean' - ? uiCapabilities[featureId].show - : false; - return { - crud: capabilitiesCanUserCRUD, - read: capabilitiesCanUserRead, - loading: false, - featureId, - }; + return getAlertsPermissions(uiCapabilities, featureId); }); } }, [alertsPermissions.featureId, featureId, uiCapabilities]); diff --git a/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx b/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx index 2604d3b0e1c5a..3b62538fa3e30 100644 --- a/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx @@ -40,7 +40,10 @@ import { i18n } from '@kbn/i18n'; import styled from 'styled-components'; import React, { Suspense, useMemo, useState, useCallback } from 'react'; import { get } from 'lodash'; -import { useGetUserAlertsPermissions } from '../../hooks/use_alert_permission'; +import { + getAlertsPermissions, + useGetUserAlertsPermissions, +} from '../../hooks/use_alert_permission'; import type { TimelinesUIStart, TGridType, SortDirection } from '../../../../timelines/public'; import { useStatusBulkActionItems } from '../../../../timelines/public'; import type { TopAlert } from './'; @@ -279,12 +282,22 @@ function ObservabilityActions({ export function AlertsTableTGrid(props: AlertsTableTGridProps) { const { indexNames, rangeFrom, rangeTo, kuery, workflowStatus, setRefetch, addToQuery } = props; - const { timelines } = useKibana<{ timelines: TimelinesUIStart }>().services; + const { + timelines, + application: { capabilities }, + } = useKibana().services; const [flyoutAlert, setFlyoutAlert] = useState(undefined); const casePermissions = useGetUserCasesPermissions(); + const hasAlertsCrudPermissions = useCallback( + (featureId: string) => { + return getAlertsPermissions(capabilities, featureId).crud; + }, + [capabilities] + ); + const leadingControlColumns = useMemo(() => { return [ { @@ -324,6 +337,7 @@ export function AlertsTableTGrid(props: AlertsTableTGridProps) { defaultCellActions: getDefaultCellActions({ addToQuery }), end: rangeTo, filters: [], + hasAlertsCrudPermissions, indexNames, itemsPerPageOptions: [10, 25, 50], loadingText: i18n.translate('xpack.observability.alertsTable.loadingTextLabel', { @@ -358,14 +372,15 @@ export function AlertsTableTGrid(props: AlertsTableTGridProps) { }; }, [ casePermissions, + addToQuery, + rangeTo, + hasAlertsCrudPermissions, indexNames, + workflowStatus, kuery, - leadingControlColumns, rangeFrom, - rangeTo, setRefetch, - workflowStatus, - addToQuery, + leadingControlColumns, ]); const handleFlyoutClose = () => setFlyoutAlert(undefined); const { observabilityRuleTypeRegistry } = usePluginContext(); diff --git a/x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts b/x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts index c585d93330b20..4bb9928aa6b97 100644 --- a/x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts +++ b/x-pack/plugins/timelines/common/search_strategy/timeline/events/all/index.ts @@ -30,6 +30,7 @@ export interface TimelineNonEcsData { } export interface TimelineEventsAllStrategyResponse extends IEsSearchResponse { + consumers: Record; edges: TimelineEdges[]; totalCount: number; pageInfo: Pick; diff --git a/x-pack/plugins/timelines/common/types/timeline/actions/index.ts b/x-pack/plugins/timelines/common/types/timeline/actions/index.ts index bd864b9d97487..e8ba2718df69b 100644 --- a/x-pack/plugins/timelines/common/types/timeline/actions/index.ts +++ b/x-pack/plugins/timelines/common/types/timeline/actions/index.ts @@ -20,6 +20,7 @@ export interface ActionProps { columnId: string; columnValues: string; checked: boolean; + disabled?: boolean; onRowSelected: OnRowSelected; eventId: string; loadingEventIds: Readonly; diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/control_columns/checkbox.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/control_columns/checkbox.tsx index cc8ec06d18dbd..0d750a002914b 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/control_columns/checkbox.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/control_columns/checkbox.tsx @@ -16,15 +16,19 @@ export const RowCheckBox = ({ checked, ariaRowindex, columnValues, + disabled, loadingEventIds, }: ActionProps) => { const handleSelectEvent = useCallback( - (event: React.ChangeEvent) => - onRowSelected({ - eventIds: [eventId], - isSelected: event.currentTarget.checked, - }), - [eventId, onRowSelected] + (event: React.ChangeEvent) => { + if (!disabled) { + onRowSelected({ + eventIds: [eventId], + isSelected: event.currentTarget.checked, + }); + } + }, + [eventId, onRowSelected, disabled] ); return loadingEventIds.includes(eventId) ? ( @@ -33,7 +37,8 @@ export const RowCheckBox = ({ diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/helpers.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/helpers.tsx index 6c98884451d8f..09e773fff47a1 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/helpers.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/helpers.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import { ALERT_RULE_CONSUMER } from '@kbn/rule-data-utils'; import { isEmpty } from 'lodash/fp'; import { EuiDataGridCellValueElementProps } from '@elastic/eui'; @@ -39,12 +40,24 @@ export const stringifyEvent = (ecs: Ecs): string => JSON.stringify(ecs, omitType export const getEventIdToDataMapping = ( timelineData: TimelineItem[], eventIds: string[], - fieldsToKeep: string[] + fieldsToKeep: string[], + hasAlertsCrud: boolean, + hasAlertsCrudPermissionsByFeatureId?: (featureId: string) => boolean ): Record => timelineData.reduce((acc, v) => { - const fvm = eventIds.includes(v._id) - ? { [v._id]: v.data.filter((ti) => fieldsToKeep.includes(ti.field)) } - : {}; + // FUTURE DEVELOPER + // We only have one featureId for security solution therefore we can just use hasAlertsCrud + // but for o11y we can multiple featureIds so we need to check every consumer + // of the alert to see if they have the permission to update the alert + const alertConsumers = v.data.find((d) => d.field === ALERT_RULE_CONSUMER)?.value ?? []; + const hasPermissions = hasAlertsCrudPermissionsByFeatureId + ? alertConsumers.some((consumer) => hasAlertsCrudPermissionsByFeatureId(consumer)) + : hasAlertsCrud; + + const fvm = + hasPermissions && eventIds.includes(v._id) + ? { [v._id]: v.data.filter((ti) => fieldsToKeep.includes(ti.field)) } + : {}; return { ...acc, ...fvm, diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx index 001e405fc10e0..5867fa987b982 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx @@ -32,6 +32,7 @@ import React, { import { connect, ConnectedProps, useDispatch } from 'react-redux'; import { ThemeContext } from 'styled-components'; +import { ALERT_RULE_CONSUMER } from '@kbn/rule-data-utils'; import { TGridCellAction, BulkActionsProp, @@ -103,6 +104,8 @@ interface OwnProps { trailingControlColumns?: ControlColumnProps[]; unit?: (total: number) => React.ReactNode; hasAlertsCrud?: boolean; + hasAlertsCrudPermissions?: (featureId: string) => boolean; + totalSelectAllAlerts?: number; } const defaultUnit = (n: number) => i18n.ALERTS_UNIT(n); @@ -143,6 +146,7 @@ const transformControlColumns = ({ theme, setEventsLoading, setEventsDeleted, + hasAlertsCrudPermissions, }: { actionColumnsWidth: number; columnHeaders: ColumnHeaderOptions[]; @@ -163,6 +167,7 @@ const transformControlColumns = ({ theme: EuiTheme; setEventsLoading: SetEventsLoading; setEventsDeleted: SetEventsDeleted; + hasAlertsCrudPermissions?: (featureId: string) => boolean; }): EuiDataGridControlColumn[] => controlColumns.map( ({ id: columnId, headerCellRender = EmptyHeaderCellRender, rowCellRender, width }, i) => ({ @@ -200,6 +205,12 @@ const transformControlColumns = ({ setCellProps, }: EuiDataGridCellValueElementProps) => { addBuildingBlockStyle(data[rowIndex].ecs, theme, setCellProps); + let disabled = false; + if (columnId === 'checkbox-control-column' && hasAlertsCrudPermissions != null) { + const alertConsumers = + data[rowIndex].data.find((d) => d.field === ALERT_RULE_CONSUMER)?.value ?? []; + disabled = alertConsumers.some((consumer) => !hasAlertsCrudPermissions(consumer)); + } return ( ( trailingControlColumns = EMPTY_CONTROL_COLUMNS, unit = defaultUnit, hasAlertsCrud, + hasAlertsCrudPermissions, + totalSelectAllAlerts, }) => { const dispatch = useDispatch(); const getManageTimeline = useMemo(() => tGridSelectors.getManageTimelineById(), []); @@ -294,12 +308,18 @@ export const BodyComponent = React.memo( ({ eventIds, isSelected }: { eventIds: string[]; isSelected: boolean }) => { setSelected({ id, - eventIds: getEventIdToDataMapping(data, eventIds, queryFields), + eventIds: getEventIdToDataMapping( + data, + eventIds, + queryFields, + hasAlertsCrud ?? false, + hasAlertsCrudPermissions + ), isSelected, isSelectAllChecked: isSelected && selectedCount + 1 === data.length, }); }, - [setSelected, id, data, selectedCount, queryFields] + [setSelected, id, data, queryFields, hasAlertsCrud, hasAlertsCrudPermissions, selectedCount] ); const onSelectPage: OnSelectAll = useCallback( @@ -310,13 +330,15 @@ export const BodyComponent = React.memo( eventIds: getEventIdToDataMapping( data, data.map((event) => event._id), - queryFields + queryFields, + hasAlertsCrud ?? false, + hasAlertsCrudPermissions ), isSelected, isSelectAllChecked: isSelected, }) : clearSelected({ id }), - [setSelected, clearSelected, id, data, queryFields] + [setSelected, id, data, queryFields, hasAlertsCrud, hasAlertsCrudPermissions, clearSelected] ); // Sync to selectAll so parent components can select all events @@ -363,7 +385,7 @@ export const BodyComponent = React.memo( ( refetch, showBulkActions, totalItems, + totalSelectAllAlerts, ] ); @@ -400,7 +423,7 @@ export const BodyComponent = React.memo( ( showStyleSelector: false, }), [ - id, alertCountText, + showBulkActions, + id, + totalSelectAllAlerts, totalItems, filterStatus, filterQuery, - browserFields, indexNames, - columnHeaders, - additionalControls, - showBulkActions, onAlertStatusActionSuccess, onAlertStatusActionFailure, refetch, + additionalControls, + browserFields, + columnHeaders, ] ); @@ -544,28 +568,30 @@ export const BodyComponent = React.memo( theme, setEventsLoading, setEventsDeleted, + hasAlertsCrudPermissions, }) ); }, [ + showCheckboxes, + leadingControlColumns, + trailingControlColumns, columnHeaders, data, - id, isEventViewer, - leadingControlColumns, + id, loadingEventIds, onRowSelected, onRuleChange, selectedEventIds, - showCheckboxes, tabType, - trailingControlColumns, isSelectAllChecked, + sort, browserFields, onSelectPage, - sort, theme, setEventsLoading, setEventsDeleted, + hasAlertsCrudPermissions, ]); const columnsWithCellActions: EuiDataGridColumn[] = useMemo( diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/row_action/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/row_action/index.tsx index dd1a62bc726da..c5ba88dc36a63 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/row_action/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/row_action/index.tsx @@ -26,6 +26,7 @@ type Props = EuiDataGridCellValueElementProps & { columnHeaders: ColumnHeaderOptions[]; controlColumn: ControlColumnProps; data: TimelineItem[]; + disabled: boolean; index: number; isEventViewer: boolean; loadingEventIds: Readonly; @@ -44,6 +45,7 @@ const RowActionComponent = ({ columnHeaders, controlColumn, data, + disabled, index, isEventViewer, loadingEventIds, @@ -114,6 +116,7 @@ const RowActionComponent = ({ columnValues={columnValues} data={timelineNonEcsData} data-test-subj="actions" + disabled={disabled} ecsData={ecsData} eventId={eventId} index={index} diff --git a/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx index 1be6853e7d0ee..9c755202aea81 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx @@ -93,6 +93,7 @@ export interface TGridStandaloneProps { filters: Filter[]; footerText: React.ReactNode; filterStatus: AlertStatus; + hasAlertsCrudPermissions: (featureId: string) => boolean; height?: number; indexNames: string[]; itemsPerPageOptions: number[]; @@ -124,6 +125,7 @@ const TGridStandaloneComponent: React.FC = ({ filters, footerText, filterStatus, + hasAlertsCrudPermissions, indexNames, itemsPerPageOptions, onRuleChange, @@ -202,7 +204,7 @@ const TGridStandaloneComponent: React.FC = ({ const [ loading, - { events, updatedAt, loadPage, pageInfo, refetch, totalCount = 0, inspect }, + { consumers, events, updatedAt, loadPage, pageInfo, refetch, totalCount = 0, inspect }, ] = useTimelineEvents({ docValueFields: [], entityType, @@ -220,6 +222,27 @@ const TGridStandaloneComponent: React.FC = ({ }); setRefetch(refetch); + const { hasAlertsCrud, totalSelectAllAlerts } = useMemo(() => { + return Object.entries(consumers).reduce<{ + hasAlertsCrud: boolean; + totalSelectAllAlerts: number; + }>( + (acc, [featureId, nbrAlerts]) => { + const featureHasPermission = hasAlertsCrudPermissions(featureId); + return { + hasAlertsCrud: featureHasPermission || acc.hasAlertsCrud, + totalSelectAllAlerts: featureHasPermission + ? nbrAlerts + acc.totalSelectAllAlerts + : acc.totalSelectAllAlerts, + }; + }, + { + hasAlertsCrud: false, + totalSelectAllAlerts: 0, + } + ); + }, [consumers, hasAlertsCrudPermissions]); + const totalCountMinusDeleted = useMemo( () => (totalCount > 0 ? totalCount - deletedEventIds.length : 0), [deletedEventIds.length, totalCount] @@ -322,6 +345,8 @@ const TGridStandaloneComponent: React.FC = ({ data={nonDeletedEvents} defaultCellActions={defaultCellActions} filterQuery={filterQuery} + hasAlertsCrud={hasAlertsCrud} + hasAlertsCrudPermissions={hasAlertsCrudPermissions} id={STANDALONE_ID} indexNames={indexNames} isEventViewer={true} @@ -340,6 +365,7 @@ const TGridStandaloneComponent: React.FC = ({ itemsPerPage: itemsPerPageStore, })} totalItems={totalCountMinusDeleted} + totalSelectAllAlerts={totalSelectAllAlerts} unit={unit} filterStatus={filterStatus} trailingControlColumns={trailingControlColumns} diff --git a/x-pack/plugins/timelines/public/container/index.tsx b/x-pack/plugins/timelines/public/container/index.tsx index 81578a001f6a4..87359516a9db9 100644 --- a/x-pack/plugins/timelines/public/container/index.tsx +++ b/x-pack/plugins/timelines/public/container/index.tsx @@ -51,6 +51,7 @@ export const detectionsTimelineIds = [ type Refetch = () => void; export interface TimelineArgs { + consumers: Record; events: TimelineItem[]; id: string; inspect: InspectResponse; @@ -170,6 +171,7 @@ export const useTimelineEvents = ({ ); const [timelineResponse, setTimelineResponse] = useState({ + consumers: {}, id, inspect: { dsl: [], @@ -215,6 +217,7 @@ export const useTimelineEvents = ({ setTimelineResponse((prevResponse) => { const newTimelineResponse = { ...prevResponse, + consumers: response.consumers, events: getTimelineEvents(response.edges), inspect: getInspectResponse(response, prevResponse.inspect), pageInfo: response.pageInfo, @@ -346,6 +349,7 @@ export const useTimelineEvents = ({ useEffect(() => { if (isEmpty(filterQuery)) { setTimelineResponse({ + consumers: {}, id, inspect: { dsl: [], diff --git a/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/constants.ts b/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/constants.ts index ffe3ea5abd689..8e8798d89a64c 100644 --- a/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/constants.ts +++ b/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/constants.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { ALERT_RULE_CONSUMER } from '@kbn/rule-data-utils'; // import { CTI_ROW_RENDERER_FIELDS } from '../../../../../../common/cti/constants'; // TODO: share with security_solution/common/cti/constants.ts @@ -40,6 +41,7 @@ export const CTI_ROW_RENDERER_FIELDS = [ ]; export const TIMELINE_EVENTS_FIELDS = [ + ALERT_RULE_CONSUMER, '@timestamp', 'signal.status', 'signal.group.id', diff --git a/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/index.ts b/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/index.ts index 4ca8edf9d4539..8f4861ab43b47 100644 --- a/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/index.ts +++ b/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/index.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { cloneDeep } from 'lodash/fp'; +import { cloneDeep, getOr } from 'lodash/fp'; import { DEFAULT_MAX_TABLE_QUERY_SIZE } from '../../../../../../common/constants'; import { IEsSearchResponse } from '../../../../../../../../../src/plugins/data/common'; import { @@ -38,6 +38,7 @@ export const timelineEventsAll: TimelineFactory = { let { fieldRequested, ...queryOptions } = cloneDeep(options); queryOptions.fields = buildFieldsRequest(fieldRequested, queryOptions.excludeEcsData); const { activePage, querySize } = options.pagination; + const buckets = getOr([], 'aggregations.consumers.buckets', response.rawResponse); const totalCount = response.rawResponse.hits.total || 0; const hits = response.rawResponse.hits.hits; @@ -61,12 +62,21 @@ export const timelineEventsAll: TimelineFactory = { ) ); + const consumers = buckets.reduce( + (acc: Record, b: { key: string; doc_count: number }) => ({ + ...acc, + [b.key]: b.doc_count, + }), + {} + ); + const inspect = { dsl: [inspectStringifyObject(buildTimelineEventsAllQuery(queryOptions))], }; return { ...response, + consumers, inspect, edges, // @ts-expect-error code doesn't handle TotalHits diff --git a/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/query.events_all.dsl.ts b/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/query.events_all.dsl.ts index ba9aa845f4b9b..e9261e8b116be 100644 --- a/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/query.events_all.dsl.ts +++ b/x-pack/plugins/timelines/server/search_strategy/timeline/factory/events/all/query.events_all.dsl.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { ALERT_RULE_CONSUMER } from '@kbn/rule-data-utils'; import { isEmpty } from 'lodash/fp'; import { @@ -67,6 +68,11 @@ export const buildTimelineEventsAllQuery = ({ ignoreUnavailable: true, body: { ...(!isEmpty(docValueFields) ? { docvalue_fields: docValueFields } : {}), + aggregations: { + consumers: { + terms: { field: ALERT_RULE_CONSUMER }, + }, + }, query: { bool: { filter, diff --git a/x-pack/test/plugin_functional/plugins/timelines_test/public/applications/timelines_test/index.tsx b/x-pack/test/plugin_functional/plugins/timelines_test/public/applications/timelines_test/index.tsx index d27f330b57915..adc10ae0a4161 100644 --- a/x-pack/test/plugin_functional/plugins/timelines_test/public/applications/timelines_test/index.tsx +++ b/x-pack/test/plugin_functional/plugins/timelines_test/public/applications/timelines_test/index.tsx @@ -54,6 +54,8 @@ const AppRoot = React.memo( refetch.current = _refetch; }, []); + const hasAlertsCrudPermissions = useCallback(() => true, []); + return ( @@ -73,6 +75,7 @@ const AppRoot = React.memo( end: '', footerText: 'Events', filters: [], + hasAlertsCrudPermissions, itemsPerPageOptions: [1, 2, 3], loadingText: 'Loading events', renderCellValue: () =>
test
, From 64d9cc39989ba3e03865057a6dbf672e47323d34 Mon Sep 17 00:00:00 2001 From: Dario Gieselaar Date: Wed, 25 Aug 2021 08:42:36 +0200 Subject: [PATCH 011/139] [APM] Separate useUrlParams hooks for APM/Uptime (#109579) --- .../app/RumDashboard/LocalUIFilters/index.tsx | 4 +- .../components/app/RumDashboard/RumHome.tsx | 6 +- .../__snapshots__/index.test.tsx.snap | 1 + .../detail_view/index.test.tsx | 12 ++-- .../error_group_details/detail_view/index.tsx | 13 ++-- .../app/error_group_details/index.tsx | 6 +- .../app/service_map/Controls.test.tsx | 18 +++-- .../components/app/service_map/Controls.tsx | 9 ++- .../get_columns.tsx | 3 + .../index.tsx | 8 +++ .../instance_actions_menu/index.tsx | 6 +- .../instance_details.test.tsx | 10 +-- .../intance_details.tsx | 11 +-- .../TransactionTabs.tsx | 6 +- .../waterfall_with_summary/index.tsx | 4 +- .../waterfall_container/index.tsx | 4 +- .../waterfallContainer.stories.data.ts | 7 +- .../app/transaction_overview/index.tsx | 4 +- .../transaction_overview.test.tsx | 4 +- .../routing/templates/apm_main_template.tsx | 5 +- .../shared/DatePicker/date_picker.test.tsx | 6 +- .../shared/EnvironmentFilter/index.tsx | 70 +++++++++++++------ .../anomaly_detection_setup_link.tsx | 10 +-- .../charts/transaction_charts/ml_header.tsx | 9 +-- .../shared/kuery_bar/get_bool_filter.ts | 4 +- .../components/shared/search_bar.test.tsx | 4 +- .../transaction_action_menu/sections.ts | 6 +- .../apm_plugin/mock_apm_plugin_context.tsx | 1 - .../context/url_params_context/helpers.ts | 7 +- .../mock_url_params_context_provider.tsx | 4 +- .../url_params_context/resolve_url_params.ts | 4 +- .../context/url_params_context/types.ts | 5 +- .../url_params_context.test.tsx | 4 +- .../url_params_context/url_params_context.tsx | 6 +- .../url_params_context/use_url_params.tsx | 19 +++-- .../url_params_context/use_ux_url_params.ts | 17 +++++ 36 files changed, 205 insertions(+), 112 deletions(-) create mode 100644 x-pack/plugins/apm/public/context/url_params_context/use_ux_url_params.ts diff --git a/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/index.tsx b/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/index.tsx index 4e0867553f421..3453970376dc0 100644 --- a/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/index.tsx +++ b/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/index.tsx @@ -25,7 +25,6 @@ import { import { useBreakPoints } from '../../../../hooks/use_break_points'; import { FieldValueSuggestions } from '../../../../../../observability/public'; import { URLFilter } from '../URLFilter'; -import { useUrlParams } from '../../../../context/url_params_context/use_url_params'; import { SelectedFilters } from './SelectedFilters'; import { SERVICE_NAME, @@ -35,6 +34,7 @@ import { TRANSACTION_PAGE_LOAD } from '../../../../../common/transaction_types'; import { useIndexPattern } from './use_index_pattern'; import { environmentQuery } from './queries'; import { ENVIRONMENT_ALL } from '../../../../../common/environment_filter_values'; +import { useUxUrlParams } from '../../../../context/url_params_context/use_ux_url_params'; const filterNames: UxLocalUIFilterName[] = [ 'location', @@ -67,7 +67,7 @@ function LocalUIFilters() { const { urlParams: { start, end, serviceName, environment }, - } = useUrlParams(); + } = useUxUrlParams(); const getFilters = useMemo(() => { const dataFilters: ESFilter[] = [ diff --git a/x-pack/plugins/apm/public/components/app/RumDashboard/RumHome.tsx b/x-pack/plugins/apm/public/components/app/RumDashboard/RumHome.tsx index f99f763548939..487d477485ce1 100644 --- a/x-pack/plugins/apm/public/components/app/RumDashboard/RumHome.tsx +++ b/x-pack/plugins/apm/public/components/app/RumDashboard/RumHome.tsx @@ -13,7 +13,7 @@ import { CsmSharedContextProvider } from './CsmSharedContext'; import { WebApplicationSelect } from './Panels/WebApplicationSelect'; import { DatePicker } from '../../shared/DatePicker'; import { useApmPluginContext } from '../../../context/apm_plugin/use_apm_plugin_context'; -import { EnvironmentFilter } from '../../shared/EnvironmentFilter'; +import { UxEnvironmentFilter } from '../../shared/EnvironmentFilter'; import { UserPercentile } from './UserPercentile'; import { useBreakPoints } from '../../../hooks/use_break_points'; @@ -41,7 +41,7 @@ export function RumHome() { rightSideItems: [ ,
- +
, , , @@ -82,7 +82,7 @@ function PageHeader() {
- +
diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/__snapshots__/index.test.tsx.snap b/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/__snapshots__/index.test.tsx.snap index 260d7de3aefd4..de13bf910ce0f 100644 --- a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/__snapshots__/index.test.tsx.snap +++ b/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/__snapshots__/index.test.tsx.snap @@ -32,6 +32,7 @@ exports[`DetailView should render Discover button 1`] = ` }, } } + kuery="" > { it('should render empty state', () => { const wrapper = shallow( - + ); expect(wrapper.isEmptyRender()).toBe(true); }); @@ -41,7 +41,7 @@ describe('DetailView', () => { }; const wrapper = shallow( - + ).find('DiscoverErrorLink'); expect(wrapper.exists()).toBe(true); @@ -60,7 +60,7 @@ describe('DetailView', () => { transaction: undefined, }; const wrapper = shallow( - + ).find('Summary'); expect(wrapper.exists()).toBe(true); @@ -80,7 +80,7 @@ describe('DetailView', () => { } as any, }; const wrapper = shallow( - + ).find('EuiTabs'); expect(wrapper.exists()).toBe(true); @@ -100,7 +100,7 @@ describe('DetailView', () => { } as any, }; const wrapper = shallow( - + ).find('TabContent'); expect(wrapper.exists()).toBe(true); @@ -124,7 +124,7 @@ describe('DetailView', () => { } as any, }; expect(() => - shallow() + shallow() ).not.toThrowError(); }); }); diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx index 5a56b64374537..6e6f323a5525a 100644 --- a/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx +++ b/x-pack/plugins/apm/public/components/app/error_group_details/detail_view/index.tsx @@ -20,9 +20,9 @@ import { first } from 'lodash'; import React from 'react'; import { useHistory } from 'react-router-dom'; import { euiStyled } from '../../../../../../../../src/plugins/kibana_react/common'; -import { APIReturnType } from '../../../../services/rest/createCallApmApi'; -import { APMError } from '../../../../../typings/es_schemas/ui/apm_error'; -import type { IUrlParams } from '../../../../context/url_params_context/types'; +import type { APIReturnType } from '../../../../services/rest/createCallApmApi'; +import type { APMError } from '../../../../../typings/es_schemas/ui/apm_error'; +import type { ApmUrlParams } from '../../../../context/url_params_context/types'; import { TransactionDetailLink } from '../../../shared/Links/apm/transaction_detail_link'; import { DiscoverErrorLink } from '../../../shared/Links/DiscoverLinks/DiscoverErrorLink'; import { fromQuery, toQuery } from '../../../shared/Links/url_helpers'; @@ -55,7 +55,8 @@ const TransactionLinkName = euiStyled.div` interface Props { errorGroup: APIReturnType<'GET /api/apm/services/{serviceName}/errors/{groupId}'>; - urlParams: IUrlParams; + urlParams: ApmUrlParams; + kuery: string; } // TODO: Move query-string-based tabs into a re-usable component? @@ -67,7 +68,7 @@ function getCurrentTab( return selectedTab ? selectedTab : first(tabs) || {}; } -export function DetailView({ errorGroup, urlParams }: Props) { +export function DetailView({ errorGroup, urlParams, kuery }: Props) { const history = useHistory(); const { transaction, error, occurrencesCount } = errorGroup; @@ -96,7 +97,7 @@ export function DetailView({ errorGroup, urlParams }: Props) { )}
- + {i18n.translate( 'xpack.apm.errorGroupDetails.viewOccurrencesInDiscoverButtonLabel', diff --git a/x-pack/plugins/apm/public/components/app/error_group_details/index.tsx b/x-pack/plugins/apm/public/components/app/error_group_details/index.tsx index 74a108d6f0ce2..3929a055bd77b 100644 --- a/x-pack/plugins/apm/public/components/app/error_group_details/index.tsx +++ b/x-pack/plugins/apm/public/components/app/error_group_details/index.tsx @@ -220,7 +220,11 @@ export function ErrorGroupDetails() {
{showDetails && ( - + )} ); diff --git a/x-pack/plugins/apm/public/components/app/service_map/Controls.test.tsx b/x-pack/plugins/apm/public/components/app/service_map/Controls.test.tsx index 1f449accd83c2..2ebd63badc41e 100644 --- a/x-pack/plugins/apm/public/components/app/service_map/Controls.test.tsx +++ b/x-pack/plugins/apm/public/components/app/service_map/Controls.test.tsx @@ -9,6 +9,7 @@ import lightTheme from '@elastic/eui/dist/eui_theme_light.json'; import { render } from '@testing-library/react'; import cytoscape from 'cytoscape'; import React, { ReactNode } from 'react'; +import { MemoryRouter } from 'react-router-dom'; import { ThemeContext } from 'styled-components'; import { MockApmPluginContextWrapper } from '../../../context/apm_plugin/mock_apm_plugin_context'; import { Controls } from './Controls'; @@ -21,11 +22,18 @@ const cy = cytoscape({ function Wrapper({ children }: { children?: ReactNode }) { return ( - - - {children} - - + + + + {children} + + + + s ); } diff --git a/x-pack/plugins/apm/public/components/app/service_map/Controls.tsx b/x-pack/plugins/apm/public/components/app/service_map/Controls.tsx index 3362219fd5f2d..f46b1232b00fd 100644 --- a/x-pack/plugins/apm/public/components/app/service_map/Controls.tsx +++ b/x-pack/plugins/apm/public/components/app/service_map/Controls.tsx @@ -16,6 +16,7 @@ import { getAPMHref } from '../../shared/Links/apm/APMLink'; import { APMQueryParams } from '../../shared/Links/url_helpers'; import { CytoscapeContext } from './Cytoscape'; import { getAnimationOptions, getNodeHeight } from './cytoscape_options'; +import { useApmParams } from '../../../hooks/use_apm_params'; const ControlsContainer = euiStyled('div')` left: ${({ theme }) => theme.eui.gutterTypes.gutterMedium}; @@ -103,14 +104,18 @@ export function Controls() { const theme = useTheme(); const cy = useContext(CytoscapeContext); const { urlParams } = useUrlParams(); - const currentSearch = urlParams.kuery ?? ''; + + const { + query: { kuery }, + } = useApmParams('/service-map', '/services/:serviceName/service-map'); + const [zoom, setZoom] = useState((cy && cy.zoom()) || 1); const duration = parseInt(theme.eui.euiAnimSpeedFast, 10); const downloadUrl = useDebugDownloadUrl(cy); const viewFullMapUrl = getAPMHref({ basePath, path: '/service-map', - search: currentSearch, + search: `kuery=${encodeURIComponent(kuery)}`, query: urlParams as APMQueryParams, }); diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/get_columns.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/get_columns.tsx index 221b415326783..e91e38c5cfe20 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/get_columns.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/get_columns.tsx @@ -39,6 +39,7 @@ type ServiceInstanceDetailedStatistics = APIReturnType<'GET /api/apm/services/{s export function getColumns({ serviceName, + kuery, agentName, latencyAggregationType, detailedStatsData, @@ -49,6 +50,7 @@ export function getColumns({ itemIdToOpenActionMenuRowMap, }: { serviceName: string; + kuery: string; agentName?: string; latencyAggregationType?: LatencyAggregationType; detailedStatsData?: ServiceInstanceDetailedStatistics; @@ -247,6 +249,7 @@ export function getColumns({ toggleRowActionMenu(instanceItem.serviceNodeName)} /> diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/index.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/index.tsx index dae5f3a5b0972..ee971bf82f86e 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/index.tsx @@ -26,6 +26,7 @@ import { import { OverviewTableContainer } from '../../../shared/overview_table_container'; import { getColumns } from './get_columns'; import { InstanceDetails } from './intance_details'; +import { useApmParams } from '../../../../hooks/use_apm_params'; type ServiceInstanceMainStatistics = APIReturnType<'GET /api/apm/services/{serviceName}/service_overview_instances/main_statistics'>; type MainStatsServiceInstanceItem = ServiceInstanceMainStatistics['currentPeriod'][0]; @@ -63,6 +64,11 @@ export function ServiceOverviewInstancesTable({ isLoading, }: Props) { const { agentName } = useApmServiceContext(); + + const { + query: { kuery }, + } = useApmParams('/services/:serviceName'); + const { urlParams: { latencyAggregationType, comparisonEnabled }, } = useUrlParams(); @@ -103,6 +109,7 @@ export function ServiceOverviewInstancesTable({ ); } @@ -112,6 +119,7 @@ export function ServiceOverviewInstancesTable({ const columns = getColumns({ agentName, serviceName, + kuery, latencyAggregationType, detailedStatsData, comparisonEnabled, diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_actions_menu/index.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_actions_menu/index.tsx index a2aaa61e8a661..e5e460e3b2812 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_actions_menu/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_actions_menu/index.tsx @@ -18,7 +18,6 @@ import { import { isJavaAgentName } from '../../../../../../common/agent_name'; import { SERVICE_NODE_NAME } from '../../../../../../common/elasticsearch_fieldnames'; import { useApmPluginContext } from '../../../../../context/apm_plugin/use_apm_plugin_context'; -import { useUrlParams } from '../../../../../context/url_params_context/use_url_params'; import { FETCH_STATUS } from '../../../../../hooks/use_fetcher'; import { pushNewItemToKueryBar } from '../../../../shared/kuery_bar/utils'; import { useMetricOverviewHref } from '../../../../shared/Links/apm/MetricOverviewLink'; @@ -29,6 +28,7 @@ import { getMenuSections } from './menu_sections'; interface Props { serviceName: string; serviceNodeName: string; + kuery: string; onClose: () => void; } @@ -37,6 +37,7 @@ const POPOVER_WIDTH = '305px'; export function InstanceActionsMenu({ serviceName, serviceNodeName, + kuery, onClose, }: Props) { const { core } = useApmPluginContext(); @@ -50,9 +51,6 @@ export function InstanceActionsMenu({ }); const metricOverviewHref = useMetricOverviewHref(serviceName); const history = useHistory(); - const { - urlParams: { kuery }, - } = useUrlParams(); if ( status === FETCH_STATUS.LOADING || diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_details.test.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_details.test.tsx index 10919cf4a32aa..219c46ea0a94e 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_details.test.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/instance_details.test.tsx @@ -23,7 +23,7 @@ describe('InstanceDetails', () => { .spyOn(useInstanceDetailsFetcher, 'useInstanceDetailsFetcher') .mockReturnValue({ data: undefined, status: FETCH_STATUS.LOADING }); const { getByTestId } = renderWithTheme( - + ); expect(getByTestId('loadingSpinner')).toBeInTheDocument(); }); @@ -40,7 +40,7 @@ describe('InstanceDetails', () => { status: FETCH_STATUS.SUCCESS, }); const component = renderWithTheme( - + ); expectTextsInDocument(component, ['Service', 'Container', 'Cloud']); }); @@ -56,7 +56,7 @@ describe('InstanceDetails', () => { status: FETCH_STATUS.SUCCESS, }); const component = renderWithTheme( - + ); expectTextsInDocument(component, ['Container', 'Cloud']); expectTextsNotInDocument(component, ['Service']); @@ -73,7 +73,7 @@ describe('InstanceDetails', () => { status: FETCH_STATUS.SUCCESS, }); const component = renderWithTheme( - + ); expectTextsInDocument(component, ['Service', 'Cloud']); expectTextsNotInDocument(component, ['Container']); @@ -90,7 +90,7 @@ describe('InstanceDetails', () => { status: FETCH_STATUS.SUCCESS, }); const component = renderWithTheme( - + ); expectTextsInDocument(component, ['Service', 'Container']); expectTextsNotInDocument(component, ['Cloud']); diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/intance_details.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/intance_details.tsx index 0c77051bea293..1bfc92f159b52 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/intance_details.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/intance_details.tsx @@ -24,7 +24,6 @@ import { SERVICE_RUNTIME_VERSION, SERVICE_VERSION, } from '../../../../../common/elasticsearch_fieldnames'; -import { useUrlParams } from '../../../../context/url_params_context/use_url_params'; import { FETCH_STATUS } from '../../../../hooks/use_fetcher'; import { useTheme } from '../../../../hooks/use_theme'; import { APIReturnType } from '../../../../services/rest/createCallApmApi'; @@ -39,6 +38,7 @@ type ServiceInstanceDetails = APIReturnType<'GET /api/apm/services/{serviceName} interface Props { serviceName: string; serviceNodeName: string; + kuery: string; } function toKeyValuePairs(keys: string[], data: ServiceInstanceDetails) { @@ -60,12 +60,13 @@ const cloudDetailsKeys = [ CLOUD_PROVIDER, ]; -export function InstanceDetails({ serviceName, serviceNodeName }: Props) { +export function InstanceDetails({ + serviceName, + serviceNodeName, + kuery, +}: Props) { const theme = useTheme(); const history = useHistory(); - const { - urlParams: { kuery }, - } = useUrlParams(); const { data, status } = useInstanceDetailsFetcher({ serviceName, diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/TransactionTabs.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/TransactionTabs.tsx index 85e695b6f32e2..d402a2b19b5a9 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/TransactionTabs.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/TransactionTabs.tsx @@ -11,7 +11,7 @@ import React from 'react'; import { useHistory } from 'react-router-dom'; import { LogStream } from '../../../../../../infra/public'; import { Transaction } from '../../../../../typings/es_schemas/ui/transaction'; -import type { IUrlParams } from '../../../../context/url_params_context/types'; +import type { ApmUrlParams } from '../../../../context/url_params_context/types'; import { fromQuery, toQuery } from '../../../shared/Links/url_helpers'; import { TransactionMetadata } from '../../../shared/MetadataTable/TransactionMetadata'; import { WaterfallContainer } from './waterfall_container'; @@ -19,7 +19,7 @@ import { IWaterfall } from './waterfall_container/Waterfall/waterfall_helpers/wa interface Props { transaction: Transaction; - urlParams: IUrlParams; + urlParams: ApmUrlParams; waterfall: IWaterfall; exceedsMax: boolean; } @@ -101,7 +101,7 @@ function TimelineTabContent({ waterfall, exceedsMax, }: { - urlParams: IUrlParams; + urlParams: ApmUrlParams; waterfall: IWaterfall; exceedsMax: boolean; }) { diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/index.tsx index 19199cda9495e..b7feb917d2184 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/index.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/index.tsx @@ -16,7 +16,7 @@ import { import { i18n } from '@kbn/i18n'; import React, { useEffect, useState } from 'react'; import { useHistory } from 'react-router-dom'; -import type { IUrlParams } from '../../../../context/url_params_context/types'; +import type { ApmUrlParams } from '../../../../context/url_params_context/types'; import { fromQuery, toQuery } from '../../../shared/Links/url_helpers'; import { LoadingStatePrompt } from '../../../shared/LoadingStatePrompt'; import { TransactionSummary } from '../../../shared/Summary/TransactionSummary'; @@ -28,7 +28,7 @@ import { IWaterfall } from './waterfall_container/Waterfall/waterfall_helpers/wa import { useApmParams } from '../../../../hooks/use_apm_params'; interface Props { - urlParams: IUrlParams; + urlParams: ApmUrlParams; waterfall: IWaterfall; exceedsMax: boolean; isLoading: boolean; diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/index.tsx index c352afbe03ff2..f3949fcfb03d5 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/index.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/index.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { keyBy } from 'lodash'; -import { IUrlParams } from '../../../../../context/url_params_context/types'; +import type { ApmUrlParams } from '../../../../../context/url_params_context/types'; import { IWaterfall, WaterfallLegendType, @@ -17,7 +17,7 @@ import { WaterfallLegends } from './WaterfallLegends'; import { useApmServiceContext } from '../../../../../context/apm_service/use_apm_service_context'; interface Props { - urlParams: IUrlParams; + urlParams: ApmUrlParams; waterfall: IWaterfall; exceedsMax: boolean; } diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfallContainer.stories.data.ts b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfallContainer.stories.data.ts index dc127de031232..80ae2978498b3 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfallContainer.stories.data.ts +++ b/x-pack/plugins/apm/public/components/app/transaction_details/waterfall_with_summary/waterfall_container/waterfallContainer.stories.data.ts @@ -5,8 +5,8 @@ * 2.0. */ -import { Location } from 'history'; -import { IUrlParams } from '../../../../../context/url_params_context/types'; +import type { Location } from 'history'; +import type { ApmUrlParams } from '../../../../../context/url_params_context/types'; export const location = { pathname: '/services/opbeans-go/transactions/view', @@ -25,12 +25,11 @@ export const urlParams = { page: 0, transactionId: '975c8d5bfd1dd20b', traceId: '513d33fafe99bbe6134749310c9b5322', - kuery: 'service.name: "opbeans-java" or service.name : "opbeans-go"', transactionName: 'GET /api/orders', transactionType: 'request', processorEvent: 'transaction', serviceName: 'opbeans-go', -} as IUrlParams; +} as ApmUrlParams; export const simpleTrace = { trace: { diff --git a/x-pack/plugins/apm/public/components/app/transaction_overview/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_overview/index.tsx index eb7a63c7c2b34..be12522920740 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_overview/index.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_overview/index.tsx @@ -10,7 +10,7 @@ import { Location } from 'history'; import React from 'react'; import { useLocation } from 'react-router-dom'; import { useApmServiceContext } from '../../../context/apm_service/use_apm_service_context'; -import { IUrlParams } from '../../../context/url_params_context/types'; +import type { ApmUrlParams } from '../../../context/url_params_context/types'; import { useUrlParams } from '../../../context/url_params_context/use_url_params'; import { useApmParams } from '../../../hooks/use_apm_params'; import { useFallbackToTransactionsFetcher } from '../../../hooks/use_fallback_to_transactions_fetcher'; @@ -29,7 +29,7 @@ function getRedirectLocation({ }: { location: Location; transactionType?: string; - urlParams: IUrlParams; + urlParams: ApmUrlParams; }): Location | undefined { const transactionTypeFromUrlParams = urlParams.transactionType; diff --git a/x-pack/plugins/apm/public/components/app/transaction_overview/transaction_overview.test.tsx b/x-pack/plugins/apm/public/components/app/transaction_overview/transaction_overview.test.tsx index 8d7d14191a851..9c145e95dbf14 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_overview/transaction_overview.test.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_overview/transaction_overview.test.tsx @@ -13,7 +13,7 @@ import { createKibanaReactContext } from 'src/plugins/kibana_react/public'; import { MockApmPluginContextWrapper } from '../../../context/apm_plugin/mock_apm_plugin_context'; import { ApmServiceContextProvider } from '../../../context/apm_service/apm_service_context'; import { UrlParamsProvider } from '../../../context/url_params_context/url_params_context'; -import { IUrlParams } from '../../../context/url_params_context/types'; +import type { ApmUrlParams } from '../../../context/url_params_context/types'; import * as useFetcherHook from '../../../hooks/use_fetcher'; import * as useServiceTransactionTypesHook from '../../../context/apm_service/use_service_transaction_types_fetcher'; import * as useServiceAgentNameHook from '../../../context/apm_service/use_service_agent_fetcher'; @@ -37,7 +37,7 @@ function setup({ urlParams, serviceTransactionTypes, }: { - urlParams: IUrlParams; + urlParams: ApmUrlParams; serviceTransactionTypes: string[]; }) { history.replace({ diff --git a/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx b/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx index 9a7f84148eb64..2a1ccd00e5a71 100644 --- a/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx +++ b/x-pack/plugins/apm/public/components/routing/templates/apm_main_template.tsx @@ -9,7 +9,7 @@ import { EuiPageHeaderProps, EuiPageTemplateProps } from '@elastic/eui'; import React from 'react'; import { useKibana } from '../../../../../../../src/plugins/kibana_react/public'; import { ApmPluginStartDeps } from '../../../plugin'; -import { EnvironmentFilter } from '../../shared/EnvironmentFilter'; +import { ApmEnvironmentFilter } from '../../shared/EnvironmentFilter'; /* * This template contains: @@ -34,11 +34,12 @@ export function ApmMainTemplate({ const ObservabilityPageTemplate = services.observability.navigation.PageTemplate; + return ( ], + rightSideItems: [], ...pageHeader, }} {...pageTemplateProps} diff --git a/x-pack/plugins/apm/public/components/shared/DatePicker/date_picker.test.tsx b/x-pack/plugins/apm/public/components/shared/DatePicker/date_picker.test.tsx index 7efcb04f93592..ada93ff3a0344 100644 --- a/x-pack/plugins/apm/public/components/shared/DatePicker/date_picker.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/DatePicker/date_picker.test.tsx @@ -13,7 +13,7 @@ import React, { ReactNode } from 'react'; import { Router } from 'react-router-dom'; import { MockApmPluginContextWrapper } from '../../../context/apm_plugin/mock_apm_plugin_context'; import { UrlParamsContext } from '../../../context/url_params_context/url_params_context'; -import { IUrlParams } from '../../../context/url_params_context/types'; +import { ApmUrlParams } from '../../../context/url_params_context/types'; import { DatePicker } from './'; const history = createMemoryHistory(); @@ -24,7 +24,7 @@ function MockUrlParamsProvider({ children, }: { children: ReactNode; - urlParams?: IUrlParams; + urlParams?: ApmUrlParams; }) { return ( + ); +} + +export function UxEnvironmentFilter() { + const { + urlParams: { start, end, environment, serviceName }, + } = useUxUrlParams(); + + return ( + + ); +} + +export function EnvironmentFilter({ + start, + end, + environment, + serviceName, +}: { + start?: string; + end?: string; + environment?: string; + serviceName?: string; +}) { + const history = useHistory(); + const location = useLocation(); const { environments, status = 'loading' } = useEnvironmentsFetcher({ - serviceName: - apmParams && 'serviceName' in apmParams.path - ? apmParams.path.serviceName - : undefined, + serviceName, start, end, }); @@ -102,7 +130,7 @@ export function EnvironmentFilter() { defaultMessage: 'Environment', })} options={options} - value={environment || ENVIRONMENT_ALL.value} + value={environment} onChange={(event) => { updateEnvironmentUrl(history, location, event.target.value); }} diff --git a/x-pack/plugins/apm/public/components/shared/apm_header_action_menu/anomaly_detection_setup_link.tsx b/x-pack/plugins/apm/public/components/shared/apm_header_action_menu/anomaly_detection_setup_link.tsx index 2d2bf32229c84..f0c71265b70bb 100644 --- a/x-pack/plugins/apm/public/components/shared/apm_header_action_menu/anomaly_detection_setup_link.tsx +++ b/x-pack/plugins/apm/public/components/shared/apm_header_action_menu/anomaly_detection_setup_link.tsx @@ -20,7 +20,7 @@ import { import { useAnomalyDetectionJobsContext } from '../../../context/anomaly_detection_jobs/use_anomaly_detection_jobs_context'; import { useApmPluginContext } from '../../../context/apm_plugin/use_apm_plugin_context'; import { useLicenseContext } from '../../../context/license/use_license_context'; -import { useUrlParams } from '../../../context/url_params_context/use_url_params'; +import { useApmParams } from '../../../hooks/use_apm_params'; import { FETCH_STATUS } from '../../../hooks/use_fetcher'; import { useTheme } from '../../../hooks/use_theme'; import { APIReturnType } from '../../../services/rest/createCallApmApi'; @@ -31,9 +31,11 @@ export type AnomalyDetectionApiResponse = APIReturnType<'GET /api/apm/settings/a const DEFAULT_DATA = { jobs: [], hasLegacyJobs: false }; export function AnomalyDetectionSetupLink() { - const { - urlParams: { environment }, - } = useUrlParams(); + const { query } = useApmParams('/*'); + + const environment = + ('environment' in query && query.environment) || ENVIRONMENT_ALL.value; + const { core } = useApmPluginContext(); const canGetJobs = !!core.application.capabilities.ml?.canGetJobs; const license = useLicenseContext(); diff --git a/x-pack/plugins/apm/public/components/shared/charts/transaction_charts/ml_header.tsx b/x-pack/plugins/apm/public/components/shared/charts/transaction_charts/ml_header.tsx index e0f4ddb24c350..f69b7e7004510 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/transaction_charts/ml_header.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/transaction_charts/ml_header.tsx @@ -11,7 +11,7 @@ import { isEmpty } from 'lodash'; import React from 'react'; import { euiStyled } from '../../../../../../../../src/plugins/kibana_react/common'; import { useApmServiceContext } from '../../../../context/apm_service/use_apm_service_context'; -import { useUrlParams } from '../../../../context/url_params_context/use_url_params'; +import { useApmParams } from '../../../../hooks/use_apm_params'; import { MLSingleMetricLink } from '../../Links/MachineLearningLinks/MLSingleMetricLink'; interface Props { @@ -32,15 +32,16 @@ const ShiftedEuiText = euiStyled(EuiText)` `; export function MLHeader({ hasValidMlLicense, mlJobId }: Props) { - const { urlParams } = useUrlParams(); const { transactionType, serviceName } = useApmServiceContext(); + const { + query: { kuery }, + } = useApmParams('/services/:serviceName'); + if (!hasValidMlLicense || !mlJobId) { return null; } - const { kuery } = urlParams; - const hasKuery = !isEmpty(kuery); const icon = hasKuery ? ( { const hostName = transaction.host?.hostname; const podId = transaction.kubernetes?.pod?.uid; diff --git a/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx b/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx index 5666c64376c20..7f06dee4827b9 100644 --- a/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx +++ b/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx @@ -143,7 +143,6 @@ export function MockApmPluginContextWrapper({ const usedHistory = useMemo(() => { return history || contextHistory || createMemoryHistory(); }, [history, contextHistory]); - return ( ; rangeFrom?: string; rangeTo?: string; }) { diff --git a/x-pack/plugins/apm/public/context/url_params_context/mock_url_params_context_provider.tsx b/x-pack/plugins/apm/public/context/url_params_context/mock_url_params_context_provider.tsx index cffe5b8720cf5..75cf050fcb089 100644 --- a/x-pack/plugins/apm/public/context/url_params_context/mock_url_params_context_provider.tsx +++ b/x-pack/plugins/apm/public/context/url_params_context/mock_url_params_context_provider.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; -import { IUrlParams } from './types'; +import { UrlParams } from './types'; import { UrlParamsContext } from './url_params_context'; const defaultUrlParams = { @@ -18,7 +18,7 @@ const defaultUrlParams = { }; interface Props { - params?: IUrlParams; + params?: UrlParams; children: React.ReactNode; refreshTimeRange?: (time: any) => void; } diff --git a/x-pack/plugins/apm/public/context/url_params_context/resolve_url_params.ts b/x-pack/plugins/apm/public/context/url_params_context/resolve_url_params.ts index c1b56a4979765..32771bd56a72a 100644 --- a/x-pack/plugins/apm/public/context/url_params_context/resolve_url_params.ts +++ b/x-pack/plugins/apm/public/context/url_params_context/resolve_url_params.ts @@ -19,10 +19,10 @@ import { toNumber, toString, } from './helpers'; -import { IUrlParams } from './types'; +import { UrlParams } from './types'; type TimeUrlParams = Pick< - IUrlParams, + UrlParams, 'start' | 'end' | 'rangeFrom' | 'rangeTo' | 'exactStart' | 'exactEnd' >; diff --git a/x-pack/plugins/apm/public/context/url_params_context/types.ts b/x-pack/plugins/apm/public/context/url_params_context/types.ts index 68b672362a1da..4deef1662c236 100644 --- a/x-pack/plugins/apm/public/context/url_params_context/types.ts +++ b/x-pack/plugins/apm/public/context/url_params_context/types.ts @@ -9,7 +9,7 @@ import { LatencyAggregationType } from '../../../common/latency_aggregation_type import { UxLocalUIFilterName } from '../../../common/ux_ui_filter'; import { TimeRangeComparisonType } from '../../components/shared/time_comparison/get_time_range_comparison'; -export type IUrlParams = { +export type UrlParams = { detailTab?: string; end?: string; flyoutDetailTab?: string; @@ -39,3 +39,6 @@ export type IUrlParams = { comparisonEnabled?: boolean; comparisonType?: TimeRangeComparisonType; } & Partial>; + +export type UxUrlParams = UrlParams; +export type ApmUrlParams = Omit; diff --git a/x-pack/plugins/apm/public/context/url_params_context/url_params_context.test.tsx b/x-pack/plugins/apm/public/context/url_params_context/url_params_context.test.tsx index 056aabb10f878..1d5c43f7e005a 100644 --- a/x-pack/plugins/apm/public/context/url_params_context/url_params_context.test.tsx +++ b/x-pack/plugins/apm/public/context/url_params_context/url_params_context.test.tsx @@ -11,7 +11,7 @@ import { History, Location } from 'history'; import moment from 'moment-timezone'; import * as React from 'react'; import { MemoryRouter, Router } from 'react-router-dom'; -import { IUrlParams } from './types'; +import type { UrlParams } from './types'; import { UrlParamsContext, UrlParamsProvider } from './url_params_context'; function mountParams(location: Location) { @@ -19,7 +19,7 @@ function mountParams(location: Location) { - {({ urlParams }: { urlParams: IUrlParams }) => ( + {({ urlParams }: { urlParams: UrlParams }) => ( {JSON.stringify(urlParams, null, 2)} )} diff --git a/x-pack/plugins/apm/public/context/url_params_context/url_params_context.tsx b/x-pack/plugins/apm/public/context/url_params_context/url_params_context.tsx index 8d2893e1e703c..7a71f8b78d28a 100644 --- a/x-pack/plugins/apm/public/context/url_params_context/url_params_context.tsx +++ b/x-pack/plugins/apm/public/context/url_params_context/url_params_context.tsx @@ -23,14 +23,14 @@ import { UxUIFilters } from '../../../typings/ui_filters'; import { useDeepObjectIdentity } from '../../hooks/useDeepObjectIdentity'; import { getDateRange } from './helpers'; import { resolveUrlParams } from './resolve_url_params'; -import { IUrlParams } from './types'; +import { UrlParams } from './types'; export interface TimeRange { rangeFrom: string; rangeTo: string; } -function useUxUiFilters(params: IUrlParams): UxUIFilters { +function useUxUiFilters(params: UrlParams): UxUIFilters { const localUiFilters = mapValues( pickKeys(params, ...uxLocalUIFilterNames), (val) => (val ? val.split(',') : []) @@ -48,7 +48,7 @@ const UrlParamsContext = createContext({ rangeId: 0, refreshTimeRange: defaultRefresh, uxUiFilters: {} as UxUIFilters, - urlParams: {} as IUrlParams, + urlParams: {} as UrlParams, }); const UrlParamsProvider: React.ComponentClass<{}> = withRouter( diff --git a/x-pack/plugins/apm/public/context/url_params_context/use_url_params.tsx b/x-pack/plugins/apm/public/context/url_params_context/use_url_params.tsx index 565a8a3a5b788..5e91bfd1549ed 100644 --- a/x-pack/plugins/apm/public/context/url_params_context/use_url_params.tsx +++ b/x-pack/plugins/apm/public/context/url_params_context/use_url_params.tsx @@ -4,10 +4,21 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - -import { useContext } from 'react'; +import type { Assign } from '@kbn/utility-types'; +import { omit } from 'lodash'; +import { useMemo, useContext } from 'react'; +import type { ApmUrlParams } from './types'; import { UrlParamsContext } from './url_params_context'; -export function useUrlParams() { - return useContext(UrlParamsContext); +export function useUrlParams(): Assign< + React.ContextType, + { urlParams: ApmUrlParams } +> { + const context = useContext(UrlParamsContext); + return useMemo(() => { + return { + ...context, + urlParams: omit(context.urlParams, ['environment', 'kuery']), + }; + }, [context]); } diff --git a/x-pack/plugins/apm/public/context/url_params_context/use_ux_url_params.ts b/x-pack/plugins/apm/public/context/url_params_context/use_ux_url_params.ts new file mode 100644 index 0000000000000..a0eba9ff3c17a --- /dev/null +++ b/x-pack/plugins/apm/public/context/url_params_context/use_ux_url_params.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { Assign } from '@kbn/utility-types'; +import { useContext } from 'react'; +import type { UxUrlParams } from './types'; +import { UrlParamsContext } from './url_params_context'; + +export function useUxUrlParams(): Assign< + React.ContextType, + { urlParams: UxUrlParams } +> { + return useContext(UrlParamsContext); +} From 137cf86cd87ab25d18101bfb3dd49905fd9d4278 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Wed, 25 Aug 2021 08:44:18 +0100 Subject: [PATCH 012/139] [Home] Use unified API to show/hide the Welcome interstitial (#109650) --- .../__snapshots__/home.test.js.snap | 447 ---------- .../__snapshots__/home.test.tsx.snap | 800 ++++++++++++++++++ .../{home.test.js => home.test.tsx} | 98 +-- .../components/{home.js => home.tsx} | 91 +- .../public/application/components/home_app.js | 4 +- .../routes/fetch_new_instance_status.ts | 35 - src/plugins/home/server/routes/index.ts | 2 - 7 files changed, 891 insertions(+), 586 deletions(-) delete mode 100644 src/plugins/home/public/application/components/__snapshots__/home.test.js.snap create mode 100644 src/plugins/home/public/application/components/__snapshots__/home.test.tsx.snap rename src/plugins/home/public/application/components/{home.test.js => home.test.tsx} (72%) rename src/plugins/home/public/application/components/{home.js => home.tsx} (75%) delete mode 100644 src/plugins/home/server/routes/fetch_new_instance_status.ts diff --git a/src/plugins/home/public/application/components/__snapshots__/home.test.js.snap b/src/plugins/home/public/application/components/__snapshots__/home.test.js.snap deleted file mode 100644 index 9b3bc3e354005..0000000000000 --- a/src/plugins/home/public/application/components/__snapshots__/home.test.js.snap +++ /dev/null @@ -1,447 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`home change home route should render a link to change the default route in advanced settings if advanced settings is enabled 1`] = ` -, - } - } - template="empty" -> - - - - - -`; - -exports[`home directories should not render directory entry when showOnHomePage is false 1`] = ` -, - } - } - template="empty" -> - - - - - -`; - -exports[`home directories should render ADMIN directory entry in "Manage your data" panel 1`] = ` -, - } - } - template="empty" -> - - - - - -`; - -exports[`home directories should render solutions in the "solution section" 1`] = ` -, - } - } - template="empty" -> - - - - - -`; - -exports[`home isNewKibanaInstance should safely handle execeptions 1`] = ` -, - } - } - template="empty" -> - - - - - -`; - -exports[`home isNewKibanaInstance should set isNewKibanaInstance to false when there are index patterns 1`] = ` -, - } - } - template="empty" -> - - - - - -`; - -exports[`home isNewKibanaInstance should set isNewKibanaInstance to true when there are no index patterns 1`] = ` -, - } - } - template="empty" -> - - - - - -`; - -exports[`home should render home component 1`] = ` -, - } - } - template="empty" -> - - - - - -`; - -exports[`home welcome should show the normal home page if loading fails 1`] = ` -, - } - } - template="empty" -> - - - - - -`; - -exports[`home welcome should show the normal home page if welcome screen is disabled locally 1`] = ` -, - } - } - template="empty" -> - - - - - -`; - -exports[`home welcome should show the welcome screen if enabled, and there are no index patterns defined 1`] = ` - -`; - -exports[`home welcome stores skip welcome setting if skipped 1`] = ` -, - } - } - template="empty" -> - - - - - -`; diff --git a/src/plugins/home/public/application/components/__snapshots__/home.test.tsx.snap b/src/plugins/home/public/application/components/__snapshots__/home.test.tsx.snap new file mode 100644 index 0000000000000..b6679dd7ba493 --- /dev/null +++ b/src/plugins/home/public/application/components/__snapshots__/home.test.tsx.snap @@ -0,0 +1,800 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`home change home route should render a link to change the default route in advanced settings if advanced settings is enabled 1`] = ` +, + } + } + template="empty" +> + + + + + +`; + +exports[`home directories should not render directory entry when showOnHomePage is false 1`] = ` +, + } + } + template="empty" +> + + + + + +`; + +exports[`home directories should render ADMIN directory entry in "Manage your data" panel 1`] = ` +, + } + } + template="empty" +> + + + + + +`; + +exports[`home directories should render solutions in the "solution section" 1`] = ` +, + } + } + template="empty" +> + + + + + +`; + +exports[`home isNewKibanaInstance should safely handle exceptions 1`] = ` +, + } + } + template="empty" +> + + + + + +`; + +exports[`home isNewKibanaInstance should set isNewKibanaInstance to false when there are index patterns 1`] = ` +, + } + } + template="empty" +> + + + + + +`; + +exports[`home isNewKibanaInstance should set isNewKibanaInstance to true when there are no index patterns 1`] = ` + +`; + +exports[`home should render home component 1`] = ` +, + } + } + template="empty" +> + + + + + +`; + +exports[`home welcome should show the normal home page if loading fails 1`] = ` +, + } + } + template="empty" +> + + + + + +`; + +exports[`home welcome should show the normal home page if welcome screen is disabled locally 1`] = ` +, + } + } + template="empty" +> + + + + + +`; + +exports[`home welcome should show the welcome screen if enabled, and there are no index patterns defined 1`] = ` + +`; + +exports[`home welcome stores skip welcome setting if skipped 1`] = ` +, + } + } + template="empty" +> + + + + + +`; diff --git a/src/plugins/home/public/application/components/home.test.js b/src/plugins/home/public/application/components/home.test.tsx similarity index 72% rename from src/plugins/home/public/application/components/home.test.js rename to src/plugins/home/public/application/components/home.test.tsx index 09c3a664c8172..83000ff0860b4 100644 --- a/src/plugins/home/public/application/components/home.test.js +++ b/src/plugins/home/public/application/components/home.test.tsx @@ -7,11 +7,12 @@ */ import React from 'react'; -import sinon from 'sinon'; import { shallow } from 'enzyme'; +import type { HomeProps } from './home'; import { Home } from './home'; import { FeatureCatalogueCategory } from '../../services'; +import { telemetryPluginMock } from '../../../../telemetry/public/mocks'; jest.mock('../kibana_services', () => ({ getServices: () => ({ @@ -31,46 +32,31 @@ jest.mock('../../../../../../src/plugins/kibana_react/public', () => ({ })); describe('home', () => { - let defaultProps; + let defaultProps: HomeProps; beforeEach(() => { defaultProps = { directories: [], solutions: [], - apmUiEnabled: true, - mlEnabled: true, - kibanaVersion: '99.2.1', - fetchTelemetry: jest.fn(), - getTelemetryBannerId: jest.fn(), - setOptIn: jest.fn(), - showTelemetryOptIn: false, - addBasePath(url) { - return `base_path/${url}`; - }, - find() { - return Promise.resolve({ total: 1 }); - }, - loadingCount: { - increment: sinon.mock(), - decrement: sinon.mock(), - }, localStorage: { - getItem: sinon.spy((path) => { + ...localStorage, + getItem: jest.fn((path) => { expect(path).toEqual('home:welcome:show'); - return 'false'; + return null; // Simulate that the local item has not been set yet }), - setItem: sinon.mock(), + setItem: jest.fn(), }, urlBasePath: 'goober', - onOptInSeen() { - return false; + telemetry: telemetryPluginMock.createStartContract(), + addBasePath(url) { + return `base_path/${url}`; }, - getOptInStatus: jest.fn(), + hasUserIndexPattern: jest.fn(async () => true), }; }); - async function renderHome(props = {}) { - const component = shallow(); + async function renderHome(props: Partial = {}) { + const component = shallow(); // Ensure all promises resolve await new Promise((resolve) => process.nextTick(resolve)); @@ -93,6 +79,7 @@ describe('home', () => { const solutionEntry1 = { id: 'kibana', title: 'Kibana', + description: 'description', icon: 'logoKibana', path: 'kibana_landing_page', order: 1, @@ -100,6 +87,7 @@ describe('home', () => { const solutionEntry2 = { id: 'solution-2', title: 'Solution two', + description: 'description', icon: 'empty', path: 'path-to-solution-two', order: 2, @@ -107,6 +95,7 @@ describe('home', () => { const solutionEntry3 = { id: 'solution-3', title: 'Solution three', + description: 'description', icon: 'empty', path: 'path-to-solution-three', order: 3, @@ -114,6 +103,7 @@ describe('home', () => { const solutionEntry4 = { id: 'solution-4', title: 'Solution four', + description: 'description', icon: 'empty', path: 'path-to-solution-four', order: 4, @@ -185,46 +175,41 @@ describe('home', () => { describe('welcome', () => { test('should show the welcome screen if enabled, and there are no index patterns defined', async () => { - defaultProps.localStorage.getItem = sinon.spy(() => 'true'); + defaultProps.localStorage.getItem = jest.fn(() => 'true'); - const component = await renderHome({ - http: { - get: () => Promise.resolve({ isNewInstance: true }), - }, - }); + const hasUserIndexPattern = jest.fn(async () => false); + const component = await renderHome({ hasUserIndexPattern }); - sinon.assert.calledOnce(defaultProps.localStorage.getItem); + expect(defaultProps.localStorage.getItem).toHaveBeenCalledTimes(1); expect(component).toMatchSnapshot(); }); test('stores skip welcome setting if skipped', async () => { - defaultProps.localStorage.getItem = sinon.spy(() => 'true'); + defaultProps.localStorage.getItem = jest.fn(() => 'true'); - const component = await renderHome({ - find: () => Promise.resolve({ total: 0 }), - }); + const hasUserIndexPattern = jest.fn(async () => false); + const component = await renderHome({ hasUserIndexPattern }); component.instance().skipWelcome(); component.update(); - sinon.assert.calledWith(defaultProps.localStorage.setItem, 'home:welcome:show', 'false'); + expect(defaultProps.localStorage.setItem).toHaveBeenCalledWith('home:welcome:show', 'false'); expect(component).toMatchSnapshot(); }); test('should show the normal home page if loading fails', async () => { - defaultProps.localStorage.getItem = sinon.spy(() => 'true'); + defaultProps.localStorage.getItem = jest.fn(() => 'true'); - const component = await renderHome({ - find: () => Promise.reject('Doh!'), - }); + const hasUserIndexPattern = jest.fn(() => Promise.reject('Doh!')); + const component = await renderHome({ hasUserIndexPattern }); expect(component).toMatchSnapshot(); }); test('should show the normal home page if welcome screen is disabled locally', async () => { - defaultProps.localStorage.getItem = sinon.spy(() => 'false'); + defaultProps.localStorage.getItem = jest.fn(() => 'false'); const component = await renderHome(); @@ -234,27 +219,30 @@ describe('home', () => { describe('isNewKibanaInstance', () => { test('should set isNewKibanaInstance to true when there are no index patterns', async () => { - const component = await renderHome({ - find: () => Promise.resolve({ total: 0 }), - }); + const hasUserIndexPattern = jest.fn(async () => false); + const component = await renderHome({ hasUserIndexPattern }); + + expect(component.state().isNewKibanaInstance).toBe(true); expect(component).toMatchSnapshot(); }); test('should set isNewKibanaInstance to false when there are index patterns', async () => { - const component = await renderHome({ - find: () => Promise.resolve({ total: 1 }), - }); + const hasUserIndexPattern = jest.fn(async () => true); + const component = await renderHome({ hasUserIndexPattern }); + + expect(component.state().isNewKibanaInstance).toBe(false); expect(component).toMatchSnapshot(); }); - test('should safely handle execeptions', async () => { - const component = await renderHome({ - find: () => { - throw new Error('simulated find error'); - }, + test('should safely handle exceptions', async () => { + const hasUserIndexPattern = jest.fn(() => { + throw new Error('simulated find error'); }); + const component = await renderHome({ hasUserIndexPattern }); + + expect(component.state().isNewKibanaInstance).toBe(false); expect(component).toMatchSnapshot(); }); diff --git a/src/plugins/home/public/application/components/home.js b/src/plugins/home/public/application/components/home.tsx similarity index 75% rename from src/plugins/home/public/application/components/home.js rename to src/plugins/home/public/application/components/home.tsx index 72186d44a10fa..30439e5fa87e2 100644 --- a/src/plugins/home/public/application/components/home.js +++ b/src/plugins/home/public/application/components/home.tsx @@ -7,12 +7,13 @@ */ import React, { Component } from 'react'; -import PropTypes from 'prop-types'; import { FormattedMessage } from '@kbn/i18n/react'; import { METRIC_TYPE } from '@kbn/analytics'; import { i18n } from '@kbn/i18n'; +import type { TelemetryPluginStart } from 'src/plugins/telemetry/public'; import { KibanaPageTemplate, OverviewPageFooter } from '../../../../kibana_react/public'; import { HOME_APP_BASE_PATH } from '../../../common/constants'; +import type { FeatureCatalogueEntry, FeatureCatalogueSolution } from '../../services'; import { FeatureCatalogueCategory } from '../../services'; import { getServices } from '../kibana_services'; import { AddData } from './add_data'; @@ -22,8 +23,26 @@ import { Welcome } from './welcome'; const KEY_ENABLE_WELCOME = 'home:welcome:show'; -export class Home extends Component { - constructor(props) { +export interface HomeProps { + addBasePath: (url: string) => string; + directories: FeatureCatalogueEntry[]; + solutions: FeatureCatalogueSolution[]; + localStorage: Storage; + urlBasePath: string; + telemetry: TelemetryPluginStart; + hasUserIndexPattern: () => Promise; +} + +interface State { + isLoading: boolean; + isNewKibanaInstance: boolean; + isWelcomeEnabled: boolean; +} + +export class Home extends Component { + private _isMounted = false; + + constructor(props: HomeProps) { super(props); const isWelcomeEnabled = !( @@ -31,7 +50,7 @@ export class Home extends Component { props.localStorage.getItem(KEY_ENABLE_WELCOME) === 'false' ); - const body = document.querySelector('body'); + const body = document.querySelector('body')!; body.classList.add('isHomPage'); this.state = { @@ -45,14 +64,14 @@ export class Home extends Component { }; } - componentWillUnmount() { + public componentWillUnmount() { this._isMounted = false; - const body = document.querySelector('body'); + const body = document.querySelector('body')!; body.classList.remove('isHomPage'); } - componentDidMount() { + public componentDidMount() { this._isMounted = true; this.fetchIsNewKibanaInstance(); @@ -60,7 +79,7 @@ export class Home extends Component { getServices().chrome.setBreadcrumbs([{ text: homeTitle }]); } - fetchIsNewKibanaInstance = async () => { + private async fetchIsNewKibanaInstance() { try { // Set a max-time on this query so we don't hang the page too long... // Worst case, we don't show the welcome screen when we should. @@ -70,38 +89,41 @@ export class Home extends Component { } }, 500); - const { isNewInstance } = await this.props.http.get('/internal/home/new_instance_status'); + const hasUserIndexPattern = await this.props.hasUserIndexPattern(); - this.endLoading({ isNewKibanaInstance: isNewInstance }); + this.endLoading({ isNewKibanaInstance: !hasUserIndexPattern }); } catch (err) { // An error here is relatively unimportant, as it only means we don't provide // some UI niceties. this.endLoading(); } - }; + } - endLoading = (state = {}) => { + private endLoading(state = {}) { if (this._isMounted) { this.setState({ ...state, isLoading: false, }); } - }; + } - skipWelcome = () => { + public skipWelcome() { this.props.localStorage.setItem(KEY_ENABLE_WELCOME, 'false'); - this._isMounted && this.setState({ isWelcomeEnabled: false }); - }; + if (this._isMounted) this.setState({ isWelcomeEnabled: false }); + } - findDirectoryById = (id) => this.props.directories.find((directory) => directory.id === id); + private findDirectoryById(id: string) { + return this.props.directories.find((directory) => directory.id === id); + } - getFeaturesByCategory = (category) => - this.props.directories + getFeaturesByCategory(category: FeatureCatalogueCategory) { + return this.props.directories .filter((directory) => directory.showOnHomePage && directory.category === category) - .sort((directoryA, directoryB) => directoryA.order - directoryB.order); + .sort((directoryA, directoryB) => (directoryA.order ?? -1) - (directoryB.order ?? -1)); + } - renderNormal() { + private renderNormal() { const { addBasePath, solutions } = this.props; const { application, trackUiMetric } = getServices(); const isDarkMode = getServices().uiSettings?.get('theme:darkMode') || false; @@ -148,11 +170,11 @@ export class Home extends Component { // For now, loading is just an empty page, as we'll show something // in 250ms, no matter what, and a blank page prevents an odd flicker effect. - renderLoading() { + private renderLoading() { return ''; } - renderWelcome() { + private renderWelcome() { return ( indexPatternService.hasUserIndexPattern()} /> diff --git a/src/plugins/home/server/routes/fetch_new_instance_status.ts b/src/plugins/home/server/routes/fetch_new_instance_status.ts deleted file mode 100644 index 12d94feb3b8a1..0000000000000 --- a/src/plugins/home/server/routes/fetch_new_instance_status.ts +++ /dev/null @@ -1,35 +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 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 { IRouter } from 'src/core/server'; -import { isNewInstance } from '../services/new_instance_status'; - -export const registerNewInstanceStatusRoute = (router: IRouter) => { - router.get( - { - path: '/internal/home/new_instance_status', - validate: false, - }, - router.handleLegacyErrors(async (context, req, res) => { - const { client: soClient } = context.core.savedObjects; - const { client: esClient } = context.core.elasticsearch; - - try { - return res.ok({ - body: { - isNewInstance: await isNewInstance({ esClient, soClient }), - }, - }); - } catch (e) { - return res.customError({ - statusCode: 500, - }); - } - }) - ); -}; diff --git a/src/plugins/home/server/routes/index.ts b/src/plugins/home/server/routes/index.ts index 6013dbf130831..905304e059660 100644 --- a/src/plugins/home/server/routes/index.ts +++ b/src/plugins/home/server/routes/index.ts @@ -8,9 +8,7 @@ import { IRouter } from 'src/core/server'; import { registerHitsStatusRoute } from './fetch_es_hits_status'; -import { registerNewInstanceStatusRoute } from './fetch_new_instance_status'; export const registerRoutes = (router: IRouter) => { registerHitsStatusRoute(router); - registerNewInstanceStatusRoute(router); }; From 5d19559af94445ac06be674a4db58902209f8001 Mon Sep 17 00:00:00 2001 From: Jen Huang Date: Wed, 25 Aug 2021 01:17:01 -0700 Subject: [PATCH 013/139] Don't use hash query for agent logs URL state (#109982) --- .../agents/agent_details_page/components/agent_logs/index.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/index.tsx index 0e2c01f095f3e..c138d23cce93b 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/index.tsx @@ -35,7 +35,9 @@ export const AgentLogs: React.FunctionComponent< >( { ...DEFAULT_LOGS_STATE, - ...getStateFromKbnUrl(STATE_STORAGE_KEY, window.location.href), + ...getStateFromKbnUrl(STATE_STORAGE_KEY, window.location.href, { + getFromHashQuery: false, + }), }, { update: (state) => (updatedState) => ({ ...state, ...updatedState }), From db579357446847175d69dbda48cdca0e6bd78e92 Mon Sep 17 00:00:00 2001 From: Vadim Kibana <82822460+vadimkibana@users.noreply.github.com> Date: Wed, 25 Aug 2021 10:43:10 +0200 Subject: [PATCH 014/139] Remove UI actions `any` types (#109797) * remove any in trigger registry * improve comments * remove all anys from ui_actions plugin * fix formatting suggestions --- .../build_eui_context_menu_panels.test.ts | 22 ++++++----- .../public/context_menu/open_context_menu.tsx | 2 +- .../service/ui_actions_execution_service.ts | 2 +- .../public/service/ui_actions_service.test.ts | 39 ++++++++++--------- .../tests/execute_trigger_actions.test.ts | 2 +- .../public/tests/get_trigger_actions.test.ts | 12 +++--- .../get_trigger_compatible_actions.test.ts | 5 ++- src/plugins/ui_actions/public/types.ts | 2 +- 8 files changed, 45 insertions(+), 41 deletions(-) diff --git a/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.test.ts b/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.test.ts index 9a0dc5df73f71..a117c98af49a9 100644 --- a/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.test.ts +++ b/src/plugins/ui_actions/public/context_menu/build_eui_context_menu_panels.test.ts @@ -23,8 +23,8 @@ const createTestAction = ({ grouping?: PresentableGrouping; }) => createAction({ - id: type as any, // mapping doesn't matter for this test - type: type as any, // mapping doesn't matter for this test + id: type as string, + type, getDisplayName: () => dispayName, order, execute: async () => {}, @@ -67,7 +67,7 @@ test('sorts items in DESC order by "order" field first, then by display name', a ].sort(() => 0.5 - Math.random()); const result = await buildContextMenuForActions({ - actions: actions.map((action) => ({ action, context: {}, trigger: '' as any })), + actions: actions.map((action) => ({ action, context: {}, trigger: { id: '' } })), }); expect(result.map(resultMapper)).toMatchInlineSnapshot(` @@ -125,7 +125,9 @@ test('can build menu with one action', async () => { dispayName: 'Foo', }), context: {}, - trigger: 'TETS_TRIGGER' as any, + trigger: { + id: 'TETS_TRIGGER', + }, }, ], closeMenu: () => {}, @@ -156,7 +158,7 @@ test('orders items according to "order" field', async () => { }), ]; const menu = await buildContextMenuForActions({ - actions: actions.map((action) => ({ action, context: {}, trigger: 'TEST' as any })), + actions: actions.map((action) => ({ action, context: {}, trigger: { id: 'TEST' } })), }); expect(menu[0].items![0].name).toBe('Bar'); @@ -173,7 +175,7 @@ test('orders items according to "order" field', async () => { }), ]; const menu2 = await buildContextMenuForActions({ - actions: actions2.map((action) => ({ action, context: {}, trigger: 'TEST' as any })), + actions: actions2.map((action) => ({ action, context: {}, trigger: { id: 'TEST' } })), }); expect(menu2[0].items![0].name).toBe('Bar'); @@ -199,7 +201,7 @@ test('hides items behind in "More" submenu if there are more than 4 actions', as }), ]; const menu = await buildContextMenuForActions({ - actions: actions.map((action) => ({ action, context: {}, trigger: 'TEST' as any })), + actions: actions.map((action) => ({ action, context: {}, trigger: { id: 'TEST' } })), }); expect(menu.map(resultMapper)).toMatchInlineSnapshot(` @@ -256,7 +258,7 @@ test('separates grouped items from main items with a separator', async () => { }), ]; const menu = await buildContextMenuForActions({ - actions: actions.map((action) => ({ action, context: {}, trigger: 'TEST' as any })), + actions: actions.map((action) => ({ action, context: {}, trigger: { id: 'TEST' } })), }); expect(menu.map(resultMapper)).toMatchInlineSnapshot(` @@ -322,7 +324,7 @@ test('separates multiple groups each with its own separator', async () => { }), ]; const menu = await buildContextMenuForActions({ - actions: actions.map((action) => ({ action, context: {}, trigger: 'TEST' as any })), + actions: actions.map((action) => ({ action, context: {}, trigger: { id: 'TEST' } })), }); expect(menu.map(resultMapper)).toMatchInlineSnapshot(` @@ -392,7 +394,7 @@ test('does not add separator for first grouping if there are no main items', asy }), ]; const menu = await buildContextMenuForActions({ - actions: actions.map((action) => ({ action, context: {}, trigger: 'TEST' as any })), + actions: actions.map((action) => ({ action, context: {}, trigger: { id: 'TEST' } })), }); expect(menu.map(resultMapper)).toMatchInlineSnapshot(` diff --git a/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx b/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx index 32a5eb4a5f56e..91cb8099e8b3c 100644 --- a/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx +++ b/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx @@ -124,7 +124,7 @@ function getOrCreateContainerElement() { class ContextMenuSession extends EventEmitter { /** * Closes the opened flyout as long as it's still the open one. - * If this is not the active session anymore, this method won't do anything. + * If this is not the active session, this method will do nothing. * If this session was still active and a flyout was closed, the 'closed' * event will be emitted on this FlyoutSession instance. */ diff --git a/src/plugins/ui_actions/public/service/ui_actions_execution_service.ts b/src/plugins/ui_actions/public/service/ui_actions_execution_service.ts index b9b6034ef4ce4..aa6a76bf9a5f8 100644 --- a/src/plugins/ui_actions/public/service/ui_actions_execution_service.ts +++ b/src/plugins/ui_actions/public/service/ui_actions_execution_service.ts @@ -120,7 +120,7 @@ export class UiActionsExecutionService { context, trigger, })), - title: '', // intentionally don't have any title + title: '', // Empty title is set intentionally. closeMenu: () => { tasks.forEach((t) => t.defer.resolve()); session.close(); diff --git a/src/plugins/ui_actions/public/service/ui_actions_service.test.ts b/src/plugins/ui_actions/public/service/ui_actions_service.test.ts index 241a569b37728..41fc6546b7caa 100644 --- a/src/plugins/ui_actions/public/service/ui_actions_service.test.ts +++ b/src/plugins/ui_actions/public/service/ui_actions_service.test.ts @@ -7,10 +7,11 @@ */ import { UiActionsService } from './ui_actions_service'; -import { Action, ActionInternal, createAction } from '../actions'; +import { Action, ActionDefinition, ActionInternal, createAction } from '../actions'; import { createHelloWorldAction } from '../tests/test_samples'; import { TriggerRegistry, ActionRegistry } from '../types'; import { Trigger } from '../triggers'; +import { OverlayStart } from 'kibana/public'; const FOO_TRIGGER = 'FOO_TRIGGER'; const BAR_TRIGGER = 'BAR_TRIGGER'; @@ -152,8 +153,8 @@ describe('UiActionsService', () => { const list2 = service.getTriggerActions(FOO_TRIGGER); expect(list2).toHaveLength(2); - expect(!!list2.find(({ id }: any) => id === 'action1')).toBe(true); - expect(!!list2.find(({ id }: any) => id === 'action2')).toBe(true); + expect(!!list2.find(({ id }: { id: string }) => id === 'action1')).toBe(true); + expect(!!list2.find(({ id }: { id: string }) => id === 'action2')).toBe(true); }); }); @@ -161,7 +162,7 @@ describe('UiActionsService', () => { test('can register and get actions', async () => { const actions: ActionRegistry = new Map(); const service = new UiActionsService({ actions }); - const helloWorldAction = createHelloWorldAction({} as any); + const helloWorldAction = createHelloWorldAction(({} as unknown) as OverlayStart); const length = actions.size; service.registerAction(helloWorldAction); @@ -172,7 +173,7 @@ describe('UiActionsService', () => { test('getTriggerCompatibleActions returns attached actions', async () => { const service = new UiActionsService(); - const helloWorldAction = createHelloWorldAction({} as any); + const helloWorldAction = createHelloWorldAction(({} as unknown) as OverlayStart); service.registerAction(helloWorldAction); @@ -231,7 +232,7 @@ describe('UiActionsService', () => { ); }); - test('returns empty list if trigger not attached to any action', async () => { + test('returns empty list if trigger not attached to an action', async () => { const service = new UiActionsService(); const testTrigger: Trigger = { id: '123', @@ -372,10 +373,10 @@ describe('UiActionsService', () => { const actions: ActionRegistry = new Map(); const service = new UiActionsService({ actions }); - service.registerAction({ + service.registerAction(({ id: ACTION_HELLO_WORLD, order: 13, - } as any); + } as unknown) as ActionDefinition); expect(actions.get(ACTION_HELLO_WORLD)).toMatchObject({ id: ACTION_HELLO_WORLD, @@ -389,10 +390,10 @@ describe('UiActionsService', () => { const trigger: Trigger = { id: MY_TRIGGER, }; - const action = { + const action = ({ id: ACTION_HELLO_WORLD, order: 25, - } as any; + } as unknown) as ActionDefinition; service.registerTrigger(trigger); service.addTriggerAction(MY_TRIGGER, action); @@ -409,10 +410,10 @@ describe('UiActionsService', () => { const trigger: Trigger = { id: MY_TRIGGER, }; - const action = { + const action = ({ id: ACTION_HELLO_WORLD, order: 25, - } as any; + } as unknown) as ActionDefinition; service.registerTrigger(trigger); service.registerAction(action); @@ -426,10 +427,10 @@ describe('UiActionsService', () => { test('detaching an invalid action from a trigger throws an error', async () => { const service = new UiActionsService(); - const action = { + const action = ({ id: ACTION_HELLO_WORLD, order: 25, - } as any; + } as unknown) as ActionDefinition; service.registerAction(action); expect(() => service.detachAction('i do not exist', ACTION_HELLO_WORLD)).toThrowError( @@ -440,10 +441,10 @@ describe('UiActionsService', () => { test('attaching an invalid action to a trigger throws an error', async () => { const service = new UiActionsService(); - const action = { + const action = ({ id: ACTION_HELLO_WORLD, order: 25, - } as any; + } as unknown) as ActionDefinition; service.registerAction(action); expect(() => service.addTriggerAction('i do not exist', action)).toThrowError( @@ -454,10 +455,10 @@ describe('UiActionsService', () => { test('cannot register another action with the same ID', async () => { const service = new UiActionsService(); - const action = { + const action = ({ id: ACTION_HELLO_WORLD, order: 25, - } as any; + } as unknown) as ActionDefinition; service.registerAction(action); expect(() => service.registerAction(action)).toThrowError( @@ -468,7 +469,7 @@ describe('UiActionsService', () => { test('cannot register another trigger with the same ID', async () => { const service = new UiActionsService(); - const trigger = { id: 'MY-TRIGGER' } as any; + const trigger = ({ id: 'MY-TRIGGER' } as unknown) as Trigger; service.registerTrigger(trigger); expect(() => service.registerTrigger(trigger)).toThrowError( diff --git a/src/plugins/ui_actions/public/tests/execute_trigger_actions.test.ts b/src/plugins/ui_actions/public/tests/execute_trigger_actions.test.ts index 21790b92cc143..4aba3a9c68108 100644 --- a/src/plugins/ui_actions/public/tests/execute_trigger_actions.test.ts +++ b/src/plugins/ui_actions/public/tests/execute_trigger_actions.test.ts @@ -15,7 +15,7 @@ import { waitFor } from '@testing-library/dom'; jest.mock('../context_menu'); const executeFn = jest.fn(); -const openContextMenuSpy = (openContextMenu as any) as jest.SpyInstance; +const openContextMenuSpy = (openContextMenu as unknown) as jest.SpyInstance; const CONTACT_USER_TRIGGER = 'CONTACT_USER_TRIGGER'; diff --git a/src/plugins/ui_actions/public/tests/get_trigger_actions.test.ts b/src/plugins/ui_actions/public/tests/get_trigger_actions.test.ts index 1fc87bde6461e..9a5de81b18548 100644 --- a/src/plugins/ui_actions/public/tests/get_trigger_actions.test.ts +++ b/src/plugins/ui_actions/public/tests/get_trigger_actions.test.ts @@ -9,16 +9,16 @@ import { ActionInternal, Action } from '../actions'; import { uiActionsPluginMock } from '../mocks'; -const action1: Action = { +const action1: Action = ({ id: 'action1', order: 1, type: 'type1', -} as any; -const action2: Action = { +} as unknown) as Action; +const action2: Action = ({ id: 'action2', order: 2, type: 'type2', -} as any; +} as unknown) as Action; test('returns actions set on trigger', () => { const { setup, doStart } = uiActionsPluginMock.createPlugin(); @@ -46,6 +46,6 @@ test('returns actions set on trigger', () => { const list2 = start.getTriggerActions('trigger'); expect(list2).toHaveLength(2); - expect(!!list2.find(({ id }: any) => id === 'action1')).toBe(true); - expect(!!list2.find(({ id }: any) => id === 'action2')).toBe(true); + expect(!!list2.find(({ id }: { id: string }) => id === 'action1')).toBe(true); + expect(!!list2.find(({ id }: { id: string }) => id === 'action2')).toBe(true); }); diff --git a/src/plugins/ui_actions/public/tests/get_trigger_compatible_actions.test.ts b/src/plugins/ui_actions/public/tests/get_trigger_compatible_actions.test.ts index 77b29e7406a82..2d1c284e66ad4 100644 --- a/src/plugins/ui_actions/public/tests/get_trigger_compatible_actions.test.ts +++ b/src/plugins/ui_actions/public/tests/get_trigger_compatible_actions.test.ts @@ -10,6 +10,7 @@ import { uiActionsPluginMock } from '../mocks'; import { createHelloWorldAction } from '../tests/test_samples'; import { Action, createAction } from '../actions'; import { Trigger } from '../triggers'; +import { OverlayStart } from 'kibana/public'; let action: Action<{ name: string }>; let uiActions: ReturnType; @@ -31,14 +32,14 @@ beforeEach(() => { test('can register action', async () => { const { setup } = uiActions; - const helloWorldAction = createHelloWorldAction({} as any); + const helloWorldAction = createHelloWorldAction(({} as unknown) as OverlayStart); setup.registerAction(helloWorldAction); }); test('getTriggerCompatibleActions returns attached actions', async () => { const { setup, doStart } = uiActions; - const helloWorldAction = createHelloWorldAction({} as any); + const helloWorldAction = createHelloWorldAction(({} as unknown) as OverlayStart); setup.registerAction(helloWorldAction); diff --git a/src/plugins/ui_actions/public/types.ts b/src/plugins/ui_actions/public/types.ts index f3eb940b23071..59cc001c41211 100644 --- a/src/plugins/ui_actions/public/types.ts +++ b/src/plugins/ui_actions/public/types.ts @@ -9,7 +9,7 @@ import { ActionInternal } from './actions/action_internal'; import { TriggerInternal } from './triggers/trigger_internal'; -export type TriggerRegistry = Map>; +export type TriggerRegistry = Map>; export type ActionRegistry = Map; export type TriggerToActionsRegistry = Map; From 39fed5e4e98059b80fa72761e96595f6acd0a3ba Mon Sep 17 00:00:00 2001 From: Mikhail Shustov Date: Wed, 25 Aug 2021 11:49:01 +0300 Subject: [PATCH 015/139] Bump apm agent versions (#109877) * bump nodejs agent version * bump APM RUM agent version --- package.json | 6 +++--- yarn.lock | 46 +++++++++++++++++++++++----------------------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 20fb4c6a61fd0..860dc9b64d5ec 100644 --- a/package.json +++ b/package.json @@ -93,8 +93,8 @@ "yarn": "^1.21.1" }, "dependencies": { - "@elastic/apm-rum": "^5.8.0", - "@elastic/apm-rum-react": "^1.2.11", + "@elastic/apm-rum": "^5.9.1", + "@elastic/apm-rum-react": "^1.3.1", "@elastic/charts": "34.1.1", "@elastic/datemath": "link:bazel-bin/packages/elastic-datemath", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@^8.0.0-canary.18", @@ -227,7 +227,7 @@ "deep-freeze-strict": "^1.1.1", "deepmerge": "^4.2.2", "del": "^5.1.0", - "elastic-apm-node": "^3.16.0", + "elastic-apm-node": "^3.20.0", "execa": "^4.0.2", "exit-hook": "^2.2.0", "expiry-js": "0.1.7", diff --git a/yarn.lock b/yarn.lock index 1d638036105fc..89af9a650de91 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1358,29 +1358,29 @@ is-absolute "^1.0.0" is-negated-glob "^1.0.0" -"@elastic/apm-rum-core@^5.11.0": - version "5.11.0" - resolved "https://registry.yarnpkg.com/@elastic/apm-rum-core/-/apm-rum-core-5.11.0.tgz#6cfebb62d5ac33cf5ec9dfbe206f120ff5d17ecc" - integrity sha512-JqxsVU6/gHfWe3DiJ7uN0h0e+zFd8LbcC5i/Pa14useiKOVn4r7dHeKoWkBSJCY63cl76hotCbtgqkuVgWVzmA== +"@elastic/apm-rum-core@^5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@elastic/apm-rum-core/-/apm-rum-core-5.12.1.tgz#ad78787876c68b9ce718d1c42b8e7b12b12eaa69" + integrity sha512-b9CyqLdu2rSdjqi5Pc2bNfQCRQT26GjQzCTpJq1WoewDaoivsPoUDrY7tCJV+j3rmRSxG7vX91pM5SygjFr7aA== dependencies: error-stack-parser "^1.3.5" opentracing "^0.14.3" promise-polyfill "^8.1.3" -"@elastic/apm-rum-react@^1.2.11": - version "1.2.11" - resolved "https://registry.yarnpkg.com/@elastic/apm-rum-react/-/apm-rum-react-1.2.11.tgz#945436cbe90507fda85016c0e3a44984c3f0a9c8" - integrity sha512-kl+NdNZ0eANAD7DlN3fFR7M9NeEW21rINh9aLSmEMQedUNNn+3K9oQzD4MirjV1TA5hsLSeGiCKrfPzja9Ynjw== +"@elastic/apm-rum-react@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@elastic/apm-rum-react/-/apm-rum-react-1.3.1.tgz#2b1a5cfe3763538d7e655816a333162696f906c9" + integrity sha512-nJebgxMUWsWWz93v39ok0DwFGUvv9qZkA+oElUzCKyVvWpgHsWE2pvgjthrvay64qzfEg5QeM56ywaef9V13rw== dependencies: - "@elastic/apm-rum" "^5.8.0" + "@elastic/apm-rum" "^5.9.1" hoist-non-react-statics "^3.3.0" -"@elastic/apm-rum@^5.8.0": - version "5.8.0" - resolved "https://registry.yarnpkg.com/@elastic/apm-rum/-/apm-rum-5.8.0.tgz#ab88dc9e955b7fa2f00d5541d242a91a44c0c931" - integrity sha512-lje3SxwqhRkogCsBUsK9y0cn1Kv3dj4Ukbt4VbmNr44KRYoY9A3gTm5e5qKLF6DgsPCOc9EZBF36a0Wtjlkt/g== +"@elastic/apm-rum@^5.9.1": + version "5.9.1" + resolved "https://registry.yarnpkg.com/@elastic/apm-rum/-/apm-rum-5.9.1.tgz#23b12650d443ec0a5f7c6b7b4039334e42d2fe8a" + integrity sha512-NJAdzxXxf+LeCI0Dz3P+RMVY66C8sAztIg4tvnrhvBqxf8d7se+FpYw3oYjw3BZ8UDycmXEaIqEGcynUUndgqA== dependencies: - "@elastic/apm-rum-core" "^5.11.0" + "@elastic/apm-rum-core" "^5.12.1" "@elastic/app-search-javascript@^7.13.1": version "7.13.1" @@ -1425,10 +1425,10 @@ dependencies: fast-json-stringify "^2.4.1" -"@elastic/ecs-pino-format@^1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@elastic/ecs-pino-format/-/ecs-pino-format-1.1.1.tgz#f996a7a0074155cb6d63499332092bc9c74ac5e4" - integrity sha512-I7SzS0JYA8tdfsw4aTR+33HWWCaU7QY759kzt4sXm+O1waILaUWMzW3C2RL0ihQ66M99t+XMhRrA4cKStkHNXg== +"@elastic/ecs-pino-format@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@elastic/ecs-pino-format/-/ecs-pino-format-1.2.0.tgz#3ee709eb2343b4d1a7a6d23bc467673d8c0de2c2" + integrity sha512-7TGPoxPMHkhqdp98u9F1+4aNwktgh8tlG/PX2c/d/RcAqHziaRCc72tuwGLMu9K/w/M5bWz0eKbcFXr4fSZGwg== dependencies: "@elastic/ecs-helpers" "^1.1.0" @@ -12361,12 +12361,12 @@ elastic-apm-http-client@^9.8.1: stream-chopper "^3.0.1" unicode-byte-truncate "^1.0.0" -elastic-apm-node@^3.16.0: - version "3.16.0" - resolved "https://registry.yarnpkg.com/elastic-apm-node/-/elastic-apm-node-3.16.0.tgz#b55ba5c54acd2f40be704dc48c664ddb1729f20f" - integrity sha512-WR56cjpvt9ZAAw+4Ct2XjCtmy+lgn5kXZH220TRgC7W71c5uuRdioRJpIdvBPMZmeLnHwzok2+acUB7bxnYvVA== +elastic-apm-node@^3.20.0: + version "3.20.0" + resolved "https://registry.yarnpkg.com/elastic-apm-node/-/elastic-apm-node-3.20.0.tgz#c2f3c90a779d8580cceba292c22dad17ff859749" + integrity sha512-oaUrj3IrtCUg3kzQnoFClw210OpXaCFzIdMO3EnY7z7+zHcjd5fLEMDHQ64qFzKeMt3aPrLBu6ou0HwuUe48Eg== dependencies: - "@elastic/ecs-pino-format" "^1.1.0" + "@elastic/ecs-pino-format" "^1.2.0" after-all-results "^2.0.0" async-cache "^1.1.0" async-value-promise "^1.1.1" From e3a6fc59f3ffcd2424460b2040192c6e926249ae Mon Sep 17 00:00:00 2001 From: Diana Derevyankina <54894989+DziyanaDzeraviankina@users.noreply.github.com> Date: Wed, 25 Aug 2021 13:06:24 +0300 Subject: [PATCH 016/139] Chore(TSVB): Replace aggregations lookup with map (#109424) * Chore(TSVB): Replace aggregations lookup with map * Fix types, update test expected data and remove unused translations * Correct typo and refactor condition in std_metric * Fix metric type * Fix CI and label for Bucket Script * Update agg_utils.test expected data Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../common/agg_lookup.test.ts | 21 - .../vis_type_timeseries/common/agg_lookup.ts | 122 ------ .../common/agg_utils.test.ts | 187 +++++++++ .../vis_type_timeseries/common/agg_utils.ts | 382 ++++++++++++++++++ .../common/calculate_label.ts | 93 ++--- .../vis_type_timeseries/common/enums/index.ts | 2 +- .../common/enums/metric_types.ts | 30 +- .../vis_type_timeseries/common/types/index.ts | 2 +- .../common/types/panel_model.ts | 8 +- .../components/aggs/agg_select.tsx | 233 +---------- .../components/aggs/calculation.js | 4 +- .../components/aggs/cumulative_sum.js | 4 +- .../application/components/aggs/derivative.js | 4 +- .../components/aggs/metric_select.js | 6 +- .../components/aggs/moving_average.js | 4 +- .../components/aggs/positive_only.js | 4 +- .../components/aggs/serial_diff.js | 4 +- .../components/aggs/std_sibling.js | 4 +- .../get_supported_fields_by_metric_type.js | 7 +- .../components/lib/new_metric_agg_fn.ts | 3 +- .../components/lib/series_change_handler.js | 2 +- .../lib/vis_data/helpers/get_agg_value.js | 14 +- .../lib/vis_data/helpers/get_buckets_path.ts | 13 +- .../helpers/map_empty_to_zero.test.ts | 10 +- .../response_processors/series/percentile.js | 4 +- .../series/percentile_rank.js | 4 +- .../series/std_deviation_bands.js | 4 +- .../response_processors/series/std_metric.js | 6 +- .../response_processors/table/percentile.ts | 4 +- .../table/percentile_rank.ts | 4 +- .../response_processors/table/std_metric.ts | 10 +- test/functional/apps/visualize/_tsvb_chart.ts | 2 +- .../translations/translations/ja-JP.json | 99 ++--- .../translations/translations/zh-CN.json | 99 ++--- 34 files changed, 789 insertions(+), 610 deletions(-) delete mode 100644 src/plugins/vis_type_timeseries/common/agg_lookup.test.ts delete mode 100644 src/plugins/vis_type_timeseries/common/agg_lookup.ts create mode 100644 src/plugins/vis_type_timeseries/common/agg_utils.test.ts create mode 100644 src/plugins/vis_type_timeseries/common/agg_utils.ts diff --git a/src/plugins/vis_type_timeseries/common/agg_lookup.test.ts b/src/plugins/vis_type_timeseries/common/agg_lookup.test.ts deleted file mode 100644 index 2c505042b2c33..0000000000000 --- a/src/plugins/vis_type_timeseries/common/agg_lookup.test.ts +++ /dev/null @@ -1,21 +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 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 { isBasicAgg } from './agg_lookup'; -import { Metric } from './types'; - -describe('aggLookup', () => { - describe('isBasicAgg(metric)', () => { - test('returns true for a basic metric (count)', () => { - expect(isBasicAgg({ type: 'count' } as Metric)).toEqual(true); - }); - test('returns false for a pipeline metric (derivative)', () => { - expect(isBasicAgg({ type: 'derivative' } as Metric)).toEqual(false); - }); - }); -}); diff --git a/src/plugins/vis_type_timeseries/common/agg_lookup.ts b/src/plugins/vis_type_timeseries/common/agg_lookup.ts deleted file mode 100644 index 5a4067a941ec2..0000000000000 --- a/src/plugins/vis_type_timeseries/common/agg_lookup.ts +++ /dev/null @@ -1,122 +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 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 { omit, pick, includes } from 'lodash'; -import { i18n } from '@kbn/i18n'; -import { Metric } from './types'; - -export const lookup: Record = { - count: i18n.translate('visTypeTimeseries.aggLookup.countLabel', { defaultMessage: 'Count' }), - calculation: i18n.translate('visTypeTimeseries.aggLookup.calculationLabel', { - defaultMessage: 'Calculation', - }), - std_deviation: i18n.translate('visTypeTimeseries.aggLookup.deviationLabel', { - defaultMessage: 'Std. Deviation', - }), - variance: i18n.translate('visTypeTimeseries.aggLookup.varianceLabel', { - defaultMessage: 'Variance', - }), - sum_of_squares: i18n.translate('visTypeTimeseries.aggLookup.sumOfSqLabel', { - defaultMessage: 'Sum of Sq.', - }), - avg: i18n.translate('visTypeTimeseries.aggLookup.averageLabel', { defaultMessage: 'Average' }), - max: i18n.translate('visTypeTimeseries.aggLookup.maxLabel', { defaultMessage: 'Max' }), - min: i18n.translate('visTypeTimeseries.aggLookup.minLabel', { defaultMessage: 'Min' }), - sum: i18n.translate('visTypeTimeseries.aggLookup.sumLabel', { defaultMessage: 'Sum' }), - percentile: i18n.translate('visTypeTimeseries.aggLookup.percentileLabel', { - defaultMessage: 'Percentile', - }), - percentile_rank: i18n.translate('visTypeTimeseries.aggLookup.percentileRankLabel', { - defaultMessage: 'Percentile Rank', - }), - cardinality: i18n.translate('visTypeTimeseries.aggLookup.cardinalityLabel', { - defaultMessage: 'Cardinality', - }), - value_count: i18n.translate('visTypeTimeseries.aggLookup.valueCountLabel', { - defaultMessage: 'Value Count', - }), - derivative: i18n.translate('visTypeTimeseries.aggLookup.derivativeLabel', { - defaultMessage: 'Derivative', - }), - cumulative_sum: i18n.translate('visTypeTimeseries.aggLookup.cumulativeSumLabel', { - defaultMessage: 'Cumulative Sum', - }), - moving_average: i18n.translate('visTypeTimeseries.aggLookup.movingAverageLabel', { - defaultMessage: 'Moving Average', - }), - avg_bucket: i18n.translate('visTypeTimeseries.aggLookup.overallAverageLabel', { - defaultMessage: 'Overall Average', - }), - min_bucket: i18n.translate('visTypeTimeseries.aggLookup.overallMinLabel', { - defaultMessage: 'Overall Min', - }), - max_bucket: i18n.translate('visTypeTimeseries.aggLookup.overallMaxLabel', { - defaultMessage: 'Overall Max', - }), - sum_bucket: i18n.translate('visTypeTimeseries.aggLookup.overallSumLabel', { - defaultMessage: 'Overall Sum', - }), - variance_bucket: i18n.translate('visTypeTimeseries.aggLookup.overallVarianceLabel', { - defaultMessage: 'Overall Variance', - }), - sum_of_squares_bucket: i18n.translate('visTypeTimeseries.aggLookup.overallSumOfSqLabel', { - defaultMessage: 'Overall Sum of Sq.', - }), - std_deviation_bucket: i18n.translate('visTypeTimeseries.aggLookup.overallStdDeviationLabel', { - defaultMessage: 'Overall Std. Deviation', - }), - series_agg: i18n.translate('visTypeTimeseries.aggLookup.seriesAggLabel', { - defaultMessage: 'Series Agg', - }), - math: i18n.translate('visTypeTimeseries.aggLookup.mathLabel', { defaultMessage: 'Math' }), - serial_diff: i18n.translate('visTypeTimeseries.aggLookup.serialDifferenceLabel', { - defaultMessage: 'Serial Difference', - }), - filter_ratio: i18n.translate('visTypeTimeseries.aggLookup.filterRatioLabel', { - defaultMessage: 'Filter Ratio', - }), - positive_only: i18n.translate('visTypeTimeseries.aggLookup.positiveOnlyLabel', { - defaultMessage: 'Positive Only', - }), - static: i18n.translate('visTypeTimeseries.aggLookup.staticValueLabel', { - defaultMessage: 'Static Value', - }), - top_hit: i18n.translate('visTypeTimeseries.aggLookup.topHitLabel', { defaultMessage: 'Top Hit' }), - positive_rate: i18n.translate('visTypeTimeseries.aggLookup.positiveRateLabel', { - defaultMessage: 'Counter Rate', - }), -}; - -const pipeline = [ - 'calculation', - 'derivative', - 'cumulative_sum', - 'moving_average', - 'avg_bucket', - 'min_bucket', - 'max_bucket', - 'sum_bucket', - 'variance_bucket', - 'sum_of_squares_bucket', - 'std_deviation_bucket', - 'series_agg', - 'math', - 'serial_diff', - 'positive_only', -]; - -const byType = { - _all: lookup, - pipeline, - basic: omit(lookup, pipeline), - metrics: pick(lookup, ['count', 'avg', 'min', 'max', 'sum', 'cardinality', 'value_count']), -}; - -export function isBasicAgg(item: Metric) { - return includes(Object.keys(byType.basic), item.type); -} diff --git a/src/plugins/vis_type_timeseries/common/agg_utils.test.ts b/src/plugins/vis_type_timeseries/common/agg_utils.test.ts new file mode 100644 index 0000000000000..3e450c789b65d --- /dev/null +++ b/src/plugins/vis_type_timeseries/common/agg_utils.test.ts @@ -0,0 +1,187 @@ +/* + * 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. + */ + +import { + getMetricLabel, + isBasicAgg, + getAggByPredicate, + getAggsByPredicate, + getAggsByType, +} from './agg_utils'; +import { METRIC_TYPES } from '../../data/common'; +import { TSVB_METRIC_TYPES } from './enums'; +import type { Metric } from './types'; + +describe('agg utils', () => { + describe('isBasicAgg(metric)', () => { + it('returns true for a basic metric (count)', () => { + expect(isBasicAgg({ type: 'count' } as Metric)).toEqual(true); + }); + it('returns false for a pipeline metric (derivative)', () => { + expect(isBasicAgg({ type: 'derivative' } as Metric)).toEqual(false); + }); + }); + + describe('getMetricLabel(metricType)', () => { + it('should return "Cumulative Sum" for METRIC_TYPES.CUMULATIVE_SUM', () => { + const label = getMetricLabel(METRIC_TYPES.CUMULATIVE_SUM); + expect(label).toBe('Cumulative Sum'); + }); + + it('should return "Static Value" for TSVB_METRIC_TYPES.STATIC', () => { + const label = getMetricLabel(TSVB_METRIC_TYPES.STATIC); + expect(label).toBe('Static Value'); + }); + }); + + describe('getAggByPredicate(metricType, metaPredicate)', () => { + it('should be falsy for METRIC_TYPES.SUM with { hasExtendedStats: true } meta predicate', () => { + const actual = getAggByPredicate(METRIC_TYPES.SUM, { hasExtendedStats: true }); + expect(actual).toBeFalsy(); + }); + + it('should be truthy for TSVB_METRIC_TYPES.SUM_OF_SQUARES with { hasExtendedStats: true } meta predicate', () => { + const actual = getAggByPredicate(TSVB_METRIC_TYPES.SUM_OF_SQUARES, { + hasExtendedStats: true, + }); + expect(actual).toBeTruthy(); + }); + }); + + describe('getAggsByPredicate(predicate)', () => { + it('should return actual array of aggs with { meta: { hasExtendedStats: true } } predicate', () => { + const commonProperties = { + type: 'metric', + isFieldRequired: true, + isFilterRatioSupported: false, + isHistogramSupported: false, + hasExtendedStats: true, + }; + const expected = [ + { + id: TSVB_METRIC_TYPES.STD_DEVIATION, + meta: { + label: 'Std. Deviation', + ...commonProperties, + }, + }, + { + id: TSVB_METRIC_TYPES.SUM_OF_SQUARES, + meta: { + label: 'Sum of Squares', + ...commonProperties, + }, + }, + { + id: TSVB_METRIC_TYPES.VARIANCE, + meta: { + label: 'Variance', + ...commonProperties, + }, + }, + ]; + + const actual = getAggsByPredicate({ meta: { hasExtendedStats: true } }); + expect(actual).toEqual(expected); + }); + + it('should return actual array of aggs with { meta: { isFieldRequired: false } } predicate', () => { + const commonProperties = { + isFieldRequired: false, + isFilterRatioSupported: false, + isHistogramSupported: false, + hasExtendedStats: false, + }; + const expected = [ + { + id: METRIC_TYPES.COUNT, + meta: { + type: 'metric', + label: 'Count', + ...commonProperties, + isFilterRatioSupported: true, + isHistogramSupported: true, + }, + }, + { + id: TSVB_METRIC_TYPES.FILTER_RATIO, + meta: { + type: 'metric', + label: 'Filter Ratio', + ...commonProperties, + }, + }, + { + id: TSVB_METRIC_TYPES.STATIC, + meta: { + type: 'metric', + label: 'Static Value', + ...commonProperties, + }, + }, + { + id: TSVB_METRIC_TYPES.SERIES_AGG, + meta: { + type: 'special', + label: 'Series Agg', + ...commonProperties, + }, + }, + ]; + + const actual = getAggsByPredicate({ meta: { isFieldRequired: false } }); + expect(actual).toEqual(expected); + }); + }); + + describe('getAggsByType(mapFn)', () => { + it('should return object with actual aggs labels separated by type', () => { + const expected = { + metric: [ + 'Average', + 'Cardinality', + 'Count', + 'Filter Ratio', + 'Counter Rate', + 'Max', + 'Min', + 'Percentile', + 'Percentile Rank', + 'Static Value', + 'Std. Deviation', + 'Sum', + 'Sum of Squares', + 'Top Hit', + 'Value Count', + 'Variance', + ], + parent_pipeline: [ + 'Bucket Script', + 'Cumulative Sum', + 'Derivative', + 'Moving Average', + 'Positive Only', + 'Serial Difference', + ], + sibling_pipeline: [ + 'Overall Average', + 'Overall Max', + 'Overall Min', + 'Overall Std. Deviation', + 'Overall Sum', + 'Overall Sum of Squares', + 'Overall Variance', + ], + special: ['Series Agg', 'Math'], + }; + + const actual = getAggsByType((agg) => agg.meta.label); + expect(actual).toEqual(expected); + }); + }); +}); diff --git a/src/plugins/vis_type_timeseries/common/agg_utils.ts b/src/plugins/vis_type_timeseries/common/agg_utils.ts new file mode 100644 index 0000000000000..8b071cc680af3 --- /dev/null +++ b/src/plugins/vis_type_timeseries/common/agg_utils.ts @@ -0,0 +1,382 @@ +/* + * 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. + */ + +import { i18n } from '@kbn/i18n'; +import { filter } from 'lodash'; +import { Assign } from 'utility-types'; +import { METRIC_TYPES } from '../../data/common'; +import { TSVB_METRIC_TYPES } from './enums'; +import type { Metric, MetricType } from './types'; + +export enum AGG_TYPE { + METRIC = 'metric', + PARENT_PIPELINE = 'parent_pipeline', + SIBLING_PIPELINE = 'sibling_pipeline', + SPECIAL = 'special', +} + +export interface Agg { + id: MetricType; + meta: { + type: AGG_TYPE; + label: string; + isFieldRequired: boolean; + isFilterRatioSupported: boolean; + isHistogramSupported: boolean; + hasExtendedStats: boolean; + }; +} + +const aggDefaultMeta = { + type: AGG_TYPE.METRIC, + isFieldRequired: true, + isFilterRatioSupported: false, + isHistogramSupported: false, + hasExtendedStats: false, +}; + +export const aggs: Agg[] = [ + { + id: METRIC_TYPES.AVG, + meta: { + ...aggDefaultMeta, + isFilterRatioSupported: true, + isHistogramSupported: true, + label: i18n.translate('visTypeTimeseries.aggUtils.averageLabel', { + defaultMessage: 'Average', + }), + }, + }, + { + id: METRIC_TYPES.CARDINALITY, + meta: { + ...aggDefaultMeta, + isFilterRatioSupported: true, + label: i18n.translate('visTypeTimeseries.aggUtils.cardinalityLabel', { + defaultMessage: 'Cardinality', + }), + }, + }, + { + id: METRIC_TYPES.COUNT, + meta: { + ...aggDefaultMeta, + isFieldRequired: false, + isFilterRatioSupported: true, + isHistogramSupported: true, + label: i18n.translate('visTypeTimeseries.aggUtils.countLabel', { defaultMessage: 'Count' }), + }, + }, + { + id: TSVB_METRIC_TYPES.FILTER_RATIO, + meta: { + ...aggDefaultMeta, + isFieldRequired: false, + label: i18n.translate('visTypeTimeseries.aggUtils.filterRatioLabel', { + defaultMessage: 'Filter Ratio', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.POSITIVE_RATE, + meta: { + ...aggDefaultMeta, + isFilterRatioSupported: true, + label: i18n.translate('visTypeTimeseries.aggUtils.positiveRateLabel', { + defaultMessage: 'Counter Rate', + }), + }, + }, + { + id: METRIC_TYPES.MAX, + meta: { + ...aggDefaultMeta, + isFilterRatioSupported: true, + isHistogramSupported: true, + label: i18n.translate('visTypeTimeseries.aggUtils.maxLabel', { defaultMessage: 'Max' }), + }, + }, + { + id: METRIC_TYPES.MIN, + meta: { + ...aggDefaultMeta, + isFilterRatioSupported: true, + isHistogramSupported: true, + label: i18n.translate('visTypeTimeseries.aggUtils.minLabel', { defaultMessage: 'Min' }), + }, + }, + { + id: TSVB_METRIC_TYPES.PERCENTILE, + meta: { + ...aggDefaultMeta, + label: i18n.translate('visTypeTimeseries.aggUtils.percentileLabel', { + defaultMessage: 'Percentile', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.PERCENTILE_RANK, + meta: { + ...aggDefaultMeta, + label: i18n.translate('visTypeTimeseries.aggUtils.percentileRankLabel', { + defaultMessage: 'Percentile Rank', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.STATIC, + meta: { + ...aggDefaultMeta, + isFieldRequired: false, + label: i18n.translate('visTypeTimeseries.aggUtils.staticValueLabel', { + defaultMessage: 'Static Value', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.STD_DEVIATION, + meta: { + ...aggDefaultMeta, + hasExtendedStats: true, + label: i18n.translate('visTypeTimeseries.aggUtils.deviationLabel', { + defaultMessage: 'Std. Deviation', + }), + }, + }, + { + id: METRIC_TYPES.SUM, + meta: { + ...aggDefaultMeta, + isFilterRatioSupported: true, + isHistogramSupported: true, + label: i18n.translate('visTypeTimeseries.aggUtils.sumLabel', { defaultMessage: 'Sum' }), + }, + }, + { + id: TSVB_METRIC_TYPES.SUM_OF_SQUARES, + meta: { + ...aggDefaultMeta, + hasExtendedStats: true, + label: i18n.translate('visTypeTimeseries.aggUtils.sumOfSquaresLabel', { + defaultMessage: 'Sum of Squares', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.TOP_HIT, + meta: { + ...aggDefaultMeta, + label: i18n.translate('visTypeTimeseries.aggUtils.topHitLabel', { + defaultMessage: 'Top Hit', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.VALUE_COUNT, + meta: { + ...aggDefaultMeta, + isFilterRatioSupported: true, + isHistogramSupported: true, + label: i18n.translate('visTypeTimeseries.aggUtils.valueCountLabel', { + defaultMessage: 'Value Count', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.VARIANCE, + meta: { + ...aggDefaultMeta, + hasExtendedStats: true, + label: i18n.translate('visTypeTimeseries.aggUtils.varianceLabel', { + defaultMessage: 'Variance', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.CALCULATION, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.PARENT_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.bucketScriptLabel', { + defaultMessage: 'Bucket Script', + }), + }, + }, + { + id: METRIC_TYPES.CUMULATIVE_SUM, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.PARENT_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.cumulativeSumLabel', { + defaultMessage: 'Cumulative Sum', + }), + }, + }, + { + id: METRIC_TYPES.DERIVATIVE, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.PARENT_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.derivativeLabel', { + defaultMessage: 'Derivative', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.MOVING_AVERAGE, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.PARENT_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.movingAverageLabel', { + defaultMessage: 'Moving Average', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.POSITIVE_ONLY, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.PARENT_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.positiveOnlyLabel', { + defaultMessage: 'Positive Only', + }), + }, + }, + { + id: METRIC_TYPES.SERIAL_DIFF, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.PARENT_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.serialDifferenceLabel', { + defaultMessage: 'Serial Difference', + }), + }, + }, + { + id: METRIC_TYPES.AVG_BUCKET, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.SIBLING_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.overallAverageLabel', { + defaultMessage: 'Overall Average', + }), + }, + }, + { + id: METRIC_TYPES.MAX_BUCKET, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.SIBLING_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.overallMaxLabel', { + defaultMessage: 'Overall Max', + }), + }, + }, + { + id: METRIC_TYPES.MIN_BUCKET, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.SIBLING_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.overallMinLabel', { + defaultMessage: 'Overall Min', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.STD_DEVIATION_BUCKET, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.SIBLING_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.overallStdDeviationLabel', { + defaultMessage: 'Overall Std. Deviation', + }), + }, + }, + { + id: METRIC_TYPES.SUM_BUCKET, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.SIBLING_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.overallSumLabel', { + defaultMessage: 'Overall Sum', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.SUM_OF_SQUARES_BUCKET, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.SIBLING_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.overallSumOfSquaresLabel', { + defaultMessage: 'Overall Sum of Squares', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.VARIANCE_BUCKET, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.SIBLING_PIPELINE, + label: i18n.translate('visTypeTimeseries.aggUtils.overallVarianceLabel', { + defaultMessage: 'Overall Variance', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.SERIES_AGG, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.SPECIAL, + isFieldRequired: false, + label: i18n.translate('visTypeTimeseries.aggUtils.seriesAggLabel', { + defaultMessage: 'Series Agg', + }), + }, + }, + { + id: TSVB_METRIC_TYPES.MATH, + meta: { + ...aggDefaultMeta, + type: AGG_TYPE.SPECIAL, + label: i18n.translate('visTypeTimeseries.aggUtils.mathLabel', { defaultMessage: 'Math' }), + }, + }, +]; + +export const getAggsByPredicate = ( + predicate: Assign, { meta?: Partial }> +) => filter(aggs, predicate) as Agg[]; + +export const getAggByPredicate = (metricType: MetricType, metaPredicate?: Partial) => { + const predicate = { + id: metricType, + ...(metaPredicate && { + meta: metaPredicate, + }), + }; + return getAggsByPredicate(predicate)[0]; +}; + +export const getMetricLabel = (metricType: MetricType) => getAggByPredicate(metricType)?.meta.label; + +export const isBasicAgg = (metric: Metric) => + Boolean(getAggByPredicate(metric.type, { type: AGG_TYPE.METRIC })); + +export const getAggsByType = (mapFn: (agg: Agg) => TMapValue) => + aggs.reduce( + (acc, agg) => { + acc[agg.meta.type].push(mapFn(agg)); + return acc; + }, + { + [AGG_TYPE.METRIC]: [], + [AGG_TYPE.PARENT_PIPELINE]: [], + [AGG_TYPE.SIBLING_PIPELINE]: [], + [AGG_TYPE.SPECIAL]: [], + } as Record + ); diff --git a/src/plugins/vis_type_timeseries/common/calculate_label.ts b/src/plugins/vis_type_timeseries/common/calculate_label.ts index 9df694bc2be5b..7ea035eef9234 100644 --- a/src/plugins/vis_type_timeseries/common/calculate_label.ts +++ b/src/plugins/vis_type_timeseries/common/calculate_label.ts @@ -8,9 +8,11 @@ import { includes, startsWith } from 'lodash'; import { i18n } from '@kbn/i18n'; -import { lookup } from './agg_lookup'; -import { Metric, SanitizedFieldType } from './types'; +import { getMetricLabel } from './agg_utils'; import { extractFieldLabel } from './fields_utils'; +import { METRIC_TYPES } from '../../data/common'; +import { TSVB_METRIC_TYPES } from './enums'; +import type { Metric, SanitizedFieldType } from './types'; const paths = [ 'cumulative_sum', @@ -42,43 +44,42 @@ export const calculateLabel = ( return metric.alias; } - if (metric.type === 'count') { - return i18n.translate('visTypeTimeseries.calculateLabel.countLabel', { - defaultMessage: 'Count', - }); - } - if (metric.type === 'calculation') { - return i18n.translate('visTypeTimeseries.calculateLabel.bucketScriptsLabel', { - defaultMessage: 'Bucket Script', - }); - } - if (metric.type === 'math') { - return i18n.translate('visTypeTimeseries.calculateLabel.mathLabel', { defaultMessage: 'Math' }); - } - if (metric.type === 'series_agg') { - return i18n.translate('visTypeTimeseries.calculateLabel.seriesAggLabel', { - defaultMessage: 'Series Agg ({metricFunction})', - values: { metricFunction: metric.function }, - }); - } - if (metric.type === 'filter_ratio') { - return i18n.translate('visTypeTimeseries.calculateLabel.filterRatioLabel', { - defaultMessage: 'Filter Ratio', - }); - } - if (metric.type === 'positive_rate') { - return i18n.translate('visTypeTimeseries.calculateLabel.positiveRateLabel', { - defaultMessage: 'Counter Rate of {field}', - values: { field: extractFieldLabel(fields, metric.field!, isThrowErrorOnFieldNotFound) }, - }); - } - if (metric.type === 'static') { - return i18n.translate('visTypeTimeseries.calculateLabel.staticValueLabel', { - defaultMessage: 'Static Value of {metricValue}', - values: { metricValue: metric.value }, - }); + switch (metric.type) { + case METRIC_TYPES.COUNT: + return i18n.translate('visTypeTimeseries.calculateLabel.countLabel', { + defaultMessage: 'Count', + }); + case TSVB_METRIC_TYPES.CALCULATION: + return i18n.translate('visTypeTimeseries.calculateLabel.bucketScriptsLabel', { + defaultMessage: 'Bucket Script', + }); + case TSVB_METRIC_TYPES.MATH: + return i18n.translate('visTypeTimeseries.calculateLabel.mathLabel', { + defaultMessage: 'Math', + }); + case TSVB_METRIC_TYPES.SERIES_AGG: + return i18n.translate('visTypeTimeseries.calculateLabel.seriesAggLabel', { + defaultMessage: 'Series Agg ({metricFunction})', + values: { metricFunction: metric.function }, + }); + case TSVB_METRIC_TYPES.FILTER_RATIO: + return i18n.translate('visTypeTimeseries.calculateLabel.filterRatioLabel', { + defaultMessage: 'Filter Ratio', + }); + case TSVB_METRIC_TYPES.POSITIVE_RATE: + return i18n.translate('visTypeTimeseries.calculateLabel.positiveRateLabel', { + defaultMessage: 'Counter Rate of {field}', + values: { field: extractFieldLabel(fields, metric.field!, isThrowErrorOnFieldNotFound) }, + }); + case TSVB_METRIC_TYPES.STATIC: + return i18n.translate('visTypeTimeseries.calculateLabel.staticValueLabel', { + defaultMessage: 'Static Value of {metricValue}', + values: { metricValue: metric.value }, + }); } + const metricTypeLabel = getMetricLabel(metric.type); + if (includes(paths, metric.type)) { const targetMetric = metrics.find((m) => startsWith(metric.field!, m.id)); const targetLabel = calculateLabel(targetMetric!, metrics, fields); @@ -91,11 +92,11 @@ export const calculateLabel = ( const matches = metric.field!.match(percentileValueMatch); if (matches) { return i18n.translate( - 'visTypeTimeseries.calculateLabel.lookupMetricTypeOfTargetWithAdditionalLabel', + 'visTypeTimeseries.calculateLabel.metricTypeOfTargetWithAdditionalLabel', { - defaultMessage: '{lookupMetricType} of {targetLabel} ({additionalLabel})', + defaultMessage: '{metricTypeLabel} of {targetLabel} ({additionalLabel})', values: { - lookupMetricType: lookup[metric.type], + metricTypeLabel, targetLabel, additionalLabel: matches[1], }, @@ -103,16 +104,16 @@ export const calculateLabel = ( ); } } - return i18n.translate('visTypeTimeseries.calculateLabel.lookupMetricTypeOfTargetLabel', { - defaultMessage: '{lookupMetricType} of {targetLabel}', - values: { lookupMetricType: lookup[metric.type], targetLabel }, + return i18n.translate('visTypeTimeseries.calculateLabel.metricTypeOfTargetLabel', { + defaultMessage: '{metricTypeLabel} of {targetLabel}', + values: { metricTypeLabel, targetLabel }, }); } - return i18n.translate('visTypeTimeseries.calculateLabel.lookupMetricTypeOfMetricFieldRankLabel', { - defaultMessage: '{lookupMetricType} of {metricField}', + return i18n.translate('visTypeTimeseries.calculateLabel.metricTypeOfMetricFieldRankLabel', { + defaultMessage: '{metricTypeLabel} of {metricField}', values: { - lookupMetricType: lookup[metric.type], + metricTypeLabel, metricField: extractFieldLabel(fields, metric.field!, isThrowErrorOnFieldNotFound), }, }); diff --git a/src/plugins/vis_type_timeseries/common/enums/index.ts b/src/plugins/vis_type_timeseries/common/enums/index.ts index 29e10d6c963e0..506abeea247c9 100644 --- a/src/plugins/vis_type_timeseries/common/enums/index.ts +++ b/src/plugins/vis_type_timeseries/common/enums/index.ts @@ -8,7 +8,7 @@ export { PANEL_TYPES } from './panel_types'; export { MODEL_TYPES } from './model_types'; -export { METRIC_TYPES, BUCKET_TYPES, EXTENDED_STATS_TYPES } from './metric_types'; +export { TSVB_METRIC_TYPES, BUCKET_TYPES } from './metric_types'; export { TIME_RANGE_DATA_MODES, TIME_RANGE_MODE_KEY } from './timerange_data_modes'; export enum PALETTES { diff --git a/src/plugins/vis_type_timeseries/common/enums/metric_types.ts b/src/plugins/vis_type_timeseries/common/enums/metric_types.ts index 8e2bc8f346eb6..651af07905a1e 100644 --- a/src/plugins/vis_type_timeseries/common/enums/metric_types.ts +++ b/src/plugins/vis_type_timeseries/common/enums/metric_types.ts @@ -7,21 +7,25 @@ */ // We should probably use METRIC_TYPES from data plugin in future. -export enum METRIC_TYPES { +export enum TSVB_METRIC_TYPES { + FILTER_RATIO = 'filter_ratio', + POSITIVE_RATE = 'positive_rate', PERCENTILE = 'percentile', PERCENTILE_RANK = 'percentile_rank', - TOP_HIT = 'top_hit', - COUNT = 'count', - DERIVATIVE = 'derivative', + STATIC = 'static', STD_DEVIATION = 'std_deviation', - VARIANCE = 'variance', SUM_OF_SQUARES = 'sum_of_squares', - CARDINALITY = 'cardinality', + TOP_HIT = 'top_hit', VALUE_COUNT = 'value_count', - AVERAGE = 'avg', - SUM = 'sum', - MIN = 'min', - MAX = 'max', + VARIANCE = 'variance', + CALCULATION = 'calculation', + MOVING_AVERAGE = 'moving_average', + POSITIVE_ONLY = 'positive_only', + STD_DEVIATION_BUCKET = 'std_deviation_bucket', + SUM_OF_SQUARES_BUCKET = 'sum_of_squares_bucket', + VARIANCE_BUCKET = 'variance_bucket', + SERIES_AGG = 'series_agg', + MATH = 'math', } // We should probably use BUCKET_TYPES from data plugin in future. @@ -29,9 +33,3 @@ export enum BUCKET_TYPES { TERMS = 'terms', FILTERS = 'filters', } - -export const EXTENDED_STATS_TYPES = [ - METRIC_TYPES.STD_DEVIATION, - METRIC_TYPES.VARIANCE, - METRIC_TYPES.SUM_OF_SQUARES, -]; diff --git a/src/plugins/vis_type_timeseries/common/types/index.ts b/src/plugins/vis_type_timeseries/common/types/index.ts index fb46421155eda..fb8e217fe704c 100644 --- a/src/plugins/vis_type_timeseries/common/types/index.ts +++ b/src/plugins/vis_type_timeseries/common/types/index.ts @@ -9,7 +9,7 @@ import { Filter, IndexPattern, Query } from '../../../data/common'; import { Panel } from './panel_model'; -export { Metric, Series, Panel } from './panel_model'; +export { Metric, Series, Panel, MetricType } from './panel_model'; export { TimeseriesVisData, PanelData, SeriesData, TableData } from './vis_data'; export interface FetchedIndexPattern { diff --git a/src/plugins/vis_type_timeseries/common/types/panel_model.ts b/src/plugins/vis_type_timeseries/common/types/panel_model.ts index ff942a30abbdc..6fd2e727ade32 100644 --- a/src/plugins/vis_type_timeseries/common/types/panel_model.ts +++ b/src/plugins/vis_type_timeseries/common/types/panel_model.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import { Query } from '../../../data/common'; -import { PANEL_TYPES, TOOLTIP_MODES } from '../enums'; +import { METRIC_TYPES, Query } from '../../../data/common'; +import { PANEL_TYPES, TOOLTIP_MODES, TSVB_METRIC_TYPES } from '../enums'; import { IndexPatternValue, Annotation } from './index'; import { ColorRules, BackgroundColorRules, BarColorRules, GaugeColorRules } from './color_rules'; @@ -27,6 +27,8 @@ interface Percentile { color?: string; } +export type MetricType = METRIC_TYPES | TSVB_METRIC_TYPES; + export interface Metric { field?: string; id: string; @@ -50,7 +52,7 @@ export interface Metric { variables?: MetricVariable[]; numberOfSignificantValueDigits?: number; percentiles?: Percentile[]; - type: string; + type: MetricType; value?: string; values?: string[]; colors?: string[]; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_select.tsx b/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_select.tsx index e7b3b5c500768..719ebbbe5a91d 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_select.tsx +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/agg_select.tsx @@ -11,229 +11,28 @@ import { EuiComboBox, EuiComboBoxOptionOption } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; // @ts-ignore import { isMetricEnabled } from '../../lib/check_ui_restrictions'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; +import { getAggsByType, getAggsByPredicate } from '../../../../common/agg_utils'; +import type { Agg } from '../../../../common/agg_utils'; import type { Metric } from '../../../../common/types'; import { TimeseriesUIRestrictions } from '../../../../common/ui_restrictions'; type AggSelectOption = EuiComboBoxOptionOption; -const metricAggs: AggSelectOption[] = [ - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.averageLabel', { - defaultMessage: 'Average', - }), - value: 'avg', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.cardinalityLabel', { - defaultMessage: 'Cardinality', - }), - value: 'cardinality', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.countLabel', { - defaultMessage: 'Count', - }), - value: 'count', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.filterRatioLabel', { - defaultMessage: 'Filter Ratio', - }), - value: 'filter_ratio', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.positiveRateLabel', { - defaultMessage: 'Counter Rate', - }), - value: 'positive_rate', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.maxLabel', { - defaultMessage: 'Max', - }), - value: 'max', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.minLabel', { - defaultMessage: 'Min', - }), - value: 'min', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.percentileLabel', { - defaultMessage: 'Percentile', - }), - value: 'percentile', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.percentileRankLabel', { - defaultMessage: 'Percentile Rank', - }), - value: 'percentile_rank', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.staticValueLabel', { - defaultMessage: 'Static Value', - }), - value: 'static', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.stdDeviationLabel', { - defaultMessage: 'Std. Deviation', - }), - value: 'std_deviation', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.sumLabel', { - defaultMessage: 'Sum', - }), - value: 'sum', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.sumOfSquaresLabel', { - defaultMessage: 'Sum of Squares', - }), - value: 'sum_of_squares', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.topHitLabel', { - defaultMessage: 'Top Hit', - }), - value: 'top_hit', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.valueCountLabel', { - defaultMessage: 'Value Count', - }), - value: 'value_count', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.metricsAggs.varianceLabel', { - defaultMessage: 'Variance', - }), - value: 'variance', - }, -]; +const mapAggToSelectOption = ({ id, meta }: Agg) => ({ value: id, label: meta.label }); -const pipelineAggs: AggSelectOption[] = [ - { - label: i18n.translate('visTypeTimeseries.aggSelect.pipelineAggs.bucketScriptLabel', { - defaultMessage: 'Bucket Script', - }), - value: 'calculation', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.pipelineAggs.cumulativeSumLabel', { - defaultMessage: 'Cumulative Sum', - }), - value: 'cumulative_sum', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.pipelineAggs.derivativeLabel', { - defaultMessage: 'Derivative', - }), - value: 'derivative', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.pipelineAggs.movingAverageLabel', { - defaultMessage: 'Moving Average', - }), - value: 'moving_average', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.pipelineAggs.positiveOnlyLabel', { - defaultMessage: 'Positive Only', - }), - value: 'positive_only', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.pipelineAggs.serialDifferenceLabel', { - defaultMessage: 'Serial Difference', - }), - value: 'serial_diff', - }, -]; - -const siblingAggs: AggSelectOption[] = [ - { - label: i18n.translate('visTypeTimeseries.aggSelect.siblingAggs.overallAverageLabel', { - defaultMessage: 'Overall Average', - }), - value: 'avg_bucket', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.siblingAggs.overallMaxLabel', { - defaultMessage: 'Overall Max', - }), - value: 'max_bucket', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.siblingAggs.overallMinLabel', { - defaultMessage: 'Overall Min', - }), - value: 'min_bucket', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.siblingAggs.overallStdDeviationLabel', { - defaultMessage: 'Overall Std. Deviation', - }), - value: 'std_deviation_bucket', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.siblingAggs.overallSumLabel', { - defaultMessage: 'Overall Sum', - }), - value: 'sum_bucket', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.siblingAggs.overallSumOfSquaresLabel', { - defaultMessage: 'Overall Sum of Squares', - }), - value: 'sum_of_squares_bucket', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.siblingAggs.overallVarianceLabel', { - defaultMessage: 'Overall Variance', - }), - value: 'variance_bucket', - }, -]; - -const specialAggs: AggSelectOption[] = [ - { - label: i18n.translate('visTypeTimeseries.aggSelect.specialAggs.seriesAggLabel', { - defaultMessage: 'Series Agg', - }), - value: 'series_agg', - }, - { - label: i18n.translate('visTypeTimeseries.aggSelect.specialAggs.mathLabel', { - defaultMessage: 'Math', - }), - value: 'math', - }, -]; - -const FILTER_RATIO_AGGS = [ - 'avg', - 'cardinality', - 'count', - 'positive_rate', - 'max', - 'min', - 'sum', - 'value_count', -]; - -const HISTOGRAM_AGGS = ['avg', 'count', 'sum', 'min', 'max', 'value_count']; +const { + metric: metricAggs, + parent_pipeline: pipelineAggs, + sibling_pipeline: siblingAggs, + special: specialAggs, +} = getAggsByType(mapAggToSelectOption); const allAggOptions = [...metricAggs, ...pipelineAggs, ...siblingAggs, ...specialAggs]; function filterByPanelType(panelType: string) { - return (agg: AggSelectOption) => { - if (panelType === 'table') return agg.value !== 'series_agg'; - return true; - }; + return (agg: AggSelectOption) => + panelType === 'table' ? agg.value !== TSVB_METRIC_TYPES.SERIES_AGG : true; } interface AggSelectUiProps { @@ -260,9 +59,13 @@ export function AggSelect(props: AggSelectUiProps) { if (panelType === 'metrics') { options = metricAggs; } else if (panelType === 'filter_ratio') { - options = metricAggs.filter((m) => FILTER_RATIO_AGGS.includes(`${m.value}`)); + options = getAggsByPredicate({ meta: { isFilterRatioSupported: true } }).map( + mapAggToSelectOption + ); } else if (panelType === 'histogram') { - options = metricAggs.filter((m) => HISTOGRAM_AGGS.includes(`${m.value}`)); + options = getAggsByPredicate({ meta: { isHistogramSupported: true } }).map( + mapAggToSelectOption + ); } else { const disableSiblingAggs = (agg: AggSelectOption) => ({ ...agg, diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/calculation.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/calculation.js index 3b9772e169807..f0b0f6afb2b2d 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/calculation.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/calculation.js @@ -15,7 +15,7 @@ import { createChangeHandler } from '../lib/create_change_handler'; import { createSelectHandler } from '../lib/create_select_handler'; import { createTextHandler } from '../lib/create_text_handler'; import { CalculationVars, newVariable } from './vars'; -import { METRIC_TYPES } from '../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; import { FormattedMessage } from '@kbn/i18n/react'; import { @@ -91,7 +91,7 @@ export function CalculationAgg(props) { onChange={handleChange} name="variables" model={model} - exclude={[METRIC_TYPES.TOP_HIT]} + exclude={[TSVB_METRIC_TYPES.TOP_HIT]} /> diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/cumulative_sum.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/cumulative_sum.js index a232a1dc03ae3..cb609f75137dd 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/cumulative_sum.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/cumulative_sum.js @@ -13,7 +13,7 @@ import { AggSelect } from './agg_select'; import { MetricSelect } from './metric_select'; import { createChangeHandler } from '../lib/create_change_handler'; import { createSelectHandler } from '../lib/create_select_handler'; -import { METRIC_TYPES } from '../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; import { FormattedMessage } from '@kbn/i18n/react'; import { htmlIdGenerator, @@ -73,7 +73,7 @@ export function CumulativeSumAgg(props) { metric={model} fields={fields[getIndexPatternKey(indexPattern)]} value={model.field} - exclude={[METRIC_TYPES.TOP_HIT]} + exclude={[TSVB_METRIC_TYPES.TOP_HIT]} /> diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/derivative.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/derivative.js index 616f40128ff22..7214fd3e19f72 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/derivative.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/derivative.js @@ -14,7 +14,7 @@ import { AggRow } from './agg_row'; import { createChangeHandler } from '../lib/create_change_handler'; import { createSelectHandler } from '../lib/create_select_handler'; import { createTextHandler } from '../lib/create_text_handler'; -import { METRIC_TYPES } from '../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; import { htmlIdGenerator, EuiFlexGroup, @@ -83,7 +83,7 @@ export const DerivativeAgg = (props) => { metric={model} fields={fields[getIndexPatternKey(indexPattern)]} value={model.field} - exclude={[METRIC_TYPES.TOP_HIT]} + exclude={[TSVB_METRIC_TYPES.TOP_HIT]} fullWidth /> diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js index adadb5c76f376..89a1d9ed34667 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/metric_select.js @@ -15,7 +15,7 @@ import { calculateSiblings } from '../lib/calculate_siblings'; import { calculateLabel } from '../../../../common/calculate_label'; import { basicAggs } from '../../../../common/basic_aggs'; import { toPercentileNumber } from '../../../../common/to_percentile_number'; -import { METRIC_TYPES } from '../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; function createTypeFilter(restrict, exclude = []) { return (metric) => { @@ -73,7 +73,7 @@ export function MetricSelect(props) { const label = calculateLabel(row, calculatedMetrics, fields, false); switch (row.type) { - case METRIC_TYPES.PERCENTILE_RANK: + case TSVB_METRIC_TYPES.PERCENTILE_RANK: (row.values || []).forEach((p) => { const value = toPercentileNumber(p); @@ -83,7 +83,7 @@ export function MetricSelect(props) { }); }); - case METRIC_TYPES.PERCENTILE: + case TSVB_METRIC_TYPES.PERCENTILE: (row.percentiles || []).forEach((p) => { if (p.value) { const value = toPercentileNumber(p.value); diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/moving_average.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/moving_average.js index a3ce43f97a36a..f13dd49bf2a29 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/moving_average.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/moving_average.js @@ -14,7 +14,7 @@ import { MetricSelect } from './metric_select'; import { createChangeHandler } from '../lib/create_change_handler'; import { createSelectHandler } from '../lib/create_select_handler'; import { createNumberHandler } from '../lib/create_number_handler'; -import { METRIC_TYPES, MODEL_TYPES } from '../../../../common/enums'; +import { TSVB_METRIC_TYPES, MODEL_TYPES } from '../../../../common/enums'; import { htmlIdGenerator, EuiFlexGroup, @@ -144,7 +144,7 @@ export const MovingAverageAgg = (props) => { metric={model} fields={fields[getIndexPatternKey(indexPattern)]} value={model.field} - exclude={[METRIC_TYPES.TOP_HIT]} + exclude={[TSVB_METRIC_TYPES.TOP_HIT]} /> diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/positive_only.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/positive_only.js index c974f5d5f05f5..1960fef98e78c 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/positive_only.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/positive_only.js @@ -13,7 +13,7 @@ import { MetricSelect } from './metric_select'; import { AggRow } from './agg_row'; import { createChangeHandler } from '../lib/create_change_handler'; import { createSelectHandler } from '../lib/create_select_handler'; -import { METRIC_TYPES } from '../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; import { htmlIdGenerator, EuiFlexGroup, @@ -77,7 +77,7 @@ export const PositiveOnlyAgg = (props) => { metric={model} fields={fields[getIndexPatternKey(indexPattern)]} value={model.field} - exclude={[METRIC_TYPES.TOP_HIT]} + exclude={[TSVB_METRIC_TYPES.TOP_HIT]} /> diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/serial_diff.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/serial_diff.js index efc2a72c3dd67..a9e9bf6dbf56a 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/serial_diff.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/serial_diff.js @@ -14,7 +14,7 @@ import { AggRow } from './agg_row'; import { createChangeHandler } from '../lib/create_change_handler'; import { createSelectHandler } from '../lib/create_select_handler'; import { createNumberHandler } from '../lib/create_number_handler'; -import { METRIC_TYPES } from '../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; import { htmlIdGenerator, EuiFlexGroup, @@ -77,7 +77,7 @@ export const SerialDiffAgg = (props) => { metric={model} fields={fields[getIndexPatternKey(indexPattern)]} value={model.field} - exclude={[METRIC_TYPES.TOP_HIT]} + exclude={[TSVB_METRIC_TYPES.TOP_HIT]} /> diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/std_sibling.js b/src/plugins/vis_type_timeseries/public/application/components/aggs/std_sibling.js index d2b3f45a70164..e61d15c34648f 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/std_sibling.js +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/std_sibling.js @@ -14,7 +14,7 @@ import { AggSelect } from './agg_select'; import { createChangeHandler } from '../lib/create_change_handler'; import { createSelectHandler } from '../lib/create_select_handler'; import { createTextHandler } from '../lib/create_text_handler'; -import { METRIC_TYPES } from '../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; import { htmlIdGenerator, @@ -146,7 +146,7 @@ const StandardSiblingAggUi = (props) => { > t !== KBN_FIELD_TYPES.HISTOGRAM); - case METRIC_TYPES.VALUE_COUNT: + case TSVB_METRIC_TYPES.VALUE_COUNT: return Object.values(KBN_FIELD_TYPES); - case METRIC_TYPES.AVERAGE: + case METRIC_TYPES.AVG: case METRIC_TYPES.SUM: case METRIC_TYPES.MIN: case METRIC_TYPES.MAX: diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/new_metric_agg_fn.ts b/src/plugins/vis_type_timeseries/public/application/components/lib/new_metric_agg_fn.ts index e6461a3d69d4d..28dd4c81510fc 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/new_metric_agg_fn.ts +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/new_metric_agg_fn.ts @@ -7,11 +7,12 @@ */ import uuid from 'uuid'; +import { METRIC_TYPES } from '../../../../../data/common'; import type { Metric } from '../../../../common/types'; export const newMetricAggFn = (): Metric => { return { id: uuid.v1(), - type: 'count', + type: METRIC_TYPES.COUNT, }; }; diff --git a/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js b/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js index d0df3b44a4495..c7661e9960a22 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js +++ b/src/plugins/vis_type_timeseries/public/application/components/lib/series_change_handler.js @@ -7,7 +7,7 @@ */ import { newMetricAggFn } from './new_metric_agg_fn'; -import { isBasicAgg } from '../../../../common/agg_lookup'; +import { isBasicAgg } from '../../../../common/agg_utils'; import { handleAdd, handleChange } from './collection_actions'; export const seriesChangeHandler = (props, items) => (doc) => { diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js index 90df3f2675959..6756a8f7fc85a 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_agg_value.js @@ -6,9 +6,11 @@ * Side Public License, v 1. */ -import { get, includes, max, min, sum, noop } from 'lodash'; +import { get, max, min, sum, noop } from 'lodash'; import { toPercentileNumber } from '../../../../common/to_percentile_number'; -import { METRIC_TYPES, EXTENDED_STATS_TYPES } from '../../../../common/enums'; +import { METRIC_TYPES } from '../../../../../data/common'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; +import { getAggByPredicate } from '../../../../common/agg_utils'; const aggFns = { max, @@ -21,7 +23,7 @@ const aggFns = { export const getAggValue = (row, metric) => { // Extended Stats - if (includes(EXTENDED_STATS_TYPES, metric.type)) { + if (getAggByPredicate(metric.type, { hasExtendedStats: true })) { const isStdDeviation = /^std_deviation/.test(metric.type); const modeIsBounds = ~['upper', 'lower'].indexOf(metric.mode); if (isStdDeviation && modeIsBounds) { @@ -31,15 +33,15 @@ export const getAggValue = (row, metric) => { } switch (metric.type) { - case METRIC_TYPES.PERCENTILE: + case TSVB_METRIC_TYPES.PERCENTILE: const percentileKey = toPercentileNumber(`${metric.percent}`); return row[metric.id].values[percentileKey]; - case METRIC_TYPES.PERCENTILE_RANK: + case TSVB_METRIC_TYPES.PERCENTILE_RANK: const percentileRankKey = toPercentileNumber(`${metric.value}`); return row[metric.id] && row[metric.id].values && row[metric.id].values[percentileRankKey]; - case METRIC_TYPES.TOP_HIT: + case TSVB_METRIC_TYPES.TOP_HIT: if (row[metric.id].doc_count === 0) { return null; } diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.ts b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.ts index 6fb53e842cb94..be8755584e2c7 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.ts +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/get_buckets_path.ts @@ -8,7 +8,8 @@ import { startsWith } from 'lodash'; import { toPercentileNumber } from '../../../../common/to_percentile_number'; -import { METRIC_TYPES } from '../../../../common/enums'; +import { METRIC_TYPES } from '../../../../../data/common'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; import type { Metric } from '../../../../common/types'; const percentileTest = /\[[0-9\.]+\]$/; @@ -25,7 +26,7 @@ export const getBucketsPath = (id: string, metrics: Metric[]) => { // For percentiles we need to breakout the percentile key that the user // specified. This information is stored in the key using the following pattern // {metric.id}[{percentile}] - case METRIC_TYPES.PERCENTILE: + case TSVB_METRIC_TYPES.PERCENTILE: if (percentileTest.test(bucketsPath)) break; if (metric.percentiles?.length) { const percent = metric.percentiles[0]; @@ -33,13 +34,13 @@ export const getBucketsPath = (id: string, metrics: Metric[]) => { bucketsPath += `[${toPercentileNumber(percent.value!)}]`; } break; - case METRIC_TYPES.PERCENTILE_RANK: + case TSVB_METRIC_TYPES.PERCENTILE_RANK: if (percentileTest.test(bucketsPath)) break; bucketsPath += `[${toPercentileNumber(metric.value!)}]`; break; - case METRIC_TYPES.STD_DEVIATION: - case METRIC_TYPES.VARIANCE: - case METRIC_TYPES.SUM_OF_SQUARES: + case TSVB_METRIC_TYPES.STD_DEVIATION: + case TSVB_METRIC_TYPES.VARIANCE: + case TSVB_METRIC_TYPES.SUM_OF_SQUARES: if (/^std_deviation/.test(metric.type) && ['upper', 'lower'].includes(metric.mode!)) { bucketsPath += `[std_${metric.mode}]`; } else { diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/map_empty_to_zero.test.ts b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/map_empty_to_zero.test.ts index b5f1adc3f0202..d52b6b38a7bd7 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/map_empty_to_zero.test.ts +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/helpers/map_empty_to_zero.test.ts @@ -7,10 +7,12 @@ */ import { mapEmptyToZero } from './map_empty_to_zero'; +import { METRIC_TYPES } from '../../../../../data/common'; +import { TSVB_METRIC_TYPES } from '../../../../common/enums'; describe('mapEmptyToZero(metric, buckets)', () => { test('returns bucket key and value for basic metric', () => { - const metric = { id: 'AVG', type: 'avg' }; + const metric = { id: 'AVG', type: METRIC_TYPES.AVG }; const buckets = [ { key: 1234, @@ -20,7 +22,7 @@ describe('mapEmptyToZero(metric, buckets)', () => { expect(mapEmptyToZero(metric, buckets)).toEqual([[1234, 1]]); }); test('returns bucket key and value for std_deviation', () => { - const metric = { id: 'STDDEV', type: 'std_deviation' }; + const metric = { id: 'STDDEV', type: TSVB_METRIC_TYPES.STD_DEVIATION }; const buckets = [ { key: 1234, @@ -30,7 +32,7 @@ describe('mapEmptyToZero(metric, buckets)', () => { expect(mapEmptyToZero(metric, buckets)).toEqual([[1234, 1]]); }); test('returns bucket key and value for percentiles', () => { - const metric = { id: 'PCT', type: 'percentile', percent: 50 }; + const metric = { id: 'PCT', type: TSVB_METRIC_TYPES.PERCENTILE, percent: 50 }; const buckets = [ { key: 1234, @@ -40,7 +42,7 @@ describe('mapEmptyToZero(metric, buckets)', () => { expect(mapEmptyToZero(metric, buckets)).toEqual([[1234, 1]]); }); test('returns bucket key and value for derivative', () => { - const metric = { id: 'DERV', type: 'derivative', field: 'io', unit: '1s' }; + const metric = { id: 'DERV', type: METRIC_TYPES.DERIVATIVE, field: 'io', unit: '1s' }; const buckets = [ { key: 1234, diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/percentile.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/percentile.js index b7e0026132af3..fe8a6ff9cd2f6 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/percentile.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/percentile.js @@ -10,13 +10,13 @@ import { getAggValue } from '../../helpers/get_agg_value'; import { getDefaultDecoration } from '../../helpers/get_default_decoration'; import { getSplits } from '../../helpers/get_splits'; import { getLastMetric } from '../../helpers/get_last_metric'; -import { METRIC_TYPES } from '../../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../../common/enums'; export function percentile(resp, panel, series, meta, extractFields) { return (next) => async (results) => { const metric = getLastMetric(series); - if (metric.type !== METRIC_TYPES.PERCENTILE) { + if (metric.type !== TSVB_METRIC_TYPES.PERCENTILE) { return next(results); } diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/percentile_rank.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/percentile_rank.js index 7203be4d2feb6..ce81ec46693e2 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/percentile_rank.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/percentile_rank.js @@ -11,13 +11,13 @@ import { getDefaultDecoration } from '../../helpers/get_default_decoration'; import { getSplits } from '../../helpers/get_splits'; import { getLastMetric } from '../../helpers/get_last_metric'; import { toPercentileNumber } from '../../../../../common/to_percentile_number'; -import { METRIC_TYPES } from '../../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../../common/enums'; export function percentileRank(resp, panel, series, meta, extractFields) { return (next) => async (results) => { const metric = getLastMetric(series); - if (metric.type !== METRIC_TYPES.PERCENTILE_RANK) { + if (metric.type !== TSVB_METRIC_TYPES.PERCENTILE_RANK) { return next(results); } diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/std_deviation_bands.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/std_deviation_bands.js index e8ccf0aac7931..6a8b8ad8218cb 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/std_deviation_bands.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/std_deviation_bands.js @@ -7,12 +7,12 @@ */ import { getAggValue, getLastMetric, getSplits } from '../../helpers'; -import { METRIC_TYPES } from '../../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../../common/enums'; export function stdDeviationBands(resp, panel, series, meta, extractFields) { return (next) => async (results) => { const metric = getLastMetric(series); - if (metric.type === METRIC_TYPES.STD_DEVIATION && metric.mode === 'band') { + if (metric.type === TSVB_METRIC_TYPES.STD_DEVIATION && metric.mode === 'band') { (await getSplits(resp, panel, series, meta, extractFields)).forEach( ({ id, color, label, timeseries }) => { const data = timeseries.buckets.map((bucket) => [ diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/std_metric.js b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/std_metric.js index cc406041ad874..b7ddbb7febe47 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/std_metric.js +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/series/std_metric.js @@ -7,16 +7,16 @@ */ import { getDefaultDecoration, getSplits, getLastMetric, mapEmptyToZero } from '../../helpers'; -import { METRIC_TYPES } from '../../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../../common/enums'; export function stdMetric(resp, panel, series, meta, extractFields) { return (next) => async (results) => { const metric = getLastMetric(series); - if (metric.type === METRIC_TYPES.STD_DEVIATION && metric.mode === 'band') { + if (metric.type === TSVB_METRIC_TYPES.STD_DEVIATION && metric.mode === 'band') { return next(results); } - if ([METRIC_TYPES.PERCENTILE_RANK, METRIC_TYPES.PERCENTILE].includes(metric.type)) { + if ([TSVB_METRIC_TYPES.PERCENTILE_RANK, TSVB_METRIC_TYPES.PERCENTILE].includes(metric.type)) { return next(results); } if (/_bucket$/.test(metric.type)) return next(results); diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.ts b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.ts index 6514267ee0ec3..723a72f661cf8 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.ts +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile.ts @@ -9,7 +9,7 @@ import { last } from 'lodash'; import { getSplits, getLastMetric } from '../../helpers'; import { toPercentileNumber } from '../../../../../common/to_percentile_number'; -import { METRIC_TYPES } from '../../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../../common/enums'; import type { TableResponseProcessorsFunction } from './types'; import type { PanelDataArray } from '../../../../../common/types/vis_data'; @@ -23,7 +23,7 @@ export const percentile: TableResponseProcessorsFunction = ({ }) => (next) => async (results) => { const metric = getLastMetric(series); - if (metric.type !== METRIC_TYPES.PERCENTILE) { + if (metric.type !== TSVB_METRIC_TYPES.PERCENTILE) { return next(results); } diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.ts b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.ts index 73e177e21e756..31f9f1fd99041 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.ts +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/percentile_rank.ts @@ -9,7 +9,7 @@ import { last } from 'lodash'; import { getSplits, getAggValue, getLastMetric } from '../../helpers'; import { toPercentileNumber } from '../../../../../common/to_percentile_number'; -import { METRIC_TYPES } from '../../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../../common/enums'; import type { TableResponseProcessorsFunction } from './types'; import type { PanelDataArray } from '../../../../../common/types/vis_data'; @@ -23,7 +23,7 @@ export const percentileRank: TableResponseProcessorsFunction = ({ }) => (next) => async (results) => { const metric = getLastMetric(series); - if (metric.type !== METRIC_TYPES.PERCENTILE_RANK) { + if (metric.type !== TSVB_METRIC_TYPES.PERCENTILE_RANK) { return next(results); } diff --git a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/std_metric.ts b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/std_metric.ts index 011b38f9816cb..eb537bf16f51c 100644 --- a/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/std_metric.ts +++ b/src/plugins/vis_type_timeseries/server/lib/vis_data/response_processors/table/std_metric.ts @@ -7,7 +7,7 @@ */ import { getSplits, getLastMetric, mapEmptyToZero } from '../../helpers'; -import { METRIC_TYPES } from '../../../../../common/enums'; +import { TSVB_METRIC_TYPES } from '../../../../../common/enums'; import type { TableResponseProcessorsFunction } from './types'; @@ -20,11 +20,15 @@ export const stdMetric: TableResponseProcessorsFunction = ({ }) => (next) => async (results) => { const metric = getLastMetric(series); - if (metric.type === METRIC_TYPES.STD_DEVIATION && metric.mode === 'band') { + if (metric.type === TSVB_METRIC_TYPES.STD_DEVIATION && metric.mode === 'band') { return next(results); } - if (METRIC_TYPES.PERCENTILE_RANK === metric.type || METRIC_TYPES.PERCENTILE === metric.type) { + if ( + [TSVB_METRIC_TYPES.PERCENTILE_RANK, TSVB_METRIC_TYPES.PERCENTILE].includes( + metric.type as TSVB_METRIC_TYPES + ) + ) { return next(results); } diff --git a/test/functional/apps/visualize/_tsvb_chart.ts b/test/functional/apps/visualize/_tsvb_chart.ts index e5f989747a975..d6862487196f0 100644 --- a/test/functional/apps/visualize/_tsvb_chart.ts +++ b/test/functional/apps/visualize/_tsvb_chart.ts @@ -275,7 +275,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const topNLabel = await visualBuilder.getTopNLabel(); const topNCount = await visualBuilder.getTopNCount(); - expect(topNLabel).to.be('Sum of Sq. of bytes'); + expect(topNLabel).to.be('Sum of Squares of bytes'); expect(topNCount).to.be('630,170,001,503'); }); diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 387f9110cc666..054ce4401c89b 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -4165,75 +4165,44 @@ "visTypeTimeseries.addDeleteButtons.temporarilyDisableTooltip": "一時的に無効にする", "visTypeTimeseries.advancedSettings.maxBucketsText": "TSVBヒストグラム密度に影響します。「histogram:maxBars」よりも大きく設定する必要があります。", "visTypeTimeseries.advancedSettings.maxBucketsTitle": "TSVBバケット制限", - "visTypeTimeseries.aggLookup.averageLabel": "平均", - "visTypeTimeseries.aggLookup.calculationLabel": "計算", - "visTypeTimeseries.aggLookup.cardinalityLabel": "基数", - "visTypeTimeseries.aggLookup.countLabel": "カウント", - "visTypeTimeseries.aggLookup.cumulativeSumLabel": "累積和", - "visTypeTimeseries.aggLookup.derivativeLabel": "派生", - "visTypeTimeseries.aggLookup.deviationLabel": "標準偏差", - "visTypeTimeseries.aggLookup.filterRatioLabel": "フィルターレート", - "visTypeTimeseries.aggLookup.mathLabel": "数学処理", - "visTypeTimeseries.aggLookup.maxLabel": "最高", - "visTypeTimeseries.aggLookup.minLabel": "最低", - "visTypeTimeseries.aggLookup.movingAverageLabel": "移動平均", - "visTypeTimeseries.aggLookup.overallAverageLabel": "全体平均", - "visTypeTimeseries.aggLookup.overallMaxLabel": "全体最高", - "visTypeTimeseries.aggLookup.overallMinLabel": "全体最低", - "visTypeTimeseries.aggLookup.overallStdDeviationLabel": "全体標準偏差", - "visTypeTimeseries.aggLookup.overallSumLabel": "全体合計", - "visTypeTimeseries.aggLookup.overallSumOfSqLabel": "全体平方和", - "visTypeTimeseries.aggLookup.overallVarianceLabel": "全体の相異", - "visTypeTimeseries.aggLookup.percentileLabel": "パーセンタイル", - "visTypeTimeseries.aggLookup.percentileRankLabel": "パーセンタイルランク", - "visTypeTimeseries.aggLookup.positiveOnlyLabel": "プラスのみ", - "visTypeTimeseries.aggLookup.positiveRateLabel": "カウンターレート", - "visTypeTimeseries.aggLookup.serialDifferenceLabel": "連続差", - "visTypeTimeseries.aggLookup.seriesAggLabel": "数列集約", - "visTypeTimeseries.aggLookup.staticValueLabel": "不動値", - "visTypeTimeseries.aggLookup.sumLabel": "合計", - "visTypeTimeseries.aggLookup.sumOfSqLabel": "平方和", - "visTypeTimeseries.aggLookup.topHitLabel": "トップヒット", - "visTypeTimeseries.aggLookup.valueCountLabel": "値カウント", - "visTypeTimeseries.aggLookup.varianceLabel": "相異", + "visTypeTimeseries.aggUtils.averageLabel": "平均", + "visTypeTimeseries.aggUtils.bucketScriptLabel": "バケットスクリプト", + "visTypeTimeseries.aggUtils.cardinalityLabel": "基数", + "visTypeTimeseries.aggUtils.countLabel": "カウント", + "visTypeTimeseries.aggUtils.cumulativeSumLabel": "累積和", + "visTypeTimeseries.aggUtils.derivativeLabel": "派生", + "visTypeTimeseries.aggUtils.deviationLabel": "標準偏差", + "visTypeTimeseries.aggUtils.filterRatioLabel": "フィルターレート", + "visTypeTimeseries.aggUtils.mathLabel": "数学処理", + "visTypeTimeseries.aggUtils.maxLabel": "最高", + "visTypeTimeseries.aggUtils.minLabel": "最低", + "visTypeTimeseries.aggUtils.movingAverageLabel": "移動平均", + "visTypeTimeseries.aggUtils.overallAverageLabel": "全体平均", + "visTypeTimeseries.aggUtils.overallMaxLabel": "全体最高", + "visTypeTimeseries.aggUtils.overallMinLabel": "全体最低", + "visTypeTimeseries.aggUtils.overallStdDeviationLabel": "全体標準偏差", + "visTypeTimeseries.aggUtils.overallSumLabel": "全体合計", + "visTypeTimeseries.aggUtils.overallSumOfSquaresLabel": "全体平方和", + "visTypeTimeseries.aggUtils.overallVarianceLabel": "全体の相異", + "visTypeTimeseries.aggUtils.percentileLabel": "パーセンタイル", + "visTypeTimeseries.aggUtils.percentileRankLabel": "パーセンタイルランク", + "visTypeTimeseries.aggUtils.positiveOnlyLabel": "プラスのみ", + "visTypeTimeseries.aggUtils.positiveRateLabel": "カウンターレート", + "visTypeTimeseries.aggUtils.serialDifferenceLabel": "連続差", + "visTypeTimeseries.aggUtils.seriesAggLabel": "数列集約", + "visTypeTimeseries.aggUtils.staticValueLabel": "不動値", + "visTypeTimeseries.aggUtils.sumLabel": "合計", + "visTypeTimeseries.aggUtils.sumOfSquaresLabel": "平方和", + "visTypeTimeseries.aggUtils.topHitLabel": "トップヒット", + "visTypeTimeseries.aggUtils.valueCountLabel": "値カウント", + "visTypeTimeseries.aggUtils.varianceLabel": "相異", "visTypeTimeseries.aggRow.addMetricButtonTooltip": "メトリックを追加", "visTypeTimeseries.aggRow.deleteMetricButtonTooltip": "メトリックを削除", "visTypeTimeseries.aggSelect.aggGroups.metricAggLabel": "メトリック集約", "visTypeTimeseries.aggSelect.aggGroups.parentPipelineAggLabel": "親パイプライン集約", "visTypeTimeseries.aggSelect.aggGroups.siblingPipelineAggLabel": "シブリングパイプライン集約", "visTypeTimeseries.aggSelect.aggGroups.specialAggLabel": "特殊集約", - "visTypeTimeseries.aggSelect.metricsAggs.averageLabel": "平均", - "visTypeTimeseries.aggSelect.metricsAggs.cardinalityLabel": "基数", - "visTypeTimeseries.aggSelect.metricsAggs.countLabel": "カウント", - "visTypeTimeseries.aggSelect.metricsAggs.filterRatioLabel": "フィルターレート", - "visTypeTimeseries.aggSelect.metricsAggs.maxLabel": "最高", - "visTypeTimeseries.aggSelect.metricsAggs.minLabel": "最低", - "visTypeTimeseries.aggSelect.metricsAggs.percentileLabel": "パーセンタイル", - "visTypeTimeseries.aggSelect.metricsAggs.percentileRankLabel": "パーセンタイルランク", - "visTypeTimeseries.aggSelect.metricsAggs.positiveRateLabel": "カウンターレート", - "visTypeTimeseries.aggSelect.metricsAggs.staticValueLabel": "固定値", - "visTypeTimeseries.aggSelect.metricsAggs.stdDeviationLabel": "標準偏差", - "visTypeTimeseries.aggSelect.metricsAggs.sumLabel": "合計", - "visTypeTimeseries.aggSelect.metricsAggs.sumOfSquaresLabel": "平方和", - "visTypeTimeseries.aggSelect.metricsAggs.topHitLabel": "トップヒット", - "visTypeTimeseries.aggSelect.metricsAggs.valueCountLabel": "値カウント", - "visTypeTimeseries.aggSelect.metricsAggs.varianceLabel": "相異", - "visTypeTimeseries.aggSelect.pipelineAggs.bucketScriptLabel": "バケットスクリプト", - "visTypeTimeseries.aggSelect.pipelineAggs.cumulativeSumLabel": "累積和", - "visTypeTimeseries.aggSelect.pipelineAggs.derivativeLabel": "派生", - "visTypeTimeseries.aggSelect.pipelineAggs.movingAverageLabel": "移動平均", - "visTypeTimeseries.aggSelect.pipelineAggs.positiveOnlyLabel": "プラスのみ", - "visTypeTimeseries.aggSelect.pipelineAggs.serialDifferenceLabel": "連続差", "visTypeTimeseries.aggSelect.selectAggPlaceholder": "集約を選択", - "visTypeTimeseries.aggSelect.siblingAggs.overallAverageLabel": "全体平均", - "visTypeTimeseries.aggSelect.siblingAggs.overallMaxLabel": "全体最高", - "visTypeTimeseries.aggSelect.siblingAggs.overallMinLabel": "全体最低", - "visTypeTimeseries.aggSelect.siblingAggs.overallStdDeviationLabel": "全体標準偏差", - "visTypeTimeseries.aggSelect.siblingAggs.overallSumLabel": "全体合計", - "visTypeTimeseries.aggSelect.siblingAggs.overallSumOfSquaresLabel": "全体平方和", - "visTypeTimeseries.aggSelect.siblingAggs.overallVarianceLabel": "全体の相異", - "visTypeTimeseries.aggSelect.specialAggs.mathLabel": "数学処理", - "visTypeTimeseries.aggSelect.specialAggs.seriesAggLabel": "数列集約", "visTypeTimeseries.annotationsEditor.addDataSourceButtonLabel": "データソースを追加", "visTypeTimeseries.annotationsEditor.dataSourcesLabel": "データソース", "visTypeTimeseries.annotationsEditor.fieldsLabel": "フィールド (必須 - コンマ区切りのパス) ", @@ -4249,10 +4218,10 @@ "visTypeTimeseries.calculateLabel.bucketScriptsLabel": "バケットスクリプト", "visTypeTimeseries.calculateLabel.countLabel": "カウント", "visTypeTimeseries.calculateLabel.filterRatioLabel": "フィルターレート", - "visTypeTimeseries.calculateLabel.lookupMetricTypeOfMetricFieldRankLabel": "{lookupMetricType} of {metricField}", - "visTypeTimeseries.calculateLabel.lookupMetricTypeOfTargetLabel": "{lookupMetricType} of {targetLabel}", - "visTypeTimeseries.calculateLabel.lookupMetricTypeOfTargetWithAdditionalLabel": "{lookupMetricType} of {targetLabel} ({additionalLabel}) ", "visTypeTimeseries.calculateLabel.mathLabel": "数学処理", + "visTypeTimeseries.calculateLabel.metricTypeOfMetricFieldRankLabel": "{metricTypeLabel} of {metricField}", + "visTypeTimeseries.calculateLabel.metricTypeOfTargetLabel": "{metricTypeLabel} of {targetLabel}", + "visTypeTimeseries.calculateLabel.metricTypeOfTargetWithAdditionalLabel": "{metricTypeLabel} of {targetLabel} ({additionalLabel}) ", "visTypeTimeseries.calculateLabel.positiveRateLabel": "{field} のカウンターレート", "visTypeTimeseries.calculateLabel.seriesAggLabel": "数列アグリゲーション ({metricFunction}) ", "visTypeTimeseries.calculateLabel.staticValueLabel": "{metricValue} の静的値", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index f376d50889da1..c8c98f1c70384 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -4184,75 +4184,44 @@ "visTypeTimeseries.addDeleteButtons.temporarilyDisableTooltip": "暂时禁用", "visTypeTimeseries.advancedSettings.maxBucketsText": "影响 TSVB 直方图密度。必须设置为高于“histogram:maxBars”。", "visTypeTimeseries.advancedSettings.maxBucketsTitle": "TSVB 存储桶限制", - "visTypeTimeseries.aggLookup.averageLabel": "平均值", - "visTypeTimeseries.aggLookup.calculationLabel": "计算", - "visTypeTimeseries.aggLookup.cardinalityLabel": "基数", - "visTypeTimeseries.aggLookup.countLabel": "计数", - "visTypeTimeseries.aggLookup.cumulativeSumLabel": "累计和", - "visTypeTimeseries.aggLookup.derivativeLabel": "导数", - "visTypeTimeseries.aggLookup.deviationLabel": "标准偏差", - "visTypeTimeseries.aggLookup.filterRatioLabel": "筛选比", - "visTypeTimeseries.aggLookup.mathLabel": "数学", - "visTypeTimeseries.aggLookup.maxLabel": "最大值", - "visTypeTimeseries.aggLookup.minLabel": "最小值", - "visTypeTimeseries.aggLookup.movingAverageLabel": "移动平均值", - "visTypeTimeseries.aggLookup.overallAverageLabel": "总体平均值", - "visTypeTimeseries.aggLookup.overallMaxLabel": "总体最大值", - "visTypeTimeseries.aggLookup.overallMinLabel": "总体最大值", - "visTypeTimeseries.aggLookup.overallStdDeviationLabel": "总体标准偏差", - "visTypeTimeseries.aggLookup.overallSumLabel": "总和", - "visTypeTimeseries.aggLookup.overallSumOfSqLabel": "总平方和", - "visTypeTimeseries.aggLookup.overallVarianceLabel": "总体方差", - "visTypeTimeseries.aggLookup.percentileLabel": "百分位数", - "visTypeTimeseries.aggLookup.percentileRankLabel": "百分位等级", - "visTypeTimeseries.aggLookup.positiveOnlyLabel": "仅正数", - "visTypeTimeseries.aggLookup.positiveRateLabel": "计数率", - "visTypeTimeseries.aggLookup.serialDifferenceLabel": "序列差分", - "visTypeTimeseries.aggLookup.seriesAggLabel": "序列聚合", - "visTypeTimeseries.aggLookup.staticValueLabel": "静态值", - "visTypeTimeseries.aggLookup.sumLabel": "求和", - "visTypeTimeseries.aggLookup.sumOfSqLabel": "平方和", - "visTypeTimeseries.aggLookup.topHitLabel": "最高命中结果", - "visTypeTimeseries.aggLookup.valueCountLabel": "值计数", - "visTypeTimeseries.aggLookup.varianceLabel": "方差", + "visTypeTimeseries.aggUtils.averageLabel": "平均值", + "visTypeTimeseries.aggUtils.bucketScriptLabel": "存储桶脚本", + "visTypeTimeseries.aggUtils.cardinalityLabel": "基数", + "visTypeTimeseries.aggUtils.countLabel": "计数", + "visTypeTimeseries.aggUtils.cumulativeSumLabel": "累计和", + "visTypeTimeseries.aggUtils.derivativeLabel": "导数", + "visTypeTimeseries.aggUtils.deviationLabel": "标准偏差", + "visTypeTimeseries.aggUtils.filterRatioLabel": "筛选比", + "visTypeTimeseries.aggUtils.mathLabel": "数学", + "visTypeTimeseries.aggUtils.maxLabel": "最大值", + "visTypeTimeseries.aggUtils.minLabel": "最小值", + "visTypeTimeseries.aggUtils.movingAverageLabel": "移动平均值", + "visTypeTimeseries.aggUtils.overallAverageLabel": "总体平均值", + "visTypeTimeseries.aggUtils.overallMaxLabel": "总体最大值", + "visTypeTimeseries.aggUtils.overallMinLabel": "总体最大值", + "visTypeTimeseries.aggUtils.overallStdDeviationLabel": "总体标准偏差", + "visTypeTimeseries.aggUtils.overallSumLabel": "总和", + "visTypeTimeseries.aggUtils.overallSumOfSquaresLabel": "总平方和", + "visTypeTimeseries.aggUtils.overallVarianceLabel": "总体方差", + "visTypeTimeseries.aggUtils.percentileLabel": "百分位数", + "visTypeTimeseries.aggUtils.percentileRankLabel": "百分位等级", + "visTypeTimeseries.aggUtils.positiveOnlyLabel": "仅正数", + "visTypeTimeseries.aggUtils.positiveRateLabel": "计数率", + "visTypeTimeseries.aggUtils.serialDifferenceLabel": "序列差分", + "visTypeTimeseries.aggUtils.seriesAggLabel": "序列聚合", + "visTypeTimeseries.aggUtils.staticValueLabel": "静态值", + "visTypeTimeseries.aggUtils.sumLabel": "求和", + "visTypeTimeseries.aggUtils.sumOfSquaresLabel": "平方和", + "visTypeTimeseries.aggUtils.topHitLabel": "最高命中结果", + "visTypeTimeseries.aggUtils.valueCountLabel": "值计数", + "visTypeTimeseries.aggUtils.varianceLabel": "方差", "visTypeTimeseries.aggRow.addMetricButtonTooltip": "添加指标", "visTypeTimeseries.aggRow.deleteMetricButtonTooltip": "删除指标", "visTypeTimeseries.aggSelect.aggGroups.metricAggLabel": "指标聚合", "visTypeTimeseries.aggSelect.aggGroups.parentPipelineAggLabel": "父级管道聚合", "visTypeTimeseries.aggSelect.aggGroups.siblingPipelineAggLabel": "同级管道聚合", "visTypeTimeseries.aggSelect.aggGroups.specialAggLabel": "特殊聚合", - "visTypeTimeseries.aggSelect.metricsAggs.averageLabel": "平均值", - "visTypeTimeseries.aggSelect.metricsAggs.cardinalityLabel": "基数", - "visTypeTimeseries.aggSelect.metricsAggs.countLabel": "计数", - "visTypeTimeseries.aggSelect.metricsAggs.filterRatioLabel": "筛选比", - "visTypeTimeseries.aggSelect.metricsAggs.maxLabel": "最大值", - "visTypeTimeseries.aggSelect.metricsAggs.minLabel": "最小值", - "visTypeTimeseries.aggSelect.metricsAggs.percentileLabel": "百分位数", - "visTypeTimeseries.aggSelect.metricsAggs.percentileRankLabel": "百分位等级", - "visTypeTimeseries.aggSelect.metricsAggs.positiveRateLabel": "计数率", - "visTypeTimeseries.aggSelect.metricsAggs.staticValueLabel": "静态值", - "visTypeTimeseries.aggSelect.metricsAggs.stdDeviationLabel": "标准偏差", - "visTypeTimeseries.aggSelect.metricsAggs.sumLabel": "求和", - "visTypeTimeseries.aggSelect.metricsAggs.sumOfSquaresLabel": "平方和", - "visTypeTimeseries.aggSelect.metricsAggs.topHitLabel": "最高命中结果", - "visTypeTimeseries.aggSelect.metricsAggs.valueCountLabel": "值计数", - "visTypeTimeseries.aggSelect.metricsAggs.varianceLabel": "方差", - "visTypeTimeseries.aggSelect.pipelineAggs.bucketScriptLabel": "存储桶脚本", - "visTypeTimeseries.aggSelect.pipelineAggs.cumulativeSumLabel": "累计和", - "visTypeTimeseries.aggSelect.pipelineAggs.derivativeLabel": "导数", - "visTypeTimeseries.aggSelect.pipelineAggs.movingAverageLabel": "移动平均值", - "visTypeTimeseries.aggSelect.pipelineAggs.positiveOnlyLabel": "仅正数", - "visTypeTimeseries.aggSelect.pipelineAggs.serialDifferenceLabel": "序列差分", "visTypeTimeseries.aggSelect.selectAggPlaceholder": "选择聚合", - "visTypeTimeseries.aggSelect.siblingAggs.overallAverageLabel": "总体平均值", - "visTypeTimeseries.aggSelect.siblingAggs.overallMaxLabel": "总体最大值", - "visTypeTimeseries.aggSelect.siblingAggs.overallMinLabel": "总体最大值", - "visTypeTimeseries.aggSelect.siblingAggs.overallStdDeviationLabel": "总体标准偏差", - "visTypeTimeseries.aggSelect.siblingAggs.overallSumLabel": "总和", - "visTypeTimeseries.aggSelect.siblingAggs.overallSumOfSquaresLabel": "总平方和", - "visTypeTimeseries.aggSelect.siblingAggs.overallVarianceLabel": "总体方差", - "visTypeTimeseries.aggSelect.specialAggs.mathLabel": "数学", - "visTypeTimeseries.aggSelect.specialAggs.seriesAggLabel": "序列聚合", "visTypeTimeseries.annotationsEditor.addDataSourceButtonLabel": "添加数据源", "visTypeTimeseries.annotationsEditor.dataSourcesLabel": "数据源", "visTypeTimeseries.annotationsEditor.fieldsLabel": "字段(必填 - 路径以逗号分隔)", @@ -4268,10 +4237,10 @@ "visTypeTimeseries.calculateLabel.bucketScriptsLabel": "存储桶脚本", "visTypeTimeseries.calculateLabel.countLabel": "计数", "visTypeTimeseries.calculateLabel.filterRatioLabel": "筛选比", - "visTypeTimeseries.calculateLabel.lookupMetricTypeOfMetricFieldRankLabel": "{metricField} 的 {lookupMetricType}", - "visTypeTimeseries.calculateLabel.lookupMetricTypeOfTargetLabel": "{targetLabel} 的 {lookupMetricType}", - "visTypeTimeseries.calculateLabel.lookupMetricTypeOfTargetWithAdditionalLabel": "{targetLabel} 的 {lookupMetricType} ({additionalLabel})", "visTypeTimeseries.calculateLabel.mathLabel": "数学", + "visTypeTimeseries.calculateLabel.metricTypeOfMetricFieldRankLabel": "{metricField} 的 {metricTypeLabel}", + "visTypeTimeseries.calculateLabel.metricTypeOfTargetLabel": "{targetLabel} 的 {metricTypeLabel}", + "visTypeTimeseries.calculateLabel.metricTypeOfTargetWithAdditionalLabel": "{targetLabel} 的 {metricTypeLabel} ({additionalLabel})", "visTypeTimeseries.calculateLabel.positiveRateLabel": "{field} 的计数率", "visTypeTimeseries.calculateLabel.seriesAggLabel": "序列聚合 ({metricFunction})", "visTypeTimeseries.calculateLabel.staticValueLabel": "{metricValue} 的静态值", From 48d894427aece50b14eb04753ea949246f683ed8 Mon Sep 17 00:00:00 2001 From: Anton Dosov Date: Wed, 25 Aug 2021 12:26:28 +0200 Subject: [PATCH 017/139] [IndexPatterns] Clean up `StubIndexPattern` (#108555) --- ...data-public.indexpatternattributes.type.md | 2 +- ...-public.indexpatternattributes.typemeta.md | 2 +- ...data-server.indexpatternattributes.type.md | 2 +- ...-server.indexpatternattributes.typemeta.md | 2 +- .../data/common/index_patterns/field.stub.ts | 371 +++++++++++++++++- .../index_patterns/index_pattern.stub.ts | 66 ++-- .../__snapshots__/index_pattern.test.ts.snap | 2 +- .../fixtures/logstash_fields.js | 76 ---- .../stubbed_saved_object_index_pattern.ts | 26 -- .../index_patterns/flatten_hit.test.ts | 7 +- .../index_patterns/index_pattern.stub.ts | 56 +++ .../index_patterns/index_pattern.test.ts | 12 +- .../index_patterns/index_patterns.test.ts | 3 +- .../data/common/index_patterns/mocks.ts | 1 + .../data/common/index_patterns/types.ts | 4 +- .../common/search/aggs/agg_configs.test.ts | 31 +- src/plugins/data/common/stubs.ts | 4 +- .../index_patterns/index_pattern.stub.ts | 115 ------ .../index_patterns/index_pattern.stub.ts | 61 +++ src/plugins/data/public/public.api.md | 4 +- .../lib/get_display_value.test.ts | 17 +- src/plugins/data/public/stubs.ts | 1 + src/plugins/data/public/test_utils.ts | 1 - .../query_bar_top_row.test.tsx | 10 +- .../query_string_input.test.mocks.ts | 4 +- .../query_string_input.test.tsx | 32 +- src/plugins/data/server/server.api.md | 4 +- .../public/__fixtures__/logstash_fields.js | 75 ---- .../stubbed_logstash_index_pattern.js | 47 --- .../stubbed_saved_object_index_pattern.ts | 26 -- .../doc_table/lib/get_default_sort.test.ts | 20 +- .../components/doc_table/lib/get_sort.test.ts | 58 ++- .../lib/get_sort_for_search_source.test.ts | 39 +- .../doc_table/lib/row_formatter.test.ts | 4 +- ...ver_index_pattern_management.test.tsx.snap | 85 +++- .../sidebar/discover_field.test.tsx | 15 +- .../sidebar/discover_field_details.test.tsx | 16 +- ...discover_index_pattern_management.test.tsx | 13 +- .../sidebar/discover_sidebar.test.tsx | 18 +- .../discover_sidebar_responsive.test.tsx | 24 +- .../sidebar/lib/field_calculator.test.ts | 18 +- .../common/converters/source.test.ts | 21 +- .../common/converters/source.tsx | 1 + src/plugins/field_formats/public/mocks.ts | 27 +- .../public/saved_object/saved_object.test.ts | 46 +-- .../public/legacy/agg_table/agg_table.test.js | 2 +- .../legacy/table_vis_controller.test.ts | 24 +- .../public/__fixtures__/logstash_fields.js | 75 ---- .../stubbed_logstash_index_pattern.js | 47 --- src/plugins/visualizations/public/vis.test.ts | 4 +- .../models/job_service/new_job_caps/rollup.ts | 2 +- .../exploratory_view.test.tsx | 35 +- .../shared/exploratory_view/rtl_helpers.tsx | 19 +- .../edit_exception_modal/index.test.tsx | 21 +- .../view/components/form/index.test.tsx | 4 +- 55 files changed, 828 insertions(+), 874 deletions(-) delete mode 100644 src/plugins/data/common/index_patterns/index_patterns/fixtures/logstash_fields.js delete mode 100644 src/plugins/data/common/index_patterns/index_patterns/fixtures/stubbed_saved_object_index_pattern.ts create mode 100644 src/plugins/data/common/index_patterns/index_patterns/index_pattern.stub.ts delete mode 100644 src/plugins/data/public/index_patterns/index_pattern.stub.ts create mode 100644 src/plugins/data/public/index_patterns/index_patterns/index_pattern.stub.ts delete mode 100644 src/plugins/discover/public/__fixtures__/logstash_fields.js delete mode 100644 src/plugins/discover/public/__fixtures__/stubbed_logstash_index_pattern.js delete mode 100644 src/plugins/discover/public/__mocks__/stubbed_saved_object_index_pattern.ts delete mode 100644 src/plugins/visualizations/public/__fixtures__/logstash_fields.js delete mode 100644 src/plugins/visualizations/public/__fixtures__/stubbed_logstash_index_pattern.js diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.type.md index d980d3af41912..58a0485c80f34 100644 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.type.md +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.type.md @@ -7,5 +7,5 @@ Signature: ```typescript -type: string; +type?: string; ``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md index 130e4928640f5..2d19454ac48a8 100644 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md @@ -7,5 +7,5 @@ Signature: ```typescript -typeMeta: string; +typeMeta?: string; ``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.type.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.type.md index e88be8fd31246..401b7cb3897d1 100644 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.type.md +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.type.md @@ -7,5 +7,5 @@ Signature: ```typescript -type: string; +type?: string; ``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md index 44fee7c1a6317..be3c2ec336a56 100644 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md @@ -7,5 +7,5 @@ Signature: ```typescript -typeMeta: string; +typeMeta?: string; ``` diff --git a/src/plugins/data/common/index_patterns/field.stub.ts b/src/plugins/data/common/index_patterns/field.stub.ts index f76cefe0468bf..bafd3fc2fc35f 100644 --- a/src/plugins/data/common/index_patterns/field.stub.ts +++ b/src/plugins/data/common/index_patterns/field.stub.ts @@ -6,71 +6,404 @@ * Side Public License, v 1. */ -import { IFieldType } from '.'; +import { FieldSpec, IndexPatternField } from '.'; -export const stubFields: IFieldType[] = [ - { +export const createIndexPatternFieldStub = ({ spec }: { spec: FieldSpec }): IndexPatternField => { + return new IndexPatternField(spec); +}; + +export const stubFieldSpecMap: Record = { + 'machine.os': { name: 'machine.os', esTypes: ['text'], type: 'string', aggregatable: false, searchable: false, - filterable: true, }, - { + 'machine.os.raw': { name: 'machine.os.raw', type: 'string', esTypes: ['keyword'], aggregatable: true, searchable: true, - filterable: true, }, - { + 'not.filterable': { name: 'not.filterable', type: 'string', esTypes: ['text'], aggregatable: true, searchable: false, - filterable: false, }, - { + bytes: { name: 'bytes', type: 'number', esTypes: ['long'], aggregatable: true, searchable: true, - filterable: true, }, - { + '@timestamp': { name: '@timestamp', type: 'date', esTypes: ['date'], aggregatable: true, searchable: true, - filterable: true, }, - { + clientip: { name: 'clientip', type: 'ip', esTypes: ['ip'], aggregatable: true, searchable: true, - filterable: true, }, - { + 'bool.field': { name: 'bool.field', type: 'boolean', esTypes: ['boolean'], aggregatable: true, searchable: true, - filterable: true, }, - { + bytes_range: { name: 'bytes_range', type: 'number_range', esTypes: ['integer_range'], aggregatable: true, searchable: true, - filterable: true, }, -]; +}; + +export const stubFields: IndexPatternField[] = Object.values(stubFieldSpecMap).map((spec) => + createIndexPatternFieldStub({ spec }) +); + +export const stubLogstashFieldSpecMap: Record = { + bytes: { + name: 'bytes', + type: 'number', + esTypes: ['long'], + aggregatable: true, + searchable: true, + count: 10, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + ssl: { + name: 'ssl', + type: 'boolean', + esTypes: ['boolean'], + aggregatable: true, + searchable: true, + count: 20, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + '@timestamp': { + name: '@timestamp', + type: 'date', + esTypes: ['date'], + aggregatable: true, + searchable: true, + count: 30, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + time: { + name: 'time', + type: 'date', + esTypes: ['date'], + aggregatable: true, + searchable: true, + count: 30, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + '@tags': { + name: '@tags', + type: 'string', + esTypes: ['keyword'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + utc_time: { + name: 'utc_time', + type: 'date', + esTypes: ['date'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + phpmemory: { + name: 'phpmemory', + type: 'number', + esTypes: ['integer'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + ip: { + name: 'ip', + type: 'ip', + esTypes: ['ip'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + request_body: { + name: 'request_body', + type: 'attachment', + esTypes: ['attachment'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + point: { + name: 'point', + type: 'geo_point', + esTypes: ['geo_point'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + area: { + name: 'area', + type: 'geo_shape', + esTypes: ['geo_shape'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: false, + scripted: false, + isMapped: true, + }, + hashed: { + name: 'hashed', + type: 'murmur3', + esTypes: ['murmur3'], + aggregatable: false, + searchable: true, + count: 0, + readFromDocValues: false, + scripted: false, + isMapped: true, + }, + 'geo.coordinates': { + name: 'geo.coordinates', + type: 'geo_point', + esTypes: ['geo_point'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + extension: { + name: 'extension', + type: 'string', + esTypes: ['text'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: false, + scripted: false, + isMapped: true, + }, + 'extension.keyword': { + name: 'extension.keyword', + type: 'string', + esTypes: ['keyword'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + subType: { + multi: { + parent: 'extension', + }, + }, + isMapped: true, + }, + 'machine.os': { + name: 'machine.os', + type: 'string', + esTypes: ['text'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: false, + scripted: false, + isMapped: true, + }, + 'machine.os.raw': { + name: 'machine.os.raw', + type: 'string', + esTypes: ['keyword'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + subType: { + multi: { + parent: 'machine.os', + }, + }, + isMapped: true, + }, + 'geo.src': { + name: 'geo.src', + type: 'string', + esTypes: ['keyword'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + _id: { + name: '_id', + type: 'string', + esTypes: ['_id'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: false, + scripted: false, + isMapped: true, + }, + _type: { + name: '_type', + type: 'string', + esTypes: ['_type'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: false, + scripted: false, + isMapped: true, + }, + _source: { + name: '_source', + type: '_source', + esTypes: ['_source'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: false, + scripted: false, + isMapped: true, + }, + 'non-filterable': { + name: 'non-filterable', + type: 'string', + esTypes: ['text'], + aggregatable: true, + searchable: false, + count: 0, + readFromDocValues: false, + scripted: false, + isMapped: true, + }, + 'non-sortable': { + name: 'non-sortable', + type: 'string', + esTypes: ['text'], + aggregatable: false, + searchable: false, + count: 0, + readFromDocValues: false, + scripted: false, + isMapped: true, + }, + custom_user_field: { + name: 'custom_user_field', + type: 'conflict', + esTypes: ['conflict'], + aggregatable: true, + searchable: true, + count: 0, + readFromDocValues: true, + scripted: false, + isMapped: true, + }, + 'script string': { + name: 'script string', + type: 'string', + esTypes: ['text'], + aggregatable: true, + searchable: false, + count: 0, + readFromDocValues: false, + script: "'i am a string'", + lang: 'expression', + scripted: true, + isMapped: false, + }, + 'script number': { + name: 'script number', + type: 'number', + esTypes: ['long'], + aggregatable: true, + searchable: false, + count: 0, + readFromDocValues: true, + script: '1234', + lang: 'expression', + scripted: true, + isMapped: false, + }, + 'script date': { + name: 'script date', + type: 'date', + esTypes: ['date'], + aggregatable: true, + searchable: false, + count: 0, + readFromDocValues: true, + script: '1234', + lang: 'painless', + scripted: true, + isMapped: false, + }, + 'script murmur3': { + name: 'script murmur3', + type: 'murmur3', + esTypes: ['murmur3'], + aggregatable: true, + searchable: false, + count: 0, + readFromDocValues: true, + script: '1234', + lang: 'expression', + scripted: true, + isMapped: false, + }, +}; + +export const stubLogstashFields: IndexPatternField[] = Object.values( + stubLogstashFieldSpecMap +).map((spec) => createIndexPatternFieldStub({ spec })); diff --git a/src/plugins/data/common/index_patterns/index_pattern.stub.ts b/src/plugins/data/common/index_patterns/index_pattern.stub.ts index 3f6a4f708f288..13cda8ccfb845 100644 --- a/src/plugins/data/common/index_patterns/index_pattern.stub.ts +++ b/src/plugins/data/common/index_patterns/index_pattern.stub.ts @@ -6,28 +6,50 @@ * Side Public License, v 1. */ -import { IIndexPattern } from '.'; -import { stubFields } from './field.stub'; +import { stubFieldSpecMap, stubLogstashFieldSpecMap } from './field.stub'; +import { createStubIndexPattern } from './index_patterns/index_pattern.stub'; +export { createStubIndexPattern } from './index_patterns/index_pattern.stub'; +import { SavedObject } from '../../../../core/types'; +import { IndexPatternAttributes } from '../types'; -export const stubIndexPattern: IIndexPattern = { - id: 'logstash-*', - fields: stubFields, - title: 'logstash-*', - timeFieldName: '@timestamp', - getTimeField: () => ({ name: '@timestamp', type: 'date' }), -}; +export const stubIndexPattern = createStubIndexPattern({ + spec: { + id: 'logstash-*', + fields: stubFieldSpecMap, + title: 'logstash-*', + timeFieldName: '@timestamp', + }, +}); -export const stubIndexPatternWithFields: IIndexPattern = { - id: '1234', - title: 'logstash-*', - fields: [ - { - name: 'response', - type: 'number', - esTypes: ['integer'], - aggregatable: true, - filterable: true, - searchable: true, +export const stubIndexPatternWithoutTimeField = createStubIndexPattern({ + spec: { + id: 'logstash-*', + fields: stubFieldSpecMap, + title: 'logstash-*', + }, +}); + +export const stubLogstashIndexPattern = createStubIndexPattern({ + spec: { + id: 'logstash-*', + title: 'logstash-*', + timeFieldName: 'time', + fields: stubLogstashFieldSpecMap, + }, +}); + +export function stubbedSavedObjectIndexPattern( + id: string | null = null +): SavedObject { + return { + id: id ?? '', + type: 'index-pattern', + attributes: { + timeFieldName: 'time', + fields: JSON.stringify(stubLogstashFieldSpecMap), + title: 'title', }, - ], -}; + version: '2', + references: [], + }; +} diff --git a/src/plugins/data/common/index_patterns/index_patterns/__snapshots__/index_pattern.test.ts.snap b/src/plugins/data/common/index_patterns/index_patterns/__snapshots__/index_pattern.test.ts.snap index 7757e2fdd4584..1c6b57f70071b 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/__snapshots__/index_pattern.test.ts.snap +++ b/src/plugins/data/common/index_patterns/index_patterns/__snapshots__/index_pattern.test.ts.snap @@ -785,7 +785,7 @@ Object { }, }, "sourceFilters": undefined, - "timeFieldName": "timestamp", + "timeFieldName": "time", "title": "title", "type": "index-pattern", "typeMeta": undefined, diff --git a/src/plugins/data/common/index_patterns/index_patterns/fixtures/logstash_fields.js b/src/plugins/data/common/index_patterns/index_patterns/fixtures/logstash_fields.js deleted file mode 100644 index 3ca2a1813c48f..0000000000000 --- a/src/plugins/data/common/index_patterns/index_patterns/fixtures/logstash_fields.js +++ /dev/null @@ -1,76 +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 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. - */ - -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { shouldReadFieldFromDocValues, castEsToKbnFieldTypeName } from '../../../../server'; - -function stubbedLogstashFields() { - return [ - // |aggregatable - // | |searchable - // name esType | | |metadata | subType - ['bytes', 'long', true, true, { count: 10 }], - ['ssl', 'boolean', true, true, { count: 20 }], - ['@timestamp', 'date', true, true, { count: 30 }], - ['time', 'date', true, true, { count: 30 }], - ['@tags', 'keyword', true, true], - ['utc_time', 'date', true, true], - ['phpmemory', 'integer', true, true], - ['ip', 'ip', true, true], - ['request_body', 'attachment', true, true], - ['point', 'geo_point', true, true], - ['area', 'geo_shape', true, true], - ['hashed', 'murmur3', false, true], - ['geo.coordinates', 'geo_point', true, true], - ['extension', 'text', true, true], - ['extension.keyword', 'keyword', true, true, {}, { multi: { parent: 'extension' } }], - ['machine.os', 'text', true, true], - ['machine.os.raw', 'keyword', true, true, {}, { multi: { parent: 'machine.os' } }], - ['geo.src', 'keyword', true, true], - ['_id', '_id', true, true], - ['_type', '_type', true, true], - ['_source', '_source', true, true], - ['non-filterable', 'text', true, false], - ['non-sortable', 'text', false, false], - ['custom_user_field', 'conflict', true, true], - ['script string', 'text', true, false, { script: "'i am a string'" }], - ['script number', 'long', true, false, { script: '1234' }], - ['script date', 'date', true, false, { script: '1234', lang: 'painless' }], - ['script murmur3', 'murmur3', true, false, { script: '1234' }], - ].map(function (row) { - const [name, esType, aggregatable, searchable, metadata = {}, subType = undefined] = row; - - const { - count = 0, - script, - lang = script ? 'expression' : undefined, - scripted = !!script, - } = metadata; - - // the conflict type is actually a kbnFieldType, we - // don't have any other way to represent it here - const type = esType === 'conflict' ? esType : castEsToKbnFieldTypeName(esType); - - return { - name, - type, - esTypes: [esType], - readFromDocValues: shouldReadFieldFromDocValues(aggregatable, esType), - aggregatable, - searchable, - count, - script, - lang, - scripted, - subType, - isMapped: !scripted, - }; - }); -} - -export default stubbedLogstashFields; diff --git a/src/plugins/data/common/index_patterns/index_patterns/fixtures/stubbed_saved_object_index_pattern.ts b/src/plugins/data/common/index_patterns/index_patterns/fixtures/stubbed_saved_object_index_pattern.ts deleted file mode 100644 index 0f1d9c09530a4..0000000000000 --- a/src/plugins/data/common/index_patterns/index_patterns/fixtures/stubbed_saved_object_index_pattern.ts +++ /dev/null @@ -1,26 +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 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. - */ - -// @ts-expect-error -import stubbedLogstashFields from './logstash_fields'; - -const mockLogstashFields = stubbedLogstashFields(); - -export function stubbedSavedObjectIndexPattern(id: string | null = null) { - return { - id, - type: 'index-pattern', - attributes: { - timeFieldName: 'timestamp', - customFormats: {}, - fields: mockLogstashFields, - title: 'title', - }, - version: '2', - }; -} diff --git a/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.test.ts b/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.test.ts index f4f94856c7226..c9bb7d974997a 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.test.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/flatten_hit.test.ts @@ -8,12 +8,9 @@ import { IndexPattern } from './index_pattern'; -// @ts-expect-error -import mockLogStashFields from './fixtures/logstash_fields'; -import { stubbedSavedObjectIndexPattern } from './fixtures/stubbed_saved_object_index_pattern'; - import { fieldFormatsMock } from '../../../../field_formats/common/mocks'; import { flattenHitWrapper } from './flatten_hit'; +import { stubbedSavedObjectIndexPattern } from '../index_pattern.stub'; class MockFieldFormatter {} @@ -33,7 +30,7 @@ function create(id: string) { type, version, timeFieldName, - fields, + fields: JSON.parse(fields), title, runtimeFieldMap: {}, }, diff --git a/src/plugins/data/common/index_patterns/index_patterns/index_pattern.stub.ts b/src/plugins/data/common/index_patterns/index_patterns/index_pattern.stub.ts new file mode 100644 index 0000000000000..0799afbb85937 --- /dev/null +++ b/src/plugins/data/common/index_patterns/index_patterns/index_pattern.stub.ts @@ -0,0 +1,56 @@ +/* + * 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. + */ + +import { IndexPattern } from './index_pattern'; +import { IndexPatternSpec } from '../types'; +import { FieldFormatsStartCommon } from '../../../../field_formats/common'; +import { fieldFormatsMock } from '../../../../field_formats/common/mocks'; + +/** + * Create a custom stub index pattern. Use it in your unit tests where an {@link IndexPattern} expected. + * @param spec - Serialized index pattern object + * @param opts - Specify index pattern options + * @param deps - Optionally provide dependencies, you can provide a custom field formats implementation, by default a dummy mock is used + * + * @returns - an {@link IndexPattern} instance + * + * + * @example + * + * You can provide a custom implementation or assert calls using jest.spyOn: + * + * ```ts + * const indexPattern = createStubIndexPattern({spec: {title: 'logs-*'}}); + * const spy = jest.spyOn(indexPattern, 'getFormatterForField'); + * + * // use `spy` as a regular jest mock + * + * ``` + */ +export const createStubIndexPattern = ({ + spec, + opts, + deps, +}: { + spec: IndexPatternSpec; + opts?: { + shortDotsEnable?: boolean; + metaFields?: string[]; + }; + deps?: { + fieldFormats?: FieldFormatsStartCommon; + }; +}): IndexPattern => { + const indexPattern = new IndexPattern({ + spec, + metaFields: opts?.metaFields ?? ['_id', '_type', '_source'], + shortDotsEnable: opts?.shortDotsEnable, + fieldFormats: deps?.fieldFormats ?? fieldFormatsMock, + }); + return indexPattern; +}; diff --git a/src/plugins/data/common/index_patterns/index_patterns/index_pattern.test.ts b/src/plugins/data/common/index_patterns/index_patterns/index_pattern.test.ts index 7c111f7666544..f6be2bd9a8685 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/index_pattern.test.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/index_pattern.test.ts @@ -11,14 +11,14 @@ import { map, last } from 'lodash'; import { IndexPattern } from './index_pattern'; import { DuplicateField } from '../../../../kibana_utils/common'; -// @ts-expect-error -import mockLogStashFields from './fixtures/logstash_fields'; -import { stubbedSavedObjectIndexPattern } from './fixtures/stubbed_saved_object_index_pattern'; + import { IndexPatternField } from '../fields'; import { fieldFormatsMock } from '../../../../field_formats/common/mocks'; import { FieldFormat } from '../../../../field_formats/common'; import { RuntimeField } from '../types'; +import { stubLogstashFields } from '../field.stub'; +import { stubbedSavedObjectIndexPattern } from '../index_pattern.stub'; class MockFieldFormatter {} @@ -55,7 +55,7 @@ function create(id: string) { type, version, timeFieldName, - fields: { ...fields, runtime_field: runtimeField }, + fields: { ...JSON.parse(fields), runtime_field: runtimeField }, title, runtimeFieldMap, }, @@ -101,7 +101,7 @@ describe('IndexPattern', () => { describe('getScriptedFields', () => { test('should return all scripted fields', () => { - const scriptedNames = mockLogStashFields() + const scriptedNames = stubLogstashFields .filter((item: IndexPatternField) => item.scripted === true) .map((item: IndexPatternField) => item.name); const respNames = map(indexPattern.getScriptedFields(), 'name'); @@ -151,7 +151,7 @@ describe('IndexPattern', () => { describe('getNonScriptedFields', () => { test('should return all non-scripted fields', () => { - const notScriptedNames = mockLogStashFields() + const notScriptedNames = stubLogstashFields .filter((item: IndexPatternField) => item.scripted === false) .map((item: IndexPatternField) => item.name); notScriptedNames.push('runtime_field'); diff --git a/src/plugins/data/common/index_patterns/index_patterns/index_patterns.test.ts b/src/plugins/data/common/index_patterns/index_patterns/index_patterns.test.ts index c6715fac5d9af..d255abc52aac6 100644 --- a/src/plugins/data/common/index_patterns/index_patterns/index_patterns.test.ts +++ b/src/plugins/data/common/index_patterns/index_patterns/index_patterns.test.ts @@ -9,8 +9,9 @@ import { defaults } from 'lodash'; import { IndexPatternsService, IndexPattern } from '.'; import { fieldFormatsMock } from '../../../../field_formats/common/mocks'; -import { stubbedSavedObjectIndexPattern } from './fixtures/stubbed_saved_object_index_pattern'; + import { UiSettingsCommon, SavedObjectsClientCommon, SavedObject } from '../types'; +import { stubbedSavedObjectIndexPattern } from '../index_pattern.stub'; const createFieldsFetcher = jest.fn().mockImplementation(() => ({ getFieldsForWildcard: jest.fn().mockImplementation(() => { diff --git a/src/plugins/data/common/index_patterns/mocks.ts b/src/plugins/data/common/index_patterns/mocks.ts index 7769f145b41b3..b8b3b67c56df3 100644 --- a/src/plugins/data/common/index_patterns/mocks.ts +++ b/src/plugins/data/common/index_patterns/mocks.ts @@ -7,3 +7,4 @@ */ export * from './fields/fields.mocks'; +export * from './index_patterns/index_pattern.stub'; diff --git a/src/plugins/data/common/index_patterns/types.ts b/src/plugins/data/common/index_patterns/types.ts index c79dc17e9fe84..c326e75aca415 100644 --- a/src/plugins/data/common/index_patterns/types.ts +++ b/src/plugins/data/common/index_patterns/types.ts @@ -53,10 +53,10 @@ export interface IIndexPattern extends IndexPatternBase { * Interface for an index pattern saved object */ export interface IndexPatternAttributes { - type: string; fields: string; title: string; - typeMeta: string; + type?: string; + typeMeta?: string; timeFieldName?: string; intervalName?: string; sourceFilters?: string; diff --git a/src/plugins/data/common/search/aggs/agg_configs.test.ts b/src/plugins/data/common/search/aggs/agg_configs.test.ts index 72ea64791fa5b..978ec79147a13 100644 --- a/src/plugins/data/common/search/aggs/agg_configs.test.ts +++ b/src/plugins/data/common/search/aggs/agg_configs.test.ts @@ -11,17 +11,15 @@ import { AggConfig } from './agg_config'; import { AggConfigs } from './agg_configs'; import { AggTypesRegistryStart } from './agg_types_registry'; import { mockAggTypesRegistry } from './test_helpers'; -import type { IndexPatternField } from '../../index_patterns'; -import { IndexPattern } from '../../index_patterns/index_patterns/index_pattern'; -import { stubIndexPattern, stubIndexPatternWithFields } from '../../../common/stubs'; +import { IndexPattern } from '../../index_patterns/'; +import { stubIndexPattern } from '../../stubs'; import { IEsSearchResponse } from '..'; describe('AggConfigs', () => { - let indexPattern: IndexPattern; + const indexPattern: IndexPattern = stubIndexPattern; let typesRegistry: AggTypesRegistryStart; beforeEach(() => { - indexPattern = stubIndexPatternWithFields as IndexPattern; typesRegistry = mockAggTypesRegistry(); }); @@ -229,11 +227,6 @@ describe('AggConfigs', () => { }); describe('#toDsl', () => { - beforeEach(() => { - indexPattern = stubIndexPattern as IndexPattern; - indexPattern.fields.getByName = (name) => (({ name } as unknown) as IndexPatternField); - }); - it('uses the sorted aggs', () => { const configStates = [{ enabled: true, type: 'avg', params: { field: 'bytes' } }]; const ac = new AggConfigs(indexPattern, configStates, { typesRegistry }); @@ -349,17 +342,9 @@ describe('AggConfigs', () => { params: { field: 'bytes', timeShift: '1d' }, }, ]; - indexPattern.fields.push({ - name: 'timestamp', - type: 'date', - esTypes: ['date'], - aggregatable: true, - filterable: true, - searchable: true, - } as IndexPatternField); const ac = new AggConfigs(indexPattern, configStates, { typesRegistry }); - ac.timeFields = ['timestamp']; + ac.timeFields = ['@timestamp']; ac.timeRange = { from: '2021-05-05T00:00:00.000Z', to: '2021-05-10T00:00:00.000Z', @@ -374,7 +359,7 @@ describe('AggConfigs', () => { Object { "0": Object { "range": Object { - "timestamp": Object { + "@timestamp": Object { "gte": "2021-05-05T00:00:00.000Z", "lte": "2021-05-10T00:00:00.000Z", }, @@ -382,7 +367,7 @@ describe('AggConfigs', () => { }, "86400000": Object { "range": Object { - "timestamp": Object { + "@timestamp": Object { "gte": "2021-05-04T00:00:00.000Z", "lte": "2021-05-09T00:00:00.000Z", }, @@ -533,8 +518,6 @@ describe('AggConfigs', () => { describe('#postFlightTransform', () => { it('merges together splitted responses for multiple shifts', () => { - indexPattern = stubIndexPattern as IndexPattern; - indexPattern.fields.getByName = (name) => (({ name } as unknown) as IndexPatternField); const configStates = [ { enabled: true, @@ -691,8 +674,6 @@ describe('AggConfigs', () => { }); it('shifts date histogram keys and renames doc_count properties for single shift', () => { - indexPattern = stubIndexPattern as IndexPattern; - indexPattern.fields.getByName = (name) => (({ name } as unknown) as IndexPatternField); const configStates = [ { enabled: true, diff --git a/src/plugins/data/common/stubs.ts b/src/plugins/data/common/stubs.ts index d64d788d60ead..48310d8653a16 100644 --- a/src/plugins/data/common/stubs.ts +++ b/src/plugins/data/common/stubs.ts @@ -6,6 +6,6 @@ * Side Public License, v 1. */ -export { stubIndexPattern, stubIndexPatternWithFields } from './index_patterns/index_pattern.stub'; -export { stubFields } from './index_patterns/field.stub'; +export * from './index_patterns/field.stub'; +export * from './index_patterns/index_pattern.stub'; export * from './es_query/stubs'; diff --git a/src/plugins/data/public/index_patterns/index_pattern.stub.ts b/src/plugins/data/public/index_patterns/index_pattern.stub.ts deleted file mode 100644 index a203e84af270f..0000000000000 --- a/src/plugins/data/public/index_patterns/index_pattern.stub.ts +++ /dev/null @@ -1,115 +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 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 sinon from 'sinon'; - -import { CoreSetup } from 'src/core/public'; -import { SerializedFieldFormat } from 'src/plugins/expressions/public'; -import { IFieldType, FieldSpec, fieldList } from '../../common/index_patterns'; -import { IndexPattern, KBN_FIELD_TYPES } from '../'; -import { getFieldFormatsRegistry } from '../test_utils'; -import { flattenHitWrapper, formatHitProvider } from './index_patterns'; - -export function getStubIndexPattern( - pattern: string, - getConfig: (cfg: any) => any, - timeField: string | null, - fields: FieldSpec[] | IFieldType[], - core: CoreSetup -): IndexPattern { - return (new StubIndexPattern( - pattern, - getConfig, - timeField, - fields, - core - ) as unknown) as IndexPattern; -} - -export class StubIndexPattern { - id: string; - title: string; - popularizeField: Function; - timeFieldName: string | null; - isTimeBased: () => boolean; - getConfig: (cfg: any) => any; - getNonScriptedFields: Function; - getScriptedFields: Function; - getFieldByName: Function; - getSourceFiltering: Function; - metaFields: string[]; - fieldFormatMap: Record; - getComputedFields: Function; - flattenHit: Function; - formatHit: Record; - fieldsFetcher: Record; - formatField: Function; - getFormatterForField: () => { convert: Function; toJSON: Function }; - _reindexFields: Function; - stubSetFieldFormat: Function; - fields?: FieldSpec[]; - setFieldFormat: (fieldName: string, format: SerializedFieldFormat) => void; - - constructor( - pattern: string, - getConfig: (cfg: any) => any, - timeField: string | null, - fields: FieldSpec[] | IFieldType[], - core: CoreSetup - ) { - const registeredFieldFormats = getFieldFormatsRegistry(core); - - this.id = pattern; - this.title = pattern; - this.popularizeField = sinon.stub(); - this.timeFieldName = timeField; - this.isTimeBased = () => Boolean(this.timeFieldName); - this.getConfig = getConfig; - this.getNonScriptedFields = sinon.spy(IndexPattern.prototype.getNonScriptedFields); - this.getScriptedFields = sinon.spy(IndexPattern.prototype.getScriptedFields); - this.getFieldByName = sinon.spy(IndexPattern.prototype.getFieldByName); - this.getSourceFiltering = sinon.stub(); - this.metaFields = ['_id', '_type', '_source']; - this.fieldFormatMap = {}; - - this.setFieldFormat = (fieldName: string, format: SerializedFieldFormat) => { - this.fieldFormatMap[fieldName] = format; - }; - - this.getComputedFields = IndexPattern.prototype.getComputedFields.bind(this); - this.flattenHit = flattenHitWrapper((this as unknown) as IndexPattern, this.metaFields); - this.formatHit = formatHitProvider( - (this as unknown) as IndexPattern, - registeredFieldFormats.getDefaultInstance(KBN_FIELD_TYPES.STRING) - ); - this.fieldsFetcher = { apiClient: { baseUrl: '' } }; - this.formatField = this.formatHit.formatField; - this.getFormatterForField = () => ({ - convert: () => '', - toJSON: () => '{}', - }); - - this._reindexFields = function () { - this.fields = fieldList((this.fields || fields) as FieldSpec[], false); - }; - - this.stubSetFieldFormat = function ( - fieldName: string, - id: string, - params: Record - ) { - const FieldFormat = registeredFieldFormats.getType(id); - this.fieldFormatMap[fieldName] = new FieldFormat!(params); - this._reindexFields(); - }; - - this._reindexFields(); - - return this; - } -} diff --git a/src/plugins/data/public/index_patterns/index_patterns/index_pattern.stub.ts b/src/plugins/data/public/index_patterns/index_patterns/index_pattern.stub.ts new file mode 100644 index 0000000000000..49d31def92384 --- /dev/null +++ b/src/plugins/data/public/index_patterns/index_patterns/index_pattern.stub.ts @@ -0,0 +1,61 @@ +/* + * 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. + */ + +import { CoreSetup } from 'kibana/public'; +import { FieldFormatsStartCommon } from '../../../../field_formats/common'; +import { getFieldFormatsRegistry } from '../../../../field_formats/public/mocks'; +import * as commonStubs from '../../../common/stubs'; +import { IndexPattern, IndexPatternSpec } from '../../../common'; +import { coreMock } from '../../../../../core/public/mocks'; +/** + * Create a custom stub index pattern. Use it in your unit tests where an {@link IndexPattern} expected. + * @param spec - Serialized index pattern object + * @param opts - Specify index pattern options + * @param deps - Optionally provide dependencies, you can provide a custom field formats implementation, by default client side registry with real formatters implementation is used + * + * @returns - an {@link IndexPattern} instance + * + * @remark - This is a client side version, a browser-agnostic version is available in {@link commonStubs | common}. + * The main difference is that client side version by default uses client side field formats service, where common version uses a dummy field formats mock. + * + * @example + * + * You can provide a custom implementation or assert calls using jest.spyOn: + * + * ```ts + * const indexPattern = createStubIndexPattern({spec: {title: 'logs-*'}}); + * const spy = jest.spyOn(indexPattern, 'getFormatterForField'); + * + * // use `spy` as a regular jest mock + * + * ``` + */ +export const createStubIndexPattern = ({ + spec, + opts, + deps, +}: { + spec: IndexPatternSpec; + opts?: { + shortDotsEnable?: boolean; + metaFields?: string[]; + }; + deps?: { + fieldFormats?: FieldFormatsStartCommon; + core?: CoreSetup; + }; +}): IndexPattern => { + return commonStubs.createStubIndexPattern({ + spec, + opts, + deps: { + fieldFormats: + deps?.fieldFormats ?? getFieldFormatsRegistry(deps?.core ?? coreMock.createSetup()), + }, + }); +}; diff --git a/src/plugins/data/public/public.api.md b/src/plugins/data/public/public.api.md index 90e63c2e4d86a..f7de502e106f1 100644 --- a/src/plugins/data/public/public.api.md +++ b/src/plugins/data/public/public.api.md @@ -1299,9 +1299,9 @@ export interface IndexPatternAttributes { // (undocumented) title: string; // (undocumented) - type: string; + type?: string; // (undocumented) - typeMeta: string; + typeMeta?: string; } // @public (undocumented) diff --git a/src/plugins/data/public/query/filter_manager/lib/get_display_value.test.ts b/src/plugins/data/public/query/filter_manager/lib/get_display_value.test.ts index 48e1007534769..c90685de56c45 100644 --- a/src/plugins/data/public/query/filter_manager/lib/get_display_value.test.ts +++ b/src/plugins/data/public/query/filter_manager/lib/get_display_value.test.ts @@ -8,8 +8,13 @@ import { stubIndexPattern, phraseFilter } from 'src/plugins/data/common/stubs'; import { getDisplayValueFromFilter } from './get_display_value'; +import { FieldFormat } from '../../../../../field_formats/common'; describe('getDisplayValueFromFilter', () => { + beforeEach(() => { + jest.resetAllMocks(); + }); + it('returns the value if string', () => { phraseFilter.meta.value = 'abc'; const displayValue = getDisplayValueFromFilter(phraseFilter, [stubIndexPattern]); @@ -22,24 +27,26 @@ describe('getDisplayValueFromFilter', () => { expect(displayValue).toBe(''); }); - it('calls the value function if proivided', () => { + it('calls the value function if provided', () => { // The type of value currently doesn't match how it's used. Refactor needed. phraseFilter.meta.value = jest.fn((x) => { return 'abc'; }) as any; + jest.spyOn(stubIndexPattern, 'getFormatterForField').mockImplementation(() => undefined!); const displayValue = getDisplayValueFromFilter(phraseFilter, [stubIndexPattern]); expect(displayValue).toBe('abc'); expect(phraseFilter.meta.value).toHaveBeenCalledWith(undefined); }); - it('calls the value function if proivided, with formatter', () => { - stubIndexPattern.getFormatterForField = jest.fn().mockReturnValue('banana'); + it('calls the value function if provided, with formatter', () => { + const mockFormatter = new (FieldFormat.from((value: string) => 'banana' + value))(); + jest.spyOn(stubIndexPattern, 'getFormatterForField').mockImplementation(() => mockFormatter); phraseFilter.meta.value = jest.fn((x) => { - return x + 'abc'; + return x.convert('abc'); }) as any; const displayValue = getDisplayValueFromFilter(phraseFilter, [stubIndexPattern]); expect(stubIndexPattern.getFormatterForField).toHaveBeenCalledTimes(1); - expect(phraseFilter.meta.value).toHaveBeenCalledWith('banana'); + expect(phraseFilter.meta.value).toHaveBeenCalledWith(mockFormatter); expect(displayValue).toBe('bananaabc'); }); }); diff --git a/src/plugins/data/public/stubs.ts b/src/plugins/data/public/stubs.ts index 49b9063347639..2a09a37999712 100644 --- a/src/plugins/data/public/stubs.ts +++ b/src/plugins/data/public/stubs.ts @@ -7,3 +7,4 @@ */ export * from '../common/stubs'; +export { createStubIndexPattern } from './index_patterns/index_patterns/index_pattern.stub'; diff --git a/src/plugins/data/public/test_utils.ts b/src/plugins/data/public/test_utils.ts index 613e3850c922e..2d8009686a4da 100644 --- a/src/plugins/data/public/test_utils.ts +++ b/src/plugins/data/public/test_utils.ts @@ -7,4 +7,3 @@ */ export { getFieldFormatsRegistry } from '../../field_formats/public/mocks'; -export { getStubIndexPattern, StubIndexPattern } from './index_patterns/index_pattern.stub'; diff --git a/src/plugins/data/public/ui/query_string_input/query_bar_top_row.test.tsx b/src/plugins/data/public/ui/query_string_input/query_bar_top_row.test.tsx index 60c8f845125c3..b7ec5a1f0c286 100644 --- a/src/plugins/data/public/ui/query_string_input/query_bar_top_row.test.tsx +++ b/src/plugins/data/public/ui/query_string_input/query_bar_top_row.test.tsx @@ -19,7 +19,7 @@ import { coreMock } from '../../../../../core/public/mocks'; import { dataPluginMock } from '../../mocks'; import { KibanaContextProvider } from 'src/plugins/kibana_react/public'; import { I18nProvider } from '@kbn/i18n/react'; -import { stubIndexPatternWithFields } from '../../stubs'; +import { stubIndexPattern } from '../../stubs'; import { UI_SETTINGS } from '../../../common'; const startMock = coreMock.createStart(); @@ -118,7 +118,7 @@ describe('QueryBarTopRowTopRow', () => { query: kqlQuery, screenTitle: 'Another Screen', isDirty: false, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], timeHistory: mockTimeHistory, }) ); @@ -132,7 +132,7 @@ describe('QueryBarTopRowTopRow', () => { wrapQueryBarTopRowInContext({ query: kqlQuery, screenTitle: 'Another Screen', - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], timeHistory: mockTimeHistory, disableAutoFocus: true, isDirty: false, @@ -205,7 +205,7 @@ describe('QueryBarTopRowTopRow', () => { const component = mount( wrapQueryBarTopRowInContext({ query: kqlQuery, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], isDirty: false, screenTitle: 'Another Screen', showDatePicker: false, @@ -225,7 +225,7 @@ describe('QueryBarTopRowTopRow', () => { query: kqlQuery, isDirty: false, screenTitle: 'Another Screen', - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], showQueryInput: false, showDatePicker: false, timeHistory: mockTimeHistory, diff --git a/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts b/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts index a8b3afa9741de..9e9498fa465c4 100644 --- a/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts +++ b/src/plugins/data/public/ui/query_string_input/query_string_input.test.mocks.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { stubIndexPatternWithFields } from '../../stubs'; +import { stubIndexPattern } from '../../stubs'; export const mockPersistedLog = { add: jest.fn(), @@ -19,7 +19,7 @@ export const mockPersistedLogFactory = jest.fn ({ PersistedLog: mockPersistedLogFactory, diff --git a/src/plugins/data/public/ui/query_string_input/query_string_input.test.tsx b/src/plugins/data/public/ui/query_string_input/query_string_input.test.tsx index c9530ad3f5195..70f24dfe72cd3 100644 --- a/src/plugins/data/public/ui/query_string_input/query_string_input.test.tsx +++ b/src/plugins/data/public/ui/query_string_input/query_string_input.test.tsx @@ -25,7 +25,7 @@ import QueryStringInputUI from './query_string_input'; import { coreMock } from '../../../../../core/public/mocks'; import { dataPluginMock } from '../../mocks'; -import { stubIndexPatternWithFields } from '../../stubs'; +import { stubIndexPattern } from '../../stubs'; import { KibanaContextProvider, withKibana } from 'src/plugins/kibana_react/public'; jest.useFakeTimers(); @@ -97,7 +97,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onSubmit: noop, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], }) ); @@ -110,7 +110,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: luceneQuery, onSubmit: noop, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], }) ); expect(component.find(QueryLanguageSwitcher).prop('language')).toBe(luceneQuery.language); @@ -121,7 +121,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onSubmit: noop, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, }) ); @@ -135,7 +135,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onSubmit: noop, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, appName: 'discover', }) @@ -151,7 +151,7 @@ describe('QueryStringInput', () => { { query: kqlQuery, onSubmit: mockCallback, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, appName: 'discover', }, @@ -169,7 +169,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: luceneQuery, onSubmit: noop, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableLanguageSwitcher: true, }) ); @@ -181,7 +181,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: luceneQuery, onSubmit: noop, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], iconType: 'search', }) ); @@ -195,7 +195,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onSubmit: mockCallback, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, }) ); @@ -216,7 +216,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onBlur: mockCallback, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, }) ); @@ -235,7 +235,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onChangeQueryInputFocus: mockCallback, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, }) ); @@ -260,7 +260,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onChangeQueryInputFocus: mockCallback, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, }) ); @@ -287,7 +287,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onSubmit: mockCallback, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, submitOnBlur: true, }) @@ -313,7 +313,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onSubmit: mockCallback, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, }) ); @@ -335,7 +335,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onSubmit: noop, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, persistedLog: mockPersistedLog, }) @@ -374,7 +374,7 @@ describe('QueryStringInput', () => { wrapQueryStringInputInContext({ query: kqlQuery, onChange: mockCallback, - indexPatterns: [stubIndexPatternWithFields], + indexPatterns: [stubIndexPattern], disableAutoFocus: true, }) ); diff --git a/src/plugins/data/server/server.api.md b/src/plugins/data/server/server.api.md index 5ef99c70ca02d..f994db960669f 100644 --- a/src/plugins/data/server/server.api.md +++ b/src/plugins/data/server/server.api.md @@ -406,9 +406,9 @@ export interface IndexPatternAttributes { // (undocumented) title: string; // (undocumented) - type: string; + type?: string; // (undocumented) - typeMeta: string; + typeMeta?: string; } // @public (undocumented) diff --git a/src/plugins/discover/public/__fixtures__/logstash_fields.js b/src/plugins/discover/public/__fixtures__/logstash_fields.js deleted file mode 100644 index a51e1555421de..0000000000000 --- a/src/plugins/discover/public/__fixtures__/logstash_fields.js +++ /dev/null @@ -1,75 +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 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. - */ - -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { shouldReadFieldFromDocValues, castEsToKbnFieldTypeName } from '../../../data/server'; - -function stubbedLogstashFields() { - return [ - // |aggregatable - // | |searchable - // name esType | | |metadata | subType - ['bytes', 'long', true, true, { count: 10 }], - ['ssl', 'boolean', true, true, { count: 20 }], - ['@timestamp', 'date', true, true, { count: 30 }], - ['time', 'date', true, true, { count: 30 }], - ['@tags', 'keyword', true, true], - ['utc_time', 'date', true, true], - ['phpmemory', 'integer', true, true], - ['ip', 'ip', true, true], - ['request_body', 'attachment', true, true], - ['point', 'geo_point', true, true], - ['area', 'geo_shape', true, true], - ['hashed', 'murmur3', false, true], - ['geo.coordinates', 'geo_point', true, true], - ['extension', 'text', true, true], - ['extension.keyword', 'keyword', true, true, {}, { multi: { parent: 'extension' } }], - ['machine.os', 'text', true, true], - ['machine.os.raw', 'keyword', true, true, {}, { multi: { parent: 'machine.os' } }], - ['geo.src', 'keyword', true, true], - ['_id', '_id', true, true], - ['_type', '_type', true, true], - ['_source', '_source', true, true], - ['non-filterable', 'text', true, false], - ['non-sortable', 'text', false, false], - ['custom_user_field', 'conflict', true, true], - ['script string', 'text', true, false, { script: "'i am a string'" }], - ['script number', 'long', true, false, { script: '1234' }], - ['script date', 'date', true, false, { script: '1234', lang: 'painless' }], - ['script murmur3', 'murmur3', true, false, { script: '1234' }], - ].map(function (row) { - const [name, esType, aggregatable, searchable, metadata = {}, subType = undefined] = row; - - const { - count = 0, - script, - lang = script ? 'expression' : undefined, - scripted = !!script, - } = metadata; - - // the conflict type is actually a kbnFieldType, we - // don't have any other way to represent it here - const type = esType === 'conflict' ? esType : castEsToKbnFieldTypeName(esType); - - return { - name, - type, - esTypes: [esType], - readFromDocValues: shouldReadFieldFromDocValues(aggregatable, esType), - aggregatable, - searchable, - count, - script, - lang, - scripted, - subType, - }; - }); -} - -export default stubbedLogstashFields; diff --git a/src/plugins/discover/public/__fixtures__/stubbed_logstash_index_pattern.js b/src/plugins/discover/public/__fixtures__/stubbed_logstash_index_pattern.js deleted file mode 100644 index c8513176d1c96..0000000000000 --- a/src/plugins/discover/public/__fixtures__/stubbed_logstash_index_pattern.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 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 stubbedLogstashFields from './logstash_fields'; -import { getKbnFieldType } from '../../../data/common'; - -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { getStubIndexPattern } from '../../../data/public/test_utils'; -import { uiSettingsServiceMock } from '../../../../core/public/mocks'; - -const uiSettingSetupMock = uiSettingsServiceMock.createSetupContract(); -uiSettingSetupMock.get.mockImplementation((item, defaultValue) => { - return defaultValue; -}); - -export default function stubbedLogstashIndexPatternService() { - const mockLogstashFields = stubbedLogstashFields(); - - const fields = mockLogstashFields.map(function (field) { - const kbnType = getKbnFieldType(field.type); - - if (!kbnType || kbnType.name === 'unknown') { - throw new TypeError(`unknown type ${field.type}`); - } - - return { - ...field, - sortable: 'sortable' in field ? !!field.sortable : kbnType.sortable, - filterable: 'filterable' in field ? !!field.filterable : kbnType.filterable, - displayName: field.name, - }; - }); - - const indexPattern = getStubIndexPattern('logstash-*', (cfg) => cfg, 'time', fields, { - uiSettings: uiSettingSetupMock, - }); - - indexPattern.id = 'logstash-*'; - indexPattern.isTimeNanosBased = () => false; - - return indexPattern; -} diff --git a/src/plugins/discover/public/__mocks__/stubbed_saved_object_index_pattern.ts b/src/plugins/discover/public/__mocks__/stubbed_saved_object_index_pattern.ts deleted file mode 100644 index a0c0b1f2c816e..0000000000000 --- a/src/plugins/discover/public/__mocks__/stubbed_saved_object_index_pattern.ts +++ /dev/null @@ -1,26 +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 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. - */ - -// @ts-expect-error -import stubbedLogstashFields from '../__fixtures__/logstash_fields'; - -const mockLogstashFields = stubbedLogstashFields(); - -export function stubbedSavedObjectIndexPattern(id: string | null = null) { - return { - id, - type: 'index-pattern', - attributes: { - timeFieldName: 'timestamp', - customFormats: {}, - fields: mockLogstashFields, - title: 'title', - }, - version: '2', - }; -} diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_default_sort.test.ts b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_default_sort.test.ts index b2c7499b4a040..3a62108a16bef 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_default_sort.test.ts +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_default_sort.test.ts @@ -7,27 +7,23 @@ */ import { getDefaultSort } from './get_default_sort'; -// @ts-expect-error -import FixturesStubbedLogstashIndexPatternProvider from '../../../../../../__fixtures__/stubbed_logstash_index_pattern'; -import { IndexPattern } from '../../../../../../kibana_services'; +import { + stubIndexPattern, + stubIndexPatternWithoutTimeField, +} from '../../../../../../../../data/common/stubs'; describe('getDefaultSort function', function () { - let indexPattern: IndexPattern; - beforeEach(() => { - indexPattern = FixturesStubbedLogstashIndexPatternProvider() as IndexPattern; - }); test('should be a function', function () { expect(typeof getDefaultSort === 'function').toBeTruthy(); }); test('should return default sort for an index pattern with timeFieldName', function () { - expect(getDefaultSort(indexPattern, 'desc')).toEqual([['time', 'desc']]); - expect(getDefaultSort(indexPattern, 'asc')).toEqual([['time', 'asc']]); + expect(getDefaultSort(stubIndexPattern, 'desc')).toEqual([['@timestamp', 'desc']]); + expect(getDefaultSort(stubIndexPattern, 'asc')).toEqual([['@timestamp', 'asc']]); }); test('should return default sort for an index pattern without timeFieldName', function () { - delete indexPattern.timeFieldName; - expect(getDefaultSort(indexPattern, 'desc')).toEqual([]); - expect(getDefaultSort(indexPattern, 'asc')).toEqual([]); + expect(getDefaultSort(stubIndexPatternWithoutTimeField, 'desc')).toEqual([]); + expect(getDefaultSort(stubIndexPatternWithoutTimeField, 'asc')).toEqual([]); }); }); diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_sort.test.ts b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_sort.test.ts index 865ef1d3fb729..9f7204805dc6f 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_sort.test.ts +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_sort.test.ts @@ -7,50 +7,44 @@ */ import { getSort, getSortArray } from './get_sort'; -// @ts-expect-error -import FixturesStubbedLogstashIndexPatternProvider from '../../../../../../__fixtures__/stubbed_logstash_index_pattern'; -import { IndexPattern } from '../../../../../../kibana_services'; +import { + stubIndexPattern, + stubIndexPatternWithoutTimeField, +} from '../../../../../../../../data/common/stubs'; describe('docTable', function () { - let indexPattern: IndexPattern; - - beforeEach(() => { - indexPattern = FixturesStubbedLogstashIndexPatternProvider() as IndexPattern; - }); - describe('getSort function', function () { test('should be a function', function () { expect(typeof getSort === 'function').toBeTruthy(); }); test('should return an array of objects', function () { - expect(getSort([['bytes', 'desc']], indexPattern)).toEqual([{ bytes: 'desc' }]); - - delete indexPattern.timeFieldName; - expect(getSort([['bytes', 'desc']], indexPattern)).toEqual([{ bytes: 'desc' }]); + expect(getSort([['bytes', 'desc']], stubIndexPattern)).toEqual([{ bytes: 'desc' }]); + expect(getSort([['bytes', 'desc']], stubIndexPatternWithoutTimeField)).toEqual([ + { bytes: 'desc' }, + ]); }); test('should passthrough arrays of objects', () => { - expect(getSort([{ bytes: 'desc' }], indexPattern)).toEqual([{ bytes: 'desc' }]); + expect(getSort([{ bytes: 'desc' }], stubIndexPattern)).toEqual([{ bytes: 'desc' }]); }); test('should return an empty array when passed an unsortable field', function () { - expect(getSort([['non-sortable', 'asc']], indexPattern)).toEqual([]); - expect(getSort([['lol_nope', 'asc']], indexPattern)).toEqual([]); + expect(getSort([['non-sortable', 'asc']], stubIndexPattern)).toEqual([]); + expect(getSort([['lol_nope', 'asc']], stubIndexPattern)).toEqual([]); - delete indexPattern.timeFieldName; - expect(getSort([['non-sortable', 'asc']], indexPattern)).toEqual([]); + expect(getSort([['non-sortable', 'asc']], stubIndexPatternWithoutTimeField)).toEqual([]); }); test('should return an empty array ', function () { - expect(getSort([], indexPattern)).toEqual([]); - expect(getSort([['foo', 'bar']], indexPattern)).toEqual([]); - expect(getSort([{ foo: 'bar' }], indexPattern)).toEqual([]); + expect(getSort([], stubIndexPattern)).toEqual([]); + expect(getSort([['foo', 'bar']], stubIndexPattern)).toEqual([]); + expect(getSort([{ foo: 'bar' }], stubIndexPattern)).toEqual([]); }); test('should convert a legacy sort to an array of objects', function () { - expect(getSort(['foo', 'desc'], indexPattern)).toEqual([{ foo: 'desc' }]); - expect(getSort(['foo', 'asc'], indexPattern)).toEqual([{ foo: 'asc' }]); + expect(getSort(['foo', 'desc'], stubIndexPattern)).toEqual([{ foo: 'desc' }]); + expect(getSort(['foo', 'asc'], stubIndexPattern)).toEqual([{ foo: 'asc' }]); }); }); @@ -60,26 +54,26 @@ describe('docTable', function () { }); test('should return an array of arrays for sortable fields', function () { - expect(getSortArray([['bytes', 'desc']], indexPattern)).toEqual([['bytes', 'desc']]); + expect(getSortArray([['bytes', 'desc']], stubIndexPattern)).toEqual([['bytes', 'desc']]); }); test('should return an array of arrays from an array of elasticsearch sort objects', function () { - expect(getSortArray([{ bytes: 'desc' }], indexPattern)).toEqual([['bytes', 'desc']]); + expect(getSortArray([{ bytes: 'desc' }], stubIndexPattern)).toEqual([['bytes', 'desc']]); }); test('should sort by an empty array when an unsortable field is given', function () { - expect(getSortArray([{ 'non-sortable': 'asc' }], indexPattern)).toEqual([]); - expect(getSortArray([{ lol_nope: 'asc' }], indexPattern)).toEqual([]); + expect(getSortArray([{ 'non-sortable': 'asc' }], stubIndexPattern)).toEqual([]); + expect(getSortArray([{ lol_nope: 'asc' }], stubIndexPattern)).toEqual([]); - delete indexPattern.timeFieldName; - expect(getSortArray([{ 'non-sortable': 'asc' }], indexPattern)).toEqual([]); + expect(getSortArray([{ 'non-sortable': 'asc' }], stubIndexPatternWithoutTimeField)).toEqual( + [] + ); }); test('should return an empty array when passed an empty sort array', () => { - expect(getSortArray([], indexPattern)).toEqual([]); + expect(getSortArray([], stubIndexPattern)).toEqual([]); - delete indexPattern.timeFieldName; - expect(getSortArray([], indexPattern)).toEqual([]); + expect(getSortArray([], stubIndexPatternWithoutTimeField)).toEqual([]); }); }); }); diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_sort_for_search_source.test.ts b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_sort_for_search_source.test.ts index 3753597ced163..061a458037100 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_sort_for_search_source.test.ts +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/get_sort_for_search_source.test.ts @@ -7,35 +7,40 @@ */ import { getSortForSearchSource } from './get_sort_for_search_source'; -// @ts-expect-error -import FixturesStubbedLogstashIndexPatternProvider from '../../../../../../__fixtures__/stubbed_logstash_index_pattern'; -import { IndexPattern } from '../../../../../../kibana_services'; import { SortOrder } from '../components/table_header/helpers'; +import { + stubIndexPattern, + stubIndexPatternWithoutTimeField, +} from '../../../../../../../../data/common/stubs'; describe('getSortForSearchSource function', function () { - let indexPattern: IndexPattern; - beforeEach(() => { - indexPattern = FixturesStubbedLogstashIndexPatternProvider() as IndexPattern; - }); test('should be a function', function () { expect(typeof getSortForSearchSource === 'function').toBeTruthy(); }); test('should return an object to use for searchSource when columns are given', function () { const cols = [['bytes', 'desc']] as SortOrder[]; - expect(getSortForSearchSource(cols, indexPattern)).toEqual([{ bytes: 'desc' }]); - expect(getSortForSearchSource(cols, indexPattern, 'asc')).toEqual([{ bytes: 'desc' }]); - delete indexPattern.timeFieldName; - expect(getSortForSearchSource(cols, indexPattern)).toEqual([{ bytes: 'desc' }]); - expect(getSortForSearchSource(cols, indexPattern, 'asc')).toEqual([{ bytes: 'desc' }]); + expect(getSortForSearchSource(cols, stubIndexPattern)).toEqual([{ bytes: 'desc' }]); + expect(getSortForSearchSource(cols, stubIndexPattern, 'asc')).toEqual([{ bytes: 'desc' }]); + + expect(getSortForSearchSource(cols, stubIndexPatternWithoutTimeField)).toEqual([ + { bytes: 'desc' }, + ]); + expect(getSortForSearchSource(cols, stubIndexPatternWithoutTimeField, 'asc')).toEqual([ + { bytes: 'desc' }, + ]); }); test('should return an object to use for searchSource when no columns are given', function () { const cols = [] as SortOrder[]; - expect(getSortForSearchSource(cols, indexPattern)).toEqual([{ _doc: 'desc' }]); - expect(getSortForSearchSource(cols, indexPattern, 'asc')).toEqual([{ _doc: 'asc' }]); - delete indexPattern.timeFieldName; - expect(getSortForSearchSource(cols, indexPattern)).toEqual([{ _score: 'desc' }]); - expect(getSortForSearchSource(cols, indexPattern, 'asc')).toEqual([{ _score: 'asc' }]); + expect(getSortForSearchSource(cols, stubIndexPattern)).toEqual([{ _doc: 'desc' }]); + expect(getSortForSearchSource(cols, stubIndexPattern, 'asc')).toEqual([{ _doc: 'asc' }]); + + expect(getSortForSearchSource(cols, stubIndexPatternWithoutTimeField)).toEqual([ + { _score: 'desc' }, + ]); + expect(getSortForSearchSource(cols, stubIndexPatternWithoutTimeField, 'asc')).toEqual([ + { _score: 'asc' }, + ]); }); }); diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/row_formatter.test.ts b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/row_formatter.test.ts index 8c108e7d4dcf6..e4424ad0b9d0e 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/row_formatter.test.ts +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/row_formatter.test.ts @@ -8,11 +8,11 @@ import ReactDOM from 'react-dom/server'; import { formatRow, formatTopLevelObject } from './row_formatter'; -import { stubbedSavedObjectIndexPattern } from '../../../../../../__mocks__/stubbed_saved_object_index_pattern'; import { IndexPattern } from '../../../../../../../../data/common/index_patterns/index_patterns'; import { fieldFormatsMock } from '../../../../../../../../field_formats/common/mocks'; import { setServices } from '../../../../../../kibana_services'; import { DiscoverServices } from '../../../../../../build_services'; +import { stubbedSavedObjectIndexPattern } from '../../../../../../../../data/common/stubs'; describe('Row formatter', () => { const hit = { @@ -36,7 +36,7 @@ describe('Row formatter', () => { } = stubbedSavedObjectIndexPattern(id); return new IndexPattern({ - spec: { id, type, version, timeFieldName, fields, title }, + spec: { id, type, version, timeFieldName, fields: JSON.parse(fields), title }, fieldFormats: fieldFormatsMock, shortDotsEnable: false, metaFields: [], diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/__snapshots__/discover_index_pattern_management.test.tsx.snap b/src/plugins/discover/public/application/apps/main/components/sidebar/__snapshots__/discover_index_pattern_management.test.tsx.snap index 913ecda69f663..3ad902ed22fe8 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/__snapshots__/discover_index_pattern_management.test.tsx.snap +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/__snapshots__/discover_index_pattern_management.test.tsx.snap @@ -106,9 +106,64 @@ exports[`Discover IndexPattern Management renders correctly 1`] = ` } } selectedIndexPattern={ - StubIndexPattern { - "_reindexFields": [Function], + IndexPattern { + "allowNoIndex": false, + "deleteFieldFormat": [Function], + "fieldAttrs": Object {}, "fieldFormatMap": Object {}, + "fieldFormats": Object { + "deserialize": [MockFunction], + "getByFieldType": [MockFunction], + "getDefaultConfig": [MockFunction], + "getDefaultInstance": [MockFunction] { + "calls": Array [ + Array [ + "string", + ], + Array [ + "string", + ], + Array [ + "string", + ], + ], + "results": Array [ + Object { + "type": "return", + "value": Object { + "convert": [MockFunction], + "getConverterFor": [MockFunction], + }, + }, + Object { + "type": "return", + "value": Object { + "convert": [MockFunction], + "getConverterFor": [MockFunction], + }, + }, + Object { + "type": "return", + "value": Object { + "convert": [MockFunction], + "getConverterFor": [MockFunction], + }, + }, + ], + }, + "getDefaultInstanceCacheResolver": [MockFunction], + "getDefaultInstancePlain": [MockFunction], + "getDefaultType": [MockFunction], + "getDefaultTypeName": [MockFunction], + "getInstance": [MockFunction], + "getType": [MockFunction], + "getTypeNameByEsTypes": [MockFunction], + "getTypeWithoutMetaParams": [MockFunction], + "has": [MockFunction], + "init": [MockFunction], + "parseDefaultTypeMap": [MockFunction], + "register": [MockFunction], + }, "fields": FldList [ Object { "aggregatable": true, @@ -595,33 +650,29 @@ exports[`Discover IndexPattern Management renders correctly 1`] = ` "type": "murmur3", }, ], - "fieldsFetcher": Object { - "apiClient": Object { - "baseUrl": "", - }, - }, "flattenHit": [Function], "formatField": [Function], "formatHit": [Function], - "getComputedFields": [Function], - "getConfig": [Function], - "getFieldByName": [Function], - "getFormatterForField": [Function], - "getNonScriptedFields": [Function], - "getScriptedFields": [Function], - "getSourceFiltering": [Function], + "getFieldAttrs": [Function], + "getOriginalSavedObjectBody": [Function], "id": "logstash-*", - "isTimeBased": [Function], + "intervalName": undefined, "metaFields": Array [ "_id", "_type", "_source", ], - "popularizeField": [Function], + "originalSavedObjectBody": Object {}, + "resetOriginalSavedObjectBody": [Function], + "runtimeFieldMap": Object {}, "setFieldFormat": [Function], - "stubSetFieldFormat": [Function], + "shortDotsEnable": false, + "sourceFilters": undefined, "timeFieldName": "time", "title": "logstash-*", + "type": undefined, + "typeMeta": undefined, + "version": undefined, } } services={ diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.test.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.test.tsx index 82e37dd2b427c..d0f343a641717 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.test.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.test.tsx @@ -10,12 +10,9 @@ import React from 'react'; import { findTestSubject } from '@elastic/eui/lib/test'; import { mountWithIntl } from '@kbn/test/jest'; -// @ts-expect-error -import stubbedLogstashFields from '../../../../../__fixtures__/logstash_fields'; import { DiscoverField } from './discover_field'; -import { coreMock } from '../../../../../../../../core/public/mocks'; import { IndexPatternField } from '../../../../../../../data/public'; -import { getStubIndexPattern } from '../../../../../../../data/public/test_utils'; +import { stubIndexPattern } from '../../../../../../../data/common/stubs'; jest.mock('../../../../../kibana_services', () => ({ getServices: () => ({ @@ -48,14 +45,6 @@ function getComponent({ showDetails?: boolean; field?: IndexPatternField; }) { - const indexPattern = getStubIndexPattern( - 'logstash-*', - (cfg: unknown) => cfg, - 'time', - stubbedLogstashFields(), - coreMock.createSetup() - ); - const finalField = field ?? new IndexPatternField({ @@ -70,7 +59,7 @@ function getComponent({ }); const props = { - indexPattern, + indexPattern: stubIndexPattern, field: finalField, getDetails: jest.fn(() => ({ buckets: [], error: '', exists: 1, total: 2, columns: [] })), onAddFilter: jest.fn(), diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field_details.test.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field_details.test.tsx index 8c9ad5bc9708a..f873cfa2151da 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field_details.test.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field_details.test.tsx @@ -9,25 +9,15 @@ import React from 'react'; import { findTestSubject } from '@elastic/eui/lib/test'; import { mountWithIntl } from '@kbn/test/jest'; -// @ts-expect-error -import stubbedLogstashFields from '../../../../../__fixtures__/logstash_fields'; + import { DiscoverFieldDetails } from './discover_field_details'; -import { coreMock } from '../../../../../../../../core/public/mocks'; import { IndexPatternField } from '../../../../../../../data/public'; -import { getStubIndexPattern } from '../../../../../../../data/public/test_utils'; - -const indexPattern = getStubIndexPattern( - 'logstash-*', - (cfg: unknown) => cfg, - 'time', - stubbedLogstashFields(), - coreMock.createSetup() -); +import { stubIndexPattern } from '../../../../../../../data/common/stubs'; describe('discover sidebar field details', function () { const onAddFilter = jest.fn(); const defaultProps = { - indexPattern, + indexPattern: stubIndexPattern, details: { buckets: [], error: '', exists: 1, total: 2, columns: [] }, onAddFilter, }; diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_index_pattern_management.test.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_index_pattern_management.test.tsx index d81ecb79a4221..a7db6f22395e8 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_index_pattern_management.test.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_index_pattern_management.test.tsx @@ -10,12 +10,9 @@ import React from 'react'; import { mountWithIntl } from '@kbn/test/jest'; import { EuiContextMenuPanel, EuiPopover, EuiContextMenuItem } from '@elastic/eui'; import { findTestSubject } from '@kbn/test/jest'; -import { getStubIndexPattern } from '../../../../../../../data/public/index_patterns/index_pattern.stub'; -import { coreMock } from '../../../../../../../../core/public/mocks'; import { DiscoverServices } from '../../../../../build_services'; -// @ts-expect-error -import stubbedLogstashFields from '../../../../../__fixtures__/logstash_fields'; import { DiscoverIndexPatternManagement } from './discover_index_pattern_management'; +import { stubLogstashIndexPattern } from '../../../../../../../data/common/stubs'; const mockServices = ({ history: () => ({ @@ -54,13 +51,7 @@ const mockServices = ({ } as unknown) as DiscoverServices; describe('Discover IndexPattern Management', () => { - const indexPattern = getStubIndexPattern( - 'logstash-*', - (cfg: unknown) => cfg, - 'time', - stubbedLogstashFields(), - coreMock.createSetup() - ); + const indexPattern = stubLogstashIndexPattern; const editField = jest.fn(); diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.test.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.test.tsx index 1e00e81f788e6..a9781595d698e 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.test.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar.test.tsx @@ -11,36 +11,24 @@ import { ReactWrapper } from 'enzyme'; import { findTestSubject } from '@elastic/eui/lib/test'; // @ts-expect-error import realHits from '../../../../../__fixtures__/real_hits.js'; -// @ts-expect-error -import stubbedLogstashFields from '../../../../../__fixtures__/logstash_fields'; + import { mountWithIntl } from '@kbn/test/jest'; import React from 'react'; import { DiscoverSidebarProps } from './discover_sidebar'; -import { coreMock } from '../../../../../../../../core/public/mocks'; import { IndexPatternAttributes } from '../../../../../../../data/common'; -import { getStubIndexPattern } from '../../../../../../../data/public/test_utils'; import { SavedObject } from '../../../../../../../../core/types'; import { getDefaultFieldFilter } from './lib/field_filter'; import { DiscoverSidebar } from './discover_sidebar'; import { ElasticSearchHit } from '../../../../doc_views/doc_views_types'; import { discoverServiceMock as mockDiscoverServices } from '../../../../../__mocks__/services'; +import { stubLogstashIndexPattern } from '../../../../../../../data/common/stubs'; jest.mock('../../../../../kibana_services', () => ({ getServices: () => mockDiscoverServices, })); -jest.mock('./lib/get_index_pattern_field_list', () => ({ - getIndexPatternFieldList: jest.fn((indexPattern) => indexPattern.fields), -})); - function getCompProps(): DiscoverSidebarProps { - const indexPattern = getStubIndexPattern( - 'logstash-*', - (cfg: unknown) => cfg, - 'time', - stubbedLogstashFields(), - coreMock.createSetup() - ); + const indexPattern = stubLogstashIndexPattern; // @ts-expect-error _.each() is passing additional args to flattenHit const hits = (each(cloneDeep(realHits), indexPattern.flattenHit) as Array< diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx index 32f7656c73762..c7395c42bb2f1 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx @@ -12,13 +12,9 @@ import { ReactWrapper } from 'enzyme'; import { findTestSubject } from '@elastic/eui/lib/test'; // @ts-expect-error import realHits from '../../../../../__fixtures__/real_hits.js'; -// @ts-expect-error -import stubbedLogstashFields from '../../../../../__fixtures__/logstash_fields'; import { mountWithIntl } from '@kbn/test/jest'; import React from 'react'; -import { coreMock } from '../../../../../../../../core/public/mocks'; import { IndexPatternAttributes } from '../../../../../../../data/common'; -import { getStubIndexPattern } from '../../../../../../../data/public/test_utils'; import { SavedObject } from '../../../../../../../../core/types'; import { DiscoverSidebarResponsive, @@ -28,6 +24,7 @@ import { DiscoverServices } from '../../../../../build_services'; import { ElasticSearchHit } from '../../../../doc_views/doc_views_types'; import { FetchStatus } from '../../../../types'; import { DataDocuments$ } from '../../services/use_saved_search'; +import { stubLogstashIndexPattern } from '../../../../../../../data/common/stubs'; const mockServices = ({ history: () => ({ @@ -56,18 +53,8 @@ jest.mock('../../../../../kibana_services', () => ({ getServices: () => mockServices, })); -jest.mock('./lib/get_index_pattern_field_list', () => ({ - getIndexPatternFieldList: jest.fn((indexPattern) => indexPattern.fields), -})); - function getCompProps(): DiscoverSidebarResponsiveProps { - const indexPattern = getStubIndexPattern( - 'logstash-*', - (cfg: unknown) => cfg, - 'time', - stubbedLogstashFields(), - coreMock.createSetup() - ); + const indexPattern = stubLogstashIndexPattern; // @ts-expect-error _.each() is passing additional args to flattenHit const hits = (each(cloneDeep(realHits), indexPattern.flattenHit) as Array< @@ -80,13 +67,6 @@ function getCompProps(): DiscoverSidebarResponsiveProps { { id: '2', attributes: { title: 'c' } } as SavedObject, ]; - const fieldCounts: Record = {}; - - for (const hit of hits) { - for (const key of Object.keys(indexPattern.flattenHit(hit))) { - fieldCounts[key] = (fieldCounts[key] || 0) + 1; - } - } return { columns: ['extension'], documents$: new BehaviorSubject({ diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/lib/field_calculator.test.ts b/src/plugins/discover/public/application/apps/main/components/sidebar/lib/field_calculator.test.ts index 501f18116dc6f..49cdb83256599 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/lib/field_calculator.test.ts +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/lib/field_calculator.test.ts @@ -11,26 +11,14 @@ import _ from 'lodash'; // @ts-expect-error import realHits from '../../../../../../__fixtures__/real_hits.js'; -// @ts-expect-error -import stubbedLogstashFields from '../../../../../../__fixtures__/logstash_fields'; -import { coreMock } from '../../../../../../../../../core/public/mocks'; + import { IndexPattern } from '../../../../../../../../data/public'; -import { getStubIndexPattern } from '../../../../../../../../data/public/test_utils'; + // @ts-expect-error import { fieldCalculator } from './field_calculator'; - -let indexPattern: IndexPattern; +import { stubLogstashIndexPattern as indexPattern } from '../../../../../../../../data/common/stubs'; describe('fieldCalculator', function () { - beforeEach(function () { - indexPattern = getStubIndexPattern( - 'logstash-*', - (cfg: unknown) => cfg, - 'time', - stubbedLogstashFields(), - coreMock.createSetup() - ); - }); it('should have a _countMissing that counts nulls & undefineds in an array', function () { const values = [ ['foo', 'bar'], diff --git a/src/plugins/field_formats/common/converters/source.test.ts b/src/plugins/field_formats/common/converters/source.test.ts index 726f2c31e7825..662c579c59e9c 100644 --- a/src/plugins/field_formats/common/converters/source.test.ts +++ b/src/plugins/field_formats/common/converters/source.test.ts @@ -10,21 +10,6 @@ import { SourceFormat } from './source'; import { HtmlContextTypeConvert } from '../types'; import { HTML_CONTEXT_TYPE } from '../content_types'; -export const stubIndexPatternWithFields = { - id: '1234', - title: 'logstash-*', - fields: [ - { - name: 'response', - type: 'number', - esTypes: ['integer'], - aggregatable: true, - filterable: true, - searchable: true, - }, - ], -}; - describe('Source Format', () => { let convertHtml: Function; @@ -55,9 +40,9 @@ describe('Source Format', () => { also: 'with "quotes" or \'single quotes\'', }; - const indexPattern = { ...stubIndexPatternWithFields, formatHit: (h: string) => h }; - - expect(convertHtml(hit, { field: 'field', indexPattern, hit })).toMatchInlineSnapshot( + expect( + convertHtml(hit, { field: 'field', indexPattern: { formatHit: (h: string) => h }, hit }) + ).toMatchInlineSnapshot( `"
foo:
bar
number:
42
hello:

World

also:
with \\"quotes\\" or 'single quotes'
"` ); }); diff --git a/src/plugins/field_formats/common/converters/source.tsx b/src/plugins/field_formats/common/converters/source.tsx index 29bae5a41f2f5..9fa7738cabee2 100644 --- a/src/plugins/field_formats/common/converters/source.tsx +++ b/src/plugins/field_formats/common/converters/source.tsx @@ -53,6 +53,7 @@ export class SourceFormat extends FieldFormat { } const highlights = (hit && hit.highlight) || {}; + // TODO: remove index pattern dependency const formatted = indexPattern.formatHit(hit); const highlightPairs: any[] = []; const sourcePairs: any[] = []; diff --git a/src/plugins/field_formats/public/mocks.ts b/src/plugins/field_formats/public/mocks.ts index 53f8cf3a17494..cf7cc5732c6a6 100644 --- a/src/plugins/field_formats/public/mocks.ts +++ b/src/plugins/field_formats/public/mocks.ts @@ -8,15 +8,36 @@ import { CoreSetup } from 'src/core/public'; import { baseFormattersPublic } from './lib/constants'; -import { FieldFormatsRegistry } from '../common'; -import type { FieldFormatsStart, FieldFormatsSetup } from '.'; +import { FieldFormatsRegistry, FORMATS_UI_SETTINGS } from '../common'; +import type { FieldFormatsSetup, FieldFormatsStart } from '.'; import { fieldFormatsMock } from '../common/mocks'; export const getFieldFormatsRegistry = (core: CoreSetup) => { const fieldFormatsRegistry = new FieldFormatsRegistry(); const getConfig = core.uiSettings.get.bind(core.uiSettings); - fieldFormatsRegistry.init(getConfig, {}, baseFormattersPublic); + const getConfigWithFallbacks = (key: string) => { + switch (key) { + case FORMATS_UI_SETTINGS.FORMAT_DEFAULT_TYPE_MAP: + return ( + getConfig(key) ?? + `{ + "ip": { "id": "ip", "params": {} }, + "date": { "id": "date", "params": {} }, + "date_nanos": { "id": "date_nanos", "params": {}, "es": true }, + "number": { "id": "number", "params": {} }, + "boolean": { "id": "boolean", "params": {} }, + "histogram": { "id": "histogram", "params": {} }, + "_source": { "id": "_source", "params": {} }, + "_default_": { "id": "string", "params": {} } +}` + ); + default: + return getConfig(key); + } + }; + + fieldFormatsRegistry.init(getConfigWithFallbacks, {}, baseFormattersPublic); return fieldFormatsRegistry; }; diff --git a/src/plugins/saved_objects/public/saved_object/saved_object.test.ts b/src/plugins/saved_objects/public/saved_object/saved_object.test.ts index 1c44457ae64ea..842e7ad962572 100644 --- a/src/plugins/saved_objects/public/saved_object/saved_object.test.ts +++ b/src/plugins/saved_objects/public/saved_object/saved_object.test.ts @@ -18,13 +18,11 @@ import { SavedObjectDecorator } from './decorators'; import { coreMock } from '../../../../core/public/mocks'; import { dataPluginMock, createSearchSourceMock } from '../../../../plugins/data/public/mocks'; -import { getStubIndexPattern, StubIndexPattern } from '../../../../plugins/data/public/test_utils'; +import { createStubIndexPattern } from '../../../../plugins/data/common/stubs'; import { SavedObjectAttributes, SimpleSavedObject } from 'kibana/public'; -import { IndexPattern } from '../../../data/common/index_patterns'; +import { IndexPattern } from '../../../data/common/index_patterns/index_patterns'; import { savedObjectsDecoratorRegistryMock } from './decorators/registry.mock'; -const getConfig = (cfg: any) => cfg; - describe('Saved Object', () => { const startMock = coreMock.createStart(); const dataStartMock = dataPluginMock.createStartContract(); @@ -375,14 +373,9 @@ describe('Saved Object', () => { type: 'dashboard', } as SimpleSavedObject); - const indexPattern = getStubIndexPattern( - 'my-index', - getConfig, - null, - [], - coreMock.createSetup() - ); - indexPattern.title = indexPattern.id!; + const indexPattern = createStubIndexPattern({ + spec: { id: 'my-index', title: 'my-index' }, + }); savedObject.searchSource!.setField('index', indexPattern); return savedObject.save(saveOptionsMock).then(() => { const args = (savedObjectsClientStub.create as jest.Mock).mock.calls[0]; @@ -416,13 +409,12 @@ describe('Saved Object', () => { type: 'dashboard', } as SimpleSavedObject); - const indexPattern = getStubIndexPattern( - 'non-existant-index', - getConfig, - null, - [], - coreMock.createSetup() - ); + const indexPattern = createStubIndexPattern({ + spec: { + id: 'non-existant-index', + }, + }); + savedObject.searchSource!.setFields({ index: indexPattern }); return savedObject.save(saveOptionsMock).then(() => { const args = (savedObjectsClientStub.create as jest.Mock).mock.calls[0]; @@ -746,14 +738,12 @@ describe('Saved Object', () => { const savedObject = new SavedObjectClass(config); savedObject.hydrateIndexPattern = jest.fn().mockImplementation(() => { - const indexPattern = getStubIndexPattern( - indexPatternId, - getConfig, - null, - [], - coreMock.createSetup() - ); - indexPattern.title = indexPattern.id!; + const indexPattern = createStubIndexPattern({ + spec: { + id: indexPatternId, + title: indexPatternId, + }, + }); savedObject.searchSource!.setField('index', indexPattern); return Bluebird.resolve(indexPattern); }); @@ -762,7 +752,7 @@ describe('Saved Object', () => { return savedObject.init!().then(() => { expect(afterESRespCallback).toHaveBeenCalled(); const index = savedObject.searchSource!.getField('index'); - expect(index instanceof StubIndexPattern).toBe(true); + expect(index instanceof IndexPattern).toBe(true); expect(index!.id).toEqual(indexPatternId); }); }); diff --git a/src/plugins/vis_type_table/public/legacy/agg_table/agg_table.test.js b/src/plugins/vis_type_table/public/legacy/agg_table/agg_table.test.js index 2f423538568bd..ecb4ade51b36c 100644 --- a/src/plugins/vis_type_table/public/legacy/agg_table/agg_table.test.js +++ b/src/plugins/vis_type_table/public/legacy/agg_table/agg_table.test.js @@ -7,7 +7,7 @@ */ import $ from 'jquery'; -import moment from 'moment'; +import moment from 'moment-timezone'; import angular from 'angular'; import 'angular-mocks'; import sinon from 'sinon'; diff --git a/src/plugins/vis_type_table/public/legacy/table_vis_controller.test.ts b/src/plugins/vis_type_table/public/legacy/table_vis_controller.test.ts index f4a742ea16cb4..e53d4e879bb3b 100644 --- a/src/plugins/vis_type_table/public/legacy/table_vis_controller.test.ts +++ b/src/plugins/vis_type_table/public/legacy/table_vis_controller.test.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import angular, { IRootScopeService, IScope, ICompileService } from 'angular'; +import angular, { ICompileService, IRootScopeService, IScope } from 'angular'; import 'angular-mocks'; import 'angular-sanitize'; import $ from 'jquery'; @@ -16,11 +16,10 @@ import { initTableVisLegacyModule } from './table_vis_legacy_module'; import { initAngularBootstrap } from '../../../kibana_legacy/public/angular_bootstrap'; import { tableVisLegacyTypeDefinition } from './table_vis_legacy_type'; import { Vis } from '../../../visualizations/public'; -import { stubFields } from '../../../data/public/stubs'; +import { createStubIndexPattern, stubFieldSpecMap } from '../../../data/public/stubs'; import { tableVisLegacyResponseHandler } from './table_vis_legacy_response_handler'; import { coreMock } from '../../../../core/public/mocks'; -import { IAggConfig, search } from '../../../data/public'; -import { getStubIndexPattern } from '../../../data/public/test_utils'; +import { IAggConfig, IndexPattern, search } from '../../../data/public'; import { searchServiceMock } from '../../../data/public/search/mocks'; const { createAggConfigs } = searchServiceMock.createStartContract().aggs; @@ -66,7 +65,7 @@ describe('Table Vis - Controller', () => { let $el: JQuery; let tableAggResponse: any; let tabifiedResponse: any; - let stubIndexPattern: any; + let stubIndexPattern: IndexPattern; const initLocalAngular = () => { const tableVisModule = getAngularModule( @@ -92,13 +91,14 @@ describe('Table Vis - Controller', () => { ); beforeEach(() => { - stubIndexPattern = getStubIndexPattern( - 'logstash-*', - (cfg: any) => cfg, - 'time', - stubFields, - coreMock.createSetup() - ); + stubIndexPattern = createStubIndexPattern({ + spec: { + id: 'logstash-*', + title: 'logstash-*', + timeFieldName: 'time', + fields: stubFieldSpecMap, + }, + }); }); function getRangeVis(params?: object) { diff --git a/src/plugins/visualizations/public/__fixtures__/logstash_fields.js b/src/plugins/visualizations/public/__fixtures__/logstash_fields.js deleted file mode 100644 index a51e1555421de..0000000000000 --- a/src/plugins/visualizations/public/__fixtures__/logstash_fields.js +++ /dev/null @@ -1,75 +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 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. - */ - -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { shouldReadFieldFromDocValues, castEsToKbnFieldTypeName } from '../../../data/server'; - -function stubbedLogstashFields() { - return [ - // |aggregatable - // | |searchable - // name esType | | |metadata | subType - ['bytes', 'long', true, true, { count: 10 }], - ['ssl', 'boolean', true, true, { count: 20 }], - ['@timestamp', 'date', true, true, { count: 30 }], - ['time', 'date', true, true, { count: 30 }], - ['@tags', 'keyword', true, true], - ['utc_time', 'date', true, true], - ['phpmemory', 'integer', true, true], - ['ip', 'ip', true, true], - ['request_body', 'attachment', true, true], - ['point', 'geo_point', true, true], - ['area', 'geo_shape', true, true], - ['hashed', 'murmur3', false, true], - ['geo.coordinates', 'geo_point', true, true], - ['extension', 'text', true, true], - ['extension.keyword', 'keyword', true, true, {}, { multi: { parent: 'extension' } }], - ['machine.os', 'text', true, true], - ['machine.os.raw', 'keyword', true, true, {}, { multi: { parent: 'machine.os' } }], - ['geo.src', 'keyword', true, true], - ['_id', '_id', true, true], - ['_type', '_type', true, true], - ['_source', '_source', true, true], - ['non-filterable', 'text', true, false], - ['non-sortable', 'text', false, false], - ['custom_user_field', 'conflict', true, true], - ['script string', 'text', true, false, { script: "'i am a string'" }], - ['script number', 'long', true, false, { script: '1234' }], - ['script date', 'date', true, false, { script: '1234', lang: 'painless' }], - ['script murmur3', 'murmur3', true, false, { script: '1234' }], - ].map(function (row) { - const [name, esType, aggregatable, searchable, metadata = {}, subType = undefined] = row; - - const { - count = 0, - script, - lang = script ? 'expression' : undefined, - scripted = !!script, - } = metadata; - - // the conflict type is actually a kbnFieldType, we - // don't have any other way to represent it here - const type = esType === 'conflict' ? esType : castEsToKbnFieldTypeName(esType); - - return { - name, - type, - esTypes: [esType], - readFromDocValues: shouldReadFieldFromDocValues(aggregatable, esType), - aggregatable, - searchable, - count, - script, - lang, - scripted, - subType, - }; - }); -} - -export default stubbedLogstashFields; diff --git a/src/plugins/visualizations/public/__fixtures__/stubbed_logstash_index_pattern.js b/src/plugins/visualizations/public/__fixtures__/stubbed_logstash_index_pattern.js deleted file mode 100644 index c8513176d1c96..0000000000000 --- a/src/plugins/visualizations/public/__fixtures__/stubbed_logstash_index_pattern.js +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 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 stubbedLogstashFields from './logstash_fields'; -import { getKbnFieldType } from '../../../data/common'; - -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { getStubIndexPattern } from '../../../data/public/test_utils'; -import { uiSettingsServiceMock } from '../../../../core/public/mocks'; - -const uiSettingSetupMock = uiSettingsServiceMock.createSetupContract(); -uiSettingSetupMock.get.mockImplementation((item, defaultValue) => { - return defaultValue; -}); - -export default function stubbedLogstashIndexPatternService() { - const mockLogstashFields = stubbedLogstashFields(); - - const fields = mockLogstashFields.map(function (field) { - const kbnType = getKbnFieldType(field.type); - - if (!kbnType || kbnType.name === 'unknown') { - throw new TypeError(`unknown type ${field.type}`); - } - - return { - ...field, - sortable: 'sortable' in field ? !!field.sortable : kbnType.sortable, - filterable: 'filterable' in field ? !!field.filterable : kbnType.filterable, - displayName: field.name, - }; - }); - - const indexPattern = getStubIndexPattern('logstash-*', (cfg) => cfg, 'time', fields, { - uiSettings: uiSettingSetupMock, - }); - - indexPattern.id = 'logstash-*'; - indexPattern.isTimeNanosBased = () => false; - - return indexPattern; -} diff --git a/src/plugins/visualizations/public/vis.test.ts b/src/plugins/visualizations/public/vis.test.ts index 45c5bb6b979c6..bfe69f9c59a36 100644 --- a/src/plugins/visualizations/public/vis.test.ts +++ b/src/plugins/visualizations/public/vis.test.ts @@ -26,7 +26,7 @@ jest.mock('./services', () => { // eslint-disable-next-line const { SearchSource } = require('../../data/common/search/search_source'); // eslint-disable-next-line - const fixturesStubbedLogstashIndexPatternProvider = require('./__fixtures__/stubbed_logstash_index_pattern'); + const stubIndexPattern = require('../../data/common/stubs'); const visType = new BaseVisType({ name: 'pie', title: 'pie', @@ -44,7 +44,7 @@ jest.mock('./services', () => { getSearch: () => ({ searchSource: { create: () => { - return new SearchSource({ index: fixturesStubbedLogstashIndexPatternProvider }); + return new SearchSource({ index: stubIndexPattern }); }, }, }), diff --git a/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts b/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts index 5f5ae16ed9733..72408b7f9c534 100644 --- a/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts +++ b/x-pack/plugins/ml/server/models/job_service/new_job_caps/rollup.ts @@ -31,7 +31,7 @@ export async function rollupServiceProvider( estypes.RollupGetRollupCapabilitiesRollupCapabilitySummary[] | null > { if (rollupIndexPatternObject !== null) { - const parsedTypeMetaData = JSON.parse(rollupIndexPatternObject.attributes.typeMeta); + const parsedTypeMetaData = JSON.parse(rollupIndexPatternObject.attributes.typeMeta!); const rollUpIndex: string = parsedTypeMetaData.params.rollup_index; const { body: rollupCaps } = await asCurrentUser.rollup.getRollupIndexCaps({ index: rollUpIndex, diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/exploratory_view.test.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/exploratory_view.test.tsx index 989ebf17c2062..a3b5130e9830b 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/exploratory_view.test.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/exploratory_view.test.tsx @@ -7,31 +7,32 @@ import React from 'react'; import { screen, waitFor } from '@testing-library/dom'; -import { render, mockCore, mockAppIndexPattern } from './rtl_helpers'; +import { render, mockAppIndexPattern } from './rtl_helpers'; import { ExploratoryView } from './exploratory_view'; -import { getStubIndexPattern } from '../../../../../../../src/plugins/data/public/test_utils'; import * as obsvInd from './utils/observability_index_patterns'; +import { createStubIndexPattern } from '../../../../../../../src/plugins/data/common/stubs'; describe('ExploratoryView', () => { mockAppIndexPattern(); beforeEach(() => { - const indexPattern = getStubIndexPattern( - 'apm-*', - () => {}, - '@timestamp', - [ - { - name: '@timestamp', - type: 'date', - esTypes: ['date'], - searchable: true, - aggregatable: true, - readFromDocValues: true, + const indexPattern = createStubIndexPattern({ + spec: { + id: 'apm-*', + title: 'apm-*', + timeFieldName: '@timestamp', + fields: { + '@timestamp': { + name: '@timestamp', + type: 'date', + esTypes: ['date'], + searchable: true, + aggregatable: true, + readFromDocValues: true, + }, }, - ], - mockCore() as any - ); + }, + }); jest.spyOn(obsvInd, 'ObservabilityIndexPatterns').mockReturnValue({ getIndexPattern: jest.fn().mockReturnValue(indexPattern), diff --git a/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx b/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx index 972e3beb4b722..bad9f0d7ff415 100644 --- a/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx +++ b/x-pack/plugins/observability/public/components/shared/exploratory_view/rtl_helpers.tsx @@ -30,8 +30,7 @@ import * as fetcherHook from '../../../hooks/use_fetcher'; import * as useSeriesFilterHook from './hooks/use_series_filters'; import * as useHasDataHook from '../../../hooks/use_has_data'; import * as useValuesListHook from '../../../hooks/use_values_list'; -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { getStubIndexPattern } from '../../../../../../../src/plugins/data/public/index_patterns/index_pattern.stub'; + import indexPatternData from './configurations/test_data/test_index_pattern.json'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { setIndexPatterns } from '../../../../../../../src/plugins/data/public/services'; @@ -39,6 +38,7 @@ import { IndexPattern, IndexPatternsContract, } from '../../../../../../../src/plugins/data/common/index_patterns/index_patterns'; +import { createStubIndexPattern } from '../../../../../../../src/plugins/data/common/stubs'; import { AppDataType, UrlFilter } from './types'; import { dataPluginMock } from '../../../../../../../src/plugins/data/public/mocks'; import { ListItem } from '../../../hooks/use_values_list'; @@ -320,10 +320,11 @@ export const mockHistory = { }, }; -export const mockIndexPattern = getStubIndexPattern( - 'apm-*', - () => {}, - '@timestamp', - JSON.parse(indexPatternData.attributes.fields), - mockCore() as any -); +export const mockIndexPattern = createStubIndexPattern({ + spec: { + id: 'apm-*', + title: 'apm-*', + timeFieldName: '@timestamp', + fields: JSON.parse(indexPatternData.attributes.fields), + }, +}); diff --git a/x-pack/plugins/security_solution/public/common/components/exceptions/edit_exception_modal/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/exceptions/edit_exception_modal/index.test.tsx index 73f0a19ea1391..8c719373eda71 100644 --- a/x-pack/plugins/security_solution/public/common/components/exceptions/edit_exception_modal/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/exceptions/edit_exception_modal/index.test.tsx @@ -13,10 +13,7 @@ import { mount, ReactWrapper } from 'enzyme'; import { EditExceptionModal } from './'; import { useCurrentUser } from '../../../../common/lib/kibana'; import { useFetchIndex } from '../../../containers/source'; -import { - stubIndexPattern, - stubIndexPatternWithFields, -} from 'src/plugins/data/common/index_patterns/index_pattern.stub'; +import { stubIndexPattern, createStubIndexPattern } from 'src/plugins/data/common/stubs'; import { useAddOrUpdateException } from '../use_add_exception'; import { useSignalIndex } from '../../../../detections/containers/detection_engine/alerts/use_signal_index'; import { getExceptionListItemSchemaMock } from '../../../../../../lists/common/schemas/response/exception_list_item_schema.mock'; @@ -82,7 +79,21 @@ describe('When the edit exception modal is opened', () => { (useFetchIndex as jest.Mock).mockImplementation(() => [ false, { - indexPatterns: stubIndexPatternWithFields, + indexPatterns: createStubIndexPattern({ + spec: { + id: '1234', + title: 'logstash-*', + fields: { + response: { + name: 'response', + type: 'number', + esTypes: ['integer'], + aggregatable: true, + searchable: true, + }, + }, + }, + }), }, ]); (useCurrentUser as jest.Mock).mockReturnValue({ username: 'test-username' }); diff --git a/x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form/index.test.tsx b/x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form/index.test.tsx index dab6f8108b6f1..3934e3a389c36 100644 --- a/x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form/index.test.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/event_filters/view/components/form/index.test.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { EventFiltersForm } from '.'; import { RenderResult, act } from '@testing-library/react'; import { fireEvent, waitFor } from '@testing-library/dom'; -import { stubIndexPatternWithFields } from 'src/plugins/data/common/index_patterns/index_pattern.stub'; +import { stubIndexPattern } from 'src/plugins/data/common/stubs'; import { getInitialExceptionFromEvent } from '../../../store/utils'; import { useFetchIndex } from '../../../../../../common/containers/source'; import { ecsEventMock } from '../../../test_utils'; @@ -52,7 +52,7 @@ describe('Event filter form', () => { (useFetchIndex as jest.Mock).mockImplementation(() => [ false, { - indexPatterns: stubIndexPatternWithFields, + indexPatterns: stubIndexPattern, }, ]); (useCurrentUser as jest.Mock).mockReturnValue({ username: 'test-username' }); From c34cbbc7ad48a5c2b116e9556a6d199a6ad5be39 Mon Sep 17 00:00:00 2001 From: Sergi Massaneda Date: Wed, 25 Aug 2021 13:11:33 +0200 Subject: [PATCH 018/139] fix empty actions popover button (#110015) --- .../pages/alerts/alerts_table_t_grid.tsx | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx b/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx index 3b62538fa3e30..0fa36aff7a456 100644 --- a/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx @@ -217,18 +217,22 @@ function ObservabilityActions({ const actionsMenuItems = useMemo(() => { return [ - timelines.getAddToExistingCaseButton({ - event, - casePermissions, - appId: observabilityFeatureId, - onClose: afterCaseSelection, - }), - timelines.getAddToNewCaseButton({ - event, - casePermissions, - appId: observabilityFeatureId, - onClose: afterCaseSelection, - }), + ...(casePermissions?.crud + ? [ + timelines.getAddToExistingCaseButton({ + event, + casePermissions, + appId: observabilityFeatureId, + onClose: afterCaseSelection, + }), + timelines.getAddToNewCaseButton({ + event, + casePermissions, + appId: observabilityFeatureId, + onClose: afterCaseSelection, + }), + ] + : []), ...(alertPermissions.crud ? statusActionItems : []), ]; }, [afterCaseSelection, casePermissions, timelines, event, statusActionItems, alertPermissions]); From 53283c59964f738732225d6a542f9cccddea4a7e Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Wed, 25 Aug 2021 13:28:08 +0200 Subject: [PATCH 019/139] [ML] Fix colours in the Anomaly swim lane and Annotations chart (#110001) * [ML] use current theme * [ML] use current theme in annotations chart --- .../swimlane_annotation_container.tsx | 10 ++++---- .../explorer/swimlane_container.tsx | 24 +++++++++---------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/x-pack/plugins/ml/public/application/explorer/swimlane_annotation_container.tsx b/x-pack/plugins/ml/public/application/explorer/swimlane_annotation_container.tsx index 1f72e6ee8c7ff..9838fb623db95 100644 --- a/x-pack/plugins/ml/public/application/explorer/swimlane_annotation_container.tsx +++ b/x-pack/plugins/ml/public/application/explorer/swimlane_annotation_container.tsx @@ -12,11 +12,11 @@ import { i18n } from '@kbn/i18n'; import { formatHumanReadableDateTimeSeconds } from '../../../common/util/date_utils'; import { AnnotationsTable } from '../../../common/types/annotations'; import { ChartTooltipService } from '../components/chart_tooltip'; +import { useCurrentEuiTheme } from '../components/color_range_legend'; export const X_AXIS_RIGHT_OVERFLOW = 50; export const Y_AXIS_LABEL_WIDTH = 170; export const Y_AXIS_LABEL_PADDING = 8; -export const Y_AXIS_LABEL_FONT_COLOR = '#6a717d'; const ANNOTATION_CONTAINER_HEIGHT = 12; const ANNOTATION_MIN_WIDTH = 8; @@ -38,6 +38,8 @@ export const SwimlaneAnnotationContainer: FC = }) => { const canvasRef = React.useRef(null); + const { euiTheme } = useCurrentEuiTheme(); + useEffect(() => { if (canvasRef.current !== null && Array.isArray(annotationsData)) { const chartElement = d3.select(canvasRef.current); @@ -67,8 +69,8 @@ export const SwimlaneAnnotationContainer: FC = ) .attr('x', Y_AXIS_LABEL_WIDTH + Y_AXIS_LABEL_PADDING) .attr('y', ANNOTATION_CONTAINER_HEIGHT) - .style('fill', Y_AXIS_LABEL_FONT_COLOR) - .style('font-size', '12px'); + .style('fill', euiTheme.euiTextSubduedColor) + .style('font-size', euiTheme.euiFontSizeXS); // Add border svg @@ -77,7 +79,7 @@ export const SwimlaneAnnotationContainer: FC = .attr('y', 0) .attr('height', ANNOTATION_CONTAINER_HEIGHT) .attr('width', endingXPos - startingXPos) - .style('stroke', '#cccccc') + .style('stroke', euiTheme.euiBorderColor) .style('fill', 'none') .style('stroke-width', 1); diff --git a/x-pack/plugins/ml/public/application/explorer/swimlane_container.tsx b/x-pack/plugins/ml/public/application/explorer/swimlane_container.tsx index e49163de9e680..0c150773d22be 100644 --- a/x-pack/plugins/ml/public/application/explorer/swimlane_container.tsx +++ b/x-pack/plugins/ml/public/application/explorer/swimlane_container.tsx @@ -47,10 +47,10 @@ import { useUiSettings } from '../contexts/kibana'; import { Y_AXIS_LABEL_WIDTH, Y_AXIS_LABEL_PADDING, - Y_AXIS_LABEL_FONT_COLOR, X_AXIS_RIGHT_OVERFLOW, } from './swimlane_annotation_container'; import { AnnotationsTable } from '../../../common/types/annotations'; +import { useCurrentEuiTheme } from '../components/color_range_legend'; declare global { interface Window { @@ -192,6 +192,7 @@ export const SwimlaneContainer: FC = ({ const [chartWidth, setChartWidth] = useState(0); const isDarkTheme = !!useUiSettings().get('theme:darkMode'); + const { euiTheme } = useCurrentEuiTheme(); // Holds the container height for previously fetched data const containerHeightRef = useRef(); @@ -284,6 +285,8 @@ export const SwimlaneContainer: FC = ({ return { onBrushEnd: (e: HeatmapBrushEvent) => { + if (!e.cells.length) return; + onCellsSelection({ lanes: e.y as string[], times: e.x.map((v) => (v as number) / 1000) as [number, number], @@ -298,7 +301,7 @@ export const SwimlaneContainer: FC = ({ }, stroke: { width: 1, - color: '#D3DAE6', + color: euiTheme.euiBorderColor, }, }, cell: { @@ -308,31 +311,29 @@ export const SwimlaneContainer: FC = ({ visible: false, }, border: { - stroke: '#D3DAE6', + stroke: euiTheme.euiBorderColor, strokeWidth: 0, }, }, yAxisLabel: { visible: true, width: Y_AXIS_LABEL_WIDTH, - // eui color subdued - fill: Y_AXIS_LABEL_FONT_COLOR, + fill: euiTheme.euiTextSubduedColor, padding: Y_AXIS_LABEL_PADDING, formatter: (laneLabel: string) => { return laneLabel === '' ? EMPTY_FIELD_VALUE_LABEL : laneLabel; }, - fontSize: 12, + fontSize: parseInt(euiTheme.euiFontSizeXS, 10), }, xAxisLabel: { visible: true, - // eui color subdued - fill: `#98A2B3`, + fill: euiTheme.euiTextSubduedColor, formatter: (v: number) => { timeBuckets.setInterval(`${swimlaneData.interval}s`); const scaledDateFormat = timeBuckets.getScaledDateFormat(); return moment(v).format(scaledDateFormat); }, - fontSize: 12, + fontSize: parseInt(euiTheme.euiFontSizeXS, 10), // Required to calculate where the swimlane ends width: X_AXIS_RIGHT_OVERFLOW * 2, }, @@ -354,8 +355,7 @@ export const SwimlaneContainer: FC = ({ onCellsSelection, ]); - // @ts-ignore - const onElementClick: ElementClickListener = useCallback( + const onElementClick = useCallback( (e: HeatmapElementEvent[]) => { const cell = e[0][0]; const startTime = (cell.datum.x as number) / 1000; @@ -368,7 +368,7 @@ export const SwimlaneContainer: FC = ({ onCellsSelection(payload); }, [swimlaneType, swimlaneData?.fieldName, swimlaneData?.interval, onCellsSelection] - ); + ) as ElementClickListener; const tooltipOptions: TooltipSettings = useMemo( () => ({ From 22484b7547e31d9c3130b6e1d2acd5e5aa313d00 Mon Sep 17 00:00:00 2001 From: Ashokaditya Date: Wed, 25 Aug 2021 14:06:46 +0200 Subject: [PATCH 020/139] remove min and max date restrictions (#109452) (#110020) --- .../components/activity_log_date_range_picker/index.tsx | 3 --- 1 file changed, 3 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/activity_log_date_range_picker/index.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/activity_log_date_range_picker/index.tsx index b3a32f6518c91..60adbf3060f2d 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/activity_log_date_range_picker/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/activity_log_date_range_picker/index.tsx @@ -94,7 +94,6 @@ export const DateRangePicker = memo(() => { aria-label="Start date" endDate={endDate ? moment(endDate) : undefined} isInvalid={isInvalidDateRange} - maxDate={moment(endDate) || moment()} onChange={onChangeStartDate} onClear={() => onClear({ clearStart: true })} placeholderText={i18.ACTIVITY_LOG.datePicker.startDate} @@ -108,8 +107,6 @@ export const DateRangePicker = memo(() => { aria-label="End date" endDate={endDate ? moment(endDate) : undefined} isInvalid={isInvalidDateRange} - maxDate={moment()} - minDate={startDate ? moment(startDate) : undefined} onChange={onChangeEndDate} onClear={() => onClear({ clearEnd: true })} placeholderText={i18.ACTIVITY_LOG.datePicker.endDate} From d29d844ef9eda2d593b1b8d6f555ff95b2185119 Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Wed, 25 Aug 2021 14:16:12 +0200 Subject: [PATCH 021/139] [ML] Fix form layout of the Anomaly jobs health rule type (#110017) * [ML] adjust paddings the flyout form * [ML] add beta badge --- .../plugins/ml/public/alerting/beta_badge.tsx | 25 +++ ...aly_detection_jobs_health_rule_trigger.tsx | 10 + .../tests_selection_control.tsx | 196 +++++++++--------- .../alerting/ml_anomaly_alert_trigger.tsx | 23 +- 4 files changed, 142 insertions(+), 112 deletions(-) create mode 100644 x-pack/plugins/ml/public/alerting/beta_badge.tsx diff --git a/x-pack/plugins/ml/public/alerting/beta_badge.tsx b/x-pack/plugins/ml/public/alerting/beta_badge.tsx new file mode 100644 index 0000000000000..1f03fa5c6c8bf --- /dev/null +++ b/x-pack/plugins/ml/public/alerting/beta_badge.tsx @@ -0,0 +1,25 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { FC } from 'react'; +import { EuiBetaBadge, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +export const BetaBadge: FC<{ message: string }> = ({ message }) => { + return ( + + + + + + ); +}; diff --git a/x-pack/plugins/ml/public/alerting/jobs_health_rule/anomaly_detection_jobs_health_rule_trigger.tsx b/x-pack/plugins/ml/public/alerting/jobs_health_rule/anomaly_detection_jobs_health_rule_trigger.tsx index 7c75817e4029f..3cb2a2d426a56 100644 --- a/x-pack/plugins/ml/public/alerting/jobs_health_rule/anomaly_detection_jobs_health_rule_trigger.tsx +++ b/x-pack/plugins/ml/public/alerting/jobs_health_rule/anomaly_detection_jobs_health_rule_trigger.tsx @@ -19,6 +19,7 @@ import { useMlKibana } from '../../application/contexts/kibana'; import { TestsSelectionControl } from './tests_selection_control'; import { isPopulatedObject } from '../../../common'; import { ALL_JOBS_SELECTION } from '../../../common/constants/alerts'; +import { BetaBadge } from '../beta_badge'; export type MlAnomalyAlertTriggerProps = AlertTypeParamsExpressionProps; @@ -92,6 +93,15 @@ const AnomalyDetectionJobsHealthRuleTrigger: FC = ({ error={formErrors} isInvalid={isFormInvalid} > + + = React.memo( ); return ( - - {(Object.entries(uiConfig) as Array< - [JobsHealthTests, typeof uiConfig[JobsHealthTests]] - >).map(([name, conf], i) => { - return ( - {HEALTH_CHECK_NAMES[name]?.name}} - description={HEALTH_CHECK_NAMES[name]?.description} - > - - - } - onChange={updateCallback.bind(null, { - [name]: { - ...uiConfig[name], - enabled: !uiConfig[name].enabled, - }, - })} - checked={uiConfig[name].enabled} - /> - - - - {name === 'delayedData' ? ( - <> - + + {(Object.entries(uiConfig) as Array< + [JobsHealthTests, typeof uiConfig[JobsHealthTests]] + >).map(([name, conf], i) => { + return ( + {HEALTH_CHECK_NAMES[name]?.name}} + description={HEALTH_CHECK_NAMES[name]?.description} + fullWidth + gutterSize={'s'} + > + + - - - } - > - - - + } - > - + + + {name === 'delayedData' ? ( + <> + + + + + + } + > + + + + } + > + { + updateCallback({ + [name]: { + ...uiConfig[name], + docsCount: Number(e.target.value), + }, + }); + }} + min={1} + /> + + + + + + + + } + > + + + + } + value={uiConfig.delayedData.timeInterval} onChange={(e) => { updateCallback({ [name]: { ...uiConfig[name], - docsCount: Number(e.target.value), + timeInterval: e, }, }); }} - min={1} /> - - - - - - - - } - > - - - - } - value={uiConfig.delayedData.timeInterval} - onChange={(e) => { - updateCallback({ - [name]: { - ...uiConfig[name], - timeInterval: e, - }, - }); - }} - /> - - - - ) : null} - - ); - })} - + + ) : null} + + ); + })} + + + ); } ); diff --git a/x-pack/plugins/ml/public/alerting/ml_anomaly_alert_trigger.tsx b/x-pack/plugins/ml/public/alerting/ml_anomaly_alert_trigger.tsx index 719b5c4aa4ad5..44a39ae5d4507 100644 --- a/x-pack/plugins/ml/public/alerting/ml_anomaly_alert_trigger.tsx +++ b/x-pack/plugins/ml/public/alerting/ml_anomaly_alert_trigger.tsx @@ -6,7 +6,7 @@ */ import React, { FC, useCallback, useEffect, useMemo, useState } from 'react'; -import { EuiSpacer, EuiForm, EuiBetaBadge, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { EuiSpacer, EuiForm } from '@elastic/eui'; import useMount from 'react-use/lib/useMount'; import { i18n } from '@kbn/i18n'; import { JobSelectorControl } from './job_selector'; @@ -31,6 +31,7 @@ import { getLookbackInterval, getTopNBuckets } from '../../common/util/alerts'; import { isDefined } from '../../common/types/guards'; import { AlertTypeParamsExpressionProps } from '../../../triggers_actions_ui/public'; import { parseInterval } from '../../common/util/parse_interval'; +import { BetaBadge } from './beta_badge'; export type MlAnomalyAlertTriggerProps = AlertTypeParamsExpressionProps; @@ -154,21 +155,11 @@ const MlAnomalyAlertTrigger: FC = ({ return ( - - - - - + Date: Wed, 25 Aug 2021 14:37:10 +0200 Subject: [PATCH 022/139] [Data] Fix CIDR mask to avoid using big integers (#109789) --- .../search/aggs/buckets/lib/cidr_mask.ts | 41 +++++++++---------- .../search/aggs/utils/ip_address.test.ts | 15 ------- .../common/search/aggs/utils/ip_address.ts | 12 ------ 3 files changed, 19 insertions(+), 49 deletions(-) diff --git a/src/plugins/data/common/search/aggs/buckets/lib/cidr_mask.ts b/src/plugins/data/common/search/aggs/buckets/lib/cidr_mask.ts index 93ccbffaeb89d..482885861c65a 100644 --- a/src/plugins/data/common/search/aggs/buckets/lib/cidr_mask.ts +++ b/src/plugins/data/common/search/aggs/buckets/lib/cidr_mask.ts @@ -10,44 +10,41 @@ import ipaddr from 'ipaddr.js'; import { IpAddress } from '../../utils'; export class CidrMask { + private static getNetmask(size: number, prefix: number) { + return new Array(size).fill(255).map((byte, index) => { + const bytePrefix = 8 - Math.min(Math.max(prefix - index * 8, 0), 8); + + // eslint-disable-next-line no-bitwise + return (byte >> bytePrefix) << bytePrefix; + }); + } + private address: number[]; - private netmask: number; + private netmask: number[]; + private prefix: number; constructor(cidr: string) { try { - const [address, netmask] = ipaddr.parseCIDR(cidr); + const [address, prefix] = ipaddr.parseCIDR(cidr); this.address = address.toByteArray(); - this.netmask = netmask; + this.netmask = CidrMask.getNetmask(this.address.length, prefix); + this.prefix = prefix; } catch { throw Error('Invalid CIDR mask: ' + cidr); } } private getBroadcastAddress() { - /* eslint-disable no-bitwise */ - const netmask = (1n << BigInt(this.address.length * 8 - this.netmask)) - 1n; - const broadcast = this.address.map((byte, index) => { - const offset = BigInt(this.address.length - index - 1) * 8n; - const mask = Number((netmask >> offset) & 255n); - - return byte | mask; - }); - /* eslint-enable no-bitwise */ + // eslint-disable-next-line no-bitwise + const broadcast = this.address.map((byte, index) => byte | (this.netmask[index] ^ 255)); return new IpAddress(broadcast).toString(); } private getNetworkAddress() { - /* eslint-disable no-bitwise */ - const netmask = (1n << BigInt(this.address.length * 8 - this.netmask)) - 1n; - const network = this.address.map((byte, index) => { - const offset = BigInt(this.address.length - index - 1) * 8n; - const mask = Number((netmask >> offset) & 255n) ^ 255; - - return byte & mask; - }); - /* eslint-enable no-bitwise */ + // eslint-disable-next-line no-bitwise + const network = this.address.map((byte, index) => byte & this.netmask[index]); return new IpAddress(network).toString(); } @@ -60,6 +57,6 @@ export class CidrMask { } toString() { - return `${new IpAddress(this.address)}/${this.netmask}`; + return `${new IpAddress(this.address)}/${this.prefix}`; } } diff --git a/src/plugins/data/common/search/aggs/utils/ip_address.test.ts b/src/plugins/data/common/search/aggs/utils/ip_address.test.ts index 966408cf6fe27..0d51714f114b6 100644 --- a/src/plugins/data/common/search/aggs/utils/ip_address.test.ts +++ b/src/plugins/data/common/search/aggs/utils/ip_address.test.ts @@ -37,21 +37,6 @@ describe('IpAddress', () => { }); }); - describe('valueOf', () => { - it.each` - address | expected - ${'0.0.0.0'} | ${'0'} - ${'0.0.0.1'} | ${'1'} - ${'126.45.211.34'} | ${'2116932386'} - ${'ffff::'} | ${'340277174624079928635746076935438991360'} - `( - 'should return $expected as a decimal representation of $address', - ({ address, expected }) => { - expect(new IpAddress(address).valueOf().toString()).toBe(expected); - } - ); - }); - describe('toString()', () => { it.each` address | expected diff --git a/src/plugins/data/common/search/aggs/utils/ip_address.ts b/src/plugins/data/common/search/aggs/utils/ip_address.ts index 2fffbc468046f..ba7972588c54e 100644 --- a/src/plugins/data/common/search/aggs/utils/ip_address.ts +++ b/src/plugins/data/common/search/aggs/utils/ip_address.ts @@ -32,16 +32,4 @@ export class IpAddress { return this.value.toString(); } - - valueOf(): number | bigint { - const value = this.value - .toByteArray() - .reduce((result, octet) => result * 256n + BigInt(octet), 0n); - - if (value > Number.MAX_SAFE_INTEGER) { - return value; - } - - return Number(value); - } } From fb1c3ca5a688c12cc52064fc7db61649544aab00 Mon Sep 17 00:00:00 2001 From: James Gowdy Date: Wed, 25 Aug 2021 14:00:32 +0100 Subject: [PATCH 023/139] [ML] Fixing missing final new line character issue (#109274) * [ML] Fixing missing final new line character issue * adding tests * tiny refactor * test fixes based on review Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../file_upload/public/importer/importer.ts | 7 ++- .../public/importer/message_importer.ts | 10 +++- .../public/importer/ndjson_importer.ts | 2 +- .../data_visualizer/file_data_visualizer.ts | 50 +++++++++++++++++++ .../files_to_import/geo_file.csv | 2 +- .../missing_end_of_file_newline.csv | 4 ++ .../test/functional/services/ml/common_ui.ts | 14 ++++++ .../services/ml/data_visualizer_file_based.ts | 11 ++++ 8 files changed, 95 insertions(+), 5 deletions(-) create mode 100644 x-pack/test/functional/apps/ml/data_visualizer/files_to_import/missing_end_of_file_newline.csv diff --git a/x-pack/plugins/file_upload/public/importer/importer.ts b/x-pack/plugins/file_upload/public/importer/importer.ts index 49324c8f360ef..85a3206ad43b7 100644 --- a/x-pack/plugins/file_upload/public/importer/importer.ts +++ b/x-pack/plugins/file_upload/public/importer/importer.ts @@ -40,7 +40,10 @@ export abstract class Importer implements IImporter { let remainder = 0; for (let i = 0; i < parts; i++) { const byteArray = decoder.decode(data.slice(i * size - remainder, (i + 1) * size)); - const { success, docs, remainder: tempRemainder } = this._createDocs(byteArray); + const { success, docs, remainder: tempRemainder } = this._createDocs( + byteArray, + i === parts - 1 + ); if (success) { this._docArray = this._docArray.concat(docs); remainder = tempRemainder; @@ -52,7 +55,7 @@ export abstract class Importer implements IImporter { return { success: true }; } - protected abstract _createDocs(t: string): CreateDocsResponse; + protected abstract _createDocs(t: string, isLastPart: boolean): CreateDocsResponse; public async initializeImport( index: string, diff --git a/x-pack/plugins/file_upload/public/importer/message_importer.ts b/x-pack/plugins/file_upload/public/importer/message_importer.ts index f3855340f87fa..21f884d22bc35 100644 --- a/x-pack/plugins/file_upload/public/importer/message_importer.ts +++ b/x-pack/plugins/file_upload/public/importer/message_importer.ts @@ -30,7 +30,7 @@ export class MessageImporter extends Importer { // multiline_start_pattern regex // if it does, it is a legitimate end of line and can be pushed into the list, // if not, it must be a newline char inside a field value, so keep looking. - protected _createDocs(text: string): CreateDocsResponse { + protected _createDocs(text: string, isLastPart: boolean): CreateDocsResponse { let remainder = 0; try { const docs: Doc[] = []; @@ -39,9 +39,17 @@ export class MessageImporter extends Importer { let line = ''; for (let i = 0; i < text.length; i++) { const char = text[i]; + const isLastChar = i === text.length - 1; if (char === '\n') { message = this._processLine(docs, message, line); line = ''; + } else if (isLastPart && isLastChar) { + // if this is the end of the last line and the last chunk of data, + // add the remainder as a final line. + // just in case the last line doesn't end in a new line char. + line += char; + message = this._processLine(docs, message, line); + line = ''; } else { line += char; } diff --git a/x-pack/plugins/file_upload/public/importer/ndjson_importer.ts b/x-pack/plugins/file_upload/public/importer/ndjson_importer.ts index 7129a07440cf3..617fd95681cfe 100644 --- a/x-pack/plugins/file_upload/public/importer/ndjson_importer.ts +++ b/x-pack/plugins/file_upload/public/importer/ndjson_importer.ts @@ -13,7 +13,7 @@ export class NdjsonImporter extends Importer { super(); } - protected _createDocs(json: string): CreateDocsResponse { + protected _createDocs(json: string, isLastPart: boolean): CreateDocsResponse { let remainder = 0; try { const splitJson = json.split(/}\s*\n/); diff --git a/x-pack/test/functional/apps/ml/data_visualizer/file_data_visualizer.ts b/x-pack/test/functional/apps/ml/data_visualizer/file_data_visualizer.ts index dee5b5a5e31c0..c00d0aeda0414 100644 --- a/x-pack/test/functional/apps/ml/data_visualizer/file_data_visualizer.ts +++ b/x-pack/test/functional/apps/ml/data_visualizer/file_data_visualizer.ts @@ -111,6 +111,7 @@ export default function ({ getService }: FtrProviderContext) { totalFieldsCount: 12, fieldTypeFiltersResultCount: 4, fieldNameFiltersResultCount: 1, + ingestedDocCount: 20, }, }, { @@ -152,6 +153,51 @@ export default function ({ getService }: FtrProviderContext) { totalFieldsCount: 3, fieldTypeFiltersResultCount: 1, fieldNameFiltersResultCount: 1, + ingestedDocCount: 13, + }, + }, + { + suiteSuffix: 'with a file with a missing new line char at the end', + filePath: path.join(__dirname, 'files_to_import', 'missing_end_of_file_newline.csv'), + indexName: 'user-import_3', + createIndexPattern: false, + fieldTypeFilters: [], + fieldNameFilters: [], + expected: { + results: { + title: 'missing_end_of_file_newline.csv', + numberOfFields: 3, + }, + metricFields: [ + { + fieldName: 'value', + type: ML_JOB_FIELD_TYPES.NUMBER, + docCountFormatted: '3 (100%)', + exampleCount: 3, + topValuesCount: 3, + }, + ], + nonMetricFields: [ + { + fieldName: 'title', + type: ML_JOB_FIELD_TYPES.UNKNOWN, + docCountFormatted: '3 (100%)', + exampleCount: 3, + }, + { + fieldName: 'description', + type: ML_JOB_FIELD_TYPES.KEYWORD, + docCountFormatted: '3 (100%)', + exampleCount: 3, + }, + ], + visibleMetricFieldsCount: 0, + totalMetricFieldsCount: 0, + populatedFieldsCount: 3, + totalFieldsCount: 3, + fieldTypeFiltersResultCount: 3, + fieldNameFiltersResultCount: 3, + ingestedDocCount: 3, }, }, ]; @@ -271,6 +317,10 @@ export default function ({ getService }: FtrProviderContext) { await ml.testExecution.logTestStep('imports the file'); await ml.dataVisualizerFileBased.startImportAndWaitForProcessing(); + await ml.dataVisualizerFileBased.assertIngestedDocCount( + testData.expected.ingestedDocCount + ); + await ml.testExecution.logTestStep('creates filebeat config'); await ml.dataVisualizerFileBased.selectCreateFilebeatConfig(); diff --git a/x-pack/test/functional/apps/ml/data_visualizer/files_to_import/geo_file.csv b/x-pack/test/functional/apps/ml/data_visualizer/files_to_import/geo_file.csv index df7417f474d83..2b907a5684b42 100644 --- a/x-pack/test/functional/apps/ml/data_visualizer/files_to_import/geo_file.csv +++ b/x-pack/test/functional/apps/ml/data_visualizer/files_to_import/geo_file.csv @@ -11,4 +11,4 @@ POINT (-2.509384 51.40959),On or near Barnard Walk, POINT (-2.495055 51.422132),On or near Cross Street, POINT (-2.509384 51.40959),On or near Barnard Walk, POINT (-2.495055 51.422132),On or near Cross Street, -POINT (-2.509126 51.416137),On or near St Francis Road, \ No newline at end of file +POINT (-2.509126 51.416137),On or near St Francis Road, diff --git a/x-pack/test/functional/apps/ml/data_visualizer/files_to_import/missing_end_of_file_newline.csv b/x-pack/test/functional/apps/ml/data_visualizer/files_to_import/missing_end_of_file_newline.csv new file mode 100644 index 0000000000000..0ae7fce6781e0 --- /dev/null +++ b/x-pack/test/functional/apps/ml/data_visualizer/files_to_import/missing_end_of_file_newline.csv @@ -0,0 +1,4 @@ +title,description,value +first title,this is the first description,22 +second title,this is the second description,66 +third title,this is the third description,88 \ No newline at end of file diff --git a/x-pack/test/functional/services/ml/common_ui.ts b/x-pack/test/functional/services/ml/common_ui.ts index e772b45f77b2e..9af9aaa45be5c 100644 --- a/x-pack/test/functional/services/ml/common_ui.ts +++ b/x-pack/test/functional/services/ml/common_ui.ts @@ -285,6 +285,20 @@ export function MachineLearningCommonUIProvider({ await this.assertRowsNumberPerPage(testSubj, rowsNumber); }, + async getEuiDescriptionListDescriptionFromTitle(testSubj: string, title: string) { + const subj = await testSubjects.find(testSubj); + const titles = await subj.findAllByTagName('dt'); + const descriptions = await subj.findAllByTagName('dd'); + + for (let i = 0; i < titles.length; i++) { + const titleText = (await titles[i].parseDomContent()).html(); + if (titleText === title) { + return (await descriptions[i].parseDomContent()).html(); + } + } + return null; + }, + async changeToSpace(spaceId: string) { await PageObjects.spaceSelector.openSpacesNav(); await PageObjects.spaceSelector.goToSpecificSpace(spaceId); diff --git a/x-pack/test/functional/services/ml/data_visualizer_file_based.ts b/x-pack/test/functional/services/ml/data_visualizer_file_based.ts index 783be207baf22..e7f4dcd88a570 100644 --- a/x-pack/test/functional/services/ml/data_visualizer_file_based.ts +++ b/x-pack/test/functional/services/ml/data_visualizer_file_based.ts @@ -132,6 +132,17 @@ export function MachineLearningDataVisualizerFileBasedProvider( }); }, + async assertIngestedDocCount(count: number) { + const docCount = await mlCommonUI.getEuiDescriptionListDescriptionFromTitle( + 'dataVisualizerFileImportSuccessCallout', + 'Documents ingested' + ); + expect(docCount).to.eql( + count, + `Expected Documents ingested count to be '${count}' (got '${docCount}')` + ); + }, + async selectCreateFilebeatConfig() { await testSubjects.scrollIntoView('fileDataVisFilebeatConfigLink', { bottomOffset: fixedFooterHeight, From c037e25071cb52b28ad402a1c9b266cbb8137119 Mon Sep 17 00:00:00 2001 From: ymao1 Date: Wed, 25 Aug 2021 09:30:30 -0400 Subject: [PATCH 024/139] [Actions] Use references in `action_task_params` saved object (#108964) * Extracting saved object references before saving action_task_params saved object * Injecting saved object ids from references when reading action_task_param * Adding migration * Adding unit test for migrations * Not differentiating between preconfigured or not * Adding functional test for migration * Skip extracting action id if action is preconfigured * Only migrating action task params for non preconfigured connectors * Simplifying related saved objects * Fixing functional test * Fixing migration * Javascript is sometimes magical * Updating functional test * PR feedback Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../server/create_execute_function.test.ts | 123 +- .../actions/server/create_execute_function.ts | 38 +- .../lib/action_task_params_utils.test.ts | 402 +++ .../server/lib/action_task_params_utils.ts | 80 + x-pack/plugins/actions/server/lib/index.ts | 4 + .../server/lib/task_runner_factory.test.ts | 187 +- .../actions/server/lib/task_runner_factory.ts | 24 +- x-pack/plugins/actions/server/plugin.ts | 3 +- .../action_task_params_migrations.test.ts | 417 +++ .../action_task_params_migrations.ts | 139 + ...ons.test.ts => actions_migrations.test.ts} | 20 +- .../{migrations.ts => actions_migrations.ts} | 2 +- .../actions/server/saved_objects/index.ts | 11 +- .../tests/action_task_params/index.ts | 19 + .../tests/action_task_params/migrations.ts | 90 + .../spaces_only/tests/index.ts | 1 + .../es_archives/action_task_params/data.json | 63 + .../action_task_params/mappings.json | 2572 +++++++++++++++++ 18 files changed, 4154 insertions(+), 41 deletions(-) create mode 100644 x-pack/plugins/actions/server/lib/action_task_params_utils.test.ts create mode 100644 x-pack/plugins/actions/server/lib/action_task_params_utils.ts create mode 100644 x-pack/plugins/actions/server/saved_objects/action_task_params_migrations.test.ts create mode 100644 x-pack/plugins/actions/server/saved_objects/action_task_params_migrations.ts rename x-pack/plugins/actions/server/saved_objects/{migrations.test.ts => actions_migrations.test.ts} (88%) rename x-pack/plugins/actions/server/saved_objects/{migrations.ts => actions_migrations.ts} (99%) create mode 100644 x-pack/test/alerting_api_integration/spaces_only/tests/action_task_params/index.ts create mode 100644 x-pack/test/alerting_api_integration/spaces_only/tests/action_task_params/migrations.ts create mode 100644 x-pack/test/functional/es_archives/action_task_params/data.json create mode 100644 x-pack/test/functional/es_archives/action_task_params/mappings.json diff --git a/x-pack/plugins/actions/server/create_execute_function.test.ts b/x-pack/plugins/actions/server/create_execute_function.test.ts index ee8064d2aadc5..f31916458e59c 100644 --- a/x-pack/plugins/actions/server/create_execute_function.test.ts +++ b/x-pack/plugins/actions/server/create_execute_function.test.ts @@ -76,7 +76,15 @@ describe('execute()', () => { params: { baz: false }, apiKey: Buffer.from('123:abc').toString('base64'), }, - {} + { + references: [ + { + id: '123', + name: 'actionRef', + type: 'action', + }, + ], + } ); expect(actionTypeRegistry.isActionExecutable).toHaveBeenCalledWith('123', 'mock-action', { notifyUsage: true, @@ -128,14 +136,27 @@ describe('execute()', () => { apiKey: Buffer.from('123:abc').toString('base64'), relatedSavedObjects: [ { - id: 'some-id', + id: 'related_some-type_0', namespace: 'some-namespace', type: 'some-type', typeId: 'some-typeId', }, ], }, - {} + { + references: [ + { + id: '123', + name: 'actionRef', + type: 'action', + }, + { + id: 'some-id', + name: 'related_some-type_0', + type: 'some-type', + }, + ], + } ); }); @@ -214,6 +235,102 @@ describe('execute()', () => { ); }); + test('schedules the action with all given parameters with a preconfigured action and relatedSavedObjects', async () => { + const executeFn = createExecutionEnqueuerFunction({ + taskManager: mockTaskManager, + actionTypeRegistry: actionTypeRegistryMock.create(), + isESOCanEncrypt: true, + preconfiguredActions: [ + { + id: '123', + actionTypeId: 'mock-action-preconfigured', + config: {}, + isPreconfigured: true, + name: 'x', + secrets: {}, + }, + ], + }); + const source = { type: 'alert', id: uuid.v4() }; + + savedObjectsClient.get.mockResolvedValueOnce({ + id: '123', + type: 'action', + attributes: { + actionTypeId: 'mock-action', + }, + references: [], + }); + savedObjectsClient.create.mockResolvedValueOnce({ + id: '234', + type: 'action_task_params', + attributes: {}, + references: [], + }); + await executeFn(savedObjectsClient, { + id: '123', + params: { baz: false }, + spaceId: 'default', + apiKey: Buffer.from('123:abc').toString('base64'), + source: asSavedObjectExecutionSource(source), + relatedSavedObjects: [ + { + id: 'some-id', + namespace: 'some-namespace', + type: 'some-type', + typeId: 'some-typeId', + }, + ], + }); + expect(mockTaskManager.schedule).toHaveBeenCalledTimes(1); + expect(mockTaskManager.schedule.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + Object { + "params": Object { + "actionTaskParamsId": "234", + "spaceId": "default", + }, + "scope": Array [ + "actions", + ], + "state": Object {}, + "taskType": "actions:mock-action-preconfigured", + }, + ] + `); + expect(savedObjectsClient.get).not.toHaveBeenCalled(); + expect(savedObjectsClient.create).toHaveBeenCalledWith( + 'action_task_params', + { + actionId: '123', + params: { baz: false }, + apiKey: Buffer.from('123:abc').toString('base64'), + relatedSavedObjects: [ + { + id: 'related_some-type_0', + namespace: 'some-namespace', + type: 'some-type', + typeId: 'some-typeId', + }, + ], + }, + { + references: [ + { + id: source.id, + name: 'source', + type: source.type, + }, + { + id: 'some-id', + name: 'related_some-type_0', + type: 'some-type', + }, + ], + } + ); + }); + test('throws when passing isESOCanEncrypt with false as a value', async () => { const executeFn = createExecutionEnqueuerFunction({ taskManager: mockTaskManager, diff --git a/x-pack/plugins/actions/server/create_execute_function.ts b/x-pack/plugins/actions/server/create_execute_function.ts index bcad5f20d9ba7..de15a1e0ca446 100644 --- a/x-pack/plugins/actions/server/create_execute_function.ts +++ b/x-pack/plugins/actions/server/create_execute_function.ts @@ -15,7 +15,7 @@ import { } from './types'; import { ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE } from './constants/saved_objects'; import { ExecuteOptions as ActionExecutorOptions } from './lib/action_executor'; -import { isSavedObjectExecutionSource } from './lib'; +import { extractSavedObjectReferences, isSavedObjectExecutionSource } from './lib'; import { RelatedSavedObjects } from './lib/related_saved_objects'; interface CreateExecuteFunctionOptions { @@ -53,7 +53,11 @@ export function createExecutionEnqueuerFunction({ ); } - const action = await getAction(unsecuredSavedObjectsClient, preconfiguredActions, id); + const { action, isPreconfigured } = await getAction( + unsecuredSavedObjectsClient, + preconfiguredActions, + id + ); validateCanActionBeUsed(action); const { actionTypeId } = action; @@ -61,15 +65,33 @@ export function createExecutionEnqueuerFunction({ actionTypeRegistry.ensureActionTypeEnabled(actionTypeId); } + // Get saved object references from action ID and relatedSavedObjects + const { references, relatedSavedObjectWithRefs } = extractSavedObjectReferences( + id, + isPreconfigured, + relatedSavedObjects + ); + const executionSourceReference = executionSourceAsSavedObjectReferences(source); + + const taskReferences = []; + if (executionSourceReference.references) { + taskReferences.push(...executionSourceReference.references); + } + if (references) { + taskReferences.push(...references); + } + const actionTaskParamsRecord = await unsecuredSavedObjectsClient.create( ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE, { actionId: id, params, apiKey, - relatedSavedObjects, + relatedSavedObjects: relatedSavedObjectWithRefs, }, - executionSourceAsSavedObjectReferences(source) + { + references: taskReferences, + } ); await taskManager.schedule({ @@ -93,7 +115,7 @@ export function createEphemeralExecutionEnqueuerFunction({ unsecuredSavedObjectsClient: SavedObjectsClientContract, { id, params, spaceId, source, apiKey }: ExecuteOptions ): Promise { - const action = await getAction(unsecuredSavedObjectsClient, preconfiguredActions, id); + const { action } = await getAction(unsecuredSavedObjectsClient, preconfiguredActions, id); validateCanActionBeUsed(action); const { actionTypeId } = action; @@ -148,12 +170,12 @@ async function getAction( unsecuredSavedObjectsClient: SavedObjectsClientContract, preconfiguredActions: PreConfiguredAction[], actionId: string -): Promise { +): Promise<{ action: PreConfiguredAction | RawAction; isPreconfigured: boolean }> { const pcAction = preconfiguredActions.find((action) => action.id === actionId); if (pcAction) { - return pcAction; + return { action: pcAction, isPreconfigured: true }; } const { attributes } = await unsecuredSavedObjectsClient.get('action', actionId); - return attributes; + return { action: attributes, isPreconfigured: false }; } diff --git a/x-pack/plugins/actions/server/lib/action_task_params_utils.test.ts b/x-pack/plugins/actions/server/lib/action_task_params_utils.test.ts new file mode 100644 index 0000000000000..98a425ff6fd39 --- /dev/null +++ b/x-pack/plugins/actions/server/lib/action_task_params_utils.test.ts @@ -0,0 +1,402 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + extractSavedObjectReferences, + injectSavedObjectReferences, +} from './action_task_params_utils'; + +describe('extractSavedObjectReferences()', () => { + test('correctly extracts action id into references array', () => { + expect(extractSavedObjectReferences('my-action-id', false)).toEqual({ + references: [ + { + id: 'my-action-id', + name: 'actionRef', + type: 'action', + }, + ], + }); + }); + + test('correctly extracts related saved object into references array', () => { + const relatedSavedObjects = [ + { + id: 'abc', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'def', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'xyz', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ]; + + expect(extractSavedObjectReferences('my-action-id', false, relatedSavedObjects)).toEqual({ + references: [ + { + id: 'my-action-id', + name: 'actionRef', + type: 'action', + }, + { + id: 'abc', + name: 'related_alert_0', + type: 'alert', + }, + { + id: 'def', + name: 'related_action_1', + type: 'action', + }, + { + id: 'xyz', + name: 'related_alert_2', + type: 'alert', + }, + ], + relatedSavedObjectWithRefs: [ + { + id: 'related_alert_0', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'related_action_1', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'related_alert_2', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ], + }); + }); + + test('correctly skips extracting action id if action is preconfigured', () => { + expect(extractSavedObjectReferences('my-action-id', true)).toEqual({ + references: [], + }); + }); + + test('correctly extracts related saved object into references array if isPreconfigured is true', () => { + const relatedSavedObjects = [ + { + id: 'abc', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'def', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'xyz', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ]; + + expect(extractSavedObjectReferences('my-action-id', true, relatedSavedObjects)).toEqual({ + references: [ + { + id: 'abc', + name: 'related_alert_0', + type: 'alert', + }, + { + id: 'def', + name: 'related_action_1', + type: 'action', + }, + { + id: 'xyz', + name: 'related_alert_2', + type: 'alert', + }, + ], + relatedSavedObjectWithRefs: [ + { + id: 'related_alert_0', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'related_action_1', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'related_alert_2', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ], + }); + }); +}); + +describe('injectSavedObjectReferences()', () => { + test('correctly returns action id from references array', () => { + expect( + injectSavedObjectReferences([ + { + id: 'my-action-id', + name: 'actionRef', + type: 'action', + }, + ]) + ).toEqual({ actionId: 'my-action-id' }); + }); + + test('correctly returns undefined if no action id in references array', () => { + expect(injectSavedObjectReferences([])).toEqual({}); + }); + + test('correctly injects related saved object ids from references array', () => { + expect( + injectSavedObjectReferences( + [ + { + id: 'my-action-id', + name: 'actionRef', + type: 'action', + }, + { + id: 'abc', + name: 'related_alert_0', + type: 'alert', + }, + { + id: 'def', + name: 'related_action_1', + type: 'action', + }, + { + id: 'xyz', + name: 'related_alert_2', + type: 'alert', + }, + ], + [ + { + id: 'related_alert_0', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'related_action_1', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'related_alert_2', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ] + ) + ).toEqual({ + actionId: 'my-action-id', + relatedSavedObjects: [ + { + id: 'abc', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'def', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'xyz', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ], + }); + }); + + test('correctly injects related saved object ids from references array if no actionRef', () => { + expect( + injectSavedObjectReferences( + [ + { + id: 'abc', + name: 'related_alert_0', + type: 'alert', + }, + { + id: 'def', + name: 'related_action_1', + type: 'action', + }, + { + id: 'xyz', + name: 'related_alert_2', + type: 'alert', + }, + ], + [ + { + id: 'related_alert_0', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'related_action_1', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'related_alert_2', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ] + ) + ).toEqual({ + relatedSavedObjects: [ + { + id: 'abc', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'def', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'xyz', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ], + }); + }); + + test('correctly keeps related saved object ids if references array is empty', () => { + expect( + injectSavedObjectReferences( + [], + [ + { + id: 'abc', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'def', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'xyz', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ] + ) + ).toEqual({ + relatedSavedObjects: [ + { + id: 'abc', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'def', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'xyz', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ], + }); + }); + + test('correctly skips injecting missing related saved object ids in references array', () => { + expect( + injectSavedObjectReferences( + [ + { + id: 'my-action-id', + name: 'actionRef', + type: 'action', + }, + { + id: 'abc', + name: 'related_alert_0', + type: 'alert', + }, + ], + [ + { + id: 'related_alert_0', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'def', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'xyz', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ] + ) + ).toEqual({ + actionId: 'my-action-id', + relatedSavedObjects: [ + { + id: 'abc', + type: 'alert', + typeId: 'ruleTypeA', + }, + { + id: 'def', + type: 'action', + typeId: 'connectorTypeB', + }, + { + id: 'xyz', + type: 'alert', + typeId: 'ruleTypeB', + namespace: 'custom', + }, + ], + }); + }); +}); diff --git a/x-pack/plugins/actions/server/lib/action_task_params_utils.ts b/x-pack/plugins/actions/server/lib/action_task_params_utils.ts new file mode 100644 index 0000000000000..a4b1afb9497dc --- /dev/null +++ b/x-pack/plugins/actions/server/lib/action_task_params_utils.ts @@ -0,0 +1,80 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectAttribute, SavedObjectReference } from 'src/core/server/types'; +import { RelatedSavedObjects } from './related_saved_objects'; + +export const ACTION_REF_NAME = `actionRef`; + +export function extractSavedObjectReferences( + actionId: string, + isPreconfigured: boolean, + relatedSavedObjects?: RelatedSavedObjects +): { + references: SavedObjectReference[]; + relatedSavedObjectWithRefs?: RelatedSavedObjects; +} { + const references: SavedObjectReference[] = []; + const relatedSavedObjectWithRefs: RelatedSavedObjects = []; + + // Add action saved object to reference if it is not preconfigured + if (!isPreconfigured) { + references.push({ + id: actionId, + name: ACTION_REF_NAME, + type: 'action', + }); + } + + // Add related saved objects, if any + (relatedSavedObjects ?? []).forEach((relatedSavedObject, index) => { + relatedSavedObjectWithRefs.push({ + ...relatedSavedObject, + id: `related_${relatedSavedObject.type}_${index}`, + }); + references.push({ + id: relatedSavedObject.id, + name: `related_${relatedSavedObject.type}_${index}`, + type: relatedSavedObject.type, + }); + }); + + return { + references, + ...(relatedSavedObjects ? { relatedSavedObjectWithRefs } : {}), + }; +} + +export function injectSavedObjectReferences( + references: SavedObjectReference[], + relatedSavedObjects?: RelatedSavedObjects +): { actionId?: string; relatedSavedObjects?: SavedObjectAttribute } { + references = references ?? []; + + // Look for for the action id + const action = references.find((ref) => ref.name === ACTION_REF_NAME); + + const injectedRelatedSavedObjects = (relatedSavedObjects ?? []).flatMap((relatedSavedObject) => { + const reference = references.find((ref) => ref.name === relatedSavedObject.id); + + // relatedSavedObjects are used only in the event log document that is written during + // action execution. Because they are not critical to the actual execution of the action + // we will not throw an error if no reference is found matching this related saved object + return reference ? [{ ...relatedSavedObject, id: reference.id }] : [relatedSavedObject]; + }); + + const result: { actionId?: string; relatedSavedObjects?: SavedObjectAttribute } = {}; + if (action) { + result.actionId = action.id; + } + + if (relatedSavedObjects) { + result.relatedSavedObjects = injectedRelatedSavedObjects; + } + + return result; +} diff --git a/x-pack/plugins/actions/server/lib/index.ts b/x-pack/plugins/actions/server/lib/index.ts index fba47f9a0f995..c47325c19fad9 100644 --- a/x-pack/plugins/actions/server/lib/index.ts +++ b/x-pack/plugins/actions/server/lib/index.ts @@ -13,6 +13,10 @@ export { ILicenseState, LicenseState } from './license_state'; export { verifyApiAccess } from './verify_api_access'; export { getActionTypeFeatureUsageName } from './get_action_type_feature_usage_name'; export { spaceIdToNamespace } from './space_id_to_namespace'; +export { + extractSavedObjectReferences, + injectSavedObjectReferences, +} from './action_task_params_utils'; export { ActionTypeDisabledError, ActionTypeDisabledReason, diff --git a/x-pack/plugins/actions/server/lib/task_runner_factory.test.ts b/x-pack/plugins/actions/server/lib/task_runner_factory.test.ts index 722ba08a26258..cff92f874e0ef 100644 --- a/x-pack/plugins/actions/server/lib/task_runner_factory.test.ts +++ b/x-pack/plugins/actions/server/lib/task_runner_factory.test.ts @@ -97,7 +97,7 @@ test(`throws an error if factory is already initialized`, () => { ).toThrowErrorMatchingInlineSnapshot(`"TaskRunnerFactory already initialized"`); }); -test('executes the task by calling the executor with proper parameters', async () => { +test('executes the task by calling the executor with proper parameters, using given actionId when no actionRef in references', async () => { const taskRunner = taskRunnerFactory.create({ taskInstance: mockedTaskInstance, }); @@ -146,6 +146,61 @@ test('executes the task by calling the executor with proper parameters', async ( ); }); +test('executes the task by calling the executor with proper parameters, using stored actionId when actionRef is in references', async () => { + const taskRunner = taskRunnerFactory.create({ + taskInstance: mockedTaskInstance, + }); + + mockedActionExecutor.execute.mockResolvedValueOnce({ status: 'ok', actionId: '2' }); + spaceIdToNamespace.mockReturnValueOnce('namespace-test'); + mockedEncryptedSavedObjectsClient.getDecryptedAsInternalUser.mockResolvedValueOnce({ + id: '3', + type: 'action_task_params', + attributes: { + actionId: '2', + params: { baz: true }, + apiKey: Buffer.from('123:abc').toString('base64'), + }, + references: [ + { + id: '9', + name: 'actionRef', + type: 'action', + }, + ], + }); + + const runnerResult = await taskRunner.run(); + + expect(runnerResult).toBeUndefined(); + expect(spaceIdToNamespace).toHaveBeenCalledWith('test'); + expect( + mockedEncryptedSavedObjectsClient.getDecryptedAsInternalUser + ).toHaveBeenCalledWith('action_task_params', '3', { namespace: 'namespace-test' }); + + expect(mockedActionExecutor.execute).toHaveBeenCalledWith({ + actionId: '9', + isEphemeral: false, + params: { baz: true }, + relatedSavedObjects: [], + request: expect.objectContaining({ + headers: { + // base64 encoded "123:abc" + authorization: 'ApiKey MTIzOmFiYw==', + }, + }), + taskInfo: { + scheduled: new Date(), + }, + }); + + const [executeParams] = mockedActionExecutor.execute.mock.calls[0]; + expect(taskRunnerFactoryInitializerParams.basePathService.set).toHaveBeenCalledWith( + executeParams.request, + '/s/test' + ); +}); + test('cleans up action_task_params object', async () => { const taskRunner = taskRunnerFactory.create({ taskInstance: mockedTaskInstance, @@ -161,7 +216,13 @@ test('cleans up action_task_params object', async () => { params: { baz: true }, apiKey: Buffer.from('123:abc').toString('base64'), }, - references: [], + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + ], }); await taskRunner.run(); @@ -184,7 +245,13 @@ test('runs successfully when cleanup fails and logs the error', async () => { params: { baz: true }, apiKey: Buffer.from('123:abc').toString('base64'), }, - references: [], + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + ], }); services.savedObjectsClient.delete.mockRejectedValueOnce(new Error('Fail')); @@ -209,7 +276,13 @@ test('throws an error with suggested retry logic when return status is error', a params: { baz: true }, apiKey: Buffer.from('123:abc').toString('base64'), }, - references: [], + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + ], }); mockedActionExecutor.execute.mockResolvedValueOnce({ status: 'error', @@ -244,7 +317,13 @@ test('uses API key when provided', async () => { params: { baz: true }, apiKey: Buffer.from('123:abc').toString('base64'), }, - references: [], + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + ], }); await taskRunner.run(); @@ -272,7 +351,7 @@ test('uses API key when provided', async () => { ); }); -test('uses relatedSavedObjects when provided', async () => { +test('uses relatedSavedObjects merged with references when provided', async () => { const taskRunner = taskRunnerFactory.create({ taskInstance: mockedTaskInstance, }); @@ -286,9 +365,20 @@ test('uses relatedSavedObjects when provided', async () => { actionId: '2', params: { baz: true }, apiKey: Buffer.from('123:abc').toString('base64'), - relatedSavedObjects: [{ id: 'some-id', type: 'some-type' }], + relatedSavedObjects: [{ id: 'related_some-type_0', type: 'some-type' }], }, - references: [], + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + { + id: 'some-id', + name: 'related_some-type_0', + type: 'some-type', + }, + ], }); await taskRunner.run(); @@ -315,6 +405,56 @@ test('uses relatedSavedObjects when provided', async () => { }); }); +test('uses relatedSavedObjects as is when references are empty', async () => { + const taskRunner = taskRunnerFactory.create({ + taskInstance: mockedTaskInstance, + }); + + mockedActionExecutor.execute.mockResolvedValueOnce({ status: 'ok', actionId: '2' }); + spaceIdToNamespace.mockReturnValueOnce('namespace-test'); + mockedEncryptedSavedObjectsClient.getDecryptedAsInternalUser.mockResolvedValueOnce({ + id: '3', + type: 'action_task_params', + attributes: { + actionId: '2', + params: { baz: true }, + apiKey: Buffer.from('123:abc').toString('base64'), + relatedSavedObjects: [{ id: 'abc', type: 'some-type', namespace: 'yo' }], + }, + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + ], + }); + + await taskRunner.run(); + + expect(mockedActionExecutor.execute).toHaveBeenCalledWith({ + actionId: '2', + isEphemeral: false, + params: { baz: true }, + relatedSavedObjects: [ + { + id: 'abc', + type: 'some-type', + namespace: 'yo', + }, + ], + request: expect.objectContaining({ + headers: { + // base64 encoded "123:abc" + authorization: 'ApiKey MTIzOmFiYw==', + }, + }), + taskInfo: { + scheduled: new Date(), + }, + }); +}); + test('sanitizes invalid relatedSavedObjects when provided', async () => { const taskRunner = taskRunnerFactory.create({ taskInstance: mockedTaskInstance, @@ -329,9 +469,20 @@ test('sanitizes invalid relatedSavedObjects when provided', async () => { actionId: '2', params: { baz: true }, apiKey: Buffer.from('123:abc').toString('base64'), - relatedSavedObjects: [{ Xid: 'some-id', type: 'some-type' }], + relatedSavedObjects: [{ Xid: 'related_some-type_0', type: 'some-type' }], }, - references: [], + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + { + id: 'some-id', + name: 'related_some-type_0', + type: 'some-type', + }, + ], }); await taskRunner.run(); @@ -366,7 +517,13 @@ test(`doesn't use API key when not provided`, async () => { actionId: '2', params: { baz: true }, }, - references: [], + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + ], }); await taskRunner.run(); @@ -404,7 +561,13 @@ test(`throws an error when license doesn't support the action type`, async () => params: { baz: true }, apiKey: Buffer.from('123:abc').toString('base64'), }, - references: [], + references: [ + { + id: '2', + name: 'actionRef', + type: 'action', + }, + ], }); mockedActionExecutor.execute.mockImplementation(() => { throw new ActionTypeDisabledError('Fail', 'license_invalid'); diff --git a/x-pack/plugins/actions/server/lib/task_runner_factory.ts b/x-pack/plugins/actions/server/lib/task_runner_factory.ts index 2354ea55eded6..45ae6c1d5fae9 100644 --- a/x-pack/plugins/actions/server/lib/task_runner_factory.ts +++ b/x-pack/plugins/actions/server/lib/task_runner_factory.ts @@ -33,7 +33,8 @@ import { } from '../types'; import { ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE } from '../constants/saved_objects'; import { asSavedObjectExecutionSource } from './action_execution_source'; -import { validatedRelatedSavedObjects } from './related_saved_objects'; +import { RelatedSavedObjects, validatedRelatedSavedObjects } from './related_saved_objects'; +import { injectSavedObjectReferences } from './action_task_params_utils'; export interface TaskRunnerContext { logger: Logger; @@ -178,11 +179,30 @@ async function getActionTaskParams( const { spaceId } = executorParams; const namespace = spaceIdToNamespace(spaceId); if (isPersistedActionTask(executorParams)) { - return encryptedSavedObjectsClient.getDecryptedAsInternalUser( + const actionTask = await encryptedSavedObjectsClient.getDecryptedAsInternalUser( ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE, executorParams.actionTaskParamsId, { namespace } ); + + const { + attributes: { relatedSavedObjects }, + references, + } = actionTask; + + const { + actionId, + relatedSavedObjects: injectedRelatedSavedObjects, + } = injectSavedObjectReferences(references, relatedSavedObjects as RelatedSavedObjects); + + return { + ...actionTask, + attributes: { + ...actionTask.attributes, + ...(actionId ? { actionId } : {}), + ...(relatedSavedObjects ? { relatedSavedObjects: injectedRelatedSavedObjects } : {}), + }, + }; } else { return { attributes: executorParams.taskParams, references: executorParams.references ?? [] }; } diff --git a/x-pack/plugins/actions/server/plugin.ts b/x-pack/plugins/actions/server/plugin.ts index 9e22816056618..e5c81f6320f51 100644 --- a/x-pack/plugins/actions/server/plugin.ts +++ b/x-pack/plugins/actions/server/plugin.ts @@ -229,7 +229,8 @@ export class ActionsPlugin implements Plugin { + beforeEach(() => { + jest.resetAllMocks(); + encryptedSavedObjectsSetup.createMigration.mockImplementation(({ migration }) => migration); + }); + + describe('7.16.0', () => { + test('adds actionId to references array if actionId is not preconfigured', () => { + const migration716 = getActionTaskParamsMigrations( + encryptedSavedObjectsSetup, + preconfiguredActions + )['7.16.0']; + const actionTaskParam = getMockData(); + const migratedActionTaskParam = migration716(actionTaskParam, context); + expect(migratedActionTaskParam).toEqual({ + ...actionTaskParam, + references: [ + { + id: actionTaskParam.attributes.actionId, + name: 'actionRef', + type: 'action', + }, + ], + }); + }); + + test('does not add actionId to references array if actionId is preconfigured', () => { + const migration716 = getActionTaskParamsMigrations( + encryptedSavedObjectsSetup, + preconfiguredActions + )['7.16.0']; + const actionTaskParam = getMockData({ actionId: 'my-slack1' }); + const migratedActionTaskParam = migration716(actionTaskParam, context); + expect(migratedActionTaskParam).toEqual({ + ...actionTaskParam, + references: [], + }); + }); + + test('handles empty relatedSavedObjects array', () => { + const migration716 = getActionTaskParamsMigrations( + encryptedSavedObjectsSetup, + preconfiguredActions + )['7.16.0']; + const actionTaskParam = getMockData({ relatedSavedObjects: [] }); + const migratedActionTaskParam = migration716(actionTaskParam, context); + expect(migratedActionTaskParam).toEqual({ + ...actionTaskParam, + attributes: { + ...actionTaskParam.attributes, + relatedSavedObjects: [], + }, + references: [ + { + id: actionTaskParam.attributes.actionId, + name: 'actionRef', + type: 'action', + }, + ], + }); + }); + + test('adds actionId and relatedSavedObjects to references array', () => { + const migration716 = getActionTaskParamsMigrations( + encryptedSavedObjectsSetup, + preconfiguredActions + )['7.16.0']; + const actionTaskParam = getMockData({ + relatedSavedObjects: [ + { + id: 'some-id', + namespace: 'some-namespace', + type: 'some-type', + typeId: 'some-typeId', + }, + ], + }); + const migratedActionTaskParam = migration716(actionTaskParam, context); + expect(migratedActionTaskParam).toEqual({ + ...actionTaskParam, + attributes: { + ...actionTaskParam.attributes, + relatedSavedObjects: [ + { + id: 'related_some-type_0', + namespace: 'some-namespace', + type: 'some-type', + typeId: 'some-typeId', + }, + ], + }, + references: [ + { + id: actionTaskParam.attributes.actionId, + name: 'actionRef', + type: 'action', + }, + { + id: 'some-id', + name: 'related_some-type_0', + type: 'some-type', + }, + ], + }); + }); + + test('only adds relatedSavedObjects to references array if action is preconfigured', () => { + const migration716 = getActionTaskParamsMigrations( + encryptedSavedObjectsSetup, + preconfiguredActions + )['7.16.0']; + const actionTaskParam = getMockData({ + actionId: 'my-slack1', + relatedSavedObjects: [ + { + id: 'some-id', + namespace: 'some-namespace', + type: 'some-type', + typeId: 'some-typeId', + }, + ], + }); + const migratedActionTaskParam = migration716(actionTaskParam, context); + expect(migratedActionTaskParam).toEqual({ + ...actionTaskParam, + attributes: { + ...actionTaskParam.attributes, + relatedSavedObjects: [ + { + id: 'related_some-type_0', + namespace: 'some-namespace', + type: 'some-type', + typeId: 'some-typeId', + }, + ], + }, + references: [ + { + id: 'some-id', + name: 'related_some-type_0', + type: 'some-type', + }, + ], + }); + }); + + test('adds actionId and multiple relatedSavedObjects to references array', () => { + const migration716 = getActionTaskParamsMigrations( + encryptedSavedObjectsSetup, + preconfiguredActions + )['7.16.0']; + const actionTaskParam = getMockData({ + relatedSavedObjects: [ + { + id: 'some-id', + namespace: 'some-namespace', + type: 'some-type', + typeId: 'some-typeId', + }, + { + id: 'another-id', + type: 'another-type', + typeId: 'another-typeId', + }, + ], + }); + const migratedActionTaskParam = migration716(actionTaskParam, context); + expect(migratedActionTaskParam).toEqual({ + ...actionTaskParam, + attributes: { + ...actionTaskParam.attributes, + relatedSavedObjects: [ + { + id: 'related_some-type_0', + namespace: 'some-namespace', + type: 'some-type', + typeId: 'some-typeId', + }, + { + id: 'related_another-type_1', + type: 'another-type', + typeId: 'another-typeId', + }, + ], + }, + references: [ + { + id: actionTaskParam.attributes.actionId, + name: 'actionRef', + type: 'action', + }, + { + id: 'some-id', + name: 'related_some-type_0', + type: 'some-type', + }, + { + id: 'another-id', + name: 'related_another-type_1', + type: 'another-type', + }, + ], + }); + }); + + test('does not overwrite existing references', () => { + const migration716 = getActionTaskParamsMigrations( + encryptedSavedObjectsSetup, + preconfiguredActions + )['7.16.0']; + const actionTaskParam = getMockData( + { + relatedSavedObjects: [ + { + id: 'some-id', + namespace: 'some-namespace', + type: 'some-type', + typeId: 'some-typeId', + }, + ], + }, + [ + { + id: 'existing-ref-id', + name: 'existingRef', + type: 'existing-ref-type', + }, + ] + ); + const migratedActionTaskParam = migration716(actionTaskParam, context); + expect(migratedActionTaskParam).toEqual({ + ...actionTaskParam, + attributes: { + ...actionTaskParam.attributes, + relatedSavedObjects: [ + { + id: 'related_some-type_0', + namespace: 'some-namespace', + type: 'some-type', + typeId: 'some-typeId', + }, + ], + }, + references: [ + { + id: 'existing-ref-id', + name: 'existingRef', + type: 'existing-ref-type', + }, + { + id: actionTaskParam.attributes.actionId, + name: 'actionRef', + type: 'action', + }, + { + id: 'some-id', + name: 'related_some-type_0', + type: 'some-type', + }, + ], + }); + }); + + test('does not overwrite existing references if relatedSavedObjects is undefined', () => { + const migration716 = getActionTaskParamsMigrations( + encryptedSavedObjectsSetup, + preconfiguredActions + )['7.16.0']; + const actionTaskParam = getMockData({}, [ + { + id: 'existing-ref-id', + name: 'existingRef', + type: 'existing-ref-type', + }, + ]); + const migratedActionTaskParam = migration716(actionTaskParam, context); + expect(migratedActionTaskParam).toEqual({ + ...actionTaskParam, + references: [ + { + id: 'existing-ref-id', + name: 'existingRef', + type: 'existing-ref-type', + }, + { + id: actionTaskParam.attributes.actionId, + name: 'actionRef', + type: 'action', + }, + ], + }); + }); + + test('does not overwrite existing references if relatedSavedObjects is empty', () => { + const migration716 = getActionTaskParamsMigrations( + encryptedSavedObjectsSetup, + preconfiguredActions + )['7.16.0']; + const actionTaskParam = getMockData({ relatedSavedObjects: [] }, [ + { + id: 'existing-ref-id', + name: 'existingRef', + type: 'existing-ref-type', + }, + ]); + const migratedActionTaskParam = migration716(actionTaskParam, context); + expect(migratedActionTaskParam).toEqual({ + ...actionTaskParam, + attributes: { + ...actionTaskParam.attributes, + relatedSavedObjects: [], + }, + references: [ + { + id: 'existing-ref-id', + name: 'existingRef', + type: 'existing-ref-type', + }, + { + id: actionTaskParam.attributes.actionId, + name: 'actionRef', + type: 'action', + }, + ], + }); + }); + }); +}); + +describe('handles errors during migrations', () => { + beforeEach(() => { + jest.resetAllMocks(); + encryptedSavedObjectsSetup.createMigration.mockImplementation(() => () => { + throw new Error(`Can't migrate!`); + }); + }); + + describe('7.16.0 throws if migration fails', () => { + test('should show the proper exception', () => { + const migration716 = getActionTaskParamsMigrations( + encryptedSavedObjectsSetup, + preconfiguredActions + )['7.16.0']; + const actionTaskParam = getMockData(); + expect(() => { + migration716(actionTaskParam, context); + }).toThrowError(`Can't migrate!`); + expect(context.log.error).toHaveBeenCalledWith( + `encryptedSavedObject 7.16.0 migration failed for action task param ${actionTaskParam.id} with error: Can't migrate!`, + { + migrations: { + actionTaskParamDocument: actionTaskParam, + }, + } + ); + }); + }); +}); + +describe('isPreconfiguredAction()', () => { + test('returns true if actionId is preconfigured action', () => { + expect( + isPreconfiguredAction(getMockData({ actionId: 'my-slack1' }), preconfiguredActions) + ).toEqual(true); + }); + + test('returns false if actionId is not preconfigured action', () => { + expect(isPreconfiguredAction(getMockData(), preconfiguredActions)).toEqual(false); + }); +}); + +function getMockData( + overwrites: Record = {}, + referencesOverwrites: SavedObjectReference[] = [] +): SavedObjectUnsanitizedDoc { + return { + attributes: { + actionId: uuid.v4(), + params: {}, + ...overwrites, + }, + references: [...referencesOverwrites], + id: uuid.v4(), + type: 'action_task_param', + }; +} diff --git a/x-pack/plugins/actions/server/saved_objects/action_task_params_migrations.ts b/x-pack/plugins/actions/server/saved_objects/action_task_params_migrations.ts new file mode 100644 index 0000000000000..3612642160443 --- /dev/null +++ b/x-pack/plugins/actions/server/saved_objects/action_task_params_migrations.ts @@ -0,0 +1,139 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + LogMeta, + SavedObjectMigrationMap, + SavedObjectUnsanitizedDoc, + SavedObjectMigrationFn, + SavedObjectMigrationContext, + SavedObjectReference, +} from '../../../../../src/core/server'; +import { ActionTaskParams, PreConfiguredAction } from '../types'; +import { EncryptedSavedObjectsPluginSetup } from '../../../encrypted_saved_objects/server'; +import type { IsMigrationNeededPredicate } from '../../../encrypted_saved_objects/server'; +import { RelatedSavedObjects } from '../lib/related_saved_objects'; + +interface ActionTaskParamsLogMeta extends LogMeta { + migrations: { actionTaskParamDocument: SavedObjectUnsanitizedDoc }; +} + +type ActionTaskParamMigration = ( + doc: SavedObjectUnsanitizedDoc +) => SavedObjectUnsanitizedDoc; + +function createEsoMigration( + encryptedSavedObjects: EncryptedSavedObjectsPluginSetup, + isMigrationNeededPredicate: IsMigrationNeededPredicate, + migrationFunc: ActionTaskParamMigration +) { + return encryptedSavedObjects.createMigration({ + isMigrationNeededPredicate, + migration: migrationFunc, + shouldMigrateIfDecryptionFails: true, // shouldMigrateIfDecryptionFails flag that applies the migration to undecrypted document if decryption fails + }); +} + +export function getActionTaskParamsMigrations( + encryptedSavedObjects: EncryptedSavedObjectsPluginSetup, + preconfiguredActions: PreConfiguredAction[] +): SavedObjectMigrationMap { + const migrationActionTaskParamsSixteen = createEsoMigration( + encryptedSavedObjects, + (doc): doc is SavedObjectUnsanitizedDoc => true, + pipeMigrations(getUseSavedObjectReferencesFn(preconfiguredActions)) + ); + + return { + '7.16.0': executeMigrationWithErrorHandling(migrationActionTaskParamsSixteen, '7.16.0'), + }; +} + +function executeMigrationWithErrorHandling( + migrationFunc: SavedObjectMigrationFn, + version: string +) { + return ( + doc: SavedObjectUnsanitizedDoc, + context: SavedObjectMigrationContext + ) => { + try { + return migrationFunc(doc, context); + } catch (ex) { + context.log.error( + `encryptedSavedObject ${version} migration failed for action task param ${doc.id} with error: ${ex.message}`, + { + migrations: { + actionTaskParamDocument: doc, + }, + } + ); + throw ex; + } + }; +} + +export function isPreconfiguredAction( + doc: SavedObjectUnsanitizedDoc, + preconfiguredActions: PreConfiguredAction[] +): boolean { + return !!preconfiguredActions.find((action) => action.id === doc.attributes.actionId); +} + +function getUseSavedObjectReferencesFn(preconfiguredActions: PreConfiguredAction[]) { + return (doc: SavedObjectUnsanitizedDoc) => { + return useSavedObjectReferences(doc, preconfiguredActions); + }; +} + +function useSavedObjectReferences( + doc: SavedObjectUnsanitizedDoc, + preconfiguredActions: PreConfiguredAction[] +): SavedObjectUnsanitizedDoc { + const { + attributes: { actionId, relatedSavedObjects }, + references, + } = doc; + + const newReferences: SavedObjectReference[] = []; + const relatedSavedObjectRefs: RelatedSavedObjects = []; + + if (!isPreconfiguredAction(doc, preconfiguredActions)) { + newReferences.push({ + id: actionId, + name: 'actionRef', + type: 'action', + }); + } + + // Add related saved objects, if any + ((relatedSavedObjects as RelatedSavedObjects) ?? []).forEach((relatedSavedObject, index) => { + relatedSavedObjectRefs.push({ + ...relatedSavedObject, + id: `related_${relatedSavedObject.type}_${index}`, + }); + newReferences.push({ + id: relatedSavedObject.id, + name: `related_${relatedSavedObject.type}_${index}`, + type: relatedSavedObject.type, + }); + }); + + return { + ...doc, + attributes: { + ...doc.attributes, + ...(relatedSavedObjects ? { relatedSavedObjects: relatedSavedObjectRefs } : {}), + }, + references: [...(references ?? []), ...(newReferences ?? [])], + }; +} + +function pipeMigrations(...migrations: ActionTaskParamMigration[]): ActionTaskParamMigration { + return (doc: SavedObjectUnsanitizedDoc) => + migrations.reduce((migratedDoc, nextMigration) => nextMigration(migratedDoc), doc); +} diff --git a/x-pack/plugins/actions/server/saved_objects/migrations.test.ts b/x-pack/plugins/actions/server/saved_objects/actions_migrations.test.ts similarity index 88% rename from x-pack/plugins/actions/server/saved_objects/migrations.test.ts rename to x-pack/plugins/actions/server/saved_objects/actions_migrations.test.ts index beaea76756113..bc0e59279abc1 100644 --- a/x-pack/plugins/actions/server/saved_objects/migrations.test.ts +++ b/x-pack/plugins/actions/server/saved_objects/actions_migrations.test.ts @@ -6,7 +6,7 @@ */ import uuid from 'uuid'; -import { getMigrations } from './migrations'; +import { getActionsMigrations } from './actions_migrations'; import { RawAction } from '../types'; import { SavedObjectUnsanitizedDoc } from 'kibana/server'; import { encryptedSavedObjectsMock } from '../../../encrypted_saved_objects/server/mocks'; @@ -23,7 +23,7 @@ describe('successful migrations', () => { describe('7.10.0', () => { test('add hasAuth config property for .email actions', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getActionsMigrations(encryptedSavedObjectsSetup)['7.10.0']; const action = getMockDataForEmail({}); const migratedAction = migration710(action, context); expect(migratedAction.attributes.config).toEqual({ @@ -41,7 +41,7 @@ describe('successful migrations', () => { }); test('rename cases configuration object', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getActionsMigrations(encryptedSavedObjectsSetup)['7.10.0']; const action = getCasesMockData({}); const migratedAction = migration710(action, context); expect(migratedAction.attributes.config).toEqual({ @@ -61,7 +61,7 @@ describe('successful migrations', () => { describe('7.11.0', () => { test('add hasAuth = true for .webhook actions with user and password', () => { - const migration711 = getMigrations(encryptedSavedObjectsSetup)['7.11.0']; + const migration711 = getActionsMigrations(encryptedSavedObjectsSetup)['7.11.0']; const action = getMockDataForWebhook({}, true); expect(migration711(action, context)).toMatchObject({ ...action, @@ -75,7 +75,7 @@ describe('successful migrations', () => { }); test('add hasAuth = false for .webhook actions without user and password', () => { - const migration711 = getMigrations(encryptedSavedObjectsSetup)['7.11.0']; + const migration711 = getActionsMigrations(encryptedSavedObjectsSetup)['7.11.0']; const action = getMockDataForWebhook({}, false); expect(migration711(action, context)).toMatchObject({ ...action, @@ -88,7 +88,7 @@ describe('successful migrations', () => { }); }); test('remove cases mapping object', () => { - const migration711 = getMigrations(encryptedSavedObjectsSetup)['7.11.0']; + const migration711 = getActionsMigrations(encryptedSavedObjectsSetup)['7.11.0']; const action = getMockData({ config: { incidentConfiguration: { mapping: [] }, isCaseOwned: true, another: 'value' }, }); @@ -106,7 +106,7 @@ describe('successful migrations', () => { describe('7.14.0', () => { test('add isMissingSecrets property for actions', () => { - const migration714 = getMigrations(encryptedSavedObjectsSetup)['7.14.0']; + const migration714 = getActionsMigrations(encryptedSavedObjectsSetup)['7.14.0']; const action = getMockData({ isMissingSecrets: undefined }); const migratedAction = migration714(action, context); expect(migratedAction).toEqual({ @@ -130,7 +130,7 @@ describe('handles errors during migrations', () => { describe('7.10.0 throws if migration fails', () => { test('should show the proper exception', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getActionsMigrations(encryptedSavedObjectsSetup)['7.10.0']; const action = getMockDataForEmail({}); expect(() => { migration710(action, context); @@ -148,7 +148,7 @@ describe('handles errors during migrations', () => { describe('7.11.0 throws if migration fails', () => { test('should show the proper exception', () => { - const migration711 = getMigrations(encryptedSavedObjectsSetup)['7.11.0']; + const migration711 = getActionsMigrations(encryptedSavedObjectsSetup)['7.11.0']; const action = getMockDataForEmail({}); expect(() => { migration711(action, context); @@ -166,7 +166,7 @@ describe('handles errors during migrations', () => { describe('7.14.0 throws if migration fails', () => { test('should show the proper exception', () => { - const migration714 = getMigrations(encryptedSavedObjectsSetup)['7.14.0']; + const migration714 = getActionsMigrations(encryptedSavedObjectsSetup)['7.14.0']; const action = getMockDataForEmail({}); expect(() => { migration714(action, context); diff --git a/x-pack/plugins/actions/server/saved_objects/migrations.ts b/x-pack/plugins/actions/server/saved_objects/actions_migrations.ts similarity index 99% rename from x-pack/plugins/actions/server/saved_objects/migrations.ts rename to x-pack/plugins/actions/server/saved_objects/actions_migrations.ts index de15de7b15e23..a72565e00ef7b 100644 --- a/x-pack/plugins/actions/server/saved_objects/migrations.ts +++ b/x-pack/plugins/actions/server/saved_objects/actions_migrations.ts @@ -36,7 +36,7 @@ function createEsoMigration( }); } -export function getMigrations( +export function getActionsMigrations( encryptedSavedObjects: EncryptedSavedObjectsPluginSetup ): SavedObjectMigrationMap { const migrationActionsTen = createEsoMigration( diff --git a/x-pack/plugins/actions/server/saved_objects/index.ts b/x-pack/plugins/actions/server/saved_objects/index.ts index c4ce38c857151..71ec92645b249 100644 --- a/x-pack/plugins/actions/server/saved_objects/index.ts +++ b/x-pack/plugins/actions/server/saved_objects/index.ts @@ -13,8 +13,9 @@ import type { } from 'kibana/server'; import { EncryptedSavedObjectsPluginSetup } from '../../../encrypted_saved_objects/server'; import mappings from './mappings.json'; -import { getMigrations } from './migrations'; -import { RawAction } from '../types'; +import { getActionsMigrations } from './actions_migrations'; +import { getActionTaskParamsMigrations } from './action_task_params_migrations'; +import { PreConfiguredAction, RawAction } from '../types'; import { getImportWarnings } from './get_import_warnings'; import { transformConnectorsForExport } from './transform_connectors_for_export'; import { ActionTypeRegistry } from '../action_type_registry'; @@ -28,14 +29,15 @@ export function setupSavedObjects( savedObjects: SavedObjectsServiceSetup, encryptedSavedObjects: EncryptedSavedObjectsPluginSetup, actionTypeRegistry: ActionTypeRegistry, - taskManagerIndex: string + taskManagerIndex: string, + preconfiguredActions: PreConfiguredAction[] ) { savedObjects.registerType({ name: ACTION_SAVED_OBJECT_TYPE, hidden: true, namespaceType: 'single', mappings: mappings.action as SavedObjectsTypeMappingDefinition, - migrations: getMigrations(encryptedSavedObjects), + migrations: getActionsMigrations(encryptedSavedObjects), management: { defaultSearchField: 'name', importableAndExportable: true, @@ -71,6 +73,7 @@ export function setupSavedObjects( hidden: true, namespaceType: 'single', mappings: mappings.action_task_params as SavedObjectsTypeMappingDefinition, + migrations: getActionTaskParamsMigrations(encryptedSavedObjects, preconfiguredActions), excludeOnUpgrade: async ({ readonlyEsClient }) => { const oldestIdleActionTask = await getOldestIdleActionTask( readonlyEsClient, diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/action_task_params/index.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/action_task_params/index.ts new file mode 100644 index 0000000000000..115358c4bce3a --- /dev/null +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/action_task_params/index.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { FtrProviderContext } from '../../../common/ftr_provider_context'; +import { buildUp, tearDown } from '..'; + +// eslint-disable-next-line import/no-default-export +export default function actionTaskParamsTests({ loadTestFile, getService }: FtrProviderContext) { + describe('Action Task Params', () => { + before(async () => buildUp(getService)); + after(async () => tearDown(getService)); + + loadTestFile(require.resolve('./migrations')); + }); +} diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/action_task_params/migrations.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/action_task_params/migrations.ts new file mode 100644 index 0000000000000..0c0b62b6cb529 --- /dev/null +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/action_task_params/migrations.ts @@ -0,0 +1,90 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { SavedObject, SavedObjectReference } from 'src/core/server'; +import { ActionTaskParams } from '../../../../../plugins/actions/server/types'; +import { FtrProviderContext } from '../../../common/ftr_provider_context'; + +// eslint-disable-next-line import/no-default-export +export default function createGetTests({ getService }: FtrProviderContext) { + const es = getService('es'); + const esArchiver = getService('esArchiver'); + + describe('migrations', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/action_task_params'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/action_task_params'); + }); + + it('7.16.0 migrates action_task_params to use references array', async () => { + // Inspect migration of non-preconfigured connector ID + const response = await es.get>({ + index: '.kibana', + id: 'action_task_params:b9af6280-0052-11ec-917b-f7aa317691ed', + }); + expect(response.statusCode).to.eql(200); + const { actionId, relatedSavedObjects, references } = getActionIdAndRelatedSavedObjects( + response.body._source + ); + + expect(references.find((ref: SavedObjectReference) => ref.name === 'actionRef')).to.eql({ + name: 'actionRef', + id: actionId, + type: 'action', + }); + + // Should have reference entry for each relatedSavedObject entry + (relatedSavedObjects ?? []).forEach((relatedSavedObject: any) => { + expect( + references.find((ref: SavedObjectReference) => ref.name === relatedSavedObject.id) + ).not.to.be(undefined); + }); + + // Inspect migration of preconfigured connector ID + const preconfiguredConnectorResponse = await es.get>({ + index: '.kibana', + id: 'action_task_params:0205a520-0054-11ec-917b-f7aa317691ed', + }); + expect(preconfiguredConnectorResponse.statusCode).to.eql(200); + + const { + relatedSavedObjects: preconfiguredRelatedSavedObjects, + references: preconfiguredReferences, + } = getActionIdAndRelatedSavedObjects(preconfiguredConnectorResponse.body._source); + + expect( + preconfiguredReferences.find((ref: SavedObjectReference) => ref.name === 'actionRef') + ).to.eql(undefined); + + // Should have reference entry for each relatedSavedObject entry + (preconfiguredRelatedSavedObjects ?? []).forEach((relatedSavedObject: any) => { + expect( + preconfiguredReferences.find( + (ref: SavedObjectReference) => ref.name === relatedSavedObject.id + ) + ).not.to.be(undefined); + }); + }); + }); + + function getActionIdAndRelatedSavedObjects(responseSource: any) { + if (!responseSource) { + return {}; + } + + const actionTaskParams = (responseSource as any)?.action_task_params as ActionTaskParams; + const actionId = actionTaskParams.actionId; + const relatedSavedObjects = actionTaskParams.relatedSavedObjects as unknown[]; + const references = responseSource?.references ?? []; + + return { actionId, relatedSavedObjects, references }; + } +} diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/index.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/index.ts index 8b0addcba26e9..88e5e0740789f 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/index.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/index.ts @@ -15,6 +15,7 @@ export default function alertingApiIntegrationTests({ loadTestFile }: FtrProvide loadTestFile(require.resolve('./actions')); loadTestFile(require.resolve('./alerting')); + loadTestFile(require.resolve('./action_task_params')); }); } diff --git a/x-pack/test/functional/es_archives/action_task_params/data.json b/x-pack/test/functional/es_archives/action_task_params/data.json new file mode 100644 index 0000000000000..158faa429d888 --- /dev/null +++ b/x-pack/test/functional/es_archives/action_task_params/data.json @@ -0,0 +1,63 @@ +{ + "type": "doc", + "value": { + "index": ".kibana_1", + "id": "action_task_params:b9af6280-0052-11ec-917b-f7aa317691ed", + "source": { + "type": "action_task_params", + "action_task_params" : { + "actionId" : "918da460-0052-11ec-917b-f7aa317691ed", + "params" : { + "level" : "info", + "message" : "yo yo" + }, + "relatedSavedObjects" : [ + { + "type" : "alert", + "typeId" : "example.always-firing", + "id" : "b6db0cd0-0052-11ec-917b-f7aa317691ed" + } + ] + }, + "references" : [ + { + "name" : "source", + "id" : "b6db0cd0-0052-11ec-917b-f7aa317691ed", + "type" : "alert" + } + ] + } + } +} + +{ + "type": "doc", + "value": { + "index": ".kibana_1", + "id": "action_task_params:0205a520-0054-11ec-917b-f7aa317691ed", + "source": { + "type": "action_task_params", + "action_task_params" : { + "actionId" : "my-slack1", + "params" : { + "level" : "info", + "message" : "hi hi" + }, + "relatedSavedObjects" : [ + { + "type" : "alert", + "typeId" : "example.always-firing", + "id" : "b50bfcb0-0053-11ec-917b-f7aa317691ed" + } + ] + }, + "references" : [ + { + "name" : "source", + "id" : "b50bfcb0-0053-11ec-917b-f7aa317691ed", + "type" : "alert" + } + ] + } + } +} \ No newline at end of file diff --git a/x-pack/test/functional/es_archives/action_task_params/mappings.json b/x-pack/test/functional/es_archives/action_task_params/mappings.json new file mode 100644 index 0000000000000..d0eb35fa3b157 --- /dev/null +++ b/x-pack/test/functional/es_archives/action_task_params/mappings.json @@ -0,0 +1,2572 @@ +{ + "type": "index", + "value": { + "aliases": { + ".kibana": { + } + }, + "index": ".kibana_1", + "mappings": { + "_meta": { + "migrationMappingPropertyHashes": { + "action": "6e96ac5e648f57523879661ea72525b7", + "action_task_params": "a9d49f184ee89641044be0ca2950fa3a", + "alert": "7b44fba6773e37c806ce290ea9b7024e", + "apm-indices": "9bb9b2bf1fa636ed8619cbab5ce6a1dd", + "apm-telemetry": "3d1b76c39bfb2cc8296b024d73854724", + "app_search_telemetry": "3d1b76c39bfb2cc8296b024d73854724", + "application_usage_daily": "43b8830d5d0df85a6823d290885fc9fd", + "application_usage_totals": "3d1b76c39bfb2cc8296b024d73854724", + "application_usage_transactional": "3d1b76c39bfb2cc8296b024d73854724", + "canvas-element": "7390014e1091044523666d97247392fc", + "canvas-workpad": "b0a1706d356228dbdcb4a17e6b9eb231", + "canvas-workpad-template": "ae2673f678281e2c055d764b153e9715", + "cases": "32aa96a6d3855ddda53010ae2048ac22", + "cases-comments": "c2061fb929f585df57425102fa928b4b", + "cases-configure": "42711cbb311976c0687853f4c1354572", + "cases-user-actions": "32277330ec6b721abe3b846cfd939a71", + "config": "c63748b75f39d0c54de12d12c1ccbc20", + "dashboard": "d00f614b29a80360e1190193fd333bab", + "endpoint:user-artifact": "4a11183eee21e6fbad864f7a30b39ad0", + "endpoint:user-artifact-manifest": "a0d7b04ad405eed54d76e279c3727862", + "epm-packages": "8f6e0b09ea0374c4ffe98c3755373cff", + "exception-list": "497afa2f881a675d72d58e20057f3d8b", + "exception-list-agnostic": "497afa2f881a675d72d58e20057f3d8b", + "file-upload-telemetry": "0ed4d3e1983d1217a30982630897092e", + "fleet-agent-actions": "e520c855577170c24481be05c3ae14ec", + "fleet-agent-events": "3231653fafe4ef3196fe3b32ab774bf2", + "fleet-agents": "034346488514b7058a79140b19ddf631", + "fleet-enrollment-api-keys": "28b91e20b105b6f928e2012600085d8f", + "graph-workspace": "cd7ba1330e6682e9cc00b78850874be1", + "index-pattern": "66eccb05066c5a89924f48a9e9736499", + "infrastructure-ui-source": "2b2809653635caf490c93f090502d04c", + "ingest-agent-policies": "9326f99c977fd2ef5ab24b6336a0675c", + "ingest-outputs": "8aa988c376e65443fefc26f1075e93a3", + "ingest-package-policies": "8545e51d7bc8286d6dace3d41240d749", + "ingest_manager_settings": "012cf278ec84579495110bb827d1ed09", + "inventory-view": "88fc7e12fd1b45b6f0787323ce4f18d2", + "kql-telemetry": "d12a98a6f19a2d273696597547e064ee", + "lens": "d33c68a69ff1e78c9888dedd2164ac22", + "lens-ui-telemetry": "509bfa5978586998e05f9e303c07a327", + "map": "4a05b35c3a3a58fbc72dd0202dc3487f", + "maps-telemetry": "5ef305b18111b77789afefbd36b66171", + "metrics-explorer-view": "a8df1d270ee48c969d22d23812d08187", + "migrationVersion": "4a1746014a75ade3a714e1db5763276f", + "ml-telemetry": "257fd1d4b4fdbb9cb4b8a3b27da201e9", + "namespace": "2f4316de49999235636386fe51dc06c1", + "namespaces": "2f4316de49999235636386fe51dc06c1", + "query": "11aaeb7f5f7fa5bb43f25e18ce26e7d9", + "references": "7997cf5a56cc02bdc9c93361bde732b0", + "sample-data-telemetry": "7d3cfeb915303c9641c59681967ffeb4", + "search": "5c4b9a6effceb17ae8a0ab22d0c49767", + "search-telemetry": "3d1b76c39bfb2cc8296b024d73854724", + "siem-detection-engine-rule-actions": "6569b288c169539db10cb262bf79de18", + "siem-detection-engine-rule-status": "ae783f41c6937db6b7a2ef5c93a9e9b0", + "siem-ui-timeline": "94bc38c7a421d15fbfe8ea565370a421", + "siem-ui-timeline-note": "8874706eedc49059d4cf0f5094559084", + "siem-ui-timeline-pinned-event": "20638091112f0e14f0e443d512301c29", + "space": "c5ca8acafa0beaa4d08d014a97b6bc6b", + "telemetry": "36a616f7026dfa617d6655df850fe16d", + "timelion-sheet": "9a2a2748877c7a7b582fef201ab1d4cf", + "tsvb-validation-telemetry": "3a37ef6c8700ae6fc97d5c7da00e9215", + "type": "2f4316de49999235636386fe51dc06c1", + "ui-metric": "0d409297dc5ebe1e3a1da691c6ee32e3", + "updated_at": "00da57df13e94e9d98437d13ace4bfe0", + "upgrade-assistant-reindex-operation": "215107c281839ea9b3ad5f6419819763", + "upgrade-assistant-telemetry": "56702cec857e0a9dacfb696655b4ff7b", + "uptime-dynamic-settings": "fcdb453a30092f022f2642db29523d80", + "url": "c7f66a0df8b1b52f17c28c4adb111105", + "visualization": "52d7a13ad68a150c4525b292d23e12cc", + "workplace_search_telemetry": "3d1b76c39bfb2cc8296b024d73854724" + } + }, + "dynamic": "strict", + "properties": { + "action": { + "properties": { + "actionTypeId": { + "type": "keyword" + }, + "isMissingSecrets": { + "type": "boolean" + }, + "config": { + "enabled": false, + "type": "object" + }, + "name": { + "fields": { + "keyword": { + "type": "keyword" + } + }, + "type": "text" + }, + "secrets": { + "type": "binary" + } + } + }, + "action_task_params": { + "properties": { + "actionId": { + "type": "keyword" + }, + "apiKey": { + "type": "binary" + }, + "params": { + "enabled": false, + "type": "object" + }, + "relatedSavedObjects": { + "enabled": false, + "type": "object" + } + } + }, + "alert": { + "properties": { + "actions": { + "properties": { + "actionRef": { + "type": "keyword" + }, + "actionTypeId": { + "type": "keyword" + }, + "group": { + "type": "keyword" + }, + "params": { + "enabled": false, + "type": "object" + } + }, + "type": "nested" + }, + "alertTypeId": { + "type": "keyword" + }, + "apiKey": { + "type": "binary" + }, + "apiKeyOwner": { + "type": "keyword" + }, + "consumer": { + "type": "keyword" + }, + "createdAt": { + "type": "date" + }, + "createdBy": { + "type": "keyword" + }, + "enabled": { + "type": "boolean" + }, + "muteAll": { + "type": "boolean" + }, + "mutedInstanceIds": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "type": "keyword" + } + }, + "type": "text" + }, + "params": { + "enabled": false, + "type": "object" + }, + "schedule": { + "properties": { + "interval": { + "type": "keyword" + } + } + }, + "scheduledTaskId": { + "type": "keyword" + }, + "tags": { + "type": "keyword" + }, + "throttle": { + "type": "keyword" + }, + "updatedBy": { + "type": "keyword" + } + } + }, + "apm-indices": { + "properties": { + "apm_oss": { + "properties": { + "errorIndices": { + "type": "keyword" + }, + "metricsIndices": { + "type": "keyword" + }, + "onboardingIndices": { + "type": "keyword" + }, + "sourcemapIndices": { + "type": "keyword" + }, + "spanIndices": { + "type": "keyword" + }, + "transactionIndices": { + "type": "keyword" + } + } + } + } + }, + "apm-telemetry": { + "dynamic": "false", + "type": "object" + }, + "app_search_telemetry": { + "dynamic": "false", + "type": "object" + }, + "application_usage_daily": { + "dynamic": "false", + "properties": { + "timestamp": { + "type": "date" + } + } + }, + "application_usage_totals": { + "dynamic": "false", + "type": "object" + }, + "application_usage_transactional": { + "dynamic": "false", + "type": "object" + }, + "canvas-element": { + "dynamic": "false", + "properties": { + "@created": { + "type": "date" + }, + "@timestamp": { + "type": "date" + }, + "content": { + "type": "text" + }, + "help": { + "type": "text" + }, + "image": { + "type": "text" + }, + "name": { + "fields": { + "keyword": { + "type": "keyword" + } + }, + "type": "text" + } + } + }, + "canvas-workpad": { + "dynamic": "false", + "properties": { + "@created": { + "type": "date" + }, + "@timestamp": { + "type": "date" + }, + "name": { + "fields": { + "keyword": { + "type": "keyword" + } + }, + "type": "text" + } + } + }, + "canvas-workpad-template": { + "dynamic": "false", + "properties": { + "help": { + "fields": { + "keyword": { + "type": "keyword" + } + }, + "type": "text" + }, + "name": { + "fields": { + "keyword": { + "type": "keyword" + } + }, + "type": "text" + }, + "tags": { + "fields": { + "keyword": { + "type": "keyword" + } + }, + "type": "text" + }, + "template_key": { + "type": "keyword" + } + } + }, + "cases": { + "properties": { + "closed_at": { + "type": "date" + }, + "closed_by": { + "properties": { + "email": { + "type": "keyword" + }, + "full_name": { + "type": "keyword" + }, + "username": { + "type": "keyword" + } + } + }, + "connector_id": { + "type": "keyword" + }, + "created_at": { + "type": "date" + }, + "created_by": { + "properties": { + "email": { + "type": "keyword" + }, + "full_name": { + "type": "keyword" + }, + "username": { + "type": "keyword" + } + } + }, + "description": { + "type": "text" + }, + "external_service": { + "properties": { + "connector_id": { + "type": "keyword" + }, + "connector_name": { + "type": "keyword" + }, + "external_id": { + "type": "keyword" + }, + "external_title": { + "type": "text" + }, + "external_url": { + "type": "text" + }, + "pushed_at": { + "type": "date" + }, + "pushed_by": { + "properties": { + "email": { + "type": "keyword" + }, + "full_name": { + "type": "keyword" + }, + "username": { + "type": "keyword" + } + } + } + } + }, + "status": { + "type": "keyword" + }, + "tags": { + "type": "keyword" + }, + "title": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "updated_by": { + "properties": { + "email": { + "type": "keyword" + }, + "full_name": { + "type": "keyword" + }, + "username": { + "type": "keyword" + } + } + } + } + }, + "cases-comments": { + "properties": { + "comment": { + "type": "text" + }, + "created_at": { + "type": "date" + }, + "created_by": { + "properties": { + "email": { + "type": "keyword" + }, + "full_name": { + "type": "keyword" + }, + "username": { + "type": "keyword" + } + } + }, + "pushed_at": { + "type": "date" + }, + "pushed_by": { + "properties": { + "email": { + "type": "keyword" + }, + "full_name": { + "type": "keyword" + }, + "username": { + "type": "keyword" + } + } + }, + "updated_at": { + "type": "date" + }, + "updated_by": { + "properties": { + "email": { + "type": "keyword" + }, + "full_name": { + "type": "keyword" + }, + "username": { + "type": "keyword" + } + } + } + } + }, + "cases-configure": { + "properties": { + "closure_type": { + "type": "keyword" + }, + "connector_id": { + "type": "keyword" + }, + "connector_name": { + "type": "keyword" + }, + "created_at": { + "type": "date" + }, + "created_by": { + "properties": { + "email": { + "type": "keyword" + }, + "full_name": { + "type": "keyword" + }, + "username": { + "type": "keyword" + } + } + }, + "updated_at": { + "type": "date" + }, + "updated_by": { + "properties": { + "email": { + "type": "keyword" + }, + "full_name": { + "type": "keyword" + }, + "username": { + "type": "keyword" + } + } + } + } + }, + "cases-user-actions": { + "properties": { + "action": { + "type": "keyword" + }, + "action_at": { + "type": "date" + }, + "action_by": { + "properties": { + "email": { + "type": "keyword" + }, + "full_name": { + "type": "keyword" + }, + "username": { + "type": "keyword" + } + } + }, + "action_field": { + "type": "keyword" + }, + "new_value": { + "type": "text" + }, + "old_value": { + "type": "text" + } + } + }, + "config": { + "dynamic": "false", + "properties": { + "buildNum": { + "type": "keyword" + } + } + }, + "dashboard": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } + } + }, + "optionsJSON": { + "type": "text" + }, + "panelsJSON": { + "type": "text" + }, + "refreshInterval": { + "properties": { + "display": { + "type": "keyword" + }, + "pause": { + "type": "boolean" + }, + "section": { + "type": "integer" + }, + "value": { + "type": "integer" + } + } + }, + "timeFrom": { + "type": "keyword" + }, + "timeRestore": { + "type": "boolean" + }, + "timeTo": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + } + } + }, + "endpoint:user-artifact": { + "properties": { + "body": { + "type": "binary" + }, + "compressionAlgorithm": { + "index": false, + "type": "keyword" + }, + "created": { + "index": false, + "type": "date" + }, + "decodedSha256": { + "index": false, + "type": "keyword" + }, + "decodedSize": { + "index": false, + "type": "long" + }, + "encodedSha256": { + "type": "keyword" + }, + "encodedSize": { + "index": false, + "type": "long" + }, + "encryptionAlgorithm": { + "index": false, + "type": "keyword" + }, + "identifier": { + "type": "keyword" + } + } + }, + "endpoint:user-artifact-manifest": { + "properties": { + "created": { + "index": false, + "type": "date" + }, + "schemaVersion": { + "type": "keyword" + }, + "semanticVersion": { + "index": false, + "type": "keyword" + }, + "artifacts": { + "type": "nested", + "properties": { + "policyId": { + "type": "keyword", + "index": false + }, + "artifactId": { + "type": "keyword", + "index": false + } + } + } + } + }, + "epm-packages": { + "properties": { + "es_index_patterns": { + "enabled": false, + "type": "object" + }, + "installed_es": { + "properties": { + "id": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + }, + "type": "nested" + }, + "installed_kibana": { + "properties": { + "id": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + }, + "type": "nested" + }, + "internal": { + "type": "boolean" + }, + "name": { + "type": "keyword" + }, + "removable": { + "type": "boolean" + }, + "version": { + "type": "keyword" + } + } + }, + "exception-list": { + "properties": { + "_tags": { + "type": "keyword" + }, + "comments": { + "properties": { + "comment": { + "type": "keyword" + }, + "created_at": { + "type": "keyword" + }, + "created_by": { + "type": "keyword" + }, + "id": { + "type": "keyword" + }, + "updated_at": { + "type": "keyword" + }, + "updated_by": { + "type": "keyword" + } + } + }, + "created_at": { + "type": "keyword" + }, + "created_by": { + "type": "keyword" + }, + "description": { + "type": "keyword" + }, + "entries": { + "properties": { + "entries": { + "properties": { + "field": { + "type": "keyword" + }, + "operator": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "value": { + "fields": { + "text": { + "type": "text" + } + }, + "type": "keyword" + } + } + }, + "field": { + "type": "keyword" + }, + "list": { + "properties": { + "id": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + } + }, + "operator": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "value": { + "fields": { + "text": { + "type": "text" + } + }, + "type": "keyword" + } + } + }, + "immutable": { + "type": "boolean" + }, + "item_id": { + "type": "keyword" + }, + "list_id": { + "type": "keyword" + }, + "list_type": { + "type": "keyword" + }, + "meta": { + "type": "keyword" + }, + "name": { + "type": "keyword" + }, + "tags": { + "type": "keyword" + }, + "tie_breaker_id": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "updated_by": { + "type": "keyword" + }, + "version": { + "type": "keyword" + } + } + }, + "exception-list-agnostic": { + "properties": { + "_tags": { + "type": "keyword" + }, + "comments": { + "properties": { + "comment": { + "type": "keyword" + }, + "created_at": { + "type": "keyword" + }, + "created_by": { + "type": "keyword" + }, + "id": { + "type": "keyword" + }, + "updated_at": { + "type": "keyword" + }, + "updated_by": { + "type": "keyword" + } + } + }, + "created_at": { + "type": "keyword" + }, + "created_by": { + "type": "keyword" + }, + "description": { + "type": "keyword" + }, + "entries": { + "properties": { + "entries": { + "properties": { + "field": { + "type": "keyword" + }, + "operator": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "value": { + "fields": { + "text": { + "type": "text" + } + }, + "type": "keyword" + } + } + }, + "field": { + "type": "keyword" + }, + "list": { + "properties": { + "id": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + } + }, + "operator": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "value": { + "fields": { + "text": { + "type": "text" + } + }, + "type": "keyword" + } + } + }, + "immutable": { + "type": "boolean" + }, + "item_id": { + "type": "keyword" + }, + "list_id": { + "type": "keyword" + }, + "list_type": { + "type": "keyword" + }, + "meta": { + "type": "keyword" + }, + "name": { + "type": "keyword" + }, + "tags": { + "type": "keyword" + }, + "tie_breaker_id": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "updated_by": { + "type": "keyword" + }, + "version": { + "type": "keyword" + } + } + }, + "file-upload-telemetry": { + "properties": { + "filesUploadedTotalCount": { + "type": "long" + } + } + }, + "fleet-agent-actions": { + "properties": { + "agent_id": { + "type": "keyword" + }, + "created_at": { + "type": "date" + }, + "data": { + "type": "binary" + }, + "sent_at": { + "type": "date" + }, + "type": { + "type": "keyword" + } + } + }, + "fleet-agent-events": { + "properties": { + "action_id": { + "type": "keyword" + }, + "agent_id": { + "type": "keyword" + }, + "config_id": { + "type": "keyword" + }, + "data": { + "type": "text" + }, + "message": { + "type": "text" + }, + "payload": { + "type": "text" + }, + "stream_id": { + "type": "keyword" + }, + "subtype": { + "type": "keyword" + }, + "timestamp": { + "type": "date" + }, + "type": { + "type": "keyword" + } + } + }, + "fleet-agents": { + "properties": { + "access_api_key_id": { + "type": "keyword" + }, + "active": { + "type": "boolean" + }, + "config_id": { + "type": "keyword" + }, + "config_revision": { + "type": "integer" + }, + "current_error_events": { + "index": false, + "type": "text" + }, + "default_api_key": { + "type": "binary" + }, + "default_api_key_id": { + "type": "keyword" + }, + "enrolled_at": { + "type": "date" + }, + "last_checkin": { + "type": "date" + }, + "last_checkin_status": { + "type": "keyword" + }, + "last_updated": { + "type": "date" + }, + "local_metadata": { + "type": "flattened" + }, + "packages": { + "type": "keyword" + }, + "shared_id": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "unenrolled_at": { + "type": "date" + }, + "unenrollment_started_at": { + "type": "date" + }, + "updated_at": { + "type": "date" + }, + "user_provided_metadata": { + "type": "flattened" + }, + "version": { + "type": "keyword" + } + } + }, + "fleet-enrollment-api-keys": { + "properties": { + "active": { + "type": "boolean" + }, + "api_key": { + "type": "binary" + }, + "api_key_id": { + "type": "keyword" + }, + "config_id": { + "type": "keyword" + }, + "created_at": { + "type": "date" + }, + "expire_at": { + "type": "date" + }, + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + } + } + }, + "graph-workspace": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } + } + }, + "numLinks": { + "type": "integer" + }, + "numVertices": { + "type": "integer" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "wsState": { + "type": "text" + } + } + }, + "index-pattern": { + "properties": { + "fieldFormatMap": { + "type": "text" + }, + "fields": { + "type": "text" + }, + "intervalName": { + "type": "keyword" + }, + "notExpandable": { + "type": "boolean" + }, + "sourceFilters": { + "type": "text" + }, + "timeFieldName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "type": { + "type": "keyword" + }, + "typeMeta": { + "type": "keyword" + } + } + }, + "infrastructure-ui-source": { + "properties": { + "description": { + "type": "text" + }, + "fields": { + "properties": { + "container": { + "type": "keyword" + }, + "host": { + "type": "keyword" + }, + "pod": { + "type": "keyword" + }, + "tiebreaker": { + "type": "keyword" + }, + "timestamp": { + "type": "keyword" + } + } + }, + "inventoryDefaultView": { + "type": "keyword" + }, + "logAlias": { + "type": "keyword" + }, + "logColumns": { + "properties": { + "fieldColumn": { + "properties": { + "field": { + "type": "keyword" + }, + "id": { + "type": "keyword" + } + } + }, + "messageColumn": { + "properties": { + "id": { + "type": "keyword" + } + } + }, + "timestampColumn": { + "properties": { + "id": { + "type": "keyword" + } + } + } + }, + "type": "nested" + }, + "metricAlias": { + "type": "keyword" + }, + "metricsExplorerDefaultView": { + "type": "keyword" + }, + "name": { + "type": "text" + } + } + }, + "ingest-agent-policies": { + "properties": { + "description": { + "type": "text" + }, + "is_default": { + "type": "boolean" + }, + "monitoring_enabled": { + "index": false, + "type": "keyword" + }, + "name": { + "type": "keyword" + }, + "namespace": { + "type": "keyword" + }, + "package_configs": { + "type": "keyword" + }, + "revision": { + "type": "integer" + }, + "status": { + "type": "keyword" + }, + "updated_at": { + "type": "date" + }, + "updated_by": { + "type": "keyword" + } + } + }, + "ingest-outputs": { + "properties": { + "ca_sha256": { + "index": false, + "type": "keyword" + }, + "config": { + "type": "flattened" + }, + "fleet_enroll_password": { + "type": "binary" + }, + "fleet_enroll_username": { + "type": "binary" + }, + "hosts": { + "type": "keyword" + }, + "is_default": { + "type": "boolean" + }, + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + } + }, + "ingest-package-policies": { + "properties": { + "config_id": { + "type": "keyword" + }, + "created_at": { + "type": "date" + }, + "created_by": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "enabled": { + "type": "boolean" + }, + "inputs": { + "enabled": false, + "properties": { + "config": { + "type": "flattened" + }, + "enabled": { + "type": "boolean" + }, + "streams": { + "properties": { + "compiled_stream": { + "type": "flattened" + }, + "config": { + "type": "flattened" + }, + "data_stream": { + "properties": { + "dataset": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + } + }, + "enabled": { + "type": "boolean" + }, + "id": { + "type": "keyword" + }, + "vars": { + "type": "flattened" + } + }, + "type": "nested" + }, + "type": { + "type": "keyword" + }, + "vars": { + "type": "flattened" + } + }, + "type": "nested" + }, + "name": { + "type": "keyword" + }, + "namespace": { + "type": "keyword" + }, + "output_id": { + "type": "keyword" + }, + "package": { + "properties": { + "name": { + "type": "keyword" + }, + "title": { + "type": "keyword" + }, + "version": { + "type": "keyword" + } + } + }, + "revision": { + "type": "integer" + }, + "updated_at": { + "type": "date" + }, + "updated_by": { + "type": "keyword" + } + } + }, + "ingest_manager_settings": { + "properties": { + "agent_auto_upgrade": { + "type": "keyword" + }, + "has_seen_add_data_notice": { + "index": false, + "type": "boolean" + }, + "kibana_ca_sha256": { + "type": "keyword" + }, + "kibana_url": { + "type": "keyword" + }, + "package_auto_upgrade": { + "type": "keyword" + } + } + }, + "inventory-view": { + "properties": { + "accountId": { + "type": "keyword" + }, + "autoBounds": { + "type": "boolean" + }, + "autoReload": { + "type": "boolean" + }, + "boundsOverride": { + "properties": { + "max": { + "type": "integer" + }, + "min": { + "type": "integer" + } + } + }, + "customMetrics": { + "properties": { + "aggregation": { + "type": "keyword" + }, + "field": { + "type": "keyword" + }, + "id": { + "type": "keyword" + }, + "label": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + }, + "type": "nested" + }, + "customOptions": { + "properties": { + "field": { + "type": "keyword" + }, + "text": { + "type": "keyword" + } + }, + "type": "nested" + }, + "filterQuery": { + "properties": { + "expression": { + "type": "keyword" + }, + "kind": { + "type": "keyword" + } + } + }, + "groupBy": { + "properties": { + "field": { + "type": "keyword" + }, + "label": { + "type": "keyword" + } + }, + "type": "nested" + }, + "legend": { + "properties": { + "palette": { + "type": "keyword" + }, + "reverseColors": { + "type": "boolean" + }, + "steps": { + "type": "long" + } + } + }, + "metric": { + "properties": { + "aggregation": { + "type": "keyword" + }, + "field": { + "type": "keyword" + }, + "id": { + "type": "keyword" + }, + "label": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + } + }, + "name": { + "type": "keyword" + }, + "nodeType": { + "type": "keyword" + }, + "region": { + "type": "keyword" + }, + "sort": { + "properties": { + "by": { + "type": "keyword" + }, + "direction": { + "type": "keyword" + } + } + }, + "time": { + "type": "long" + }, + "view": { + "type": "keyword" + } + } + }, + "kql-telemetry": { + "properties": { + "optInCount": { + "type": "long" + }, + "optOutCount": { + "type": "long" + } + } + }, + "lens": { + "properties": { + "description": { + "type": "text" + }, + "expression": { + "index": false, + "type": "keyword" + }, + "state": { + "type": "flattened" + }, + "title": { + "type": "text" + }, + "visualizationType": { + "type": "keyword" + } + } + }, + "lens-ui-telemetry": { + "properties": { + "count": { + "type": "integer" + }, + "date": { + "type": "date" + }, + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + } + }, + "map": { + "properties": { + "description": { + "type": "text" + }, + "layerListJSON": { + "type": "text" + }, + "mapStateJSON": { + "type": "text" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + } + } + }, + "maps-telemetry": { + "enabled": false, + "type": "object" + }, + "metrics-explorer-view": { + "properties": { + "chartOptions": { + "properties": { + "stack": { + "type": "boolean" + }, + "type": { + "type": "keyword" + }, + "yAxisMode": { + "type": "keyword" + } + } + }, + "currentTimerange": { + "properties": { + "from": { + "type": "keyword" + }, + "interval": { + "type": "keyword" + }, + "to": { + "type": "keyword" + } + } + }, + "name": { + "type": "keyword" + }, + "options": { + "properties": { + "aggregation": { + "type": "keyword" + }, + "filterQuery": { + "type": "keyword" + }, + "forceInterval": { + "type": "boolean" + }, + "groupBy": { + "type": "keyword" + }, + "limit": { + "type": "integer" + }, + "metrics": { + "properties": { + "aggregation": { + "type": "keyword" + }, + "color": { + "type": "keyword" + }, + "field": { + "type": "keyword" + }, + "label": { + "type": "keyword" + } + }, + "type": "nested" + }, + "source": { + "type": "keyword" + } + } + } + } + }, + "migrationVersion": { + "dynamic": "true", + "properties": { + "config": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } + }, + "type": "text" + }, + "space": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } + }, + "type": "text" + } + } + }, + "ml-telemetry": { + "properties": { + "file_data_visualizer": { + "properties": { + "index_creation_count": { + "type": "long" + } + } + } + } + }, + "namespace": { + "type": "keyword" + }, + "namespaces": { + "type": "keyword" + }, + "query": { + "properties": { + "description": { + "type": "text" + }, + "filters": { + "enabled": false, + "type": "object" + }, + "query": { + "properties": { + "language": { + "type": "keyword" + }, + "query": { + "index": false, + "type": "keyword" + } + } + }, + "timefilter": { + "enabled": false, + "type": "object" + }, + "title": { + "type": "text" + } + } + }, + "references": { + "properties": { + "id": { + "type": "keyword" + }, + "name": { + "type": "keyword" + }, + "type": { + "type": "keyword" + } + }, + "type": "nested" + }, + "sample-data-telemetry": { + "properties": { + "installCount": { + "type": "long" + }, + "unInstallCount": { + "type": "long" + } + } + }, + "search": { + "properties": { + "columns": { + "index": false, + "type": "keyword" + }, + "description": { + "type": "text" + }, + "hits": { + "index": false, + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "index": false, + "type": "text" + } + } + }, + "sort": { + "index": false, + "type": "keyword" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + } + } + }, + "search-telemetry": { + "dynamic": "false", + "type": "object" + }, + "siem-detection-engine-rule-actions": { + "properties": { + "actions": { + "properties": { + "action_type_id": { + "type": "keyword" + }, + "group": { + "type": "keyword" + }, + "id": { + "type": "keyword" + }, + "params": { + "enabled": false, + "type": "object" + } + } + }, + "alertThrottle": { + "type": "keyword" + }, + "ruleAlertId": { + "type": "keyword" + }, + "ruleThrottle": { + "type": "keyword" + } + } + }, + "siem-detection-engine-rule-status": { + "properties": { + "alertId": { + "type": "keyword" + }, + "bulkCreateTimeDurations": { + "type": "float" + }, + "gap": { + "type": "text" + }, + "lastFailureAt": { + "type": "date" + }, + "lastFailureMessage": { + "type": "text" + }, + "lastLookBackDate": { + "type": "date" + }, + "lastSuccessAt": { + "type": "date" + }, + "lastSuccessMessage": { + "type": "text" + }, + "searchAfterTimeDurations": { + "type": "float" + }, + "status": { + "type": "keyword" + }, + "statusDate": { + "type": "date" + } + } + }, + "siem-ui-timeline": { + "properties": { + "columns": { + "properties": { + "aggregatable": { + "type": "boolean" + }, + "category": { + "type": "keyword" + }, + "columnHeaderType": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "example": { + "type": "text" + }, + "id": { + "type": "keyword" + }, + "indexes": { + "type": "keyword" + }, + "name": { + "type": "text" + }, + "placeholder": { + "type": "text" + }, + "searchable": { + "type": "boolean" + }, + "type": { + "type": "keyword" + } + } + }, + "created": { + "type": "date" + }, + "createdBy": { + "type": "text" + }, + "dataProviders": { + "properties": { + "and": { + "properties": { + "enabled": { + "type": "boolean" + }, + "excluded": { + "type": "boolean" + }, + "id": { + "type": "keyword" + }, + "kqlQuery": { + "type": "text" + }, + "name": { + "type": "text" + }, + "queryMatch": { + "properties": { + "displayField": { + "type": "text" + }, + "displayValue": { + "type": "text" + }, + "field": { + "type": "text" + }, + "operator": { + "type": "text" + }, + "value": { + "type": "text" + } + } + }, + "type": { + "type": "text" + } + } + }, + "enabled": { + "type": "boolean" + }, + "excluded": { + "type": "boolean" + }, + "id": { + "type": "keyword" + }, + "kqlQuery": { + "type": "text" + }, + "name": { + "type": "text" + }, + "queryMatch": { + "properties": { + "displayField": { + "type": "text" + }, + "displayValue": { + "type": "text" + }, + "field": { + "type": "text" + }, + "operator": { + "type": "text" + }, + "value": { + "type": "text" + } + } + }, + "type": { + "type": "text" + } + } + }, + "dateRange": { + "properties": { + "end": { + "type": "date" + }, + "start": { + "type": "date" + } + } + }, + "description": { + "type": "text" + }, + "eventType": { + "type": "keyword" + }, + "excludedRowRendererIds": { + "type": "text" + }, + "favorite": { + "properties": { + "favoriteDate": { + "type": "date" + }, + "fullName": { + "type": "text" + }, + "keySearch": { + "type": "text" + }, + "userName": { + "type": "text" + } + } + }, + "filters": { + "properties": { + "exists": { + "type": "text" + }, + "match_all": { + "type": "text" + }, + "meta": { + "properties": { + "alias": { + "type": "text" + }, + "controlledBy": { + "type": "text" + }, + "disabled": { + "type": "boolean" + }, + "field": { + "type": "text" + }, + "formattedValue": { + "type": "text" + }, + "index": { + "type": "keyword" + }, + "key": { + "type": "keyword" + }, + "negate": { + "type": "boolean" + }, + "params": { + "type": "text" + }, + "type": { + "type": "keyword" + }, + "value": { + "type": "text" + } + } + }, + "missing": { + "type": "text" + }, + "query": { + "type": "text" + }, + "range": { + "type": "text" + }, + "script": { + "type": "text" + } + } + }, + "kqlMode": { + "type": "keyword" + }, + "kqlQuery": { + "properties": { + "filterQuery": { + "properties": { + "kuery": { + "properties": { + "expression": { + "type": "text" + }, + "kind": { + "type": "keyword" + } + } + }, + "serializedQuery": { + "type": "text" + } + } + } + } + }, + "savedQueryId": { + "type": "keyword" + }, + "sort": { + "properties": { + "columnId": { + "type": "keyword" + }, + "sortDirection": { + "type": "keyword" + } + } + }, + "status": { + "type": "keyword" + }, + "templateTimelineId": { + "type": "text" + }, + "templateTimelineVersion": { + "type": "integer" + }, + "timelineType": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "updated": { + "type": "date" + }, + "updatedBy": { + "type": "text" + } + } + }, + "siem-ui-timeline-note": { + "properties": { + "created": { + "type": "date" + }, + "createdBy": { + "type": "text" + }, + "eventId": { + "type": "keyword" + }, + "note": { + "type": "text" + }, + "timelineId": { + "type": "keyword" + }, + "updated": { + "type": "date" + }, + "updatedBy": { + "type": "text" + } + } + }, + "siem-ui-timeline-pinned-event": { + "properties": { + "created": { + "type": "date" + }, + "createdBy": { + "type": "text" + }, + "eventId": { + "type": "keyword" + }, + "timelineId": { + "type": "keyword" + }, + "updated": { + "type": "date" + }, + "updatedBy": { + "type": "text" + } + } + }, + "space": { + "properties": { + "_reserved": { + "type": "boolean" + }, + "color": { + "type": "keyword" + }, + "description": { + "type": "text" + }, + "disabledFeatures": { + "type": "keyword" + }, + "imageUrl": { + "index": false, + "type": "text" + }, + "initials": { + "type": "keyword" + }, + "name": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } + }, + "type": "text" + } + } + }, + "telemetry": { + "properties": { + "allowChangingOptInStatus": { + "type": "boolean" + }, + "enabled": { + "type": "boolean" + }, + "lastReported": { + "type": "date" + }, + "lastVersionChecked": { + "type": "keyword" + }, + "reportFailureCount": { + "type": "integer" + }, + "reportFailureVersion": { + "type": "keyword" + }, + "sendUsageFrom": { + "type": "keyword" + }, + "userHasSeenNotice": { + "type": "boolean" + } + } + }, + "timelion-sheet": { + "properties": { + "description": { + "type": "text" + }, + "hits": { + "type": "integer" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } + } + }, + "timelion_chart_height": { + "type": "integer" + }, + "timelion_columns": { + "type": "integer" + }, + "timelion_interval": { + "type": "keyword" + }, + "timelion_other_interval": { + "type": "keyword" + }, + "timelion_rows": { + "type": "integer" + }, + "timelion_sheet": { + "type": "text" + }, + "title": { + "type": "text" + }, + "version": { + "type": "integer" + } + } + }, + "tsvb-validation-telemetry": { + "properties": { + "failedRequests": { + "type": "long" + } + } + }, + "type": { + "type": "keyword" + }, + "ui-metric": { + "properties": { + "count": { + "type": "integer" + } + } + }, + "updated_at": { + "type": "date" + }, + "upgrade-assistant-reindex-operation": { + "properties": { + "errorMessage": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } + }, + "type": "text" + }, + "indexName": { + "type": "keyword" + }, + "lastCompletedStep": { + "type": "long" + }, + "locked": { + "type": "date" + }, + "newIndexName": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } + }, + "type": "text" + }, + "reindexOptions": { + "properties": { + "openAndClose": { + "type": "boolean" + }, + "queueSettings": { + "properties": { + "queuedAt": { + "type": "long" + }, + "startedAt": { + "type": "long" + } + } + } + } + }, + "reindexTaskId": { + "fields": { + "keyword": { + "ignore_above": 256, + "type": "keyword" + } + }, + "type": "text" + }, + "reindexTaskPercComplete": { + "type": "float" + }, + "runningReindexCount": { + "type": "integer" + }, + "status": { + "type": "integer" + } + } + }, + "upgrade-assistant-telemetry": { + "properties": { + "features": { + "properties": { + "deprecation_logging": { + "properties": { + "enabled": { + "null_value": true, + "type": "boolean" + } + } + } + } + }, + "ui_open": { + "properties": { + "cluster": { + "null_value": 0, + "type": "long" + }, + "indices": { + "null_value": 0, + "type": "long" + }, + "overview": { + "null_value": 0, + "type": "long" + } + } + }, + "ui_reindex": { + "properties": { + "close": { + "null_value": 0, + "type": "long" + }, + "open": { + "null_value": 0, + "type": "long" + }, + "start": { + "null_value": 0, + "type": "long" + }, + "stop": { + "null_value": 0, + "type": "long" + } + } + } + } + }, + "uptime-dynamic-settings": { + "properties": { + "certAgeThreshold": { + "type": "long" + }, + "certExpirationThreshold": { + "type": "long" + }, + "heartbeatIndices": { + "type": "keyword" + } + } + }, + "url": { + "properties": { + "accessCount": { + "type": "long" + }, + "accessDate": { + "type": "date" + }, + "createDate": { + "type": "date" + }, + "url": { + "fields": { + "keyword": { + "ignore_above": 2048, + "type": "keyword" + } + }, + "type": "text" + } + } + }, + "visualization": { + "properties": { + "description": { + "type": "text" + }, + "kibanaSavedObjectMeta": { + "properties": { + "searchSourceJSON": { + "type": "text" + } + } + }, + "savedSearchRefName": { + "type": "keyword" + }, + "title": { + "type": "text" + }, + "uiStateJSON": { + "type": "text" + }, + "version": { + "type": "integer" + }, + "visState": { + "type": "text" + } + } + }, + "workplace_search_telemetry": { + "dynamic": "false", + "type": "object" + } + } + }, + "settings": { + "index": { + "auto_expand_replicas": "0-1", + "number_of_replicas": "0", + "number_of_shards": "1" + } + } + } +} From 811d3d779fc6997a4a2b57dbac80c13bde87bb71 Mon Sep 17 00:00:00 2001 From: Maja Grubic Date: Wed, 25 Aug 2021 16:19:24 +0200 Subject: [PATCH 025/139] [Discover] Hide multifields from doc table (#109242) * [Discover] Hide multifields from doc table * Fix failing type check * Fix eslint * Fix faulty logic * Fix linting error * Add memoization to the function * Move getFieldsToShow a bit higher up * Extracting getFieldsToShow logic higher up * Fix linting error / table logic * Move fieldsToShow to doc_table_wrapper Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../doc_table/components/table_row.tsx | 4 +- .../doc_table/doc_table_wrapper.tsx | 18 +++- .../doc_table/lib/row_formatter.test.ts | 9 +- .../doc_table/lib/row_formatter.tsx | 16 +++- .../discover_grid/discover_grid.tsx | 13 ++- .../get_render_cell_value.test.tsx | 12 +++ .../discover_grid/get_render_cell_value.tsx | 18 +++- .../components/table/table.test.tsx | 2 + .../application/components/table/table.tsx | 23 ++--- .../helpers/get_fields_to_show.test.ts | 93 +++++++++++++++++++ .../application/helpers/get_fields_to_show.ts | 32 +++++++ 11 files changed, 210 insertions(+), 30 deletions(-) create mode 100644 src/plugins/discover/public/application/helpers/get_fields_to_show.test.ts create mode 100644 src/plugins/discover/public/application/helpers/get_fields_to_show.ts diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/components/table_row.tsx b/src/plugins/discover/public/application/apps/main/components/doc_table/components/table_row.tsx index 886aeffc06667..803694db177a9 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/components/table_row.tsx +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/components/table_row.tsx @@ -35,6 +35,7 @@ export interface TableRowProps { hideTimeColumn: boolean; filterManager: FilterManager; addBasePath: (path: string) => string; + fieldsToShow: string[]; } export const TableRow = ({ @@ -43,6 +44,7 @@ export const TableRow = ({ row, indexPattern, useNewFieldsApi, + fieldsToShow, hideTimeColumn, onAddColumn, onRemoveColumn, @@ -125,7 +127,7 @@ export const TableRow = ({ } if (columns.length === 0 && useNewFieldsApi) { - const formatted = formatRow(row, indexPattern); + const formatted = formatRow(row, indexPattern, fieldsToShow); rowCells.push( { @@ -129,6 +132,7 @@ export const DocTableWrapper = ({ services.uiSettings.get(DOC_HIDE_TIME_COLUMN_SETTING, false), services.uiSettings.get(FORMATS_UI_SETTINGS.SHORT_DOTS_ENABLE), services.uiSettings.get(SAMPLE_SIZE_SETTING, 500), + services.uiSettings.get(SHOW_MULTIFIELDS, false), services.filterManager, services.addBasePath, ]; @@ -149,6 +153,16 @@ export const DocTableWrapper = ({ bottomMarker!.blur(); }, [setMinimumVisibleRows, rows]); + const fieldsToShow = useMemo( + () => + getFieldsToShow( + indexPattern.fields.map((field: IndexPatternField) => field.name), + indexPattern, + showMultiFields + ), + [indexPattern, showMultiFields] + ); + const renderHeader = useCallback( () => ( )); }, @@ -206,6 +221,7 @@ export const DocTableWrapper = ({ onRemoveColumn, filterManager, addBasePath, + fieldsToShow, ] ); diff --git a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/row_formatter.test.ts b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/row_formatter.test.ts index e4424ad0b9d0e..5874be19b0b74 100644 --- a/src/plugins/discover/public/application/apps/main/components/doc_table/lib/row_formatter.test.ts +++ b/src/plugins/discover/public/application/apps/main/components/doc_table/lib/row_formatter.test.ts @@ -45,6 +45,8 @@ describe('Row formatter', () => { const indexPattern = createIndexPattern(); + const fieldsToShow = indexPattern.fields.getAll().map((fld) => fld.name); + // Realistic response with alphabetical insertion order const formatHitReturnValue = { also: 'with \\"quotes\\" or 'single qoutes'', @@ -69,7 +71,7 @@ describe('Row formatter', () => { }); it('formats document properly', () => { - expect(formatRow(hit, indexPattern)).toMatchInlineSnapshot(` + expect(formatRow(hit, indexPattern, fieldsToShow)).toMatchInlineSnapshot(` { get: () => 1, }, } as unknown) as DiscoverServices); - expect(formatRow(hit, indexPattern)).toMatchInlineSnapshot(` + expect(formatRow(hit, indexPattern, [])).toMatchInlineSnapshot(` { }); it('formats document with highlighted fields first', () => { - expect(formatRow({ ...hit, highlight: { number: '42' } }, indexPattern)).toMatchInlineSnapshot(` + expect(formatRow({ ...hit, highlight: { number: '42' } }, indexPattern, fieldsToShow)) + .toMatchInlineSnapshot(` { ); }; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export const formatRow = (hit: Record, indexPattern: IndexPattern) => { +export const formatRow = ( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + hit: Record, + indexPattern: IndexPattern, + fieldsToShow: string[] +) => { const highlights = hit?.highlight ?? {}; // Keys are sorted in the hits object const formatted = indexPattern.formatHit(hit); @@ -40,7 +44,13 @@ export const formatRow = (hit: Record, indexPattern: IndexPattern) Object.entries(formatted).forEach(([key, val]) => { const displayKey = fields.getByName ? fields.getByName(key)?.displayName : undefined; const pairs = highlights[key] ? highlightPairs : sourcePairs; - pairs.push([displayKey ? displayKey : key, val]); + if (displayKey) { + if (fieldsToShow.includes(displayKey)) { + pairs.push([displayKey, val]); + } + } else { + pairs.push([key, val]); + } }); const maxEntries = getServices().uiSettings.get(MAX_DOC_FIELDS_DISPLAYED); return ; diff --git a/src/plugins/discover/public/application/components/discover_grid/discover_grid.tsx b/src/plugins/discover/public/application/components/discover_grid/discover_grid.tsx index c727e7784cca6..e33d25c8693a6 100644 --- a/src/plugins/discover/public/application/components/discover_grid/discover_grid.tsx +++ b/src/plugins/discover/public/application/components/discover_grid/discover_grid.tsx @@ -37,9 +37,10 @@ import { defaultPageSize, gridStyle, pageSizeArr, toolbarVisibility } from './co import { DiscoverServices } from '../../../build_services'; import { getDisplayedColumns } from '../../helpers/columns'; import { KibanaContextProvider } from '../../../../../kibana_react/public'; -import { MAX_DOC_FIELDS_DISPLAYED } from '../../../../common'; +import { MAX_DOC_FIELDS_DISPLAYED, SHOW_MULTIFIELDS } from '../../../../common'; import { DiscoverGridDocumentToolbarBtn, getDocId } from './discover_grid_document_selection'; import { SortPairArr } from '../../apps/main/components/doc_table/lib/get_sort'; +import { getFieldsToShow } from '../../helpers/get_fields_to_show'; interface SortObj { id: string; @@ -256,6 +257,13 @@ export const DiscoverGrid = ({ [onSort, isSortEnabled] ); + const showMultiFields = services.uiSettings.get(SHOW_MULTIFIELDS); + + const fieldsToShow = useMemo(() => { + const indexPatternFields = indexPattern.fields.getAll().map((fld) => fld.name); + return getFieldsToShow(indexPatternFields, indexPattern, showMultiFields); + }, [indexPattern, showMultiFields]); + /** * Cell rendering */ @@ -266,9 +274,10 @@ export const DiscoverGrid = ({ displayedRows, displayedRows ? displayedRows.map((hit) => indexPattern.flattenHit(hit)) : [], useNewFieldsApi, + fieldsToShow, services.uiSettings.get(MAX_DOC_FIELDS_DISPLAYED) ), - [displayedRows, indexPattern, useNewFieldsApi, services.uiSettings] + [indexPattern, displayedRows, useNewFieldsApi, fieldsToShow, services.uiSettings] ); /** diff --git a/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.test.tsx b/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.test.tsx index b7e37a28fe539..5aca237d46581 100644 --- a/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.test.tsx +++ b/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.test.tsx @@ -75,6 +75,7 @@ describe('Discover grid cell rendering', function () { rowsSource, rowsSource.map((row) => indexPatternMock.flattenHit(row)), false, + [], 100 ); const component = shallow( @@ -96,6 +97,7 @@ describe('Discover grid cell rendering', function () { rowsSource, rowsSource.map((row) => indexPatternMock.flattenHit(row)), false, + [], 100 ); const component = shallow( @@ -146,6 +148,7 @@ describe('Discover grid cell rendering', function () { rowsSource, rowsSource.map((row) => indexPatternMock.flattenHit(row)), false, + [], 100 ); const component = shallow( @@ -188,6 +191,7 @@ describe('Discover grid cell rendering', function () { rowsFields, rowsFields.map((row) => indexPatternMock.flattenHit(row)), true, + [], 100 ); const component = shallow( @@ -242,6 +246,7 @@ describe('Discover grid cell rendering', function () { rowsFields, rowsFields.map((row) => indexPatternMock.flattenHit(row)), true, + [], // this is the number of rendered items 1 ); @@ -284,6 +289,7 @@ describe('Discover grid cell rendering', function () { rowsFields, rowsFields.map((row) => indexPatternMock.flattenHit(row)), true, + [], 100 ); const component = shallow( @@ -331,6 +337,7 @@ describe('Discover grid cell rendering', function () { rowsFieldsWithTopLevelObject, rowsFieldsWithTopLevelObject.map((row) => indexPatternMock.flattenHit(row)), true, + [], 100 ); const component = shallow( @@ -371,6 +378,7 @@ describe('Discover grid cell rendering', function () { rowsFieldsWithTopLevelObject, rowsFieldsWithTopLevelObject.map((row) => indexPatternMock.flattenHit(row)), true, + [], 100 ); const component = shallow( @@ -410,6 +418,7 @@ describe('Discover grid cell rendering', function () { rowsFieldsWithTopLevelObject, rowsFieldsWithTopLevelObject.map((row) => indexPatternMock.flattenHit(row)), true, + [], 100 ); const component = shallow( @@ -440,6 +449,7 @@ describe('Discover grid cell rendering', function () { rowsFieldsWithTopLevelObject, rowsFieldsWithTopLevelObject.map((row) => indexPatternMock.flattenHit(row)), true, + [], 100 ); const component = shallow( @@ -469,6 +479,7 @@ describe('Discover grid cell rendering', function () { rowsSource, rowsSource.map((row) => indexPatternMock.flattenHit(row)), false, + [], 100 ); const component = shallow( @@ -490,6 +501,7 @@ describe('Discover grid cell rendering', function () { rowsSource, rowsSource.map((row) => indexPatternMock.flattenHit(row)), false, + [], 100 ); const component = shallow( diff --git a/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.tsx b/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.tsx index b3c205e072508..0dfbdffd175ac 100644 --- a/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.tsx +++ b/src/plugins/discover/public/application/components/discover_grid/get_render_cell_value.tsx @@ -28,6 +28,7 @@ export const getRenderCellValueFn = ( rows: ElasticSearchHit[] | undefined, rowsFlattened: Array>, useNewFieldsApi: boolean, + fieldsToShow: string[], maxDocFieldsDisplayed: number ) => ({ rowIndex, columnId, isDetails, setCellProps }: EuiDataGridCellValueElementProps) => { const row = rows ? rows[rowIndex] : undefined; @@ -99,7 +100,13 @@ export const getRenderCellValueFn = ( ) .join(', '); const pairs = highlights[key] ? highlightPairs : sourcePairs; - pairs.push([displayKey ? displayKey : key, formatted]); + if (displayKey) { + if (fieldsToShow.includes(displayKey)) { + pairs.push([displayKey, formatted]); + } + } else { + pairs.push([key, formatted]); + } }); return ( @@ -137,13 +144,18 @@ export const getRenderCellValueFn = ( const highlights: Record = (row.highlight as Record) ?? {}; const highlightPairs: Array<[string, string]> = []; const sourcePairs: Array<[string, string]> = []; - Object.entries(formatted).forEach(([key, val]) => { const pairs = highlights[key] ? highlightPairs : sourcePairs; const displayKey = indexPattern.fields.getByName ? indexPattern.fields.getByName(key)?.displayName : undefined; - pairs.push([displayKey ? displayKey : key, val as string]); + if (displayKey) { + if (fieldsToShow.includes(displayKey)) { + pairs.push([displayKey, val as string]); + } + } else { + pairs.push([key, val as string]); + } }); return ( diff --git a/src/plugins/discover/public/application/components/table/table.test.tsx b/src/plugins/discover/public/application/components/table/table.test.tsx index 5a8d3e7d2db46..da6820ba4a70a 100644 --- a/src/plugins/discover/public/application/components/table/table.test.tsx +++ b/src/plugins/discover/public/application/components/table/table.test.tsx @@ -475,11 +475,13 @@ describe('DocViewTable at Discover Doc with Fields API', () => { .length ).toBe(0); + expect(findTestSubject(component, 'tableDocViewRow-customer_first_name').length).toBe(1); expect( findTestSubject(component, 'tableDocViewRow-customer_first_name.nickname-multifieldBadge') .length ).toBe(0); + expect(findTestSubject(component, 'tableDocViewRow-city').length).toBe(0); expect(findTestSubject(component, 'tableDocViewRow-city.raw').length).toBe(1); }); }); diff --git a/src/plugins/discover/public/application/components/table/table.tsx b/src/plugins/discover/public/application/components/table/table.tsx index d1b2d27245616..456103c776566 100644 --- a/src/plugins/discover/public/application/components/table/table.tsx +++ b/src/plugins/discover/public/application/components/table/table.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { useCallback, useMemo, useState } from 'react'; +import React, { useCallback, useMemo } from 'react'; import { EuiInMemoryTable } from '@elastic/eui'; import { IndexPattern, IndexPatternField } from '../../../../../data/public'; import { SHOW_MULTIFIELDS } from '../../../../common'; @@ -18,6 +18,7 @@ import { DocViewRenderProps, } from '../../doc_views/doc_views_types'; import { ACTIONS_COLUMN, MAIN_COLUMNS } from './table_columns'; +import { getFieldsToShow } from '../../helpers/get_fields_to_show'; export interface DocViewerTableProps { columns?: string[]; @@ -61,8 +62,6 @@ export const DocViewerTable = ({ indexPattern?.fields, ]); - const [childParentFieldsMap] = useState({} as Record); - const formattedHit = useMemo(() => indexPattern?.formatHit(hit, 'html'), [hit, indexPattern]); const tableColumns = useMemo(() => { @@ -95,22 +94,12 @@ export const DocViewerTable = ({ return null; } - const flattened = indexPattern.flattenHit(hit); - Object.keys(flattened).forEach((key) => { - const field = mapping(key); - if (field && field.spec?.subType?.multi?.parent) { - childParentFieldsMap[field.name] = field.spec.subType.multi.parent; - } - }); + const flattened = indexPattern?.flattenHit(hit); + const fieldsToShow = getFieldsToShow(Object.keys(flattened), indexPattern, showMultiFields); + const items: FieldRecord[] = Object.keys(flattened) .filter((fieldName) => { - const fieldMapping = mapping(fieldName); - const isMultiField = !!fieldMapping?.spec?.subType?.multi; - if (!isMultiField) { - return true; - } - const parent = childParentFieldsMap[fieldName]; - return showMultiFields || (parent && !flattened.hasOwnProperty(parent)); + return fieldsToShow.includes(fieldName); }) .sort((fieldA, fieldB) => { const mappingA = mapping(fieldA); diff --git a/src/plugins/discover/public/application/helpers/get_fields_to_show.test.ts b/src/plugins/discover/public/application/helpers/get_fields_to_show.test.ts new file mode 100644 index 0000000000000..13c2dbaac6124 --- /dev/null +++ b/src/plugins/discover/public/application/helpers/get_fields_to_show.test.ts @@ -0,0 +1,93 @@ +/* + * 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. + */ + +import { IndexPattern, IndexPatternField } from '../../../../data/common'; +import { getFieldsToShow } from './get_fields_to_show'; + +describe('get fields to show', () => { + let indexPattern: IndexPattern; + const indexPatternFields: Record = { + 'machine.os': { + name: 'machine.os', + esTypes: ['text'], + type: 'string', + aggregatable: false, + searchable: false, + filterable: true, + } as IndexPatternField, + 'machine.os.raw': { + name: 'machine.os.raw', + type: 'string', + esTypes: ['keyword'], + aggregatable: true, + searchable: true, + filterable: true, + spec: { + subType: { + multi: { + parent: 'machine.os', + }, + }, + }, + } as IndexPatternField, + acknowledged: { + name: 'acknowledged', + type: 'boolean', + esTypes: ['boolean'], + aggregatable: true, + searchable: true, + filterable: true, + } as IndexPatternField, + bytes: { + name: 'bytes', + type: 'number', + esTypes: ['long'], + aggregatable: true, + searchable: true, + filterable: true, + } as IndexPatternField, + clientip: { + name: 'clientip', + type: 'ip', + esTypes: ['ip'], + aggregatable: true, + searchable: true, + filterable: true, + } as IndexPatternField, + }; + const stubIndexPattern = { + id: 'logstash-*', + fields: Object.keys(indexPatternFields).map((key) => indexPatternFields[key]), + title: 'logstash-*', + timeFieldName: '@timestamp', + getTimeField: () => ({ name: '@timestamp', type: 'date' }), + }; + + beforeEach(() => { + indexPattern = stubIndexPattern as IndexPattern; + indexPattern.fields.getByName = (name) => indexPatternFields[name]; + }); + + it('shows multifields when showMultiFields is true', () => { + const fieldsToShow = getFieldsToShow( + ['machine.os', 'machine.os.raw', 'clientip'], + indexPattern, + true + ); + expect(fieldsToShow).toEqual(['machine.os', 'machine.os.raw', 'clientip']); + }); + + it('do not show multifields when showMultiFields is false', () => { + const fieldsToShow = getFieldsToShow( + ['machine.os', 'machine.os.raw', 'acknowledged', 'clientip'], + indexPattern, + false + ); + expect(fieldsToShow).toEqual(['machine.os', 'acknowledged', 'clientip']); + }); +}); diff --git a/src/plugins/discover/public/application/helpers/get_fields_to_show.ts b/src/plugins/discover/public/application/helpers/get_fields_to_show.ts new file mode 100644 index 0000000000000..bee9bd0c1f9f1 --- /dev/null +++ b/src/plugins/discover/public/application/helpers/get_fields_to_show.ts @@ -0,0 +1,32 @@ +/* + * 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. + */ +import { IndexPattern } from '../../../../data/common'; + +export const getFieldsToShow = ( + fields: string[], + indexPattern: IndexPattern, + showMultiFields: boolean +) => { + const childParentFieldsMap = {} as Record; + const mapping = (name: string) => indexPattern.fields.getByName(name); + fields.forEach((key) => { + const mapped = mapping(key); + if (mapped && mapped.spec?.subType?.multi?.parent) { + childParentFieldsMap[mapped.name] = mapped.spec.subType.multi.parent; + } + }); + return fields.filter((key: string) => { + const fieldMapping = mapping(key); + const isMultiField = !!fieldMapping?.spec?.subType?.multi; + if (!isMultiField) { + return true; + } + const parent = childParentFieldsMap[key]; + return showMultiFields || (parent && !fields.includes(parent)); + }); +}; From 8ce1d107912e539da25d34d4e3e8e99392a19302 Mon Sep 17 00:00:00 2001 From: Georgii Gorbachev Date: Wed, 25 Aug 2021 16:29:16 +0200 Subject: [PATCH 026/139] [RAC] Fix index names used by RBAC, delete hardcoded map of Kibana features to index names (#109567) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Ticket:** https://github.com/elastic/kibana/issues/102089 🚨 **This PR is critical for Observability 7.15** 🚨 ## Summary This PR introduces changes that fix the usage of alerts-as-data index naming in RBAC. It builds on top of https://github.com/elastic/kibana/pull/109346 and replaces https://github.com/elastic/kibana/pull/108872. TODO: - [x] Address https://github.com/elastic/kibana/pull/109346#pullrequestreview-735158370 - [x] Make changes to `AlertsClient.getAuthorizedAlertsIndices()` so it starts using `RuleDataService` to get index names by feature ids. - [x] Delete the hardcoded `mapConsumerToIndexName` where we had incorrect index names. - [x] Close https://github.com/elastic/kibana/pull/108872 ### Checklist Delete any items that are not applicable to this PR. - [ ] [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 --- .../src/alerts_as_data_rbac.ts | 12 +----- .../common/es_glob_patterns.test.ts | 6 +-- .../public/pages/alerts/index.tsx | 1 - .../observability/server/routes/rules.ts | 3 +- x-pack/plugins/rule_registry/README.md | 4 +- .../server/alert_data_client/alerts_client.ts | 37 +++++++++++-------- .../alerts_client_factory.test.ts | 4 ++ .../alerts_client_factory.ts | 9 ++++- .../tests/bulk_update.test.ts | 25 +++++++------ .../tests/find_alerts.test.ts | 27 ++++++++------ .../alert_data_client/tests/get.test.ts | 26 ++++++++----- .../alert_data_client/tests/update.test.ts | 37 ++++++++++--------- x-pack/plugins/rule_registry/server/plugin.ts | 3 +- .../routes/__mocks__/request_responses.ts | 2 +- .../server/routes/update_alert_by_id.test.ts | 8 ++-- .../rule_data_plugin_service.mock.ts | 7 ++-- .../rule_data_plugin_service.ts | 31 ++++++++++++---- .../bulk_update_observability_alert_by_ids.sh | 6 +-- ...ulk_update_observability_alert_by_query.sh | 2 +- .../scripts/find_observability_alert.sh | 2 +- .../server/scripts/get_observability_alert.sh | 2 +- .../scripts/update_observability_alert.sh | 2 +- .../server/lib/alerts/test_utils/index.ts | 2 +- .../rule_registry/alerts/data.json | 6 +-- .../rule_registry/alerts/mappings.json | 2 +- .../tests/basic/bulk_update_alerts.ts | 2 +- .../tests/basic/find_alerts.ts | 2 +- .../tests/basic/get_alert_by_id.ts | 2 +- .../tests/basic/update_alert.ts | 2 +- .../tests/trial/get_alerts.ts | 4 +- .../tests/trial/update_alert.ts | 6 +-- .../tests/trial/get_alert_by_id.ts | 2 +- .../spaces_only/tests/trial/update_alert.ts | 2 +- 33 files changed, 162 insertions(+), 126 deletions(-) diff --git a/packages/kbn-rule-data-utils/src/alerts_as_data_rbac.ts b/packages/kbn-rule-data-utils/src/alerts_as_data_rbac.ts index 48f9d705da27d..d167b17b83f23 100644 --- a/packages/kbn-rule-data-utils/src/alerts_as_data_rbac.ts +++ b/packages/kbn-rule-data-utils/src/alerts_as_data_rbac.ts @@ -26,17 +26,9 @@ export const AlertConsumers = { export type AlertConsumers = typeof AlertConsumers[keyof typeof AlertConsumers]; export type STATUS_VALUES = 'open' | 'acknowledged' | 'closed' | 'in-progress'; // TODO: remove 'in-progress' after migration to 'acknowledged' -export const mapConsumerToIndexName: Record = { - apm: '.alerts-observability-apm', - logs: '.alerts-observability.logs', - infrastructure: '.alerts-observability.metrics', - observability: '.alerts-observability', - siem: '.alerts-security.alerts', - uptime: '.alerts-observability.uptime', -}; -export type ValidFeatureId = keyof typeof mapConsumerToIndexName; +export type ValidFeatureId = AlertConsumers; -export const validFeatureIds = Object.keys(mapConsumerToIndexName); +export const validFeatureIds = Object.values(AlertConsumers).map((v) => v as string); export const isValidFeatureId = (a: unknown): a is ValidFeatureId => typeof a === 'string' && validFeatureIds.includes(a); diff --git a/x-pack/plugins/monitoring/common/es_glob_patterns.test.ts b/x-pack/plugins/monitoring/common/es_glob_patterns.test.ts index 64250d0b3c5ae..0b868a418a61b 100644 --- a/x-pack/plugins/monitoring/common/es_glob_patterns.test.ts +++ b/x-pack/plugins/monitoring/common/es_glob_patterns.test.ts @@ -19,7 +19,7 @@ const testIndices = [ '.ds-metrics-system.process.summary-default-2021.05.25-00000', '.kibana_shahzad_9', '.kibana-felix-log-stream_8.0.0_001', - '.kibana_smith_alerts-observability-apm-000001', + '.kibana_smith_alerts-observability.apm.alerts-000001', '.ds-logs-endpoint.events.process-default-2021.05.26-000001', '.kibana_dominiqueclarke54_8.0.0_001', '.kibana-cmarcondes-19_8.0.0_001', @@ -63,7 +63,7 @@ const onlySystemIndices = [ '.ds-metrics-system.process.summary-default-2021.05.25-00000', '.kibana_shahzad_9', '.kibana-felix-log-stream_8.0.0_001', - '.kibana_smith_alerts-observability-apm-000001', + '.kibana_smith_alerts-observability.apm.alerts-000001', '.ds-logs-endpoint.events.process-default-2021.05.26-000001', '.kibana_dominiqueclarke54_8.0.0_001', '.kibana-cmarcondes-19_8.0.0_001', @@ -85,7 +85,7 @@ const kibanaNoTaskIndices = [ '.kibana_shahzad_1', '.kibana_shahzad_9', '.kibana-felix-log-stream_8.0.0_001', - '.kibana_smith_alerts-observability-apm-000001', + '.kibana_smith_alerts-observability.apm.alerts-000001', '.kibana_dominiqueclarke54_8.0.0_001', '.kibana-cmarcondes-19_8.0.0_001', '.kibana_dominiqueclarke55-alerts-8.0.0-000001', diff --git a/x-pack/plugins/observability/public/pages/alerts/index.tsx b/x-pack/plugins/observability/public/pages/alerts/index.tsx index 751307196fa19..6e2323bb4c54b 100644 --- a/x-pack/plugins/observability/public/pages/alerts/index.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/index.tsx @@ -72,7 +72,6 @@ export function AlertsPage({ routeParams }: AlertsPageProps) { registrationContexts: [ 'observability.apm', 'observability.logs', - 'observability.infrastructure', 'observability.metrics', 'observability.uptime', ], diff --git a/x-pack/plugins/observability/server/routes/rules.ts b/x-pack/plugins/observability/server/routes/rules.ts index a9039e4a66211..b4682116f1205 100644 --- a/x-pack/plugins/observability/server/routes/rules.ts +++ b/x-pack/plugins/observability/server/routes/rules.ts @@ -6,6 +6,7 @@ */ import * as t from 'io-ts'; +import { Dataset } from '../../../rule_registry/server'; import { createObservabilityServerRoute } from './create_observability_server_route'; import { createObservabilityServerRouteRepository } from './create_observability_server_route_repository'; @@ -24,7 +25,7 @@ const alertsDynamicIndexPatternRoute = createObservabilityServerRoute({ const { namespace, registrationContexts } = params.query; const indexNames = registrationContexts.flatMap((registrationContext) => { const indexName = ruleDataService - .getRegisteredIndexInfo(registrationContext) + .findIndexByName(registrationContext, Dataset.alerts) ?.getPrimaryAlias(namespace); if (indexName != null) { diff --git a/x-pack/plugins/rule_registry/README.md b/x-pack/plugins/rule_registry/README.md index ef9a3252c41d7..ad2080aa1f44a 100644 --- a/x-pack/plugins/rule_registry/README.md +++ b/x-pack/plugins/rule_registry/README.md @@ -73,7 +73,7 @@ await plugins.ruleRegistry.createOrUpdateComponentTemplate({ await plugins.ruleRegistry.createOrUpdateIndexTemplate({ name: plugins.ruleRegistry.getFullAssetName('apm-index-template'), body: { - index_patterns: [plugins.ruleRegistry.getFullAssetName('observability-apm*')], + index_patterns: [plugins.ruleRegistry.getFullAssetName('observability.apm*')], composed_of: [ // Technical component template, required plugins.ruleRegistry.getFullAssetName(TECHNICAL_COMPONENT_TEMPLATE_NAME), @@ -85,7 +85,7 @@ await plugins.ruleRegistry.createOrUpdateIndexTemplate({ // Finally, create the rule data client that can be injected into rule type // executors and API endpoints const ruleDataClient = new RuleDataClient({ - alias: plugins.ruleRegistry.getFullAssetName('observability-apm'), + alias: plugins.ruleRegistry.getFullAssetName('observability.apm'), getClusterClient: async () => { const coreStart = await getCoreStart(); return coreStart.elasticsearch.client.asInternalUser; diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client.ts b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client.ts index 090978949e2fd..d8e3a3bae7b02 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client.ts @@ -13,14 +13,13 @@ import type { getEsQueryConfig as getEsQueryConfigTyped, getSafeSortIds as getSafeSortIdsTyped, isValidFeatureId as isValidFeatureIdTyped, - mapConsumerToIndexName as mapConsumerToIndexNameTyped, STATUS_VALUES, + ValidFeatureId, } from '@kbn/rule-data-utils'; import { getEsQueryConfig as getEsQueryConfigNonTyped, getSafeSortIds as getSafeSortIdsNonTyped, isValidFeatureId as isValidFeatureIdNonTyped, - mapConsumerToIndexName as mapConsumerToIndexNameNonTyped, // @ts-expect-error } from '@kbn/rule-data-utils/target_node/alerts_as_data_rbac'; @@ -42,11 +41,11 @@ import { SPACE_IDS, } from '../../common/technical_rule_data_field_names'; import { ParsedTechnicalFields } from '../../common/parse_technical_fields'; +import { Dataset, RuleDataPluginService } from '../rule_data_plugin_service'; const getEsQueryConfig: typeof getEsQueryConfigTyped = getEsQueryConfigNonTyped; const getSafeSortIds: typeof getSafeSortIdsTyped = getSafeSortIdsNonTyped; const isValidFeatureId: typeof isValidFeatureIdTyped = isValidFeatureIdNonTyped; -const mapConsumerToIndexName: typeof mapConsumerToIndexNameTyped = mapConsumerToIndexNameNonTyped; // TODO: Fix typings https://github.com/elastic/kibana/issues/101776 type NonNullableProps = Omit & @@ -71,6 +70,7 @@ export interface ConstructorOptions { authorization: PublicMethodsOf; auditLogger?: AuditLogger; esClient: ElasticsearchClient; + ruleDataService: RuleDataPluginService; } export interface UpdateOptions { @@ -115,15 +115,17 @@ export class AlertsClient { private readonly authorization: PublicMethodsOf; private readonly esClient: ElasticsearchClient; private readonly spaceId: string | undefined; + private readonly ruleDataService: RuleDataPluginService; - constructor({ auditLogger, authorization, logger, esClient }: ConstructorOptions) { - this.logger = logger; - this.authorization = authorization; - this.esClient = esClient; - this.auditLogger = auditLogger; + constructor(options: ConstructorOptions) { + this.logger = options.logger; + this.authorization = options.authorization; + this.esClient = options.esClient; + this.auditLogger = options.auditLogger; // If spaceId is undefined, it means that spaces is disabled // Otherwise, if space is enabled and not specified, it is "default" this.spaceId = this.authorization.getSpaceId(); + this.ruleDataService = options.ruleDataService; } private getOutcome( @@ -666,15 +668,18 @@ export class AlertsClient { authorizedFeatures.add(ruleType.producer); } - const toReturn = Array.from(authorizedFeatures).flatMap((feature) => { - if (featureIds.includes(feature) && isValidFeatureId(feature)) { - if (feature === 'siem') { - return `${mapConsumerToIndexName[feature]}-${this.spaceId}`; - } else { - return `${mapConsumerToIndexName[feature]}`; - } + const validAuthorizedFeatures = Array.from(authorizedFeatures).filter( + (feature): feature is ValidFeatureId => + featureIds.includes(feature) && isValidFeatureId(feature) + ); + + const toReturn = validAuthorizedFeatures.flatMap((feature) => { + const indices = this.ruleDataService.findIndicesByFeature(feature, Dataset.alerts); + if (feature === 'siem') { + return indices.map((i) => `${i.baseName}-${this.spaceId}`); + } else { + return indices.map((i) => i.baseName); } - return []; }); return toReturn; diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.test.ts index 9e1941f779722..1187d4675787b 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.test.ts @@ -13,6 +13,8 @@ import { loggingSystemMock } from 'src/core/server/mocks'; import { securityMock } from '../../../security/server/mocks'; import { AuditLogger } from '../../../security/server'; import { alertingAuthorizationMock } from '../../../alerting/server/authorization/alerting_authorization.mock'; +import { ruleDataPluginServiceMock } from '../rule_data_plugin_service/rule_data_plugin_service.mock'; +import { RuleDataPluginService } from '../rule_data_plugin_service'; jest.mock('./alerts_client'); @@ -24,6 +26,7 @@ const alertsClientFactoryParams: AlertsClientFactoryProps = { getAlertingAuthorization: (_: KibanaRequest) => alertingAuthMock, securityPluginSetup, esClient: {} as ElasticsearchClient, + ruleDataService: (ruleDataPluginServiceMock.create() as unknown) as RuleDataPluginService, }; const fakeRequest = ({ @@ -64,6 +67,7 @@ describe('AlertsClientFactory', () => { logger: alertsClientFactoryParams.logger, auditLogger, esClient: {}, + ruleDataService: alertsClientFactoryParams.ruleDataService, }); }); diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.ts b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.ts index 43a3827b28972..c1ff6d5d56ea9 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/alerts_client_factory.ts @@ -5,10 +5,11 @@ * 2.0. */ -import { ElasticsearchClient, KibanaRequest, Logger } from 'src/core/server'; import { PublicMethodsOf } from '@kbn/utility-types'; -import { SecurityPluginSetup } from '../../../security/server'; +import { ElasticsearchClient, KibanaRequest, Logger } from 'src/core/server'; import { AlertingAuthorization } from '../../../alerting/server'; +import { SecurityPluginSetup } from '../../../security/server'; +import { RuleDataPluginService } from '../rule_data_plugin_service'; import { AlertsClient } from './alerts_client'; export interface AlertsClientFactoryProps { @@ -16,6 +17,7 @@ export interface AlertsClientFactoryProps { esClient: ElasticsearchClient; getAlertingAuthorization: (request: KibanaRequest) => PublicMethodsOf; securityPluginSetup: SecurityPluginSetup | undefined; + ruleDataService: RuleDataPluginService | null; } export class AlertsClientFactory { @@ -26,6 +28,7 @@ export class AlertsClientFactory { request: KibanaRequest ) => PublicMethodsOf; private securityPluginSetup!: SecurityPluginSetup | undefined; + private ruleDataService!: RuleDataPluginService | null; public initialize(options: AlertsClientFactoryProps) { /** @@ -40,6 +43,7 @@ export class AlertsClientFactory { this.logger = options.logger; this.esClient = options.esClient; this.securityPluginSetup = options.securityPluginSetup; + this.ruleDataService = options.ruleDataService; } public async create(request: KibanaRequest): Promise { @@ -50,6 +54,7 @@ export class AlertsClientFactory { authorization: getAlertingAuthorization(request), auditLogger: securityPluginSetup?.audit.asScoped(request), esClient: this.esClient, + ruleDataService: this.ruleDataService!, }); } } diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts index 11066ffddfadd..3606d90d22414 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts @@ -18,6 +18,8 @@ import { elasticsearchClientMock } from 'src/core/server/elasticsearch/client/mo import { alertingAuthorizationMock } from '../../../../alerting/server/authorization/alerting_authorization.mock'; import { AuditLogger } from '../../../../security/server'; import { AlertingAuthorizationEntity } from '../../../../alerting/server'; +import { ruleDataPluginServiceMock } from '../../rule_data_plugin_service/rule_data_plugin_service.mock'; +import { RuleDataPluginService } from '../../rule_data_plugin_service'; const alertingAuthMock = alertingAuthorizationMock.create(); const esClientMock = elasticsearchClientMock.createElasticsearchClient(); @@ -30,6 +32,7 @@ const alertsClientParams: jest.Mocked = { authorization: alertingAuthMock, esClient: esClientMock, auditLogger, + ruleDataService: (ruleDataPluginServiceMock.create() as unknown) as RuleDataPluginService, }; const DEFAULT_SPACE = 'test_default_space_id'; @@ -78,7 +81,7 @@ describe('bulkUpdate()', () => { describe('ids', () => { describe('audit log', () => { test('logs successful event in audit logger', async () => { - const indexName = '.alerts-observability-apm.alerts'; + const indexName = '.alerts-observability.apm.alerts'; const alertsClient = new AlertsClient(alertsClientParams); esClientMock.mget.mockResolvedValueOnce( elasticsearchClientMock.createApiResponse({ @@ -107,7 +110,7 @@ describe('bulkUpdate()', () => { { update: { _id: fakeAlertId, - _index: '.alerts-observability-apm.alerts', + _index: '.alerts-observability.apm.alerts', result: 'updated', status: 200, }, @@ -135,7 +138,7 @@ describe('bulkUpdate()', () => { }); test('audit error access if user is unauthorized for given alert', async () => { - const indexName = '.alerts-observability-apm.alerts'; + const indexName = '.alerts-observability.apm.alerts'; const alertsClient = new AlertsClient(alertsClientParams); esClientMock.mget.mockResolvedValueOnce( elasticsearchClientMock.createApiResponse({ @@ -181,7 +184,7 @@ describe('bulkUpdate()', () => { }); test('logs multiple error events in audit logger', async () => { - const indexName = '.alerts-observability-apm.alerts'; + const indexName = '.alerts-observability.apm.alerts'; const alertsClient = new AlertsClient(alertsClientParams); esClientMock.mget.mockResolvedValueOnce( elasticsearchClientMock.createApiResponse({ @@ -257,7 +260,7 @@ describe('bulkUpdate()', () => { describe('query', () => { describe('audit log', () => { test('logs successful event in audit logger', async () => { - const indexName = '.alerts-observability-apm.alerts'; + const indexName = '.alerts-observability.apm.alerts'; const alertsClient = new AlertsClient(alertsClientParams); esClientMock.search.mockResolvedValueOnce( elasticsearchClientMock.createApiResponse({ @@ -276,7 +279,7 @@ describe('bulkUpdate()', () => { hits: [ { _id: fakeAlertId, - _index: '.alerts-observability-apm.alerts', + _index: '.alerts-observability.apm.alerts', _source: { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', [ALERT_RULE_CONSUMER]: 'apm', @@ -317,7 +320,7 @@ describe('bulkUpdate()', () => { }); test('audit error access if user is unauthorized for given alert', async () => { - const indexName = '.alerts-observability-apm.alerts'; + const indexName = '.alerts-observability.apm.alerts'; const alertsClient = new AlertsClient(alertsClientParams); esClientMock.search.mockResolvedValueOnce( elasticsearchClientMock.createApiResponse({ @@ -336,7 +339,7 @@ describe('bulkUpdate()', () => { hits: [ { _id: fakeAlertId, - _index: '.alerts-observability-apm.alerts', + _index: '.alerts-observability.apm.alerts', _source: { [ALERT_RULE_TYPE_ID]: fakeRuleTypeId, [ALERT_RULE_CONSUMER]: 'apm', @@ -378,7 +381,7 @@ describe('bulkUpdate()', () => { }); test('logs multiple error events in audit logger', async () => { - const indexName = '.alerts-observability-apm.alerts'; + const indexName = '.alerts-observability.apm.alerts'; const alertsClient = new AlertsClient(alertsClientParams); esClientMock.search.mockResolvedValueOnce( elasticsearchClientMock.createApiResponse({ @@ -397,7 +400,7 @@ describe('bulkUpdate()', () => { hits: [ { _id: successfulAuthzHit, - _index: '.alerts-observability-apm.alerts', + _index: '.alerts-observability.apm.alerts', _source: { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', [ALERT_RULE_CONSUMER]: 'apm', @@ -407,7 +410,7 @@ describe('bulkUpdate()', () => { }, { _id: unsuccessfulAuthzHit, - _index: '.alerts-observability-apm.alerts', + _index: '.alerts-observability.apm.alerts', _source: { [ALERT_RULE_TYPE_ID]: fakeRuleTypeId, [ALERT_RULE_CONSUMER]: 'apm', diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/find_alerts.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/find_alerts.test.ts index 1e6601c7b0862..f103fd5778e83 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/find_alerts.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/find_alerts.test.ts @@ -18,6 +18,8 @@ import { elasticsearchClientMock } from 'src/core/server/elasticsearch/client/mo import { alertingAuthorizationMock } from '../../../../alerting/server/authorization/alerting_authorization.mock'; import { AuditLogger } from '../../../../security/server'; import { AlertingAuthorizationEntity } from '../../../../alerting/server'; +import { ruleDataPluginServiceMock } from '../../rule_data_plugin_service/rule_data_plugin_service.mock'; +import { RuleDataPluginService } from '../../rule_data_plugin_service'; const alertingAuthMock = alertingAuthorizationMock.create(); const esClientMock = elasticsearchClientMock.createElasticsearchClient(); @@ -30,6 +32,7 @@ const alertsClientParams: jest.Mocked = { authorization: alertingAuthMock, esClient: esClientMock, auditLogger, + ruleDataService: (ruleDataPluginServiceMock.create() as unknown) as RuleDataPluginService, }; const DEFAULT_SPACE = 'test_default_space_id'; @@ -90,7 +93,7 @@ describe('find()', () => { { found: true, _type: 'alert', - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 1, _seq_no: 362, @@ -110,7 +113,7 @@ describe('find()', () => { ); const result = await alertsClient.find({ query: { match: { [ALERT_WORKFLOW_STATUS]: 'open' } }, - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }); expect(result).toMatchInlineSnapshot(` Object { @@ -124,7 +127,7 @@ describe('find()', () => { "hits": Array [ Object { "_id": "NoxgpHkBqbdrfX07MqXV", - "_index": ".alerts-observability-apm", + "_index": ".alerts-observability.apm.alerts", "_primary_term": 2, "_seq_no": 362, "_source": Object { @@ -194,7 +197,7 @@ describe('find()', () => { "track_total_hits": undefined, }, "ignore_unavailable": true, - "index": ".alerts-observability-apm", + "index": ".alerts-observability.apm.alerts", "seq_no_primary_term": true, }, ] @@ -221,7 +224,7 @@ describe('find()', () => { { found: true, _type: 'alert', - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 1, _seq_no: 362, @@ -241,7 +244,7 @@ describe('find()', () => { ); await alertsClient.find({ query: { match: { [ALERT_WORKFLOW_STATUS]: 'open' } }, - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }); expect(auditLogger.log).toHaveBeenCalledWith({ @@ -252,7 +255,7 @@ describe('find()', () => { }); test('audit error access if user is unauthorized for given alert', async () => { - const indexName = '.alerts-observability-apm'; + const indexName = '.alerts-observability.apm.alerts'; const fakeAlertId = 'myfakeid1'; // fakeRuleTypeId will cause authz to fail const fakeRuleTypeId = 'fake.rule'; @@ -296,7 +299,7 @@ describe('find()', () => { await expect( alertsClient.find({ query: { match: { [ALERT_WORKFLOW_STATUS]: 'open' } }, - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` "Unable to retrieve alert details for alert with id of \\"undefined\\" or with query \\"[object Object]\\" and operation find @@ -326,7 +329,7 @@ describe('find()', () => { await expect( alertsClient.find({ query: { match: { [ALERT_WORKFLOW_STATUS]: 'open' } }, - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` "Unable to retrieve alert details for alert with id of \\"undefined\\" or with query \\"[object Object]\\" and operation find @@ -354,7 +357,7 @@ describe('find()', () => { { found: true, _type: 'alert', - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 1, _seq_no: 362, @@ -378,7 +381,7 @@ describe('find()', () => { const alertsClient = new AlertsClient(alertsClientParams); const result = await alertsClient.find({ query: { match: { [ALERT_WORKFLOW_STATUS]: 'open' } }, - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }); expect(result).toMatchInlineSnapshot(` @@ -393,7 +396,7 @@ describe('find()', () => { "hits": Array [ Object { "_id": "NoxgpHkBqbdrfX07MqXV", - "_index": ".alerts-observability-apm", + "_index": ".alerts-observability.apm.alerts", "_primary_term": 2, "_seq_no": 362, "_source": Object { diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts index 2f299142166d6..e04a04dbe3b8e 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts @@ -18,6 +18,8 @@ import { elasticsearchClientMock } from 'src/core/server/elasticsearch/client/mo import { alertingAuthorizationMock } from '../../../../alerting/server/authorization/alerting_authorization.mock'; import { AuditLogger } from '../../../../security/server'; import { AlertingAuthorizationEntity } from '../../../../alerting/server'; +import { ruleDataPluginServiceMock } from '../../rule_data_plugin_service/rule_data_plugin_service.mock'; +import { RuleDataPluginService } from '../../rule_data_plugin_service'; const alertingAuthMock = alertingAuthorizationMock.create(); const esClientMock = elasticsearchClientMock.createElasticsearchClient(); @@ -30,6 +32,7 @@ const alertsClientParams: jest.Mocked = { authorization: alertingAuthMock, esClient: esClientMock, auditLogger, + ruleDataService: (ruleDataPluginServiceMock.create() as unknown) as RuleDataPluginService, }; const DEFAULT_SPACE = 'test_default_space_id'; @@ -91,7 +94,7 @@ describe('get()', () => { { found: true, _type: 'alert', - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 1, _seq_no: 362, @@ -109,7 +112,7 @@ describe('get()', () => { }, }) ); - const result = await alertsClient.get({ id: '1', index: '.alerts-observability-apm' }); + const result = await alertsClient.get({ id: '1', index: '.alerts-observability.apm.alerts' }); expect(result).toMatchInlineSnapshot(` Object { "kibana.alert.rule.consumer": "apm", @@ -173,7 +176,7 @@ describe('get()', () => { "track_total_hits": undefined, }, "ignore_unavailable": true, - "index": ".alerts-observability-apm", + "index": ".alerts-observability.apm.alerts", "seq_no_primary_term": true, }, ] @@ -200,7 +203,7 @@ describe('get()', () => { { found: true, _type: 'alert', - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 1, _seq_no: 362, @@ -218,7 +221,10 @@ describe('get()', () => { }, }) ); - await alertsClient.get({ id: 'NoxgpHkBqbdrfX07MqXV', index: '.alerts-observability-apm' }); + await alertsClient.get({ + id: 'NoxgpHkBqbdrfX07MqXV', + index: '.alerts-observability.apm.alerts', + }); expect(auditLogger.log).toHaveBeenCalledWith({ error: undefined, @@ -228,7 +234,7 @@ describe('get()', () => { }); test('audit error access if user is unauthorized for given alert', async () => { - const indexName = '.alerts-observability-apm.alerts'; + const indexName = '.alerts-observability.apm.alerts'; const fakeAlertId = 'myfakeid1'; // fakeRuleTypeId will cause authz to fail const fakeRuleTypeId = 'fake.rule'; @@ -269,7 +275,7 @@ describe('get()', () => { }) ); - await expect(alertsClient.get({ id: fakeAlertId, index: '.alerts-observability-apm.alerts' })) + await expect(alertsClient.get({ id: fakeAlertId, index: '.alerts-observability.apm.alerts' })) .rejects.toThrowErrorMatchingInlineSnapshot(` "Unable to retrieve alert details for alert with id of \\"myfakeid1\\" or with query \\"undefined\\" and operation get Error: Error: Unauthorized for fake.rule and apm" @@ -296,7 +302,7 @@ describe('get()', () => { esClientMock.search.mockRejectedValue(error); await expect( - alertsClient.get({ id: 'NoxgpHkBqbdrfX07MqXV', index: '.alerts-observability-apm' }) + alertsClient.get({ id: 'NoxgpHkBqbdrfX07MqXV', index: '.alerts-observability.apm.alerts' }) ).rejects.toThrowErrorMatchingInlineSnapshot(` "Unable to retrieve alert details for alert with id of \\"NoxgpHkBqbdrfX07MqXV\\" or with query \\"undefined\\" and operation get Error: Error: something went wrong" @@ -323,7 +329,7 @@ describe('get()', () => { { found: true, _type: 'alert', - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 1, _seq_no: 362, @@ -347,7 +353,7 @@ describe('get()', () => { const alertsClient = new AlertsClient(alertsClientParams); const result = await alertsClient.get({ id: 'NoxgpHkBqbdrfX07MqXV', - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }); expect(result).toMatchInlineSnapshot(` diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/update.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/update.test.ts index 90ca2da06ccdf..b71bddff53696 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/update.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/update.test.ts @@ -18,6 +18,8 @@ import { elasticsearchClientMock } from 'src/core/server/elasticsearch/client/mo import { alertingAuthorizationMock } from '../../../../alerting/server/authorization/alerting_authorization.mock'; import { AuditLogger } from '../../../../security/server'; import { AlertingAuthorizationEntity } from '../../../../alerting/server'; +import { ruleDataPluginServiceMock } from '../../rule_data_plugin_service/rule_data_plugin_service.mock'; +import { RuleDataPluginService } from '../../rule_data_plugin_service'; const alertingAuthMock = alertingAuthorizationMock.create(); const esClientMock = elasticsearchClientMock.createElasticsearchClient(); @@ -30,6 +32,7 @@ const alertsClientParams: jest.Mocked = { authorization: alertingAuthMock, esClient: esClientMock, auditLogger, + ruleDataService: (ruleDataPluginServiceMock.create() as unknown) as RuleDataPluginService, }; const DEFAULT_SPACE = 'test_default_space_id'; @@ -91,7 +94,7 @@ describe('update()', () => { { found: true, _type: 'alert', - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _source: { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', @@ -109,7 +112,7 @@ describe('update()', () => { esClientMock.update.mockResolvedValueOnce( elasticsearchClientMock.createApiResponse({ body: { - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 2, result: 'updated', @@ -123,12 +126,12 @@ describe('update()', () => { id: '1', status: 'closed', _version: undefined, - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }); expect(result).toMatchInlineSnapshot(` Object { "_id": "NoxgpHkBqbdrfX07MqXV", - "_index": ".alerts-observability-apm", + "_index": ".alerts-observability.apm.alerts", "_primary_term": 1, "_seq_no": 1, "_shards": Object { @@ -150,7 +153,7 @@ describe('update()', () => { }, }, "id": "1", - "index": ".alerts-observability-apm", + "index": ".alerts-observability.apm.alerts", "refresh": "wait_for", }, ] @@ -177,7 +180,7 @@ describe('update()', () => { { found: true, _type: 'alert', - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _source: { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', @@ -195,7 +198,7 @@ describe('update()', () => { esClientMock.update.mockResolvedValueOnce( elasticsearchClientMock.createApiResponse({ body: { - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 2, result: 'updated', @@ -209,7 +212,7 @@ describe('update()', () => { id: 'NoxgpHkBqbdrfX07MqXV', status: 'closed', _version: undefined, - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }); expect(auditLogger.log).toHaveBeenCalledWith({ @@ -225,7 +228,7 @@ describe('update()', () => { }); test('audit error update if user is unauthorized for given alert', async () => { - const indexName = '.alerts-observability-apm.alerts'; + const indexName = '.alerts-observability.apm.alerts'; const fakeAlertId = 'myfakeid1'; // fakeRuleTypeId will cause authz to fail const fakeRuleTypeId = 'fake.rule'; @@ -271,7 +274,7 @@ describe('update()', () => { id: fakeAlertId, status: 'closed', _version: '1', - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` "Unable to retrieve alert details for alert with id of \\"myfakeid1\\" or with query \\"undefined\\" and operation update @@ -303,7 +306,7 @@ describe('update()', () => { id: 'NoxgpHkBqbdrfX07MqXV', status: 'closed', _version: undefined, - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` "Unable to retrieve alert details for alert with id of \\"NoxgpHkBqbdrfX07MqXV\\" or with query \\"undefined\\" and operation update @@ -332,7 +335,7 @@ describe('update()', () => { { found: true, _type: 'alert', - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _source: { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', @@ -354,7 +357,7 @@ describe('update()', () => { id: 'NoxgpHkBqbdrfX07MqXV', status: 'closed', _version: undefined, - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }) ).rejects.toThrowErrorMatchingInlineSnapshot(`"something went wrong on update"`); expect(auditLogger.log).toHaveBeenCalledWith({ @@ -389,7 +392,7 @@ describe('update()', () => { { found: true, _type: 'alert', - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 2, _seq_no: 362, @@ -411,7 +414,7 @@ describe('update()', () => { esClientMock.update.mockResolvedValueOnce( elasticsearchClientMock.createApiResponse({ body: { - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 2, result: 'updated', @@ -429,13 +432,13 @@ describe('update()', () => { id: 'NoxgpHkBqbdrfX07MqXV', status: 'closed', _version: undefined, - index: '.alerts-observability-apm', + index: '.alerts-observability.apm.alerts', }); expect(result).toMatchInlineSnapshot(` Object { "_id": "NoxgpHkBqbdrfX07MqXV", - "_index": ".alerts-observability-apm", + "_index": ".alerts-observability.apm.alerts", "_primary_term": 1, "_seq_no": 1, "_shards": Object { diff --git a/x-pack/plugins/rule_registry/server/plugin.ts b/x-pack/plugins/rule_registry/server/plugin.ts index ed6f19cd3af56..cb1810420c2cd 100644 --- a/x-pack/plugins/rule_registry/server/plugin.ts +++ b/x-pack/plugins/rule_registry/server/plugin.ts @@ -125,7 +125,7 @@ export class RuleRegistryPlugin core: CoreStart, plugins: RuleRegistryPluginStartDependencies ): RuleRegistryPluginStartContract { - const { logger, alertsClientFactory, security } = this; + const { logger, alertsClientFactory, ruleDataService, security } = this; alertsClientFactory.initialize({ logger, @@ -135,6 +135,7 @@ export class RuleRegistryPlugin return plugins.alerting.getAlertingAuthorizationWithRequest(request); }, securityPluginSetup: security, + ruleDataService, }); const getRacClientWithRequest = (request: KibanaRequest) => { diff --git a/x-pack/plugins/rule_registry/server/routes/__mocks__/request_responses.ts b/x-pack/plugins/rule_registry/server/routes/__mocks__/request_responses.ts index d591e01c9fff6..6793bfceb34d2 100644 --- a/x-pack/plugins/rule_registry/server/routes/__mocks__/request_responses.ts +++ b/x-pack/plugins/rule_registry/server/routes/__mocks__/request_responses.ts @@ -29,6 +29,6 @@ export const getUpdateRequest = () => body: { status: 'closed', ids: ['alert-1'], - index: '.alerts-observability-apm*', + index: '.alerts-observability.apm.alerts*', }, }); diff --git a/x-pack/plugins/rule_registry/server/routes/update_alert_by_id.test.ts b/x-pack/plugins/rule_registry/server/routes/update_alert_by_id.test.ts index 7ec699491ca83..8d701bc224eda 100644 --- a/x-pack/plugins/rule_registry/server/routes/update_alert_by_id.test.ts +++ b/x-pack/plugins/rule_registry/server/routes/update_alert_by_id.test.ts @@ -20,7 +20,7 @@ describe('updateAlertByIdRoute', () => { ({ clients, context } = requestContextMock.createTools()); clients.rac.update.mockResolvedValue({ - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 'WzM2MiwyXQ==', result: 'updated', @@ -37,7 +37,7 @@ describe('updateAlertByIdRoute', () => { expect(response.status).toEqual(200); expect(response.body).toEqual({ - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', _version: 'WzM2MiwyXQ==', result: 'updated', @@ -58,7 +58,7 @@ describe('updateAlertByIdRoute', () => { body: { status: 'closed', ids: 'alert-1', - index: '.alerts-observability-apm*', + index: '.alerts-observability.apm.alerts*', }, }), context @@ -77,7 +77,7 @@ describe('updateAlertByIdRoute', () => { body: { notStatus: 'closed', ids: ['alert-1'], - index: '.alerts-observability-apm*', + index: '.alerts-observability.apm.alerts*', }, }), context diff --git a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.mock.ts b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.mock.ts index f95ed8c6994b6..c50a982741b0c 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.mock.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.mock.ts @@ -12,18 +12,17 @@ type Schema = PublicMethodsOf; const createRuleDataPluginService = () => { const mocked: jest.Mocked = { - getRegisteredIndexInfo: jest.fn(), getResourcePrefix: jest.fn(), getResourceName: jest.fn(), isWriteEnabled: jest.fn(), initializeService: jest.fn(), initializeIndex: jest.fn(), + findIndexByName: jest.fn(), + findIndicesByFeature: jest.fn(), }; return mocked; }; -export const ruleDataPluginServiceMock: { - create: () => jest.Mocked>; -} = { +export const ruleDataPluginServiceMock = { create: createRuleDataPluginService, }; diff --git a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts index 734518e86d172..a417ba289d83a 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts @@ -6,12 +6,13 @@ */ import { Either, isLeft, left, right } from 'fp-ts/lib/Either'; +import { ValidFeatureId } from '@kbn/rule-data-utils'; import { ElasticsearchClient, Logger } from 'kibana/server'; import { IRuleDataClient, RuleDataClient, WaitResult } from '../rule_data_client'; import { IndexInfo } from './index_info'; -import { IndexOptions } from './index_options'; +import { Dataset, IndexOptions } from './index_options'; import { ResourceInstaller } from './resource_installer'; import { joinWithDash } from './utils'; @@ -26,12 +27,16 @@ interface ConstructorOptions { * A service for creating and using Elasticsearch indices for alerts-as-data. */ export class RuleDataPluginService { + private readonly indicesByBaseName: Map; + private readonly indicesByFeatureId: Map; private readonly resourceInstaller: ResourceInstaller; private installCommonResources: Promise>; private isInitialized: boolean; - private registeredIndices: Map = new Map(); constructor(private readonly options: ConstructorOptions) { + this.indicesByBaseName = new Map(); + this.indicesByFeatureId = new Map(); + this.resourceInstaller = new ResourceInstaller({ getResourceName: (name) => this.getResourceName(name), getClusterClient: options.getClusterClient, @@ -106,7 +111,9 @@ export class RuleDataPluginService { indexOptions, }); - this.registeredIndices.set(indexOptions.registrationContext, indexInfo); + const indicesAssociatedWithFeature = this.indicesByFeatureId.get(indexOptions.feature) ?? []; + this.indicesByFeatureId.set(indexOptions.feature, [...indicesAssociatedWithFeature, indexInfo]); + this.indicesByBaseName.set(indexInfo.baseName, indexInfo); const waitUntilClusterClientAvailable = async (): Promise => { try { @@ -153,11 +160,19 @@ export class RuleDataPluginService { } /** - * Looks up the index information associated with the given `registrationContext`. - * @param registrationContext - * @returns the IndexInfo or undefined + * Looks up the index information associated with the given registration context and dataset. + */ + public findIndexByName(registrationContext: string, dataset: Dataset): IndexInfo | null { + const baseName = this.getResourceName(`${registrationContext}.${dataset}`); + return this.indicesByBaseName.get(baseName) ?? null; + } + + /** + * Looks up the index information associated with the given Kibana "feature". + * Note: features are used in RBAC. */ - public getRegisteredIndexInfo(registrationContext: string): IndexInfo | undefined { - return this.registeredIndices.get(registrationContext); + public findIndicesByFeature(featureId: ValidFeatureId, dataset?: Dataset): IndexInfo[] { + const foundIndices = this.indicesByFeatureId.get(featureId) ?? []; + return dataset ? foundIndices.filter((i) => i.indexOptions.dataset === dataset) : foundIndices; } } diff --git a/x-pack/plugins/rule_registry/server/scripts/bulk_update_observability_alert_by_ids.sh b/x-pack/plugins/rule_registry/server/scripts/bulk_update_observability_alert_by_ids.sh index 7c7c7d0ab679b..460a514dd2f48 100755 --- a/x-pack/plugins/rule_registry/server/scripts/bulk_update_observability_alert_by_ids.sh +++ b/x-pack/plugins/rule_registry/server/scripts/bulk_update_observability_alert_by_ids.sh @@ -25,6 +25,6 @@ curl -s -k \ -H 'kbn-xsrf: 123' \ -u observer:changeme \ -X POST ${KIBANA_URL}${SPACE_URL}/internal/rac/alerts/bulk_update \ --d "{\"ids\": $IDS, \"status\":\"$STATUS\", \"index\":\".alerts-observability-apm\"}" | jq . -# -d "{\"ids\": $IDS, \"query\": \"kibana.rac.alert.status: open\", \"status\":\"$STATUS\", \"index\":\".alerts-observability-apm\"}" | jq . -# -d "{\"ids\": $IDS, \"status\":\"$STATUS\", \"index\":\".alerts-observability-apm\"}" | jq . +-d "{\"ids\": $IDS, \"status\":\"$STATUS\", \"index\":\".alerts-observability.apm.alerts\"}" | jq . +# -d "{\"ids\": $IDS, \"query\": \"kibana.rac.alert.status: open\", \"status\":\"$STATUS\", \"index\":\".alerts-observability.apm.alerts\"}" | jq . +# -d "{\"ids\": $IDS, \"status\":\"$STATUS\", \"index\":\".alerts-observability.apm.alerts\"}" | jq . diff --git a/x-pack/plugins/rule_registry/server/scripts/bulk_update_observability_alert_by_query.sh b/x-pack/plugins/rule_registry/server/scripts/bulk_update_observability_alert_by_query.sh index 4bcfd53b12299..8f04707c6c299 100755 --- a/x-pack/plugins/rule_registry/server/scripts/bulk_update_observability_alert_by_query.sh +++ b/x-pack/plugins/rule_registry/server/scripts/bulk_update_observability_alert_by_query.sh @@ -25,4 +25,4 @@ curl -s -k \ -H 'kbn-xsrf: 123' \ -u observer:changeme \ -X POST ${KIBANA_URL}${SPACE_URL}/internal/rac/alerts/bulk_update \ --d "{\"query\": \"$QUERY\", \"status\":\"$STATUS\", \"index\":\".alerts-observability-apm\"}" | jq . +-d "{\"query\": \"$QUERY\", \"status\":\"$STATUS\", \"index\":\".alerts-observability.apm.alerts\"}" | jq . diff --git a/x-pack/plugins/rule_registry/server/scripts/find_observability_alert.sh b/x-pack/plugins/rule_registry/server/scripts/find_observability_alert.sh index 4c4ee5f75836c..abdef9dfcb646 100755 --- a/x-pack/plugins/rule_registry/server/scripts/find_observability_alert.sh +++ b/x-pack/plugins/rule_registry/server/scripts/find_observability_alert.sh @@ -26,4 +26,4 @@ curl -v \ -H 'kbn-xsrf: 123' \ -u observer:changeme \ -X POST ${KIBANA_URL}${SPACE_URL}/internal/rac/alerts/find \ --d "{\"query\": { \"match\": { \"kibana.alert.status\": \"open\" }}, \"index\":\".alerts-observability-apm\"}" | jq . \ No newline at end of file +-d "{\"query\": { \"match\": { \"kibana.alert.status\": \"open\" }}, \"index\":\".alerts-observability.apm.alerts\"}" | jq . diff --git a/x-pack/plugins/rule_registry/server/scripts/get_observability_alert.sh b/x-pack/plugins/rule_registry/server/scripts/get_observability_alert.sh index 1b34910c2b737..1aa6486f9b403 100755 --- a/x-pack/plugins/rule_registry/server/scripts/get_observability_alert.sh +++ b/x-pack/plugins/rule_registry/server/scripts/get_observability_alert.sh @@ -19,4 +19,4 @@ cd .. # Example: ./get_observability_alert.sh hunter curl -v -k \ -u $USER:changeme \ - -X GET "${KIBANA_URL}${SPACE_URL}/internal/rac/alerts?id=$ID&index=.alerts-observability-apm" | jq . + -X GET "${KIBANA_URL}${SPACE_URL}/internal/rac/alerts?id=$ID&index=.alerts-observability.apm.alerts" | jq . diff --git a/x-pack/plugins/rule_registry/server/scripts/update_observability_alert.sh b/x-pack/plugins/rule_registry/server/scripts/update_observability_alert.sh index f61fcf2662aa3..d33ff3017b381 100755 --- a/x-pack/plugins/rule_registry/server/scripts/update_observability_alert.sh +++ b/x-pack/plugins/rule_registry/server/scripts/update_observability_alert.sh @@ -25,4 +25,4 @@ curl -s -k \ -H 'kbn-xsrf: 123' \ -u observer:changeme \ -X POST ${KIBANA_URL}${SPACE_URL}/internal/rac/alerts \ - -d "{\"ids\": $IDS, \"status\":\"$STATUS\", \"index\":\".alerts-observability-apm\"}" | jq . + -d "{\"ids\": $IDS, \"status\":\"$STATUS\", \"index\":\".alerts-observability.apm.alerts\"}" | jq . diff --git a/x-pack/plugins/uptime/server/lib/alerts/test_utils/index.ts b/x-pack/plugins/uptime/server/lib/alerts/test_utils/index.ts index 1927162f64772..f78ce1d198c7f 100644 --- a/x-pack/plugins/uptime/server/lib/alerts/test_utils/index.ts +++ b/x-pack/plugins/uptime/server/lib/alerts/test_utils/index.ts @@ -73,7 +73,7 @@ export const createRuleTypeMocks = ( }; }, isWriteEnabled: jest.fn(() => true), - indexName: '.alerts-observability.synthetics.alerts', + indexName: '.alerts-observability.uptime.alerts', } as unknown) as IRuleDataClient, }, services, diff --git a/x-pack/test/functional/es_archives/rule_registry/alerts/data.json b/x-pack/test/functional/es_archives/rule_registry/alerts/data.json index 7291dd2c65fa5..284c6e9519cc1 100644 --- a/x-pack/test/functional/es_archives/rule_registry/alerts/data.json +++ b/x-pack/test/functional/es_archives/rule_registry/alerts/data.json @@ -1,7 +1,7 @@ { "type": "doc", "value": { - "index": ".alerts-observability-apm", + "index": ".alerts-observability.apm.alerts", "id": "NoxgpHkBqbdrfX07MqXV", "source": { "event.kind" : "signal", @@ -18,7 +18,7 @@ { "type": "doc", "value": { - "index": ".alerts-observability-apm", + "index": ".alerts-observability.apm.alerts", "id": "space1alert", "source": { "event.kind" : "signal", @@ -35,7 +35,7 @@ { "type": "doc", "value": { - "index": ".alerts-observability-apm", + "index": ".alerts-observability.apm.alerts", "id": "space2alert", "source": { "event.kind" : "signal", diff --git a/x-pack/test/functional/es_archives/rule_registry/alerts/mappings.json b/x-pack/test/functional/es_archives/rule_registry/alerts/mappings.json index 943457ad6cd85..f55241f25c90e 100644 --- a/x-pack/test/functional/es_archives/rule_registry/alerts/mappings.json +++ b/x-pack/test/functional/es_archives/rule_registry/alerts/mappings.json @@ -1,7 +1,7 @@ { "type": "index", "value": { - "index": ".alerts-observability-apm", + "index": ".alerts-observability.apm.alerts", "mappings": { "properties": { "message": { diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/basic/bulk_update_alerts.ts b/x-pack/test/rule_registry/security_and_spaces/tests/basic/bulk_update_alerts.ts index 815b346c15d1a..d9f04f206cb37 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/basic/bulk_update_alerts.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/basic/bulk_update_alerts.ts @@ -55,7 +55,7 @@ export default ({ getService }: FtrProviderContext) => { const SPACE1 = 'space1'; const SPACE2 = 'space2'; const APM_ALERT_ID = 'NoxgpHkBqbdrfX07MqXV'; - const APM_ALERT_INDEX = '.alerts-observability-apm'; + const APM_ALERT_INDEX = '.alerts-observability.apm.alerts'; const SECURITY_SOLUTION_ALERT_ID = '020202'; const SECURITY_SOLUTION_ALERT_INDEX = '.alerts-security.alerts'; diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/basic/find_alerts.ts b/x-pack/test/rule_registry/security_and_spaces/tests/basic/find_alerts.ts index f6fcff64db3a3..9b8c334c7f9da 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/basic/find_alerts.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/basic/find_alerts.ts @@ -54,7 +54,7 @@ export default ({ getService }: FtrProviderContext) => { const SPACE1 = 'space1'; const SPACE2 = 'space2'; const APM_ALERT_ID = 'NoxgpHkBqbdrfX07MqXV'; - const APM_ALERT_INDEX = '.alerts-observability-apm'; + const APM_ALERT_INDEX = '.alerts-observability.apm.alerts'; const SECURITY_SOLUTION_ALERT_ID = '020202'; const SECURITY_SOLUTION_ALERT_INDEX = '.alerts-security.alerts'; diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alert_by_id.ts b/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alert_by_id.ts index 1f1da40eee70e..b968f8db176c8 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alert_by_id.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alert_by_id.ts @@ -54,7 +54,7 @@ export default ({ getService }: FtrProviderContext) => { const SPACE1 = 'space1'; const SPACE2 = 'space2'; const APM_ALERT_ID = 'NoxgpHkBqbdrfX07MqXV'; - const APM_ALERT_INDEX = '.alerts-observability-apm'; + const APM_ALERT_INDEX = '.alerts-observability.apm.alerts'; const SECURITY_SOLUTION_ALERT_ID = '020202'; const SECURITY_SOLUTION_ALERT_INDEX = '.alerts-security.alerts'; diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/basic/update_alert.ts b/x-pack/test/rule_registry/security_and_spaces/tests/basic/update_alert.ts index 348aedb258f7e..df4bdf08d6850 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/basic/update_alert.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/basic/update_alert.ts @@ -53,7 +53,7 @@ export default ({ getService }: FtrProviderContext) => { const SPACE1 = 'space1'; const SPACE2 = 'space2'; const APM_ALERT_ID = 'NoxgpHkBqbdrfX07MqXV'; - const APM_ALERT_INDEX = '.alerts-observability-apm'; + const APM_ALERT_INDEX = '.alerts-observability.apm.alerts'; const SECURITY_SOLUTION_ALERT_ID = '020202'; const SECURITY_SOLUTION_ALERT_INDEX = '.alerts-security.alerts'; const ALERT_VERSION = Buffer.from(JSON.stringify([0, 1]), 'utf8').toString('base64'); // required for optimistic concurrency control diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts b/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts index 56c2ba94c5ad3..a97e9182c9b49 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts @@ -38,9 +38,9 @@ export default ({ getService }: FtrProviderContext) => { .set('kbn-xsrf', 'true') .expect(200); const observabilityIndex = indexNames?.index_name?.find( - (indexName) => indexName === '.alerts-observability-apm' + (indexName) => indexName === '.alerts-observability.apm.alerts' ); - expect(observabilityIndex).to.eql('.alerts-observability-apm'); + expect(observabilityIndex).to.eql('.alerts-observability.apm.alerts'); return observabilityIndex; }; diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/trial/update_alert.ts b/x-pack/test/rule_registry/security_and_spaces/tests/trial/update_alert.ts index 0442e25fcf20c..1f7e34c9830e7 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/trial/update_alert.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/trial/update_alert.ts @@ -36,9 +36,9 @@ export default ({ getService }: FtrProviderContext) => { .set('kbn-xsrf', 'true') .expect(200); const observabilityIndex = indexNames?.index_name?.find( - (indexName) => indexName === '.alerts-observability-apm' + (indexName) => indexName === '.alerts-observability.apm.alerts' ); - expect(observabilityIndex).to.eql('.alerts-observability-apm'); + expect(observabilityIndex).to.eql('.alerts-observability.apm.alerts'); return observabilityIndex; }; @@ -107,7 +107,7 @@ export default ({ getService }: FtrProviderContext) => { .expect(200); expect(omit(['_version', '_seq_no'], res.body)).to.eql({ success: true, - _index: '.alerts-observability-apm', + _index: '.alerts-observability.apm.alerts', _id: 'NoxgpHkBqbdrfX07MqXV', result: 'updated', _shards: { total: 2, successful: 1, failed: 0 }, diff --git a/x-pack/test/rule_registry/spaces_only/tests/trial/get_alert_by_id.ts b/x-pack/test/rule_registry/spaces_only/tests/trial/get_alert_by_id.ts index 373acd9e8a884..4cf7a9610b59b 100644 --- a/x-pack/test/rule_registry/spaces_only/tests/trial/get_alert_by_id.ts +++ b/x-pack/test/rule_registry/spaces_only/tests/trial/get_alert_by_id.ts @@ -22,7 +22,7 @@ export default ({ getService }: FtrProviderContext) => { const SPACE1 = 'space1'; const SPACE2 = 'space2'; const APM_ALERT_ID = 'NoxgpHkBqbdrfX07MqXV'; - const APM_ALERT_INDEX = '.alerts-observability-apm'; + const APM_ALERT_INDEX = '.alerts-observability.apm.alerts'; const SECURITY_SOLUTION_ALERT_INDEX = '.alerts-security.alerts'; const getAPMIndexName = async (user: User) => { diff --git a/x-pack/test/rule_registry/spaces_only/tests/trial/update_alert.ts b/x-pack/test/rule_registry/spaces_only/tests/trial/update_alert.ts index 2464205913940..040b8de49be90 100644 --- a/x-pack/test/rule_registry/spaces_only/tests/trial/update_alert.ts +++ b/x-pack/test/rule_registry/spaces_only/tests/trial/update_alert.ts @@ -21,7 +21,7 @@ export default ({ getService }: FtrProviderContext) => { const SPACE1 = 'space1'; const SPACE2 = 'space2'; const APM_ALERT_ID = 'NoxgpHkBqbdrfX07MqXV'; - const APM_ALERT_INDEX = '.alerts-observability-apm'; + const APM_ALERT_INDEX = '.alerts-observability.apm.alerts'; const SECURITY_SOLUTION_ALERT_INDEX = '.alerts-security.alerts'; const ALERT_VERSION = Buffer.from(JSON.stringify([0, 1]), 'utf8').toString('base64'); // required for optimistic concurrency control From 01a599faa69be40f12f15cd88de7ec27a0b6efc1 Mon Sep 17 00:00:00 2001 From: Brian Seeders Date: Wed, 25 Aug 2021 10:31:17 -0400 Subject: [PATCH 027/139] [buildkite] Move some functionality to a shared library (#102228) --- .buildkite/hooks/post-command | 3 - .buildkite/package.json | 8 +++ .buildkite/pipelines/pull_request.yml | 17 ++++++ .buildkite/scripts/lifecycle/build_status.js | 17 ++++++ .buildkite/scripts/lifecycle/ci_stats.js | 59 ------------------- .../scripts/lifecycle/ci_stats_complete.js | 11 +--- .../scripts/lifecycle/ci_stats_start.js | 24 +------- .../lifecycle/commit_status_complete.sh | 2 +- .buildkite/scripts/lifecycle/post_build.sh | 4 +- .buildkite/scripts/lifecycle/post_command.sh | 7 --- .buildkite/scripts/lifecycle/pre_command.sh | 7 +++ vars/prChanges.groovy | 3 +- 12 files changed, 58 insertions(+), 104 deletions(-) delete mode 100644 .buildkite/hooks/post-command create mode 100644 .buildkite/package.json create mode 100644 .buildkite/pipelines/pull_request.yml create mode 100644 .buildkite/scripts/lifecycle/build_status.js delete mode 100644 .buildkite/scripts/lifecycle/ci_stats.js delete mode 100755 .buildkite/scripts/lifecycle/post_command.sh diff --git a/.buildkite/hooks/post-command b/.buildkite/hooks/post-command deleted file mode 100644 index 21a4326498fc9..0000000000000 --- a/.buildkite/hooks/post-command +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -source .buildkite/scripts/lifecycle/post_command.sh diff --git a/.buildkite/package.json b/.buildkite/package.json new file mode 100644 index 0000000000000..385c9f2429f79 --- /dev/null +++ b/.buildkite/package.json @@ -0,0 +1,8 @@ +{ + "name": "kibana-buildkite", + "version": "1.0.0", + "private": true, + "dependencies": { + "kibana-buildkite-library": "elastic/kibana-buildkite-library" + } +} diff --git a/.buildkite/pipelines/pull_request.yml b/.buildkite/pipelines/pull_request.yml new file mode 100644 index 0000000000000..41c13bb403e1a --- /dev/null +++ b/.buildkite/pipelines/pull_request.yml @@ -0,0 +1,17 @@ +env: + GITHUB_COMMIT_STATUS_ENABLED: 'true' + GITHUB_COMMIT_STATUS_CONTEXT: 'buildkite/kibana-pull-request' +steps: + - command: .buildkite/scripts/lifecycle/pre_build.sh + label: Pre-Build + + - wait + + - command: echo 'Hello World' + label: Test + + - wait: ~ + continue_on_failure: true + + - command: .buildkite/scripts/lifecycle/post_build.sh + label: Post-Build diff --git a/.buildkite/scripts/lifecycle/build_status.js b/.buildkite/scripts/lifecycle/build_status.js new file mode 100644 index 0000000000000..2c1d51ecac0a7 --- /dev/null +++ b/.buildkite/scripts/lifecycle/build_status.js @@ -0,0 +1,17 @@ +const { BuildkiteClient } = require('kibana-buildkite-library'); + +(async () => { + try { + const client = new BuildkiteClient(); + const status = await client.getCurrentBuildStatus(); + console.log(status.success ? 'true' : 'false'); + process.exit(0); + } catch (ex) { + if (ex.response) { + console.error('HTTP Error Response Body', ex.response.data); + console.error('HTTP Error Response Status', ex.response.status); + } + console.error(ex); + process.exit(1); + } +})(); diff --git a/.buildkite/scripts/lifecycle/ci_stats.js b/.buildkite/scripts/lifecycle/ci_stats.js deleted file mode 100644 index 1e7aec3079ee3..0000000000000 --- a/.buildkite/scripts/lifecycle/ci_stats.js +++ /dev/null @@ -1,59 +0,0 @@ -const https = require('https'); -const token = process.env.CI_STATS_TOKEN; -const host = process.env.CI_STATS_HOST; - -const request = (url, options, data = null) => { - const httpOptions = { - ...options, - headers: { - ...(options.headers || {}), - Authorization: `token ${token}`, - }, - }; - - return new Promise((resolve, reject) => { - console.log(`Calling https://${host}${url}`); - - const req = https.request(`https://${host}${url}`, httpOptions, (res) => { - if (res.statusCode < 200 || res.statusCode >= 300) { - return reject(new Error(`Status Code: ${res.statusCode}`)); - } - - const data = []; - res.on('data', (d) => { - data.push(d); - }); - - res.on('end', () => { - try { - let resp = Buffer.concat(data).toString(); - - try { - if (resp.trim()) { - resp = JSON.parse(resp); - } - } catch (ex) { - console.error(ex); - } - - resolve(resp); - } catch (ex) { - reject(ex); - } - }); - }); - - req.on('error', reject); - - if (data) { - req.write(JSON.stringify(data)); - } - - req.end(); - }); -}; - -module.exports = { - get: (url) => request(url, { method: 'GET' }), - post: (url, data) => request(url, { method: 'POST' }, data), -}; diff --git a/.buildkite/scripts/lifecycle/ci_stats_complete.js b/.buildkite/scripts/lifecycle/ci_stats_complete.js index 46aa72aed2024..d86e2ec7efcae 100644 --- a/.buildkite/scripts/lifecycle/ci_stats_complete.js +++ b/.buildkite/scripts/lifecycle/ci_stats_complete.js @@ -1,15 +1,8 @@ -const ciStats = require('./ci_stats'); - -// TODO - this is okay for now but should really be replaced with an API call, especially once retries are enabled -const BUILD_STATUS = process.env.BUILD_FAILED === 'true' ? 'FAILURE' : 'SUCCESS'; +const { CiStats } = require('kibana-buildkite-library'); (async () => { try { - if (process.env.CI_STATS_BUILD_ID) { - await ciStats.post(`/v1/build/_complete?id=${process.env.CI_STATS_BUILD_ID}`, { - result: BUILD_STATUS, - }); - } + await CiStats.onComplete(); } catch (ex) { console.error(ex); process.exit(1); diff --git a/.buildkite/scripts/lifecycle/ci_stats_start.js b/.buildkite/scripts/lifecycle/ci_stats_start.js index 35a1e7030af5f..115aa9bd23954 100644 --- a/.buildkite/scripts/lifecycle/ci_stats_start.js +++ b/.buildkite/scripts/lifecycle/ci_stats_start.js @@ -1,28 +1,8 @@ -const { execSync } = require('child_process'); -const ciStats = require('./ci_stats'); +const { CiStats } = require('kibana-buildkite-library'); (async () => { try { - const build = await ciStats.post('/v1/build', { - jenkinsJobName: process.env.BUILDKITE_PIPELINE_NAME, - jenkinsJobId: process.env.BUILDKITE_BUILD_ID, - jenkinsUrl: process.env.BUILDKITE_BUILD_URL, - prId: process.env.GITHUB_PR_NUMBER || null, - }); - - execSync(`buildkite-agent meta-data set ci_stats_build_id "${build.id}"`); - - // TODO Will need to set MERGE_BASE for PRs - - await ciStats.post(`/v1/git_info?buildId=${build.id}`, { - branch: process.env.BUILDKITE_BRANCH.replace(/^(refs\/heads\/|origin\/)/, ''), - commit: process.env.BUILDKITE_COMMIT, - targetBranch: - process.env.GITHUB_PR_TARGET_BRANCH || - process.env.BUILDKITE_PULL_REQUEST_BASE_BRANCH || - null, - mergeBase: process.env.GITHUB_PR_MERGE_BASE || null, // TODO confirm GITHUB_PR_MERGE_BASE or switch to final var - }); + await CiStats.onStart(); } catch (ex) { console.error(ex); process.exit(1); diff --git a/.buildkite/scripts/lifecycle/commit_status_complete.sh b/.buildkite/scripts/lifecycle/commit_status_complete.sh index 1766404719632..d8845d3473520 100755 --- a/.buildkite/scripts/lifecycle/commit_status_complete.sh +++ b/.buildkite/scripts/lifecycle/commit_status_complete.sh @@ -4,7 +4,7 @@ set -euo pipefail if [[ "${GITHUB_COMMIT_STATUS_ENABLED:-}" == "true" ]]; then COMMIT_STATUS=success - if [[ "${BUILD_FAILED:-}" == "true" ]]; then + if [[ "${BUILD_SUCCESSFUL:-}" != "true" ]]; then COMMIT_STATUS=failure fi diff --git a/.buildkite/scripts/lifecycle/post_build.sh b/.buildkite/scripts/lifecycle/post_build.sh index 06b51d78a836a..4577c1a9fcad4 100755 --- a/.buildkite/scripts/lifecycle/post_build.sh +++ b/.buildkite/scripts/lifecycle/post_build.sh @@ -2,8 +2,8 @@ set -euo pipefail -BUILD_FAILED=$(buildkite-agent meta-data get build_failed --default "false") -export BUILD_FAILED +BUILD_SUCCESSFUL=$(node "$(dirname "${0}")/build_status.js") +export BUILD_SUCCESSFUL "$(dirname "${0}")/commit_status_complete.sh" diff --git a/.buildkite/scripts/lifecycle/post_command.sh b/.buildkite/scripts/lifecycle/post_command.sh deleted file mode 100755 index 89630a874bbd7..0000000000000 --- a/.buildkite/scripts/lifecycle/post_command.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -if [[ "$BUILDKITE_COMMAND_EXIT_STATUS" != "0" ]]; then - buildkite-agent meta-data set build_failed true -fi diff --git a/.buildkite/scripts/lifecycle/pre_command.sh b/.buildkite/scripts/lifecycle/pre_command.sh index d9e79d2d3252b..b0113e6b16964 100755 --- a/.buildkite/scripts/lifecycle/pre_command.sh +++ b/.buildkite/scripts/lifecycle/pre_command.sh @@ -2,6 +2,13 @@ set -euo pipefail +cd '.buildkite' +yarn install +cd - + +BUILDKITE_TOKEN="$(vault read -field=buildkite_token_all_jobs secret/kibana-issues/dev/buildkite-ci)" +export BUILDKITE_TOKEN + # Set up a custom ES Snapshot Manifest if one has been specified for this build { ES_SNAPSHOT_MANIFEST=${ES_SNAPSHOT_MANIFEST:-$(buildkite-agent meta-data get ES_SNAPSHOT_MANIFEST --default '')} diff --git a/vars/prChanges.groovy b/vars/prChanges.groovy index 8484df8210259..a8a81cade844c 100644 --- a/vars/prChanges.groovy +++ b/vars/prChanges.groovy @@ -14,7 +14,8 @@ def getSkippablePaths() { /^.ci\/Jenkinsfile_[^\/]+$/, /^\.github\//, /\.md$/, - /^\.backportrc\.json$/ + /^\.backportrc\.json$/, + /^\.buildkite\//, ] } From b258eb330916c84fab77274d5c950512b7f1d272 Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Wed, 25 Aug 2021 09:34:22 -0500 Subject: [PATCH 028/139] Bump lmdb-store to 1.6.6 (#109939) --- package.json | 2 +- yarn.lock | 46 ++++++++++++++++++++++++++-------------------- 2 files changed, 27 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index 860dc9b64d5ec..0872e682aad55 100644 --- a/package.json +++ b/package.json @@ -772,7 +772,7 @@ "jsondiffpatch": "0.4.1", "license-checker": "^16.0.0", "listr": "^0.14.1", - "lmdb-store": "^1.2.4", + "lmdb-store": "^1.6.6", "load-grunt-config": "^3.0.1", "marge": "^1.0.1", "micromatch": "3.1.10", diff --git a/yarn.lock b/yarn.lock index 89af9a650de91..9e07df606c220 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6198,7 +6198,7 @@ dependencies: "@types/geojson" "*" -"@types/tough-cookie@^4.0.1", "@types/tough-cookie@*": +"@types/tough-cookie@*", "@types/tough-cookie@^4.0.1": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.1.tgz#8f80dd965ad81f3e1bc26d6f5c727e132721ff40" integrity sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg== @@ -18478,17 +18478,18 @@ listr@^0.14.1, listr@^0.14.3: p-map "^2.0.0" rxjs "^6.3.3" -lmdb-store@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lmdb-store/-/lmdb-store-1.2.4.tgz#5ffe223fb7b899b870a9055468dc908544d072ba" - integrity sha512-KydyC34i7BxQFeEXeX2Ub73u8Iiyf1QxLmhHMxWWWWqNFr6tk8vUnLtf8HpJmubiOWg77QZjlwbsFRKIofEHdw== +lmdb-store@^1.6.6: + version "1.6.6" + resolved "https://registry.yarnpkg.com/lmdb-store/-/lmdb-store-1.6.6.tgz#fe06abafd260008c76b21572ceac7c4ca1d3479f" + integrity sha512-mqcpJQ7n8WKoo+N4PijDfOcWyFZbKUAI5Ys9hvEnFPNwLoXC8x6SzoIKMvaCmxXkQeUogLecGo7bMYitnZxRkg== dependencies: mkdirp "^1.0.4" nan "^2.14.2" node-gyp-build "^4.2.3" - weak-lru-cache "^0.4.1" + ordered-binary "^1.0.0" + weak-lru-cache "^1.0.0" optionalDependencies: - msgpackr "^1.2.7" + msgpackr "^1.3.7" load-bmfont@^1.3.1, load-bmfont@^1.4.0: version "1.4.0" @@ -19924,20 +19925,20 @@ ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -msgpackr-extract@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-1.0.6.tgz#65713a266de36d7dce8edcb766a7b4e5aa5f12ca" - integrity sha512-xDZjVWdBDQqohlB14/tbuhtFGsnQqZxE9/aJNz4iTxfGANtuajSCC6wJ72vYPR/k3hKtgLyL76E7xi6t2hcS+Q== +msgpackr-extract@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-1.0.13.tgz#39f1958d9cf1c436e18cc544aacec1af62b661d1" + integrity sha512-JlQPllMLETiuQ5Vv3IAz+4uOpd1GZPOoCHv9P5ka5P5gkTssm/ejv0WwS4xAfB9B3vDwrExRwuU8v3HRQtJk2Q== dependencies: nan "^2.14.2" node-gyp-build "^4.2.3" -msgpackr@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.2.7.tgz#374e17a294b52f2155bf3d54182a0888be286cad" - integrity sha512-U6Sef+XZjTRQoXZt9GPFf/2h4yhjsB2Kvb1Uq6N19wliryVvrq8onYPzgFnm9/byjDzpRWbJqXesp2AqX15Htg== +msgpackr@^1.3.7: + version "1.4.2" + resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.4.2.tgz#52ddf0130ccdb1067957fe61c8be828e82bb29ce" + integrity sha512-6gvaU+3xIflium8eJcruT66kLQr14lgTEmXtDm7KKzBSWHljD7pqu3VBQv1PDipFD5UGXLTIxGg5hGbO/jTvxQ== optionalDependencies: - msgpackr-extract "^1.0.6" + msgpackr-extract "^1.0.13" multicast-dns-service-types@^1.1.0: version "1.1.0" @@ -20929,6 +20930,11 @@ ora@^5.3.0: strip-ansi "^6.0.0" wcwidth "^1.0.1" +ordered-binary@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.0.0.tgz#4f7485186b12aa42b99011aeb7aa272991d6a487" + integrity sha512-0RMlzqix3YAOZKMoXv97OIvHlqJxnmIzihjShVkYNV3JuzHbqeBOOP7wpz6yo4af1ZFnOHGsh8RK77ZmaBY3Lg== + ordered-read-streams@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" @@ -29001,10 +29007,10 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -weak-lru-cache@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-0.4.1.tgz#d1a0600f00576e9cf836d069e4dc119b8234abde" - integrity sha512-NJS+edQXFd9zHuWuAWfieUDj0pAS6Qg6HX0NW548vhoU+aOSkRFZvcJC988PjVkrH/Q/p/E18bPctGoUE++Pdw== +weak-lru-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.0.0.tgz#f1394721169883488c554703704fbd91cda05ddf" + integrity sha512-135bPugHHIJLNx20guHgk4etZAbd7nou34NQfdKkJPgMuC3Oqn4cT6f7ORVvnud9oEyXJVJXPcTFsUvttGm5xg== web-namespaces@^1.0.0: version "1.1.4" From 41f7b429d1f175f1bf1be4e3097da9d9c1c91bb4 Mon Sep 17 00:00:00 2001 From: Ashokaditya Date: Wed, 25 Aug 2021 16:43:20 +0200 Subject: [PATCH 029/139] [Security Solution][Endpoint] Additional Endpoint Activity log tests (#109776) * move activity log paging method close to call api method refs 417d093a29feff76fa1896a8584eb8af0f9d4a10 * add middleware additional activity log tests * add a more specific server side test for activity log actions and responses refs elastic/kibana/pull/101032 * remove obsolete server side audit log index mock method refs elastic/kibana/pull/101032 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../endpoint_hosts/store/middleware.test.ts | 87 ++++++++ .../pages/endpoint_hosts/store/middleware.ts | 188 +++++++++--------- .../endpoint/routes/actions/audit_log.test.ts | 62 +++--- .../server/endpoint/routes/actions/mocks.ts | 23 --- 4 files changed, 215 insertions(+), 145 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts index 57bec2bbd7c06..96314ca154d1f 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts @@ -19,6 +19,7 @@ import { HostResultList, HostIsolationResponse, ISOLATION_ACTIONS, + ActivityLog, } from '../../../../../common/endpoint/types'; import { AppAction } from '../../../../common/store/actions'; import { mockEndpointResultList } from './mock_endpoint_result_list'; @@ -244,6 +245,29 @@ describe('endpoint list middleware', () => { }); }; + const dispatchGetActivityLogPaging = ({ page = 1 }: { page: number }) => { + dispatch({ + type: 'endpointDetailsActivityLogUpdatePaging', + payload: { + page, + pageSize: 50, + }, + }); + }; + + const dispatchGetActivityLogUpdateInvalidDateRange = ({ + isInvalidDateRange = false, + }: { + isInvalidDateRange: boolean; + }) => { + dispatch({ + type: 'endpointDetailsActivityLogUpdateIsInvalidDateRange', + payload: { + isInvalidDateRange, + }, + }); + }; + it('should set ActivityLog state to loading', async () => { dispatchUserChangedUrl(); dispatchGetActivityLogLoading(); @@ -284,6 +308,69 @@ describe('endpoint list middleware', () => { }); expect(activityLogResponse.payload.type).toEqual('LoadedResourceState'); }); + + it('should set ActivityLog to Failed if API call fails', async () => { + dispatchUserChangedUrl(); + + const apiError = new Error('oh oh'); + const failedDispatched = waitForAction('endpointDetailsActivityLogChanged', { + validate(action) { + return isFailedResourceState(action.payload); + }, + }); + + mockedApis.responseProvider.activityLogResponse.mockImplementation(() => { + throw apiError; + }); + + const failedAction = (await failedDispatched).payload as FailedResourceState; + expect(failedAction.error).toBe(apiError); + }); + + it('should not fetch Activity Log with invalid date ranges', async () => { + dispatchUserChangedUrl(); + + const updateInvalidDateRangeDispatched = waitForAction( + 'endpointDetailsActivityLogUpdateIsInvalidDateRange' + ); + dispatchGetActivityLogUpdateInvalidDateRange({ isInvalidDateRange: true }); + await updateInvalidDateRangeDispatched; + + expect(mockedApis.responseProvider.activityLogResponse).not.toHaveBeenCalled(); + }); + + it('should call get Activity Log API with valid date ranges', async () => { + dispatchUserChangedUrl(); + + const updatePagingDispatched = waitForAction('endpointDetailsActivityLogUpdatePaging'); + dispatchGetActivityLogPaging({ page: 1 }); + + const updateInvalidDateRangeDispatched = waitForAction( + 'endpointDetailsActivityLogUpdateIsInvalidDateRange' + ); + dispatchGetActivityLogUpdateInvalidDateRange({ isInvalidDateRange: false }); + await updateInvalidDateRangeDispatched; + await updatePagingDispatched; + + expect(mockedApis.responseProvider.activityLogResponse).toHaveBeenCalled(); + }); + + it('should call get Activity Log API with correct paging options', async () => { + dispatchUserChangedUrl(); + + const updatePagingDispatched = waitForAction('endpointDetailsActivityLogUpdatePaging'); + dispatchGetActivityLogPaging({ page: 3 }); + + await updatePagingDispatched; + + expect(mockedApis.responseProvider.activityLogResponse).toHaveBeenCalledWith({ + path: expect.any(String), + query: { + page: 3, + page_size: 50, + }, + }); + }); }); describe('handle Endpoint Pending Actions state actions', () => { diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts index ca5af088b36f6..1be9ff5be55ef 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts @@ -120,6 +120,7 @@ export const endpointMiddlewareFactory: ImmutableMiddlewareFactory; - coreStart: CoreStart; -}) { - const { getState, dispatch } = store; - try { - const { disabled, page, pageSize, startDate, endDate } = getActivityLogDataPaging(getState()); - // don't page when paging is disabled or when date ranges are invalid - if (disabled) { - return; - } - if (getIsInvalidDateRange({ startDate, endDate })) { - dispatch({ - type: 'endpointDetailsActivityLogUpdateIsInvalidDateRange', - payload: { - isInvalidDateRange: true, - }, - }); - return; - } - - dispatch({ - type: 'endpointDetailsActivityLogUpdateIsInvalidDateRange', - payload: { - isInvalidDateRange: false, - }, - }); - dispatch({ - type: 'endpointDetailsActivityLogChanged', - // ts error to be fixed when AsyncResourceState is refactored (#830) - // @ts-expect-error - payload: createLoadingResourceState(getActivityLogData(getState())), - }); - const route = resolvePathVariables(ENDPOINT_ACTION_LOG_ROUTE, { - agent_id: selectedAgent(getState()), - }); - const activityLog = await coreStart.http.get(route, { - query: { - page, - page_size: pageSize, - start_date: startDate, - end_date: endDate, - }, - }); - - const lastLoadedLogData = getLastLoadedActivityLogData(getState()); - if (lastLoadedLogData !== undefined) { - const updatedLogDataItems = ([ - ...new Set([...lastLoadedLogData.data, ...activityLog.data]), - ] as ActivityLog['data']).sort((a, b) => - new Date(b.item.data['@timestamp']) > new Date(a.item.data['@timestamp']) ? 1 : -1 - ); - - const updatedLogData = { - page: activityLog.page, - pageSize: activityLog.pageSize, - startDate: activityLog.startDate, - endDate: activityLog.endDate, - data: activityLog.page === 1 ? activityLog.data : updatedLogDataItems, - }; - dispatch({ - type: 'endpointDetailsActivityLogChanged', - payload: createLoadedResourceState(updatedLogData), - }); - if (!activityLog.data.length) { - dispatch({ - type: 'endpointDetailsActivityLogUpdatePaging', - payload: { - disabled: true, - page: activityLog.page > 1 ? activityLog.page - 1 : 1, - pageSize: activityLog.pageSize, - startDate: activityLog.startDate, - endDate: activityLog.endDate, - }, - }); - } - } else { - dispatch({ - type: 'endpointDetailsActivityLogChanged', - payload: createLoadedResourceState(activityLog), - }); - } - } catch (error) { - dispatch({ - type: 'endpointDetailsActivityLogChanged', - payload: createFailedResourceState(error.body ?? error), - }); - } -} - async function loadEndpointDetails({ selectedEndpoint, store, @@ -720,7 +628,6 @@ async function endpointDetailsActivityLogChangedMiddleware({ coreStart: CoreStart; }) { const { getState, dispatch } = store; - // call the activity log api dispatch({ type: 'endpointDetailsActivityLogChanged', // ts error to be fixed when AsyncResourceState is refactored (#830) @@ -748,6 +655,99 @@ async function endpointDetailsActivityLogChangedMiddleware({ } } +async function endpointDetailsActivityLogPagingMiddleware({ + store, + coreStart, +}: { + store: ImmutableMiddlewareAPI; + coreStart: CoreStart; +}) { + const { getState, dispatch } = store; + try { + const { disabled, page, pageSize, startDate, endDate } = getActivityLogDataPaging(getState()); + // don't page when paging is disabled or when date ranges are invalid + if (disabled) { + return; + } + if (getIsInvalidDateRange({ startDate, endDate })) { + dispatch({ + type: 'endpointDetailsActivityLogUpdateIsInvalidDateRange', + payload: { + isInvalidDateRange: true, + }, + }); + return; + } + + dispatch({ + type: 'endpointDetailsActivityLogUpdateIsInvalidDateRange', + payload: { + isInvalidDateRange: false, + }, + }); + dispatch({ + type: 'endpointDetailsActivityLogChanged', + // ts error to be fixed when AsyncResourceState is refactored (#830) + // @ts-expect-error + payload: createLoadingResourceState(getActivityLogData(getState())), + }); + const route = resolvePathVariables(ENDPOINT_ACTION_LOG_ROUTE, { + agent_id: selectedAgent(getState()), + }); + const activityLog = await coreStart.http.get(route, { + query: { + page, + page_size: pageSize, + start_date: startDate, + end_date: endDate, + }, + }); + + const lastLoadedLogData = getLastLoadedActivityLogData(getState()); + if (lastLoadedLogData !== undefined) { + const updatedLogDataItems = ([ + ...new Set([...lastLoadedLogData.data, ...activityLog.data]), + ] as ActivityLog['data']).sort((a, b) => + new Date(b.item.data['@timestamp']) > new Date(a.item.data['@timestamp']) ? 1 : -1 + ); + + const updatedLogData = { + page: activityLog.page, + pageSize: activityLog.pageSize, + startDate: activityLog.startDate, + endDate: activityLog.endDate, + data: activityLog.page === 1 ? activityLog.data : updatedLogDataItems, + }; + dispatch({ + type: 'endpointDetailsActivityLogChanged', + payload: createLoadedResourceState(updatedLogData), + }); + if (!activityLog.data.length) { + dispatch({ + type: 'endpointDetailsActivityLogUpdatePaging', + payload: { + disabled: true, + page: activityLog.page > 1 ? activityLog.page - 1 : 1, + pageSize: activityLog.pageSize, + startDate: activityLog.startDate, + endDate: activityLog.endDate, + }, + }); + } + } else { + dispatch({ + type: 'endpointDetailsActivityLogChanged', + payload: createLoadedResourceState(activityLog), + }); + } + } catch (error) { + dispatch({ + type: 'endpointDetailsActivityLogChanged', + payload: createFailedResourceState(error.body ?? error), + }); + } +} + export async function handleLoadMetadataTransformStats(http: HttpStart, store: EndpointPageStore) { const { getState, dispatch } = store; diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/actions/audit_log.test.ts b/x-pack/plugins/security_solution/server/endpoint/routes/actions/audit_log.test.ts index d9069444a10d7..83f38bc904576 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/actions/audit_log.test.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/actions/audit_log.test.ts @@ -30,7 +30,7 @@ import { } from '../../mocks'; import { registerActionAuditLogRoutes } from './audit_log'; import uuid from 'uuid'; -import { aMockAction, aMockResponse, MockAction, mockAuditLog, MockResponse } from './mocks'; +import { aMockAction, aMockResponse, MockAction, mockSearchResult, MockResponse } from './mocks'; import { SecuritySolutionRequestHandlerContext } from '../../../types'; import { ActivityLog } from '../../../../common/endpoint/types'; @@ -105,10 +105,11 @@ describe('Action Log API', () => { // convenience for calling the route and handler for audit log let getActivityLog: ( + params: EndpointActionLogRequestParams, query?: EndpointActionLogRequestQuery ) => Promise>; // convenience for injecting mock responses for actions index and responses - let havingActionsAndResponses: (actions: MockAction[], responses: any[]) => void; + let havingActionsAndResponses: (actions: MockAction[], responses: MockResponse[]) => void; let havingErrors: () => void; @@ -125,9 +126,12 @@ describe('Action Log API', () => { experimentalFeatures: parseExperimentalConfigValue(createMockConfig().enableExperimental), }); - getActivityLog = async (query?: any): Promise> => { + getActivityLog = async ( + params: { agent_id: string }, + query?: { page: number; page_size: number; start_date?: string; end_date?: string } + ): Promise> => { const req = httpServerMock.createKibanaRequest({ - params: { agent_id: mockID }, + params, query, }); const mockResponse = httpServerMock.createResponseFactory(); @@ -152,18 +156,12 @@ describe('Action Log API', () => { }; havingActionsAndResponses = (actions: MockAction[], responses: MockResponse[]) => { - const actionsData = actions.map((a) => ({ - _index: '.fleet-actions-7', - _source: a.build(), - })); - const responsesData = responses.map((r) => ({ - _index: '.ds-.fleet-actions-results-2021.06.09-000001', - _source: r.build(), - })); - const mockResult = mockAuditLog([...actionsData, ...responsesData]); - esClientMock.asCurrentUser.search = jest - .fn() - .mockImplementationOnce(() => Promise.resolve(mockResult)); + esClientMock.asCurrentUser.search = jest.fn().mockImplementation((req) => { + const items: any[] = + req.index === '.fleet-actions' ? actions.splice(0, 50) : responses.splice(0, 1000); + + return Promise.resolve(mockSearchResult(items.map((x) => x.build()))); + }); }; havingErrors = () => { @@ -181,28 +179,33 @@ describe('Action Log API', () => { it('should return an empty array when nothing in audit log', async () => { havingActionsAndResponses([], []); - const response = await getActivityLog(); + const response = await getActivityLog({ agent_id: mockID }); expect(response.ok).toBeCalled(); expect((response.ok.mock.calls[0][0]?.body as ActivityLog).data).toHaveLength(0); }); it('should have actions and action responses', async () => { havingActionsAndResponses( - [aMockAction().withAgent(mockID).withAction('isolate').withID(actionID)], - [aMockResponse(actionID, mockID)] + [ + aMockAction().withAgent(mockID).withAction('isolate').withID(actionID), + aMockAction().withAgent(mockID).withAction('unisolate'), + ], + [aMockResponse(actionID, mockID).forAction(actionID).forAgent(mockID)] ); - const response = await getActivityLog(); + const response = await getActivityLog({ agent_id: mockID }); const responseBody = response.ok.mock.calls[0][0]?.body as ActivityLog; expect(response.ok).toBeCalled(); - expect(responseBody.data).toHaveLength(2); + expect(responseBody.data).toHaveLength(3); + expect(responseBody.data.filter((e) => e.type === 'response')).toHaveLength(1); + expect(responseBody.data.filter((e) => e.type === 'action')).toHaveLength(2); }); it('should throw errors when no results for some agentID', async () => { havingErrors(); try { - await getActivityLog(); + await getActivityLog({ agent_id: mockID }); } catch (error) { expect(error.message).toEqual(`Error fetching actions log for agent_id ${mockID}`); } @@ -212,12 +215,15 @@ describe('Action Log API', () => { havingActionsAndResponses([], []); const startDate = new Date(new Date().setDate(new Date().getDate() - 1)).toISOString(); const endDate = new Date().toISOString(); - const response = await getActivityLog({ - page: 1, - page_size: 50, - start_date: startDate, - end_date: endDate, - }); + const response = await getActivityLog( + { agent_id: mockID }, + { + page: 1, + page_size: 50, + start_date: startDate, + end_date: endDate, + } + ); expect(response.ok).toBeCalled(); expect((response.ok.mock.calls[0][0]?.body as ActivityLog).startDate).toEqual(startDate); expect((response.ok.mock.calls[0][0]?.body as ActivityLog).endDate).toEqual(endDate); diff --git a/x-pack/plugins/security_solution/server/endpoint/routes/actions/mocks.ts b/x-pack/plugins/security_solution/server/endpoint/routes/actions/mocks.ts index f74ae07fdfac4..34f7d140a78de 100644 --- a/x-pack/plugins/security_solution/server/endpoint/routes/actions/mocks.ts +++ b/x-pack/plugins/security_solution/server/endpoint/routes/actions/mocks.ts @@ -18,29 +18,6 @@ import { ISOLATION_ACTIONS, } from '../../../../common/endpoint/types'; -export const mockAuditLog = (results: any = []): ApiResponse => { - return { - body: { - hits: { - total: results.length, - hits: results.map((a: any) => { - const _index = a._index; - delete a._index; - const _source = a; - return { - _index, - _source, - }; - }), - }, - }, - statusCode: 200, - headers: {}, - warnings: [], - meta: {} as any, - }; -}; - export const mockSearchResult = (results: any = []): ApiResponse => { return { body: { From d66397cfe4be3c4e17e406def12b5ecf1b912326 Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Wed, 25 Aug 2021 17:52:06 +0200 Subject: [PATCH 030/139] [ML] Telemetry for the Anomaly detection jobs health rule type (#110052) * [ML] add mappings for the new rule type * [ML] add telemetry for enabled health checks * [ML] update xpack_plugins.json --- .../server/usage/alerts_usage_collector.ts | 1 + x-pack/plugins/ml/server/usage/collector.ts | 96 +++++++++++++++++++ .../schema/xpack_plugins.json | 38 ++++++++ 3 files changed, 135 insertions(+) diff --git a/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts b/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts index 59aeb4854d9f0..67687045f1b50 100644 --- a/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts +++ b/x-pack/plugins/alerting/server/usage/alerts_usage_collector.ts @@ -46,6 +46,7 @@ const byTypeSchema: MakeSchemaFrom['count_by_type'] = { '__geo-containment': { type: 'long' }, // ML xpack_ml_anomaly_detection_alert: { type: 'long' }, + xpack_ml_anomaly_detection_jobs_health: { type: 'long' }, }; export function createAlertsUsageCollector( diff --git a/x-pack/plugins/ml/server/usage/collector.ts b/x-pack/plugins/ml/server/usage/collector.ts index 91fa72e3a04cc..ca865a8f48770 100644 --- a/x-pack/plugins/ml/server/usage/collector.ts +++ b/x-pack/plugins/ml/server/usage/collector.ts @@ -8,6 +8,8 @@ import type { UsageCollectionSetup } from '../../../../../src/plugins/usage_collection/server'; import { ML_ALERT_TYPES } from '../../common/constants/alerts'; import { AnomalyResultType } from '../../common/types/anomalies'; +import { MlAnomalyDetectionJobsHealthRuleParams } from '../../common/types/alerts'; +import { getResultJobsHealthRuleConfig } from '../../common/util/alerts'; export interface MlUsageData { alertRules: { @@ -18,6 +20,14 @@ export interface MlUsageData { influencer: number; }; }; + 'xpack.ml.anomaly_detection_jobs_health': { + count_by_check_type: { + datafeed: number; + mml: number; + delayedData: number; + errorMessages: number; + }; + }; }; } @@ -42,6 +52,38 @@ export function registerCollector(usageCollection: UsageCollectionSetup, kibanaI }, }, }, + 'xpack.ml.anomaly_detection_jobs_health': { + count_by_check_type: { + datafeed: { + type: 'long', + _meta: { + description: + 'total number of alerting rules performing the not started datafeed health check', + }, + }, + mml: { + type: 'long', + _meta: { + description: + 'total number of alerting rules performing the model memory limit health check', + }, + }, + delayedData: { + type: 'long', + _meta: { + description: + 'total number of alerting rules performing the delayed data health check', + }, + }, + errorMessages: { + type: 'long', + _meta: { + description: + 'total number of alerting rules performing the error messages health check', + }, + }, + }, + }, }, }, isReady: () => !!kibanaIndex, @@ -86,11 +128,65 @@ export function registerCollector(usageCollection: UsageCollectionSetup, kibanaI return acc; }, {} as MlUsageData['alertRules'][typeof ML_ALERT_TYPES.ANOMALY_DETECTION]['count_by_result_type']); + const jobsHealthRuleInstances = await esClient.search<{ + alert: { + params: MlAnomalyDetectionJobsHealthRuleParams; + }; + }>({ + index: kibanaIndex, + size: 10000, + body: { + query: { + bool: { + filter: [ + { term: { type: 'alert' } }, + { + term: { + 'alert.alertTypeId': ML_ALERT_TYPES.AD_JOBS_HEALTH, + }, + }, + ], + }, + }, + }, + }); + + const resultsByCheckType = jobsHealthRuleInstances.body.hits.hits.reduce( + (acc, curr) => { + const doc = curr._source; + if (!doc) return acc; + + const { + alert: { + params: { testsConfig }, + }, + } = doc; + + const resultConfig = getResultJobsHealthRuleConfig(testsConfig); + + acc.datafeed += resultConfig.datafeed.enabled ? 1 : 0; + acc.mml += resultConfig.mml.enabled ? 1 : 0; + acc.delayedData += resultConfig.delayedData.enabled ? 1 : 0; + acc.errorMessages += resultConfig.errorMessages.enabled ? 1 : 0; + + return acc; + }, + { + datafeed: 0, + mml: 0, + delayedData: 0, + errorMessages: 0, + } + ); + return { alertRules: { [ML_ALERT_TYPES.ANOMALY_DETECTION]: { count_by_result_type: countByResultType, }, + [ML_ALERT_TYPES.AD_JOBS_HEALTH]: { + count_by_check_type: resultsByCheckType, + }, }, }; }, diff --git a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json index 35f1face2591b..b364277def215 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -228,6 +228,9 @@ }, "xpack_ml_anomaly_detection_alert": { "type": "long" + }, + "xpack_ml_anomaly_detection_jobs_health": { + "type": "long" } } }, @@ -307,6 +310,9 @@ }, "xpack_ml_anomaly_detection_alert": { "type": "long" + }, + "xpack_ml_anomaly_detection_jobs_health": { + "type": "long" } } } @@ -3804,6 +3810,38 @@ } } } + }, + "xpack.ml.anomaly_detection_jobs_health": { + "properties": { + "count_by_check_type": { + "properties": { + "datafeed": { + "type": "long", + "_meta": { + "description": "total number of alerting rules performing the not started datafeed health check" + } + }, + "mml": { + "type": "long", + "_meta": { + "description": "total number of alerting rules performing the model memory limit health check" + } + }, + "delayedData": { + "type": "long", + "_meta": { + "description": "total number of alerting rules performing the delayed data health check" + } + }, + "errorMessages": { + "type": "long", + "_meta": { + "description": "total number of alerting rules performing the error messages health check" + } + } + } + } + } } } } From 26c574df71421c06a960abdd45c98788ddfb84a2 Mon Sep 17 00:00:00 2001 From: Stacey Gammon Date: Wed, 25 Aug 2021 12:07:13 -0400 Subject: [PATCH 031/139] Remove unused deprecated api (#109921) * remove unused deprecated apis * Update legacy docs --- ...-public.datapublicpluginsetup.fieldformats.md | 16 ---------------- ...-plugins-data-public.datapublicpluginsetup.md | 1 - src/plugins/data/public/mocks.ts | 1 - src/plugins/data/public/plugin.ts | 1 - src/plugins/data/public/public.api.md | 2 -- src/plugins/data/public/types.ts | 4 ---- 6 files changed, 25 deletions(-) delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.fieldformats.md diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.fieldformats.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.fieldformats.md deleted file mode 100644 index 54e64c309351e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.fieldformats.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginSetup](./kibana-plugin-plugins-data-public.datapublicpluginsetup.md) > [fieldFormats](./kibana-plugin-plugins-data-public.datapublicpluginsetup.fieldformats.md) - -## DataPublicPluginSetup.fieldFormats property - -> Warning: This API is now obsolete. -> -> Use fieldFormats plugin instead -> - -Signature: - -```typescript -fieldFormats: FieldFormatsSetup; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.md index fc5624aeddce1..a43aad10132fc 100644 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.md +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.md @@ -17,7 +17,6 @@ export interface DataPublicPluginSetup | Property | Type | Description | | --- | --- | --- | | [autocomplete](./kibana-plugin-plugins-data-public.datapublicpluginsetup.autocomplete.md) | AutocompleteSetup | | -| [fieldFormats](./kibana-plugin-plugins-data-public.datapublicpluginsetup.fieldformats.md) | FieldFormatsSetup | | | [query](./kibana-plugin-plugins-data-public.datapublicpluginsetup.query.md) | QuerySetup | | | [search](./kibana-plugin-plugins-data-public.datapublicpluginsetup.search.md) | ISearchSetup | | diff --git a/src/plugins/data/public/mocks.ts b/src/plugins/data/public/mocks.ts index ba1cba987c0b9..b9b859fd96625 100644 --- a/src/plugins/data/public/mocks.ts +++ b/src/plugins/data/public/mocks.ts @@ -32,7 +32,6 @@ const createSetupContract = (): Setup => { return { autocomplete: autocompleteSetupMock, search: searchServiceMock.createSetupContract(), - fieldFormats: fieldFormatsServiceMock.createSetupContract(), query: querySetupMock, }; }; diff --git a/src/plugins/data/public/plugin.ts b/src/plugins/data/public/plugin.ts index 46b1d4a14be78..67adcc7a1716d 100644 --- a/src/plugins/data/public/plugin.ts +++ b/src/plugins/data/public/plugin.ts @@ -131,7 +131,6 @@ export class DataPublicPlugin usageCollection, }), search: searchService, - fieldFormats, query: queryService, }; } diff --git a/src/plugins/data/public/public.api.md b/src/plugins/data/public/public.api.md index f7de502e106f1..05743f40a7b68 100644 --- a/src/plugins/data/public/public.api.md +++ b/src/plugins/data/public/public.api.md @@ -659,8 +659,6 @@ export interface DataPublicPluginSetup { // // (undocumented) autocomplete: AutocompleteSetup; - // @deprecated (undocumented) - fieldFormats: FieldFormatsSetup; // (undocumented) query: QuerySetup; // (undocumented) diff --git a/src/plugins/data/public/types.ts b/src/plugins/data/public/types.ts index d8bfcfdb6ddb1..4b52ddfb68824 100644 --- a/src/plugins/data/public/types.ts +++ b/src/plugins/data/public/types.ts @@ -43,10 +43,6 @@ export interface DataStartDependencies { export interface DataPublicPluginSetup { autocomplete: AutocompleteSetup; search: ISearchSetup; - /** - * @deprecated Use fieldFormats plugin instead - */ - fieldFormats: FieldFormatsSetup; query: QuerySetup; } From f6f1f22afaf84d367a3e765bd0ea02531bb461fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Casper=20H=C3=BCbertz?= Date: Wed, 25 Aug 2021 18:16:16 +0200 Subject: [PATCH 032/139] [Uptime/UX] Fixes page template wrapper (#110058) --- x-pack/plugins/apm/public/application/uxApp.tsx | 12 ++++++++++-- x-pack/plugins/uptime/public/apps/uptime_app.tsx | 16 +++++++++------- x-pack/plugins/uptime/public/routes.tsx | 3 ++- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/x-pack/plugins/apm/public/application/uxApp.tsx b/x-pack/plugins/apm/public/application/uxApp.tsx index 06045f67472c1..1b36008e5c353 100644 --- a/x-pack/plugins/apm/public/application/uxApp.tsx +++ b/x-pack/plugins/apm/public/application/uxApp.tsx @@ -33,6 +33,7 @@ import { UXActionMenu } from '../components/app/RumDashboard/ActionMenu'; import { redirectTo } from '../components/routing/redirect_to'; import { useBreadcrumbs } from '../../../observability/public'; import { useApmPluginContext } from '../context/apm_plugin/use_apm_plugin_context'; +import { APP_WRAPPER_CLASS } from '../../../../../src/core/public'; export const uxRoutes: APMRouteDefinition[] = [ { @@ -71,7 +72,11 @@ function UxApp() { darkMode, })} > -
+
@@ -109,7 +114,10 @@ export function UXAppRoot({ }; return ( - + { -
- -
- - - -
+
+ + + +
diff --git a/x-pack/plugins/uptime/public/routes.tsx b/x-pack/plugins/uptime/public/routes.tsx index b352b3a6b2732..d111d44f08c2d 100644 --- a/x-pack/plugins/uptime/public/routes.tsx +++ b/x-pack/plugins/uptime/public/routes.tsx @@ -34,6 +34,7 @@ import { useKibana } from '../../../../src/plugins/kibana_react/public'; import { CertRefreshBtn } from './components/certificates/cert_refresh_btn'; import { CertificateTitle } from './components/certificates/certificate_title'; import { SyntheticsCallout } from './components/overview/synthetics_callout'; +import { APP_WRAPPER_CLASS } from '../../../../src/core/public'; import { StepDetailPageChildren, StepDetailPageHeader, @@ -174,7 +175,7 @@ export const PageRouter: FC = () => { {Routes.map( ({ title, path, component: RouteComponent, dataTestSubj, telemetryId, pageHeader }) => ( -
+
From ec95785214fba93eb6e6f025e3b0d025c56cd15f Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Wed, 25 Aug 2021 18:35:01 +0200 Subject: [PATCH 033/139] adds 'triage_needed' label (#110093) --- .github/ISSUE_TEMPLATE/Bug_report_security_solution.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/Bug_report_security_solution.md b/.github/ISSUE_TEMPLATE/Bug_report_security_solution.md index 7a0514bca621d..d860a59d12d2e 100644 --- a/.github/ISSUE_TEMPLATE/Bug_report_security_solution.md +++ b/.github/ISSUE_TEMPLATE/Bug_report_security_solution.md @@ -2,7 +2,7 @@ name: Bug report for Security Solution about: Help us identify bugs in Elastic Security, SIEM, and Endpoint so we can fix them! title: '[Security Solution]' -labels: 'bug, Team: SecuritySolution' +labels: 'bug, Team: SecuritySolution, triage_needed' --- **Describe the bug:** From f430411ba29162edc7c3d4004a88cbf2d82fca74 Mon Sep 17 00:00:00 2001 From: Mark Hopkin Date: Wed, 25 Aug 2021 17:50:40 +0100 Subject: [PATCH 034/139] [Fleet] Do not show upgrade available on latest version of package (#110066) * fix: use package policy ID when checking hasUpgrade * fix: latest package version broken link * refactor: use set for collecting unique namespace values --- .../package_policies/package_policies_table.tsx | 16 ++++++++-------- .../epm/screens/detail/settings/settings.tsx | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx index e0a783dc89a2f..c84df5790ecb5 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx @@ -63,12 +63,11 @@ export const PackagePoliciesTable: React.FunctionComponent = ({ // used in the InMemoryTable (flattens some values for search) as well as // the list of options that will be used in the filters dropdowns const [packagePolicies, namespaces] = useMemo((): [InMemoryPackagePolicy[], FilterOption[]] => { - const namespacesValues: string[] = []; - const inputTypesValues: string[] = []; + const namespacesValues: Set = new Set(); const mappedPackagePolicies = originalPackagePolicies.map( (packagePolicy) => { - if (packagePolicy.namespace && !namespacesValues.includes(packagePolicy.namespace)) { - namespacesValues.push(packagePolicy.namespace); + if (packagePolicy.namespace) { + namespacesValues.add(packagePolicy.namespace); } const updatableIntegrationRecord = updatableIntegrations.get( @@ -78,7 +77,7 @@ export const PackagePoliciesTable: React.FunctionComponent = ({ const hasUpgrade = !!updatableIntegrationRecord && updatableIntegrationRecord.policiesToUpgrade.some( - ({ id }) => id === packagePolicy.policy_id + ({ pkgPolicyId }) => pkgPolicyId === packagePolicy.id ); return { @@ -91,10 +90,11 @@ export const PackagePoliciesTable: React.FunctionComponent = ({ } ); - namespacesValues.sort(stringSortAscending); - inputTypesValues.sort(stringSortAscending); + const namespaceFilterOptions = [...namespacesValues] + .sort(stringSortAscending) + .map(toFilterOption); - return [mappedPackagePolicies, namespacesValues.map(toFilterOption)]; + return [mappedPackagePolicies, namespaceFilterOptions]; }, [originalPackagePolicies, updatableIntegrations]); const columns = useMemo( diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/settings.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/settings.tsx index 3b161a375e7ce..98cc172197d44 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/settings.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/settings/settings.tsx @@ -48,8 +48,8 @@ const UpdatesAvailableMsg = () => ( ); const LatestVersionLink = ({ name, version }: { name: string; version: string }) => { - const { getPath } = useLink(); - const settingsPath = getPath('integration_details_settings', { + const { getHref } = useLink(); + const settingsPath = getHref('integration_details_settings', { pkgkey: `${name}-${version}`, }); return ( From 85a79ac3ad03e89a6b658b5bf6914053369bc2b9 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 25 Aug 2021 18:02:14 +0100 Subject: [PATCH 035/139] chore(NA): moving @kbn/securitysolution-io-ts-alerting-types to babel transpiler (#109745) * chore(NA): moving @kbn/securitysolution-io-ts-alerting-types to babel transpiler * chore(NA): correct deps on runtime --- .../.babelrc | 4 +++ .../BUILD.bazel | 30 +++++++++++-------- .../package.json | 4 +-- .../tsconfig.json | 3 +- 4 files changed, 25 insertions(+), 16 deletions(-) create mode 100644 packages/kbn-securitysolution-io-ts-alerting-types/.babelrc diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/.babelrc b/packages/kbn-securitysolution-io-ts-alerting-types/.babelrc new file mode 100644 index 0000000000000..b17a19d6faf3f --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-alerting-types/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/node_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel b/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel index 3c9818a58408d..1920f372b1d08 100644 --- a/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel +++ b/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel @@ -1,5 +1,6 @@ load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project") load("@build_bazel_rules_nodejs//:index.bzl", "js_library", "pkg_npm") +load("//src/dev/bazel:index.bzl", "jsts_transpiler") PKG_BASE_NAME = "kbn-securitysolution-io-ts-alerting-types" PKG_REQUIRE_NAME = "@kbn/securitysolution-io-ts-alerting-types" @@ -26,27 +27,29 @@ NPM_MODULE_EXTRA_FILES = [ "README.md", ] -SRC_DEPS = [ +RUNTIME_DEPS = [ "//packages/kbn-securitysolution-io-ts-types", "//packages/kbn-securitysolution-io-ts-utils", - "//packages/elastic-datemath", "@npm//fp-ts", "@npm//io-ts", - "@npm//lodash", - "@npm//moment", - "@npm//tslib", "@npm//uuid", ] TYPES_DEPS = [ - "@npm//@types/flot", + "//packages/kbn-securitysolution-io-ts-types", + "//packages/kbn-securitysolution-io-ts-utils", + "@npm//fp-ts", + "@npm//io-ts", "@npm//@types/jest", - "@npm//@types/lodash", "@npm//@types/node", "@npm//@types/uuid" ] -DEPS = SRC_DEPS + TYPES_DEPS +jsts_transpiler( + name = "target_node", + srcs = SRCS, + build_pkg_name = package_name(), +) ts_config( name = "tsconfig", @@ -58,22 +61,23 @@ ts_config( ) ts_project( - name = "tsc", + name = "tsc_types", args = ['--pretty'], srcs = SRCS, - deps = DEPS, + deps = TYPES_DEPS, declaration = True, declaration_map = True, - out_dir = "target", - source_map = True, + emit_declaration_only = True, + out_dir = "target_types", root_dir = "src", + source_map = True, tsconfig = ":tsconfig", ) js_library( name = PKG_BASE_NAME, srcs = NPM_MODULE_EXTRA_FILES, - deps = DEPS + [":tsc"], + deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/package.json b/packages/kbn-securitysolution-io-ts-alerting-types/package.json index ac972e06c1dc9..ddc86b3d5bfd2 100644 --- a/packages/kbn-securitysolution-io-ts-alerting-types/package.json +++ b/packages/kbn-securitysolution-io-ts-alerting-types/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "description": "io ts utilities and types to be shared with plugins from the security solution project", "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target/index.js", - "types": "./target/index.d.ts", + "main": "./target_node/index.js", + "types": "./target_types/index.d.ts", "private": true } diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/tsconfig.json b/packages/kbn-securitysolution-io-ts-alerting-types/tsconfig.json index 5f69f2bd0e2e4..0e58572c1b82b 100644 --- a/packages/kbn-securitysolution-io-ts-alerting-types/tsconfig.json +++ b/packages/kbn-securitysolution-io-ts-alerting-types/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "declaration": true, "declarationMap": true, - "outDir": "target", + "emitDeclarationOnly": true, + "outDir": "target_types", "rootDir": "src", "sourceMap": true, "sourceRoot": "../../../../packages/kbn-securitysolution-io-ts-alerting-types/src", From bc3a349a84f85e1ac6bb1496e42dd4f9417eac86 Mon Sep 17 00:00:00 2001 From: Candace Park <56409205+parkiino@users.noreply.github.com> Date: Wed, 25 Aug 2021 13:03:51 -0400 Subject: [PATCH 036/139] [Security Solution][Endpoint][Host Isolation] Fixes bug where Isolate Host option is missing from alert details take actions menu (#109991) --- .../use_host_isolation_action.tsx | 24 +++++++------------ .../alerts/use_host_isolation_status.tsx | 7 +++++- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/x-pack/plugins/security_solution/public/detections/components/host_isolation/use_host_isolation_action.tsx b/x-pack/plugins/security_solution/public/detections/components/host_isolation/use_host_isolation_action.tsx index 808f70ec0e492..e670c000d789a 100644 --- a/x-pack/plugins/security_solution/public/detections/components/host_isolation/use_host_isolation_action.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/host_isolation/use_host_isolation_action.tsx @@ -13,7 +13,7 @@ import { useIsolationPrivileges } from '../../../common/hooks/endpoint/use_isola import { endpointAlertCheck } from '../../../common/utils/endpoint_alert_check'; import { useHostIsolationStatus } from '../../containers/detection_engine/alerts/use_host_isolation_status'; import { ISOLATE_HOST, UNISOLATE_HOST } from './translations'; -import { getFieldValue, getFieldValues } from './helpers'; +import { getFieldValue } from './helpers'; interface UseHostIsolationActionProps { closePopover: () => void; @@ -47,29 +47,21 @@ export const useHostIsolationAction = ({ [detailsData] ); - const hostCapabilities = useMemo( - () => - getFieldValues( - { category: 'Endpoint', field: 'Endpoint.capabilities' }, - detailsData - ) as string[], - [detailsData] - ); - - const isolationSupported = isIsolationSupported({ - osName: hostOsFamily, - version: agentVersion, - capabilities: hostCapabilities, - }); - const { loading: loadingHostIsolationStatus, isIsolated: isolationStatus, agentStatus, + capabilities, } = useHostIsolationStatus({ agentId, }); + const isolationSupported = isIsolationSupported({ + osName: hostOsFamily, + version: agentVersion, + capabilities, + }); + const { isAllowed: isIsolationAllowed } = useIsolationPrivileges(); const isolateHostHandler = useCallback(() => { diff --git a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_isolation_status.tsx b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_isolation_status.tsx index 4737f13c9c596..18782b2a052f8 100644 --- a/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_isolation_status.tsx +++ b/x-pack/plugins/security_solution/public/detections/containers/detection_engine/alerts/use_host_isolation_status.tsx @@ -14,6 +14,7 @@ import { HostStatus } from '../../../../../common/endpoint/types'; interface HostIsolationStatusResponse { loading: boolean; + capabilities: string[]; isIsolated: boolean; agentStatus: HostStatus | undefined; pendingIsolation: number; @@ -28,6 +29,7 @@ export const useHostIsolationStatus = ({ agentId: string; }): HostIsolationStatusResponse => { const [isIsolated, setIsIsolated] = useState(false); + const [capabilities, setCapabilities] = useState([]); const [agentStatus, setAgentStatus] = useState(); const [pendingIsolation, setPendingIsolation] = useState(0); const [pendingUnisolation, setPendingUnisolation] = useState(0); @@ -45,6 +47,9 @@ export const useHostIsolationStatus = ({ const metadataResponse = await getHostMetadata({ agentId, signal: abortCtrl.signal }); if (isMounted) { setIsIsolated(isEndpointHostIsolated(metadataResponse.metadata)); + if (metadataResponse.metadata.Endpoint.capabilities) { + setCapabilities([...metadataResponse.metadata.Endpoint.capabilities]); + } setAgentStatus(metadataResponse.host_status); fleetAgentId = metadataResponse.metadata.elastic.agent.id; } @@ -84,5 +89,5 @@ export const useHostIsolationStatus = ({ abortCtrl.abort(); }; }, [agentId]); - return { loading, isIsolated, agentStatus, pendingIsolation, pendingUnisolation }; + return { loading, capabilities, isIsolated, agentStatus, pendingIsolation, pendingUnisolation }; }; From 2fea91733083d682c15ae5abd6280b4ebdac4a99 Mon Sep 17 00:00:00 2001 From: "Devin W. Hurley" Date: Wed, 25 Aug 2021 13:07:40 -0400 Subject: [PATCH 037/139] [RAC] [APM] removes hardcoded alerts as data index from apm integration test (#109715) * removes hardcoded index from apm integration tests * adds integration tests for rule registry's get index route * more cleanup * fail try-catch if response is not empty, adds comments as to why index refresh catch block is empty --- .../test/apm_api_integration/common/config.ts | 6 +- .../tests/alerts/rule_registry.ts | 131 +++++++++++------- .../tests/basic/get_alerts_index.ts | 87 ++++++++++++ .../security_and_spaces/tests/basic/index.ts | 1 + 4 files changed, 172 insertions(+), 53 deletions(-) create mode 100644 x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alerts_index.ts diff --git a/x-pack/test/apm_api_integration/common/config.ts b/x-pack/test/apm_api_integration/common/config.ts index ef8d4097f21c1..c1ae7bb5f2b75 100644 --- a/x-pack/test/apm_api_integration/common/config.ts +++ b/x-pack/test/apm_api_integration/common/config.ts @@ -17,7 +17,7 @@ import { registry } from './registry'; interface Config { name: APMFtrConfigName; license: 'basic' | 'trial'; - kibanaConfig?: Record; + kibanaConfig?: Record; } const supertestAsApmUser = (kibanaServer: UrlObject, apmUser: ApmUser) => async ( @@ -81,7 +81,9 @@ export function createTestConfig(config: Config) { serverArgs: [ ...xPackAPITestsConfig.get('kbnTestServer.serverArgs'), ...(kibanaConfig - ? Object.entries(kibanaConfig).map(([key, value]) => `--${key}=${value}`) + ? Object.entries(kibanaConfig).map(([key, value]) => + Array.isArray(value) ? `--${key}=${JSON.stringify(value)}` : `--${key}=${value}` + ) : []), ], }, diff --git a/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts b/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts index 5400c3af64b55..6bc4260de77be 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts @@ -42,7 +42,11 @@ export default function ApiTest({ getService }: FtrProviderContext) { const BULK_INDEX_DELAY = 1000; const INDEXING_DELAY = 5000; - const ALERTS_INDEX_TARGET = '.alerts-observability.apm.alerts*'; + const getAlertsTargetIndicesUrl = + '/api/observability/rules/alerts/dynamic_index_pattern?namespace=default®istrationContexts=observability.apm®istrationContexts='; + + const getAlertsTargetIndices = async () => + supertest.get(getAlertsTargetIndicesUrl).send().set('kbn-xsrf', 'foo'); const APM_METRIC_INDEX_NAME = 'apm-8.0.0-transaction'; const createTransactionMetric = (override: Record) => { @@ -92,6 +96,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { .get(`/api/alerts/alert/${alert.id}`) .set('kbn-xsrf', 'foo'); + const { body: targetIndices, status: targetIndicesStatus } = await getAlertsTargetIndices(); + if (targetIndices.length === 0) { + const error = new Error('Error getting alert'); + Object.assign(error, { response: { body: targetIndices, status: targetIndicesStatus } }); + throw error; + } + if (status >= 300) { const error = new Error('Error getting alert'); Object.assign(error, { response: { body, status } }); @@ -104,10 +115,22 @@ export default function ApiTest({ getService }: FtrProviderContext) { await new Promise((resolve) => { setTimeout(resolve, BULK_INDEX_DELAY); }); - await es.indices.refresh({ - index: ALERTS_INDEX_TARGET, - }); + /** + * When calling refresh on an index pattern .alerts-observability.apm.alerts* (as was originally the hard-coded string in this test) + * The response from Elasticsearch is a 200, even if no indices which match that index pattern have been created. + * When calling refresh on a concrete index alias .alerts-observability.apm.alerts-default for instance, + * we receive a 404 error index_not_found_exception when no indices have been created which match that alias (obviously). + * Since we are receiving a concrete index alias from the observability api instead of a kibana index pattern + * and we understand / expect that this index does not exist at certain points of the test, we can try-catch at certain points without caring if the call fails. + * There are points in the code where we do want to ensure we get the appropriate error message back + */ + try { + await es.indices.refresh({ + index: targetIndices[0], + }); + // eslint-disable-next-line no-empty + } catch (exc) {} return nextAlert; } @@ -120,20 +143,17 @@ export default function ApiTest({ getService }: FtrProviderContext) { registry.when('Rule registry with write enabled', { config: 'rules', archives: [] }, () => { it('does not bootstrap indices on plugin startup', async () => { - const { body } = await es.indices.get({ - index: ALERTS_INDEX_TARGET, - expand_wildcards: 'open', - allow_no_indices: true, - }); - - const indices = Object.entries(body).map(([indexName, index]) => { - return { - indexName, - index, - }; - }); - - expect(indices.length).to.be(0); + const { body: targetIndices } = await getAlertsTargetIndices(); + try { + const res = await es.indices.get({ + index: targetIndices[0], + expand_wildcards: 'open', + allow_no_indices: true, + }); + expect(res).to.be.empty(); + } catch (exc) { + expect(exc.statusCode).to.eql(404); + } }); describe('when creating a rule', () => { @@ -232,6 +252,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); after(async () => { + const { body: targetIndices } = await getAlertsTargetIndices(); if (createResponse.alert) { const { body, status } = await supertest .delete(`/api/alerts/alert/${createResponse.alert.id}`) @@ -245,7 +266,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { } await es.deleteByQuery({ - index: ALERTS_INDEX_TARGET, + index: targetIndices[0], body: { query: { match_all: {}, @@ -263,25 +284,29 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(createResponse.status).to.be.below(299); expect(createResponse.alert).not.to.be(undefined); - let alert = await waitUntilNextExecution(createResponse.alert); - const beforeDataResponse = await es.search({ - index: ALERTS_INDEX_TARGET, - body: { - query: { - term: { - [EVENT_KIND]: 'signal', + const { body: targetIndices } = await getAlertsTargetIndices(); + + try { + const res = await es.search({ + index: targetIndices[0], + body: { + query: { + term: { + [EVENT_KIND]: 'signal', + }, + }, + size: 1, + sort: { + '@timestamp': 'desc', }, }, - size: 1, - sort: { - '@timestamp': 'desc', - }, - }, - }); - - expect(beforeDataResponse.body.hits.hits.length).to.be(0); + }); + expect(res).to.be.empty(); + } catch (exc) { + expect(exc.message).contain('index_not_found_exception'); + } await es.index({ index: APM_METRIC_INDEX_NAME, @@ -295,22 +320,25 @@ export default function ApiTest({ getService }: FtrProviderContext) { alert = await waitUntilNextExecution(alert); - const afterInitialDataResponse = await es.search({ - index: ALERTS_INDEX_TARGET, - body: { - query: { - term: { - [EVENT_KIND]: 'signal', + try { + const res = await es.search({ + index: targetIndices[0], + body: { + query: { + term: { + [EVENT_KIND]: 'signal', + }, + }, + size: 1, + sort: { + '@timestamp': 'desc', }, }, - size: 1, - sort: { - '@timestamp': 'desc', - }, - }, - }); - - expect(afterInitialDataResponse.body.hits.hits.length).to.be(0); + }); + expect(res).to.be.empty(); + } catch (exc) { + expect(exc.message).contain('index_not_found_exception'); + } await es.index({ index: APM_METRIC_INDEX_NAME, @@ -325,7 +353,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { alert = await waitUntilNextExecution(alert); const afterViolatingDataResponse = await es.search({ - index: ALERTS_INDEX_TARGET, + index: targetIndices[0], body: { query: { term: { @@ -437,7 +465,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { alert = await waitUntilNextExecution(alert); const afterRecoveryResponse = await es.search({ - index: ALERTS_INDEX_TARGET, + index: targetIndices[0], body: { query: { term: { @@ -530,9 +558,10 @@ export default function ApiTest({ getService }: FtrProviderContext) { registry.when('Rule registry with write not enabled', { config: 'basic', archives: [] }, () => { it('does not bootstrap the apm rule indices', async () => { + const { body: targetIndices } = await getAlertsTargetIndices(); const errorOrUndefined = await es.indices .get({ - index: ALERTS_INDEX_TARGET, + index: targetIndices[0], expand_wildcards: 'open', allow_no_indices: false, }) diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alerts_index.ts b/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alerts_index.ts new file mode 100644 index 0000000000000..938d74e7a4b08 --- /dev/null +++ b/x-pack/test/rule_registry/security_and_spaces/tests/basic/get_alerts_index.ts @@ -0,0 +1,87 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; + +import { superUser, obsOnlySpacesAll, secOnlyRead } from '../../../common/lib/authentication/users'; +import type { User } from '../../../common/lib/authentication/types'; +import { FtrProviderContext } from '../../../common/ftr_provider_context'; +import { getSpaceUrlPrefix } from '../../../common/lib/authentication/spaces'; + +// eslint-disable-next-line import/no-default-export +export default ({ getService }: FtrProviderContext) => { + const supertestWithoutAuth = getService('supertestWithoutAuth'); + const esArchiver = getService('esArchiver'); + + const TEST_URL = '/internal/rac/alerts'; + const ALERTS_INDEX_URL = `${TEST_URL}/index`; + const SPACE1 = 'space1'; + const APM_ALERT_INDEX = '.alerts-observability-apm'; + const SECURITY_SOLUTION_ALERT_INDEX = '.alerts-security.alerts'; + + const getAPMIndexName = async (user: User, space: string, expected: number = 200) => { + const { + body: indexNames, + }: { body: { index_name: string[] | undefined } } = await supertestWithoutAuth + .get(`${getSpaceUrlPrefix(space)}${ALERTS_INDEX_URL}?features=apm`) + .auth(user.username, user.password) + .set('kbn-xsrf', 'true') + .expect(expected); + return indexNames; + }; + + const getSecuritySolutionIndexName = async ( + user: User, + space: string, + expectedStatusCode: number = 200 + ) => { + const { + body: indexNames, + }: { body: { index_name: string[] | undefined } } = await supertestWithoutAuth + .get(`${getSpaceUrlPrefix(space)}${ALERTS_INDEX_URL}?features=siem`) + .auth(user.username, user.password) + .set('kbn-xsrf', 'true') + .expect(expectedStatusCode); + return indexNames; + }; + + describe('Alert - Get Index - RBAC - spaces', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_registry/alerts'); + }); + describe('Users:', () => { + it(`${obsOnlySpacesAll.username} should be able to access the APM alert in ${SPACE1}`, async () => { + const indexNames = await getAPMIndexName(obsOnlySpacesAll, SPACE1); + const observabilityIndex = indexNames?.index_name?.find( + (indexName) => indexName === APM_ALERT_INDEX + ); + expect(observabilityIndex).to.eql(APM_ALERT_INDEX); // assert this here so we can use constants in the dynamically-defined test cases below + }); + + it(`${superUser.username} should be able to access the APM alert in ${SPACE1}`, async () => { + const indexNames = await getAPMIndexName(superUser, SPACE1); + const observabilityIndex = indexNames?.index_name?.find( + (indexName) => indexName === APM_ALERT_INDEX + ); + expect(observabilityIndex).to.eql(APM_ALERT_INDEX); // assert this here so we can use constants in the dynamically-defined test cases below + }); + + it(`${secOnlyRead.username} should NOT be able to access the APM alert in ${SPACE1}`, async () => { + const indexNames = await getAPMIndexName(secOnlyRead, SPACE1); + expect(indexNames?.index_name?.length).to.eql(0); + }); + + it(`${secOnlyRead.username} should be able to access the security solution alert in ${SPACE1}`, async () => { + const indexNames = await getSecuritySolutionIndexName(secOnlyRead, SPACE1); + const securitySolution = indexNames?.index_name?.find((indexName) => + indexName.startsWith(SECURITY_SOLUTION_ALERT_INDEX) + ); + expect(securitySolution).to.eql(`${SECURITY_SOLUTION_ALERT_INDEX}-${SPACE1}`); // assert this here so we can use constants in the dynamically-defined test cases below + }); + }); + }); +}; diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/basic/index.ts b/x-pack/test/rule_registry/security_and_spaces/tests/basic/index.ts index 7069aae292267..756a2ffb4a598 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/basic/index.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/basic/index.ts @@ -27,5 +27,6 @@ export default ({ loadTestFile, getService }: FtrProviderContext): void => { loadTestFile(require.resolve('./update_alert')); loadTestFile(require.resolve('./bulk_update_alerts')); loadTestFile(require.resolve('./find_alerts')); + loadTestFile(require.resolve('./get_alerts_index')); }); }; From 8fb22e606c3dabc698cc07512620d9a71338d47c Mon Sep 17 00:00:00 2001 From: Dima Arnautov Date: Wed, 25 Aug 2021 19:10:11 +0200 Subject: [PATCH 038/139] [ML] Fix bytes formatting and default message in the Anomaly detection jobs health rule type (#110069) --- .../register_jobs_health_alerting_rule.ts | 20 ++++++++----- .../lib/alerts/jobs_health_service.test.ts | 29 +++++++++++++++---- .../server/lib/alerts/jobs_health_service.ts | 26 ++++++++++------- .../register_jobs_monitoring_rule_type.ts | 8 ++--- 4 files changed, 54 insertions(+), 29 deletions(-) diff --git a/x-pack/plugins/ml/public/alerting/jobs_health_rule/register_jobs_health_alerting_rule.ts b/x-pack/plugins/ml/public/alerting/jobs_health_rule/register_jobs_health_alerting_rule.ts index 68a06919d03a3..e6a7c0a648eea 100644 --- a/x-pack/plugins/ml/public/alerting/jobs_health_rule/register_jobs_health_alerting_rule.ts +++ b/x-pack/plugins/ml/public/alerting/jobs_health_rule/register_jobs_health_alerting_rule.ts @@ -92,14 +92,18 @@ export function registerJobsHealthAlertingRule( \\{\\{#context.results\\}\\} Job ID: \\{\\{job_id\\}\\} \\{\\{#datafeed_id\\}\\}Datafeed ID: \\{\\{datafeed_id\\}\\} - \\{\\{/datafeed_id\\}\\} \\{\\{#datafeed_state\\}\\}Datafeed state: \\{\\{datafeed_state\\}\\} - \\{\\{/datafeed_state\\}\\} \\{\\{#memory_status\\}\\}Memory status: \\{\\{memory_status\\}\\} - \\{\\{/memory_status\\}\\} \\{\\{#log_time\\}\\}Memory logging time: \\{\\{log_time\\}\\} - \\{\\{/log_time\\}\\} \\{\\{#failed_category_count\\}\\}Failed category count: \\{\\{failed_category_count\\}\\} - \\{\\{/failed_category_count\\}\\} \\{\\{#annotation\\}\\}Annotation: \\{\\{annotation\\}\\} - \\{\\{/annotation\\}\\} \\{\\{#missed_docs_count\\}\\}Number of missed documents: \\{\\{missed_docs_count\\}\\} - \\{\\{/missed_docs_count\\}\\} \\{\\{#end_timestamp\\}\\}Latest finalized bucket with missing docs: \\{\\{end_timestamp\\}\\} - \\{\\{/end_timestamp\\}\\} \\{\\{#errors\\}\\}Error message: \\{\\{message\\}\\} \\{\\{/errors\\}\\} + \\{\\{/datafeed_id\\}\\}\\{\\{#datafeed_state\\}\\}Datafeed state: \\{\\{datafeed_state\\}\\} + \\{\\{/datafeed_state\\}\\}\\{\\{#memory_status\\}\\}Memory status: \\{\\{memory_status\\}\\} + \\{\\{/memory_status\\}\\}\\{\\{#model_bytes\\}\\}Model size: \\{\\{model_bytes\\}\\} + \\{\\{/model_bytes\\}\\}\\{\\{#model_bytes_memory_limit\\}\\}Model memory limit: \\{\\{model_bytes_memory_limit\\}\\} + \\{\\{/model_bytes_memory_limit\\}\\}\\{\\{#peak_model_bytes\\}\\}Peak model bytes: \\{\\{peak_model_bytes\\}\\} + \\{\\{/peak_model_bytes\\}\\}\\{\\{#model_bytes_exceeded\\}\\}Model exceeded: \\{\\{model_bytes_exceeded\\}\\} + \\{\\{/model_bytes_exceeded\\}\\}\\{\\{#log_time\\}\\}Memory logging time: \\{\\{log_time\\}\\} + \\{\\{/log_time\\}\\}\\{\\{#failed_category_count\\}\\}Failed category count: \\{\\{failed_category_count\\}\\} + \\{\\{/failed_category_count\\}\\}\\{\\{#annotation\\}\\}Annotation: \\{\\{annotation\\}\\} + \\{\\{/annotation\\}\\}\\{\\{#missed_docs_count\\}\\}Number of missed documents: \\{\\{missed_docs_count\\}\\} + \\{\\{/missed_docs_count\\}\\}\\{\\{#end_timestamp\\}\\}Latest finalized bucket with missing docs: \\{\\{end_timestamp\\}\\} + \\{\\{/end_timestamp\\}\\}\\{\\{#errors\\}\\}Error message: \\{\\{message\\}\\} \\{\\{/errors\\}\\} \\{\\{/context.results\\}\\} `, } diff --git a/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.test.ts b/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.test.ts index 7192b9a919379..b9d36968c9798 100644 --- a/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.test.ts +++ b/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.test.ts @@ -93,6 +93,10 @@ describe('JobsHealthService', () => { model_size_stats: { memory_status: j === 'test_job_01' ? 'hard_limit' : 'ok', log_time: 1626935914540, + model_bytes: 1000000, + model_bytes_memory_limit: 800000, + peak_model_bytes: 1000000, + model_bytes_exceeded: 200000, }, }; }) as MlJobStats, @@ -162,12 +166,21 @@ describe('JobsHealthService', () => { const getFieldsFormatRegistry = jest.fn().mockImplementation(() => { return Promise.resolve({ - deserialize: jest.fn().mockImplementation(() => { - return { - convert: jest.fn().mockImplementation((v) => { - return new Date(v).toUTCString(); - }), - }; + deserialize: jest.fn().mockImplementation(({ id }: { id: string }) => { + if (id === 'date') { + return { + convert: jest.fn().mockImplementation((v) => { + return new Date(v).toUTCString(); + }), + }; + } + if (id === 'bytes') { + return { + convert: jest.fn().mockImplementation((v) => { + return `${Math.round(v / 1000)}KB`; + }), + }; + } }), }); }) as jest.Mocked; @@ -358,6 +371,10 @@ describe('JobsHealthService', () => { job_id: 'test_job_01', log_time: 'Thu, 22 Jul 2021 06:38:34 GMT', memory_status: 'hard_limit', + model_bytes: '1000KB', + model_bytes_exceeded: '200KB', + model_bytes_memory_limit: '800KB', + peak_model_bytes: '1000KB', }, ], message: diff --git a/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.ts b/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.ts index ca63031f02e27..4e881f3daf46a 100644 --- a/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.ts +++ b/x-pack/plugins/ml/server/lib/alerts/jobs_health_service.ts @@ -55,10 +55,14 @@ export function jobsHealthServiceProvider( /** * Provides a callback for date formatting based on the Kibana settings. */ - const getDateFormatter = memoize(async () => { + const getFormatters = memoize(async () => { const fieldFormatsRegistry = await getFieldsFormatRegistry(); const dateFormatter = fieldFormatsRegistry.deserialize({ id: 'date' }); - return dateFormatter.convert.bind(dateFormatter); + const bytesFormatter = fieldFormatsRegistry.deserialize({ id: 'bytes' }); + return { + dateFormatter: dateFormatter.convert.bind(dateFormatter), + bytesFormatter: bytesFormatter.convert.bind(bytesFormatter), + }; }); /** @@ -186,7 +190,7 @@ export function jobsHealthServiceProvider( async getMmlReport(jobIds: string[]): Promise { const jobsStats = await getJobStats(jobIds); - const dateFormatter = await getDateFormatter(); + const { dateFormatter, bytesFormatter } = await getFormatters(); return jobsStats .filter((j) => j.state === 'opened' && j.model_size_stats.memory_status !== 'ok') @@ -195,10 +199,10 @@ export function jobsHealthServiceProvider( job_id: jobId, memory_status: modelSizeStats.memory_status, log_time: dateFormatter(modelSizeStats.log_time), - model_bytes: modelSizeStats.model_bytes, - model_bytes_memory_limit: modelSizeStats.model_bytes_memory_limit, - peak_model_bytes: modelSizeStats.peak_model_bytes, - model_bytes_exceeded: modelSizeStats.model_bytes_exceeded, + model_bytes: bytesFormatter(modelSizeStats.model_bytes), + model_bytes_memory_limit: bytesFormatter(modelSizeStats.model_bytes_memory_limit), + peak_model_bytes: bytesFormatter(modelSizeStats.peak_model_bytes), + model_bytes_exceeded: bytesFormatter(modelSizeStats.model_bytes_exceeded), }; }); }, @@ -227,7 +231,7 @@ export function jobsHealthServiceProvider( const defaultLookbackInterval = resolveLookbackInterval(resultJobs, datafeeds!); const earliestMs = getDelayedDataLookbackTimestamp(timeInterval, defaultLookbackInterval); - const getFormattedDate = await getDateFormatter(); + const { dateFormatter } = await getFormatters(); return ( await annotationService.getDelayedDataAnnotations({ @@ -265,7 +269,7 @@ export function jobsHealthServiceProvider( .map((v) => { return { ...v, - end_timestamp: getFormattedDate(v.end_timestamp), + end_timestamp: dateFormatter(v.end_timestamp), }; }); }, @@ -279,7 +283,7 @@ export function jobsHealthServiceProvider( jobIds: string[], previousStartedAt: Date ): Promise { - const getFormattedDate = await getDateFormatter(); + const { dateFormatter } = await getFormatters(); return ( await jobAuditMessagesService.getJobsErrorMessages(jobIds, previousStartedAt.getTime()) @@ -289,7 +293,7 @@ export function jobsHealthServiceProvider( errors: v.errors.map((e) => { return { ...e, - timestamp: getFormattedDate(e.timestamp), + timestamp: dateFormatter(e.timestamp), }; }), }; diff --git a/x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts b/x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts index 4844bf1a94707..dcf545fa4060b 100644 --- a/x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts +++ b/x-pack/plugins/ml/server/lib/alerts/register_jobs_monitoring_rule_type.ts @@ -31,10 +31,10 @@ export interface MmlTestResponse { job_id: string; memory_status: ModelSizeStats['memory_status']; log_time: ModelSizeStats['log_time']; - model_bytes: ModelSizeStats['model_bytes']; - model_bytes_memory_limit: ModelSizeStats['model_bytes_memory_limit']; - peak_model_bytes: ModelSizeStats['peak_model_bytes']; - model_bytes_exceeded: ModelSizeStats['model_bytes_exceeded']; + model_bytes: string; + model_bytes_memory_limit: string; + peak_model_bytes: string; + model_bytes_exceeded: string; } export interface NotStartedDatafeedResponse { From 81fde90fa6972c03e18c8eb8f9a93fa46449c00b Mon Sep 17 00:00:00 2001 From: Jen Huang Date: Wed, 25 Aug 2021 10:31:04 -0700 Subject: [PATCH 039/139] Fix project assigner syntax --- .github/workflows/project-assigner.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/project-assigner.yml b/.github/workflows/project-assigner.yml index 3fd613269e09c..7e658197c7a84 100644 --- a/.github/workflows/project-assigner.yml +++ b/.github/workflows/project-assigner.yml @@ -20,7 +20,7 @@ jobs: {"label": "Feature:Drilldowns", "projectNumber": 68, "columnName": "Inbox"}, {"label": "Feature:Input Controls", "projectNumber": 72, "columnName": "Inbox"}, {"label": "Team:Security", "projectNumber": 320, "columnName": "Awaiting triage", "projectScope": "org"}, - {"label": "Team:Operations", "projectNumber": 314, "columnName": "Triage", "projectScope": "org"} + {"label": "Team:Operations", "projectNumber": 314, "columnName": "Triage", "projectScope": "org"}, {"label": "Team:Fleet", "projectNumber": 490, "columnName": "Inbox", "projectScope": "org"} ] ghToken: ${{ secrets.PROJECT_ASSIGNER_TOKEN }} From ead9c02887cc27be6617353dc7c1305cfcbf5ad4 Mon Sep 17 00:00:00 2001 From: Marius Dragomir Date: Wed, 25 Aug 2021 19:43:20 +0200 Subject: [PATCH 040/139] change windowSize (#110083) --- .../stack_functional_integration/apps/apm/apm_smoke_test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/test/stack_functional_integration/apps/apm/apm_smoke_test.js b/x-pack/test/stack_functional_integration/apps/apm/apm_smoke_test.js index b94c4409f3531..c7809e6abbf4a 100644 --- a/x-pack/test/stack_functional_integration/apps/apm/apm_smoke_test.js +++ b/x-pack/test/stack_functional_integration/apps/apm/apm_smoke_test.js @@ -14,7 +14,7 @@ export default function ({ getService, getPageObjects }) { const log = getService('log'); before(async () => { - await browser.setWindowSize(1200, 800); + await browser.setWindowSize(1400, 1400); await PageObjects.common.navigateToApp('apm'); await PageObjects.timePicker.setCommonlyUsedTime('Last_1 year'); }); From 4fced9998272be07671dd3c669ba5d62ae446661 Mon Sep 17 00:00:00 2001 From: CJ Cenizal Date: Wed, 25 Aug 2021 10:43:55 -0700 Subject: [PATCH 041/139] Provide guidance on how to retrieve current cloudId. (#109935) --- x-pack/plugins/cloud/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x-pack/plugins/cloud/README.md b/x-pack/plugins/cloud/README.md index 0ffecb6ca8829..0e0a1c773979a 100644 --- a/x-pack/plugins/cloud/README.md +++ b/x-pack/plugins/cloud/README.md @@ -16,6 +16,8 @@ This is the ID of the Cloud deployment to which the Kibana instance belongs. **Example:** `eastus2.azure.elastic-cloud.com:9243$59ef636c6917463db140321484d63cfa$a8b109c08adc43279ef48f29af1a3911` +**NOTE:** The `cloudId` is a concatenation of the deployment name and a hash. Users can update the deployment name, changing the `cloudId`. However, the changed `cloudId` will not be re-injected into `kibana.yml`. If you need the current `cloudId` the best approach is to split the injected `cloudId` on the semi-colon, and replace the first element with the `persistent.cluster.metadata.display_name` value as provided by a call to `GET _cluster/settings`. + ### `baseUrl` This is the URL of the Cloud interface. From 406df4d986aee445ce18078dbfcd8b77bffafb4c Mon Sep 17 00:00:00 2001 From: Nathan L Smith Date: Wed, 25 Aug 2021 12:49:13 -0500 Subject: [PATCH 042/139] Open in dev tools button for request inspector (#109923) Add a "Open in Dev Tools" link to the request inspector. Allow the dev tools to open data uris that are lz-string encoded (the same method used by TypeScript Playground, which are a lot shorter than a base64 encoded string.) --- package.json | 3 +- src/plugins/console/README.md | 15 +- .../editor/legacy/console_editor/editor.tsx | 35 ++++- src/plugins/inspector/public/plugin.tsx | 6 +- .../inspector_panel.test.tsx.snap | 4 + .../public/ui/inspector_panel.test.tsx | 12 +- .../inspector/public/ui/inspector_panel.tsx | 4 +- .../components/details/req_code_viewer.tsx | 133 ++++++++++++------ .../details/req_details_request.tsx | 7 +- test/functional/apps/console/_console.ts | 27 ++++ .../workpad/hooks/use_workpad_history.test.ts | 8 +- .../public/routes/workpad/route_state.ts | 3 +- yarn.lock | 5 + 13 files changed, 200 insertions(+), 62 deletions(-) diff --git a/package.json b/package.json index 0872e682aad55..b957f0387c554 100644 --- a/package.json +++ b/package.json @@ -375,8 +375,8 @@ "redux-saga": "^1.1.3", "redux-thunk": "^2.3.0", "redux-thunks": "^1.0.0", - "remark-stringify": "^9.0.0", "regenerator-runtime": "^0.13.3", + "remark-stringify": "^9.0.0", "request": "^2.88.0", "require-in-the-middle": "^5.0.2", "reselect": "^4.0.0", @@ -570,6 +570,7 @@ "@types/loader-utils": "^1.1.3", "@types/lodash": "^4.14.159", "@types/lru-cache": "^5.1.0", + "@types/lz-string": "^1.3.34", "@types/mapbox-gl": "1.13.1", "@types/markdown-it": "^0.0.7", "@types/md5": "^2.2.0", diff --git a/src/plugins/console/README.md b/src/plugins/console/README.md index 07421151f8087..e158e82c3702f 100644 --- a/src/plugins/console/README.md +++ b/src/plugins/console/README.md @@ -2,4 +2,17 @@ ## About -Console provides the user with tools for storing and executing requests against Elasticsearch. \ No newline at end of file +Console provides the user with tools for storing and executing requests against Elasticsearch. + +## Features + +### `load_from` query parameter + +The `load_from` query parameter enables opening Console with prepopulated reuqests in two ways: from the elastic.co docs and from within other parts of Kibana. + +Plugins can open requests in Kibana by assigning this parameter a `data:text/plain` [lz-string](https://pieroxy.net/blog/pages/lz-string/index.html) encoded value. For example, navigating to `/dev_tools#/console?load_from=data:text/plain,OIUQKgBA+gzgpgQwE4GMAWAoA3gIgI4CucSAnjgFy4C2CALulAgDZMVYC+nQA` will prepopulate Console with the following request: + +``` +GET _search +{"query":{"match_all":{}}} +``` diff --git a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx index c242435550606..c7f6349a19075 100644 --- a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx +++ b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx @@ -9,6 +9,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiScreenReaderOnly, EuiToolTip } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { debounce } from 'lodash'; +import { decompressFromEncodedURIComponent } from 'lz-string'; import { parse } from 'query-string'; import React, { CSSProperties, useCallback, useEffect, useRef, useState } from 'react'; import { ace } from '../../../../../../../es_ui_shared/public'; @@ -96,6 +97,8 @@ function EditorUI({ initialTextValue }: EditorProps) { }; const loadBufferFromRemote = (url: string) => { + const coreEditor = editor.getCoreEditor(); + if (/^https?:\/\//.test(url)) { const loadFrom: Record = { url, @@ -111,7 +114,6 @@ function EditorUI({ initialTextValue }: EditorProps) { // Fire and forget. $.ajax(loadFrom).done(async (data) => { - const coreEditor = editor.getCoreEditor(); await editor.update(data, true); editor.moveToNextRequestEdge(false); coreEditor.clearSelection(); @@ -119,6 +121,28 @@ function EditorUI({ initialTextValue }: EditorProps) { coreEditor.getContainer().focus(); }); } + + // If we have a data URI instead of HTTP, LZ-decode it. This enables + // opening requests in Console from anywhere in Kibana. + if (/^data:/.test(url)) { + const data = decompressFromEncodedURIComponent(url.replace(/^data:text\/plain,/, '')); + + // Show a toast if we have a failure + if (data === null || data === '') { + notifications.toasts.addWarning( + i18n.translate('console.loadFromDataUriErrorMessage', { + defaultMessage: 'Unable to load data from the load_from query parameter in the URL', + }) + ); + return; + } + + editor.update(data, true); + editor.moveToNextRequestEdge(false); + coreEditor.clearSelection(); + editor.highlightCurrentRequestsAndUpdateActionBar(); + coreEditor.getContainer().focus(); + } }; // Support for loading a console snippet from a remote source, like support docs. @@ -176,7 +200,14 @@ function EditorUI({ initialTextValue }: EditorProps) { editorInstanceRef.current.getCoreEditor().destroy(); } }; - }, [saveCurrentTextObject, initialTextValue, history, setInputEditor, settingsService]); + }, [ + notifications.toasts, + saveCurrentTextObject, + initialTextValue, + history, + setInputEditor, + settingsService, + ]); useEffect(() => { const { current: editor } = editorInstanceRef; diff --git a/src/plugins/inspector/public/plugin.tsx b/src/plugins/inspector/public/plugin.tsx index 93ffaa93cd80e..fca51adf0f65d 100644 --- a/src/plugins/inspector/public/plugin.tsx +++ b/src/plugins/inspector/public/plugin.tsx @@ -95,7 +95,11 @@ export class InspectorPublicPlugin implements Plugin { adapters={adapters} title={options.title} options={options.options} - dependencies={{ uiSettings: core.uiSettings }} + dependencies={{ + application: core.application, + http: core.http, + uiSettings: core.uiSettings, + }} /> ), { diff --git a/src/plugins/inspector/public/ui/__snapshots__/inspector_panel.test.tsx.snap b/src/plugins/inspector/public/ui/__snapshots__/inspector_panel.test.tsx.snap index 67d2cf72c5375..cafe65242bd1c 100644 --- a/src/plugins/inspector/public/ui/__snapshots__/inspector_panel.test.tsx.snap +++ b/src/plugins/inspector/public/ui/__snapshots__/inspector_panel.test.tsx.snap @@ -12,6 +12,8 @@ exports[`InspectorPanel should render as expected 1`] = ` } dependencies={ Object { + "application": Object {}, + "http": Object {}, "uiSettings": Object {}, } } @@ -143,6 +145,8 @@ exports[`InspectorPanel should render as expected 1`] = ` { let adapters: Adapters; let views: InspectorViewDescription[]; - const uiSettings: IUiSettingsClient = {} as IUiSettingsClient; + const dependencies = { + application: {}, + http: {}, + uiSettings: {}, + } as { application: ApplicationStart; http: HttpSetup; uiSettings: IUiSettingsClient }; beforeEach(() => { adapters = { @@ -54,14 +58,14 @@ describe('InspectorPanel', () => { it('should render as expected', () => { const component = mountWithIntl( - + ); expect(component).toMatchSnapshot(); }); it('should not allow updating adapters', () => { const component = mountWithIntl( - + ); adapters.notAllowed = {}; expect(() => component.setProps({ adapters })).toThrow(); diff --git a/src/plugins/inspector/public/ui/inspector_panel.tsx b/src/plugins/inspector/public/ui/inspector_panel.tsx index 6268febbaf3a8..34ab6d15941b2 100644 --- a/src/plugins/inspector/public/ui/inspector_panel.tsx +++ b/src/plugins/inspector/public/ui/inspector_panel.tsx @@ -18,7 +18,7 @@ import { EuiFlyoutBody, EuiLoadingSpinner, } from '@elastic/eui'; -import { IUiSettingsClient } from 'kibana/public'; +import { ApplicationStart, HttpStart, IUiSettingsClient } from 'kibana/public'; import { InspectorViewDescription } from '../types'; import { Adapters } from '../../common'; import { InspectorViewChooser } from './inspector_view_chooser'; @@ -41,6 +41,8 @@ interface InspectorPanelProps { options?: unknown; views: InspectorViewDescription[]; dependencies: { + application: ApplicationStart; + http: HttpStart; uiSettings: IUiSettingsClient; }; } diff --git a/src/plugins/inspector/public/views/requests/components/details/req_code_viewer.tsx b/src/plugins/inspector/public/views/requests/components/details/req_code_viewer.tsx index 8ef24e21ff578..a49dae164c994 100644 --- a/src/plugins/inspector/public/views/requests/components/details/req_code_viewer.tsx +++ b/src/plugins/inspector/public/views/requests/components/details/req_code_viewer.tsx @@ -6,14 +6,21 @@ * Side Public License, v 1. */ -import React from 'react'; +// Since we're not using `RedirectAppLinks`, we need to use `navigateToUrl` when +// handling the click of the Open in Dev Tools link. We want to have both an +// `onClick` handler and an `href` attribute so it will work on click without a +// page reload, and on right-click to open in new tab. +/* eslint-disable @elastic/eui/href-or-on-click */ + +import { EuiButtonEmpty, EuiCopy, EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { XJsonLang } from '@kbn/monaco'; -import { EuiFlexItem, EuiFlexGroup, EuiCopy, EuiButtonEmpty, EuiSpacer } from '@elastic/eui'; - -import { CodeEditor } from '../../../../../../kibana_react/public'; +import { compressToEncodedURIComponent } from 'lz-string'; +import React, { MouseEvent, useCallback } from 'react'; +import { CodeEditor, useKibana } from '../../../../../../kibana_react/public'; interface RequestCodeViewerProps { + indexPattern?: string; json: string; } @@ -21,53 +28,89 @@ const copyToClipboardLabel = i18n.translate('inspector.requests.copyToClipboardL defaultMessage: 'Copy to clipboard', }); +const openInDevToolsLabel = i18n.translate('inspector.requests.openInDevToolsLabel', { + defaultMessage: 'Open in Dev Tools', +}); + /** * @internal */ -export const RequestCodeViewer = ({ json }: RequestCodeViewerProps) => ( - - - -
- - {(copy) => ( +export const RequestCodeViewer = ({ indexPattern, json }: RequestCodeViewerProps) => { + const { services } = useKibana(); + const prepend = services.http?.basePath?.prepend; + const navigateToUrl = services.application?.navigateToUrl; + const canShowDevTools = services.application?.capabilities?.dev_tools.show; + const devToolsDataUri = compressToEncodedURIComponent(`GET ${indexPattern}/_search\n${json}`); + const devToolsUrl = `/app/dev_tools#/console?load_from=data:text/plain,${devToolsDataUri}`; + const shouldShowDevToolsLink = !!(indexPattern && canShowDevTools); + + const handleDevToolsLinkClick = useCallback( + (event: MouseEvent) => { + event.preventDefault(); + if (navigateToUrl && prepend) { + navigateToUrl(prepend(devToolsUrl)); + } + }, + [devToolsUrl, navigateToUrl, prepend] + ); + + return ( + + + +
+ + {(copy) => ( + + {copyToClipboardLabel} + + )} + + {shouldShowDevToolsLink && ( - {copyToClipboardLabel} + {openInDevToolsLabel} )} - -
-
- - - -
-); +
+
+ + + +
+ ); +}; diff --git a/src/plugins/inspector/public/views/requests/components/details/req_details_request.tsx b/src/plugins/inspector/public/views/requests/components/details/req_details_request.tsx index 5c27269b67730..d340cba2b2aae 100644 --- a/src/plugins/inspector/public/views/requests/components/details/req_details_request.tsx +++ b/src/plugins/inspector/public/views/requests/components/details/req_details_request.tsx @@ -26,6 +26,11 @@ export class RequestDetailsRequest extends Component { return null; } - return ; + return ( + + ); } } diff --git a/test/functional/apps/console/_console.ts b/test/functional/apps/console/_console.ts index 05933ebf1ea2a..72e0b0a0123c6 100644 --- a/test/functional/apps/console/_console.ts +++ b/test/functional/apps/console/_console.ts @@ -25,6 +25,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const log = getService('log'); const browser = getService('browser'); const PageObjects = getPageObjects(['common', 'console']); + const toasts = getService('toasts'); describe('console app', function describeIndexTests() { this.tags('includeFirefox'); @@ -89,5 +90,31 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { PageObjects.console.hasAutocompleter() ); }); + + describe('with a data URI in the load_from query', () => { + it('loads the data from the URI', async () => { + await PageObjects.common.navigateToApp('console', { + hash: '#/console?load_from=data:text/plain,BYUwNmD2Q', + }); + + await retry.try(async () => { + const actualRequest = await PageObjects.console.getRequest(); + log.debug(actualRequest); + expect(actualRequest.trim()).to.eql('hello'); + }); + }); + + describe('with invalid data', () => { + it('shows a toast error', async () => { + await PageObjects.common.navigateToApp('console', { + hash: '#/console?load_from=data:text/plain,BYUwNmD2', + }); + + await retry.try(async () => { + expect(await toasts.getToastCount()).to.equal(1); + }); + }); + }); + }); }); } diff --git a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_history.test.ts b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_history.test.ts index 515da36ddbb36..93c750a3e13f6 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_history.test.ts +++ b/x-pack/plugins/canvas/public/routes/workpad/hooks/use_workpad_history.test.ts @@ -53,7 +53,7 @@ describe('useRestoreHistory', () => { test('with location state not matching store state', () => { const history = { location: { - state: encode({ prior: 'state' }), + state: encode({ prior: 'state' }) as string | undefined, pathname: 'somepath', }, push: jest.fn(), @@ -100,7 +100,7 @@ describe('useRestoreHistory', () => { const history = { location: { - state: encode({ old: 'state' }), + state: encode({ old: 'state' }) as string | undefined, pathname: 'somepath', search: '', }, @@ -200,7 +200,7 @@ describe('useRestoreHistory', () => { const history = { location: { - state: encode(state.persistent), + state: encode(state.persistent) as string | undefined, pathname: 'somepath', }, push: jest.fn(), @@ -231,7 +231,7 @@ describe('useRestoreHistory', () => { const history = { location: { - state: encode(state.persistent), + state: encode(state.persistent) as string | undefined, pathname: 'somepath', search: '', }, diff --git a/x-pack/plugins/canvas/public/routes/workpad/route_state.ts b/x-pack/plugins/canvas/public/routes/workpad/route_state.ts index c224af8c3123b..de4ab8021feb5 100644 --- a/x-pack/plugins/canvas/public/routes/workpad/route_state.ts +++ b/x-pack/plugins/canvas/public/routes/workpad/route_state.ts @@ -5,7 +5,6 @@ * 2.0. */ -// @ts-expect-error import lzString from 'lz-string'; export const encode = (state: any) => { @@ -19,7 +18,7 @@ export const encode = (state: any) => { export const decode = (payload: string) => { try { - const stateJSON = lzString.decompress(payload); + const stateJSON = lzString.decompress(payload) ?? 'null'; return JSON.parse(stateJSON); } catch (e) { return null; diff --git a/yarn.lock b/yarn.lock index 9e07df606c220..b654e66ca06e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5519,6 +5519,11 @@ resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.0.tgz#57f228f2b80c046b4a1bd5cac031f81f207f4f03" integrity sha512-RaE0B+14ToE4l6UqdarKPnXwVDuigfFv+5j9Dze/Nqr23yyuqdNvzcZi3xB+3Agvi5R4EOgAksfv3lXX4vBt9w== +"@types/lz-string@^1.3.34": + version "1.3.34" + resolved "https://registry.yarnpkg.com/@types/lz-string/-/lz-string-1.3.34.tgz#69bfadde419314b4a374bf2c8e58659c035ed0a5" + integrity sha512-j6G1e8DULJx3ONf6NdR5JiR2ZY3K3PaaqiEuKYkLQO0Czfi1AzrtjfnfCROyWGeDd5IVMKCwsgSmMip9OWijow== + "@types/mapbox-gl@1.13.1": version "1.13.1" resolved "https://registry.yarnpkg.com/@types/mapbox-gl/-/mapbox-gl-1.13.1.tgz#bd8108f912f32c895117e2970b6d4fbbecbe42a1" From a299604c58a9a7ec6baa807aa529ba305fa945ae Mon Sep 17 00:00:00 2001 From: Georgii Gorbachev Date: Wed, 25 Aug 2021 19:54:25 +0200 Subject: [PATCH 043/139] [RAC][Rule Registry] Implement versioning and backing indices (#109276) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Ticket:** https://github.com/elastic/kibana/issues/109293 🚨 **This PR is critical for Observability 7.15** 🚨 ## Summary This PR fixes the indexing implementation in `rule_registry`. It implements the suggestions for backwards compatibility described in the ticket: - changes the naming scheme and introduces the concept of "backing indices", so that names of the concrete ("backing") indices != names of their aliases - adds versioning based on the current Kibana version TODO: - [x] Change index naming (implement the concept of backing indices) - [x] Include Kibana version into the index template metadata - [x] Include Kibana version into the document fields - [x] Remove `version` from `IndexOptions` (parameters provided by solutions/plugins when initializing alerts-as-data indices) - [x] Fix CI ### Checklist - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [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 --- .../apm/server/lib/alerts/test_utils/index.ts | 20 +- x-pack/plugins/apm/server/plugin.ts | 4 - .../server/services/rules/rule_data_client.ts | 4 - .../field_maps/technical_rule_field_map.ts | 2 +- .../common/field_map/es_field_type_map.ts | 23 -- .../field_map/runtime_type_from_fieldmap.ts | 1 + x-pack/plugins/rule_registry/server/config.ts | 1 + x-pack/plugins/rule_registry/server/mocks.ts | 2 + x-pack/plugins/rule_registry/server/plugin.ts | 8 +- .../rule_data_client/rule_data_client.mock.ts | 12 +- .../rule_data_client/rule_data_client.ts | 4 + .../server/rule_data_client/types.ts | 1 + .../rule_data_plugin_service/index_info.ts | 72 +++-- .../rule_data_plugin_service/index_options.ts | 4 +- .../resource_installer.ts | 256 +++++++++++------- .../rule_data_plugin_service.ts | 20 +- .../server/utils/create_lifecycle_executor.ts | 2 + .../utils/create_lifecycle_rule_type.test.ts | 2 + .../create_persistence_rule_type_factory.ts | 5 +- .../rule_registry_log_client.ts | 4 - .../rule_types/__mocks__/rule_type.ts | 15 +- .../security_solution/server/plugin.ts | 4 - .../server/lib/alerts/test_utils/index.ts | 18 +- x-pack/plugins/uptime/server/plugin.ts | 4 - .../tests/alerts/rule_registry.ts | 3 +- 25 files changed, 254 insertions(+), 237 deletions(-) delete mode 100644 x-pack/plugins/rule_registry/common/field_map/es_field_type_map.ts diff --git a/x-pack/plugins/apm/server/lib/alerts/test_utils/index.ts b/x-pack/plugins/apm/server/lib/alerts/test_utils/index.ts index 26667dff90c6e..c78e93815bf85 100644 --- a/x-pack/plugins/apm/server/lib/alerts/test_utils/index.ts +++ b/x-pack/plugins/apm/server/lib/alerts/test_utils/index.ts @@ -8,7 +8,8 @@ import { Logger } from 'kibana/server'; import { of } from 'rxjs'; import { elasticsearchServiceMock } from 'src/core/server/mocks'; -import type { IRuleDataClient } from '../../../../../rule_registry/server'; +import { IRuleDataClient } from '../../../../../rule_registry/server'; +import { ruleRegistryMocks } from '../../../../../rule_registry/server/mocks'; import { PluginSetupContract as AlertingPluginSetupContract } from '../../../../../alerting/server'; import { APMConfig, APM_SERVER_FEATURE_ID } from '../../..'; @@ -51,20 +52,9 @@ export const createRuleTypeMocks = () => { alerting, config$: mockedConfig$, logger: loggerMock, - ruleDataClient: ({ - getReader: () => { - return { - search: jest.fn(), - }; - }, - getWriter: () => { - return { - bulk: jest.fn(), - }; - }, - isWriteEnabled: jest.fn(() => true), - indexName: '.alerts-observability.apm.alerts', - } as unknown) as IRuleDataClient, + ruleDataClient: ruleRegistryMocks.createRuleDataClient( + '.alerts-observability.apm.alerts' + ) as IRuleDataClient, }, services, scheduleActions, diff --git a/x-pack/plugins/apm/server/plugin.ts b/x-pack/plugins/apm/server/plugin.ts index 1e0e61bc2bf3a..fadeae338cbdb 100644 --- a/x-pack/plugins/apm/server/plugin.ts +++ b/x-pack/plugins/apm/server/plugin.ts @@ -122,7 +122,6 @@ export class APMPlugin componentTemplates: [ { name: 'mappings', - version: 0, mappings: mappingFromFieldMap( { [SERVICE_NAME]: { @@ -142,9 +141,6 @@ export class APMPlugin ), }, ], - indexTemplate: { - version: 0, - }, }); const resourcePlugins = mapValues(plugins, (value, key) => { diff --git a/x-pack/plugins/infra/server/services/rules/rule_data_client.ts b/x-pack/plugins/infra/server/services/rules/rule_data_client.ts index 9b3f7edb97007..f6be29deeb322 100644 --- a/x-pack/plugins/infra/server/services/rules/rule_data_client.ts +++ b/x-pack/plugins/infra/server/services/rules/rule_data_client.ts @@ -31,12 +31,8 @@ export const createRuleDataClient = ({ componentTemplates: [ { name: 'mappings', - version: 0, mappings: {}, }, ], - indexTemplate: { - version: 0, - }, }); }; diff --git a/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts b/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts index b4ae89b7694f7..29f03024b79f5 100644 --- a/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts +++ b/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts @@ -30,7 +30,7 @@ export const technicalRuleFieldMap = { [Fields.ALERT_EVALUATION_THRESHOLD]: { type: 'scaled_float', scaling_factor: 100 }, [Fields.ALERT_EVALUATION_VALUE]: { type: 'scaled_float', scaling_factor: 100 }, [Fields.VERSION]: { - type: 'keyword', + type: 'version', array: false, required: false, }, diff --git a/x-pack/plugins/rule_registry/common/field_map/es_field_type_map.ts b/x-pack/plugins/rule_registry/common/field_map/es_field_type_map.ts deleted file mode 100644 index df41a020d274b..0000000000000 --- a/x-pack/plugins/rule_registry/common/field_map/es_field_type_map.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import * as t from 'io-ts'; - -export const esFieldTypeMap = { - keyword: t.string, - text: t.string, - date: t.string, - boolean: t.boolean, - byte: t.number, - long: t.number, - integer: t.number, - short: t.number, - double: t.number, - float: t.number, - scaled_float: t.number, - unsigned_long: t.number, - flattened: t.record(t.string, t.array(t.string)), -}; diff --git a/x-pack/plugins/rule_registry/common/field_map/runtime_type_from_fieldmap.ts b/x-pack/plugins/rule_registry/common/field_map/runtime_type_from_fieldmap.ts index fe3504c84115b..11dff18721522 100644 --- a/x-pack/plugins/rule_registry/common/field_map/runtime_type_from_fieldmap.ts +++ b/x-pack/plugins/rule_registry/common/field_map/runtime_type_from_fieldmap.ts @@ -45,6 +45,7 @@ const BooleanFromString = new t.Type( const esFieldTypeMap = { keyword: t.string, + version: t.string, text: t.string, date: t.string, boolean: t.union([t.number, BooleanFromString]), diff --git a/x-pack/plugins/rule_registry/server/config.ts b/x-pack/plugins/rule_registry/server/config.ts index b50927fff4e93..830762c9b3741 100644 --- a/x-pack/plugins/rule_registry/server/config.ts +++ b/x-pack/plugins/rule_registry/server/config.ts @@ -24,3 +24,4 @@ export const config = { export type RuleRegistryPluginConfig = TypeOf; export const INDEX_PREFIX = '.alerts' as const; +export const INDEX_PREFIX_FOR_BACKING_INDICES = '.internal.alerts' as const; diff --git a/x-pack/plugins/rule_registry/server/mocks.ts b/x-pack/plugins/rule_registry/server/mocks.ts index 269eff182633f..e9ec25ddcdaba 100644 --- a/x-pack/plugins/rule_registry/server/mocks.ts +++ b/x-pack/plugins/rule_registry/server/mocks.ts @@ -6,11 +6,13 @@ */ import { alertsClientMock } from './alert_data_client/alerts_client.mock'; +import { createRuleDataClientMock } from './rule_data_client/rule_data_client.mock'; import { ruleDataPluginServiceMock } from './rule_data_plugin_service/rule_data_plugin_service.mock'; import { createLifecycleAlertServicesMock } from './utils/lifecycle_alert_services_mock'; export const ruleRegistryMocks = { createLifecycleAlertServices: createLifecycleAlertServicesMock, createRuleDataPluginService: ruleDataPluginServiceMock.create, + createRuleDataClient: createRuleDataClientMock, createAlertsClientMock: alertsClientMock, }; diff --git a/x-pack/plugins/rule_registry/server/plugin.ts b/x-pack/plugins/rule_registry/server/plugin.ts index cb1810420c2cd..a4122e3a1ffc1 100644 --- a/x-pack/plugins/rule_registry/server/plugin.ts +++ b/x-pack/plugins/rule_registry/server/plugin.ts @@ -19,7 +19,7 @@ import { import { PluginStartContract as AlertingStart } from '../../alerting/server'; import { SecurityPluginSetup } from '../../security/server'; -import { INDEX_PREFIX, RuleRegistryPluginConfig } from './config'; +import { RuleRegistryPluginConfig } from './config'; import { RuleDataPluginService } from './rule_data_plugin_service'; import { AlertsClientFactory } from './alert_data_client/alerts_client_factory'; import { AlertsClient } from './alert_data_client/alerts_client'; @@ -54,6 +54,7 @@ export class RuleRegistryPlugin private readonly config: RuleRegistryPluginConfig; private readonly legacyConfig: SharedGlobalConfig; private readonly logger: Logger; + private readonly kibanaVersion: string; private readonly alertsClientFactory: AlertsClientFactory; private ruleDataService: RuleDataPluginService | null; private security: SecurityPluginSetup | undefined; @@ -63,6 +64,7 @@ export class RuleRegistryPlugin // TODO: Can be removed in 8.0.0. Exists to work around multi-tenancy users. this.legacyConfig = initContext.config.legacy.get(); this.logger = initContext.logger.get(); + this.kibanaVersion = initContext.env.packageInfo.version; this.ruleDataService = null; this.alertsClientFactory = new AlertsClientFactory(); } @@ -71,7 +73,7 @@ export class RuleRegistryPlugin core: CoreSetup, plugins: RuleRegistryPluginSetupDependencies ): RuleRegistryPluginSetupContract { - const { logger } = this; + const { logger, kibanaVersion } = this; const startDependencies = core.getStartServices().then(([coreStart, pluginStart]) => { return { @@ -99,8 +101,8 @@ export class RuleRegistryPlugin this.ruleDataService = new RuleDataPluginService({ logger, + kibanaVersion, isWriteEnabled: isWriteEnabled(this.config, this.legacyConfig), - index: INDEX_PREFIX, getClusterClient: async () => { const deps = await startDependencies; return deps.core.elasticsearch.client.asInternalUser; diff --git a/x-pack/plugins/rule_registry/server/rule_data_client/rule_data_client.mock.ts b/x-pack/plugins/rule_registry/server/rule_data_client/rule_data_client.mock.ts index 8aa5f8a6edf19..323adcc756674 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_client/rule_data_client.mock.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_client/rule_data_client.mock.ts @@ -18,23 +18,25 @@ type RuleDataClientMock = jest.Mocked) => MockInstances; }; -export function createRuleDataClientMock(): RuleDataClientMock { +export const createRuleDataClientMock = ( + indexName: string = '.alerts-security.alerts' +): RuleDataClientMock => { const bulk = jest.fn(); const search = jest.fn(); const getDynamicIndexPattern = jest.fn(); return { - indexName: '.alerts-security.alerts', - + indexName, + kibanaVersion: '7.16.0', isWriteEnabled: jest.fn(() => true), getReader: jest.fn((_options?: { namespace?: string }) => ({ - getDynamicIndexPattern, search, + getDynamicIndexPattern, })), getWriter: jest.fn(() => ({ bulk, })), }; -} +}; diff --git a/x-pack/plugins/rule_registry/server/rule_data_client/rule_data_client.ts b/x-pack/plugins/rule_registry/server/rule_data_client/rule_data_client.ts index bbfa6abdd1a71..89ae479132de5 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_client/rule_data_client.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_client/rule_data_client.ts @@ -33,6 +33,10 @@ export class RuleDataClient implements IRuleDataClient { return this.options.indexInfo.baseName; } + public get kibanaVersion(): string { + return this.options.indexInfo.kibanaVersion; + } + public isWriteEnabled(): boolean { return this.options.isWriteEnabled; } diff --git a/x-pack/plugins/rule_registry/server/rule_data_client/types.ts b/x-pack/plugins/rule_registry/server/rule_data_client/types.ts index 979aa7e264848..3e8b6b3413c6f 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_client/types.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_client/types.ts @@ -14,6 +14,7 @@ import { TechnicalRuleDataFieldName } from '../../common/technical_rule_data_fie export interface IRuleDataClient { indexName: string; + kibanaVersion: string; isWriteEnabled(): boolean; getReader(options?: { namespace?: string }): IRuleDataReader; getWriter(options?: { namespace?: string }): IRuleDataWriter; diff --git a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index_info.ts b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index_info.ts index 4e64ea025a27a..52fef63a732f0 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index_info.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index_info.ts @@ -5,22 +5,13 @@ * 2.0. */ +import { INDEX_PREFIX, INDEX_PREFIX_FOR_BACKING_INDICES } from '../config'; import { IndexOptions } from './index_options'; import { joinWithDash } from './utils'; interface ConstructorOptions { - /** - * Prepends a relative resource name (defined in the code) with - * a full resource prefix, which starts with '.alerts' and can - * optionally include a user-defined part in it. - * @example 'security.alerts' => '.alerts-security.alerts' - */ - getResourceName(relativeName: string): string; - - /** - * Options provided by the plugin/solution defining the index. - */ indexOptions: IndexOptions; + kibanaVersion: string; } /** @@ -31,12 +22,17 @@ interface ConstructorOptions { */ export class IndexInfo { constructor(options: ConstructorOptions) { - const { getResourceName, indexOptions } = options; + const { indexOptions, kibanaVersion } = options; const { registrationContext, dataset } = indexOptions; this.indexOptions = indexOptions; - this.baseName = getResourceName(`${registrationContext}.${dataset}`); + this.kibanaVersion = kibanaVersion; + this.baseName = joinWithDash(INDEX_PREFIX, `${registrationContext}.${dataset}`); this.basePattern = joinWithDash(this.baseName, '*'); + this.baseNameForBackingIndices = joinWithDash( + INDEX_PREFIX_FOR_BACKING_INDICES, + `${registrationContext}.${dataset}` + ); } /** @@ -45,7 +41,13 @@ export class IndexInfo { public readonly indexOptions: IndexOptions; /** - * Base index name, prefixed with the full resource prefix. + * Current version of Kibana. We version our index resources and documents based on it. + * @example '7.16.0' + */ + public readonly kibanaVersion: string; + + /** + * Base index name, prefixed with the resource prefix. * @example '.alerts-security.alerts' */ public readonly baseName: string; @@ -56,6 +58,12 @@ export class IndexInfo { */ public readonly basePattern: string; + /** + * Base name for internal backing indices, prefixed with a special prefix. + * @example '.internal.alerts-security.alerts' + */ + private readonly baseNameForBackingIndices: string; + /** * Primary index alias. Includes a namespace. * Used as a write target when writing documents to the index. @@ -65,14 +73,6 @@ export class IndexInfo { return joinWithDash(this.baseName, namespace); } - /** - * Index pattern based on the primary alias. - * @example '.alerts-security.alerts-default-*' - */ - public getPrimaryAliasPattern(namespace: string): string { - return joinWithDash(this.baseName, namespace, '*'); - } - /** * Optional secondary alias that can be applied to concrete indices in * addition to the primary one. @@ -83,6 +83,26 @@ export class IndexInfo { return secondaryAlias ? joinWithDash(secondaryAlias, namespace) : null; } + /** + * Name of the initial concrete index, with the namespace and the ILM suffix. + * @example '.internal.alerts-security.alerts-default-000001' + */ + public getConcreteIndexInitialName(namespace: string): string { + return joinWithDash(this.baseNameForBackingIndices, namespace, '000001'); + } + + /** + * Index pattern for internal backing indices. Used in the index bootstrapping logic. + * Can include or exclude the namespace. + * + * WARNING: Must not be used for reading documents! If you use it, you should know what you're doing. + * + * @example '.internal.alerts-security.alerts-default-*', '.internal.alerts-security.alerts-*' + */ + public getPatternForBackingIndices(namespace?: string): string { + return joinWithDash(this.baseNameForBackingIndices, namespace, '*'); + } + /** * Index pattern that should be used when reading documents from the index. * Can include or exclude the namespace. @@ -100,14 +120,6 @@ export class IndexInfo { return `${joinWithDash(this.baseName, namespace)}*`; } - /** - * Name of the initial concrete index, with the namespace and the ILM suffix. - * @example '.alerts-security.alerts-default-000001' - */ - public getConcreteIndexInitialName(namespace: string): string { - return joinWithDash(this.baseName, namespace, '000001'); - } - /** * Name of the custom ILM policy (if it's provided by the plugin/solution). * Specific to the index. Shared between all namespaces of the index. diff --git a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index_options.ts b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index_options.ts index 0f9486a068c24..e85331fb02a63 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index_options.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/index_options.ts @@ -75,7 +75,7 @@ export interface IndexOptions { /** * Additional properties for the namespaced index template. */ - indexTemplate: IndexTemplateOptions; + indexTemplate?: IndexTemplateOptions; /** * Optional custom ILM policy for the index. @@ -120,7 +120,6 @@ export type Meta = estypes.Metadata; */ export interface ComponentTemplateOptions { name: string; - version: Version; // TODO: encapsulate versioning (base on Kibana version) mappings?: Mappings; settings?: Settings; _meta?: Meta; @@ -140,7 +139,6 @@ export interface ComponentTemplateOptions { * https://www.elastic.co/guide/en/elasticsearch/reference/current/index-templates.html */ export interface IndexTemplateOptions { - version: Version; // TODO: encapsulate versioning (base on Kibana version) _meta?: Meta; } diff --git a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.ts b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.ts index e53e1db5391e7..73651ec298c36 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/resource_installer.ts @@ -132,7 +132,6 @@ export class ResourceInstaller { settings: ct.settings ?? {}, mappings: ct.mappings, }, - version: ct.version, _meta: ct._meta, }, }); @@ -146,29 +145,22 @@ export class ResourceInstaller { } private async updateIndexMappings(indexInfo: IndexInfo) { - const { logger, getClusterClient } = this.options; - const clusterClient = await getClusterClient(); + const { logger } = this.options; - logger.debug(`Updating mappings of existing concrete indices for ${indexInfo.baseName}`); + const aliases = indexInfo.basePattern; + const backingIndices = indexInfo.getPatternForBackingIndices(); - const { body: aliasesResponse } = await clusterClient.indices.getAlias({ - index: indexInfo.basePattern, - }); + logger.debug(`Updating mappings of existing concrete indices for ${indexInfo.baseName}`); - const writeIndicesAndAliases = Object.entries(aliasesResponse).flatMap(([index, { aliases }]) => - Object.entries(aliases) - .filter(([, aliasProperties]) => aliasProperties.is_write_index) - .map(([aliasName]) => ({ index, alias: aliasName })) - ); + // Find all concrete indices for all namespaces of the index. + const concreteIndices = await this.fetchConcreteIndices(aliases, backingIndices); + const concreteWriteIndices = concreteIndices.filter((item) => item.isWriteIndex); - await Promise.all( - writeIndicesAndAliases.map((indexAndAlias) => - this.updateAliasWriteIndexMapping(indexAndAlias) - ) - ); + // Update mappings of the found write indices. + await Promise.all(concreteWriteIndices.map((item) => this.updateAliasWriteIndexMapping(item))); } - private async updateAliasWriteIndexMapping({ index, alias }: { index: string; alias: string }) { + private async updateAliasWriteIndexMapping({ index, alias }: ConcreteIndexInfo) { const { logger, getClusterClient } = this.options; const clusterClient = await getClusterClient(); @@ -228,86 +220,59 @@ export class ResourceInstaller { indexInfo: IndexInfo, namespace: string ): Promise { - await this.createWriteTargetIfNeeded(indexInfo, namespace); + const { logger } = this.options; + + const alias = indexInfo.getPrimaryAlias(namespace); + + logger.info(`Installing namespace-level resources and creating concrete index for ${alias}`); + + // If we find a concrete backing index which is the write index for the alias here, we shouldn't + // be making a new concrete index. We return early because we don't need a new write target. + const indexExists = await this.checkIfConcreteWriteIndexExists(indexInfo, namespace); + if (indexExists) { + return; + } + + await this.installNamespacedIndexTemplate(indexInfo, namespace); + await this.createConcreteWriteIndex(indexInfo, namespace); } - private async createWriteTargetIfNeeded(indexInfo: IndexInfo, namespace: string) { - const { logger, getClusterClient } = this.options; - const clusterClient = await getClusterClient(); + private async checkIfConcreteWriteIndexExists( + indexInfo: IndexInfo, + namespace: string + ): Promise { + const { logger } = this.options; const primaryNamespacedAlias = indexInfo.getPrimaryAlias(namespace); - const primaryNamespacedPattern = indexInfo.getPrimaryAliasPattern(namespace); - const initialIndexName = indexInfo.getConcreteIndexInitialName(namespace); + const indexPatternForBackingIndices = indexInfo.getPatternForBackingIndices(namespace); - logger.debug(`Creating write target for ${primaryNamespacedAlias}`); + logger.debug(`Checking if concrete write index exists for ${primaryNamespacedAlias}`); - try { - // When a new namespace is created we expect getAlias to return a 404 error, - // we'll catch it below and continue on. A non-404 error is a real problem so we throw. + const concreteIndices = await this.fetchConcreteIndices( + primaryNamespacedAlias, + indexPatternForBackingIndices + ); + const concreteIndicesExist = concreteIndices.some( + (item) => item.alias === primaryNamespacedAlias + ); + const concreteWriteIndicesExist = concreteIndices.some( + (item) => item.alias === primaryNamespacedAlias && item.isWriteIndex + ); - // It's critical that we specify *both* the index pattern and alias in this request. The alias prevents the - // request from finding other namespaces that could match the -* part of the index pattern - // (see https://github.com/elastic/kibana/issues/107704). The index pattern prevents the request from - // finding legacy .siem-signals indices that we add the alias to for backwards compatibility reasons. Together, - // the index pattern and alias should ensure that we retrieve only the "new" backing indices for this - // particular alias. - const { body: aliases } = await clusterClient.indices.getAlias({ - index: primaryNamespacedPattern, - name: primaryNamespacedAlias, - }); + // If we find backing indices for the alias here, we shouldn't be making a new concrete index - + // either one of the indices is the write index so we return early because we don't need a new write target, + // or none of them are the write index so we'll throw an error because one of the existing indices should have + // been the write target - // If we find backing indices for the alias here, we shouldn't be making a new concrete index - - // either one of the indices is the write index so we return early because we don't need a new write target, - // or none of them are the write index so we'll throw an error because one of the existing indices should have - // been the write target - if ( - Object.values(aliases).some( - (aliasesObject) => aliasesObject.aliases[primaryNamespacedAlias].is_write_index - ) - ) { - return; - } else { - throw new Error( - `Indices matching pattern ${primaryNamespacedPattern} exist but none are set as the write index for alias ${primaryNamespacedAlias}` - ); - } - } catch (err) { - // 404 is expected if the alerts-as-data index hasn't been created yet - if (err.statusCode !== 404) { - throw err; - } + // If there are some concrete indices but none of them are the write index, we'll throw an error + // because one of the existing indices should have been the write target. + if (concreteIndicesExist && !concreteWriteIndicesExist) { + throw new Error( + `Indices matching pattern ${indexPatternForBackingIndices} exist but none are set as the write index for alias ${primaryNamespacedAlias}` + ); } - await this.installNamespacedIndexTemplate(indexInfo, namespace); - - try { - await clusterClient.indices.create({ - index: initialIndexName, - body: { - aliases: { - [primaryNamespacedAlias]: { - is_write_index: true, - }, - }, - }, - }); - } catch (err) { - // If the index already exists and it's the write index for the alias, - // something else created it so suppress the error. If it's not the write - // index, that's bad, throw an error. - if (err?.meta?.body?.error?.type === 'resource_already_exists_exception') { - const { body: existingIndices } = await clusterClient.indices.get({ - index: initialIndexName, - }); - if (!existingIndices[initialIndexName]?.aliases?.[primaryNamespacedAlias]?.is_write_index) { - throw Error( - `Attempted to create index: ${initialIndexName} as the write index for alias: ${primaryNamespacedAlias}, but the index already exists and is not the write index for the alias` - ); - } - } else { - throw err; - } - } + return concreteWriteIndicesExist; } private async installNamespacedIndexTemplate(indexInfo: IndexInfo, namespace: string) { @@ -315,13 +280,13 @@ export class ResourceInstaller { const { componentTemplateRefs, componentTemplates, - indexTemplate, + indexTemplate = {}, ilmPolicy, } = indexInfo.indexOptions; const primaryNamespacedAlias = indexInfo.getPrimaryAlias(namespace); - const primaryNamespacedPattern = indexInfo.getPrimaryAliasPattern(namespace); const secondaryNamespacedAlias = indexInfo.getSecondaryAlias(namespace); + const indexPatternForBackingIndices = indexInfo.getPatternForBackingIndices(namespace); logger.debug(`Installing index template for ${primaryNamespacedAlias}`); @@ -334,6 +299,15 @@ export class ResourceInstaller { ? indexInfo.getIlmPolicyName() : getResourceName(DEFAULT_ILM_POLICY_ID); + const indexMetadata: estypes.Metadata = { + ...indexTemplate._meta, + kibana: { + ...indexTemplate._meta?.kibana, + version: indexInfo.kibanaVersion, + }, + namespace, + }; + // TODO: need a way to update this template if/when we decide to make changes to the // built in index template. Probably do it as part of updateIndexMappingsForAsset? // (Before upgrading any indices, find and upgrade all namespaced index templates - component templates @@ -347,7 +321,7 @@ export class ResourceInstaller { await this.createOrUpdateIndexTemplate({ name: indexInfo.getIndexTemplateName(namespace), body: { - index_patterns: [primaryNamespacedPattern], + index_patterns: [indexPatternForBackingIndices], // Order matters: // - first go external component templates referenced by this index (e.g. the common full ECS template) @@ -369,6 +343,9 @@ export class ResourceInstaller { rollover_alias: primaryNamespacedAlias, }, }, + mappings: { + _meta: indexMetadata, + }, aliases: secondaryNamespacedAlias != null ? { @@ -379,12 +356,7 @@ export class ResourceInstaller { : undefined, }, - _meta: { - ...indexTemplate._meta, - namespace, - }, - - version: indexTemplate.version, + _meta: indexMetadata, // By setting the priority to namespace.length, we ensure that if one namespace is a prefix of another namespace // then newly created indices will use the matching template with the *longest* namespace @@ -393,6 +365,45 @@ export class ResourceInstaller { }); } + private async createConcreteWriteIndex(indexInfo: IndexInfo, namespace: string) { + const { logger, getClusterClient } = this.options; + const clusterClient = await getClusterClient(); + + const primaryNamespacedAlias = indexInfo.getPrimaryAlias(namespace); + const initialIndexName = indexInfo.getConcreteIndexInitialName(namespace); + + logger.debug(`Creating concrete write index for ${primaryNamespacedAlias}`); + + try { + await clusterClient.indices.create({ + index: initialIndexName, + body: { + aliases: { + [primaryNamespacedAlias]: { + is_write_index: true, + }, + }, + }, + }); + } catch (err) { + // If the index already exists and it's the write index for the alias, + // something else created it so suppress the error. If it's not the write + // index, that's bad, throw an error. + if (err?.meta?.body?.error?.type === 'resource_already_exists_exception') { + const { body: existingIndices } = await clusterClient.indices.get({ + index: initialIndexName, + }); + if (!existingIndices[initialIndexName]?.aliases?.[primaryNamespacedAlias]?.is_write_index) { + throw Error( + `Attempted to create index: ${initialIndexName} as the write index for alias: ${primaryNamespacedAlias}, but the index already exists and is not the write index for the alias` + ); + } + } else { + throw err; + } + } + } + // ----------------------------------------------------------------------------------------------- // Helpers @@ -431,4 +442,55 @@ export class ResourceInstaller { return clusterClient.indices.putIndexTemplate(template); } + + private async fetchConcreteIndices( + aliasOrPatternForAliases: string, + indexPatternForBackingIndices: string + ): Promise { + const { logger, getClusterClient } = this.options; + const clusterClient = await getClusterClient(); + + logger.debug(`Fetching concrete indices for ${indexPatternForBackingIndices}`); + + try { + // It's critical that we specify *both* the index pattern for backing indices and their alias(es) in this request. + // The alias prevents the request from finding other namespaces that could match the -* part of the index pattern + // (see https://github.com/elastic/kibana/issues/107704). The backing index pattern prevents the request from + // finding legacy .siem-signals indices that we add the alias to for backwards compatibility reasons. Together, + // the index pattern and alias should ensure that we retrieve only the "new" backing indices for this + // particular alias. + const { body: response } = await clusterClient.indices.getAlias({ + index: indexPatternForBackingIndices, + name: aliasOrPatternForAliases, + }); + + return createConcreteIndexInfo(response); + } catch (err) { + // 404 is expected if the alerts-as-data indices haven't been created yet + if (err.statusCode === 404) { + return createConcreteIndexInfo({}); + } + + // A non-404 error is a real problem so we re-throw. + throw err; + } + } } + +interface ConcreteIndexInfo { + index: string; + alias: string; + isWriteIndex: boolean; +} + +const createConcreteIndexInfo = ( + response: estypes.IndicesGetAliasResponse +): ConcreteIndexInfo[] => { + return Object.entries(response).flatMap(([index, { aliases }]) => + Object.entries(aliases).map(([aliasName, aliasProperties]) => ({ + index, + alias: aliasName, + isWriteIndex: aliasProperties.is_write_index ?? false, + })) + ); +}; diff --git a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts index a417ba289d83a..ed3d5340756e8 100644 --- a/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts +++ b/x-pack/plugins/rule_registry/server/rule_data_plugin_service/rule_data_plugin_service.ts @@ -10,6 +10,7 @@ import { ValidFeatureId } from '@kbn/rule-data-utils'; import { ElasticsearchClient, Logger } from 'kibana/server'; +import { INDEX_PREFIX } from '../config'; import { IRuleDataClient, RuleDataClient, WaitResult } from '../rule_data_client'; import { IndexInfo } from './index_info'; import { Dataset, IndexOptions } from './index_options'; @@ -19,8 +20,8 @@ import { joinWithDash } from './utils'; interface ConstructorOptions { getClusterClient: () => Promise; logger: Logger; + kibanaVersion: string; isWriteEnabled: boolean; - index: string; } /** @@ -49,18 +50,16 @@ export class RuleDataPluginService { } /** - * Returns a full resource prefix. - * - it's '.alerts' by default - * - it can be adjusted by the user via Kibana config + * Returns a prefix used in the naming scheme of index aliases, templates + * and other Elasticsearch resources that this service creates + * for alerts-as-data indices. */ public getResourcePrefix(): string { - // TODO: https://github.com/elastic/kibana/issues/106432 - return this.options.index; + return INDEX_PREFIX; } /** - * Prepends a relative resource name with a full resource prefix, which - * starts with '.alerts' and can optionally include a user-defined part in it. + * Prepends a relative resource name with the resource prefix. * @returns Full name of the resource. * @example 'security.alerts' => '.alerts-security.alerts' */ @@ -106,10 +105,7 @@ export class RuleDataPluginService { ); } - const indexInfo = new IndexInfo({ - getResourceName: (name) => this.getResourceName(name), - indexOptions, - }); + const indexInfo = new IndexInfo({ indexOptions, kibanaVersion: this.options.kibanaVersion }); const indicesAssociatedWithFeature = this.indicesByFeatureId.get(indexOptions.feature) ?? []; this.indicesByFeatureId.set(indexOptions.feature, [...indicesAssociatedWithFeature, indexInfo]); diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts index abdffd2aa03cc..a3e830d6e0b2f 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts @@ -35,6 +35,7 @@ import { EVENT_KIND, SPACE_IDS, TIMESTAMP, + VERSION, } from '../../common/technical_rule_data_field_names'; import { IRuleDataClient } from '../rule_data_client'; import { AlertExecutorOptionsWithExtraServices } from '../types'; @@ -250,6 +251,7 @@ export const createLifecycleExecutor = ( [EVENT_KIND]: 'signal', [ALERT_RULE_CONSUMER]: rule.consumer, [ALERT_ID]: alertId, + [VERSION]: ruleDataClient.kibanaVersion, } as ParsedTechnicalFields; const isNew = !state.trackedAlerts[alertId]; diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts index 7d798effcb9e5..71a0dee5deac7 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts @@ -203,6 +203,7 @@ describe('createLifecycleRuleTypeFactory', () => { "kibana.space_ids": Array [ "spaceId", ], + "kibana.version": "7.16.0", "service.name": "opbeans-java", "tags": Array [ "tags", @@ -226,6 +227,7 @@ describe('createLifecycleRuleTypeFactory', () => { "kibana.space_ids": Array [ "spaceId", ], + "kibana.version": "7.16.0", "service.name": "opbeans-node", "tags": Array [ "tags", diff --git a/x-pack/plugins/rule_registry/server/utils/create_persistence_rule_type_factory.ts b/x-pack/plugins/rule_registry/server/utils/create_persistence_rule_type_factory.ts index caf14e8ba3000..30e17f1afca54 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_persistence_rule_type_factory.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_persistence_rule_type_factory.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { ALERT_ID } from '@kbn/rule-data-utils'; +import { ALERT_ID, VERSION } from '@kbn/rule-data-utils'; import { CreatePersistenceRuleTypeFactory } from './persistence_types'; export const createPersistenceRuleTypeFactory: CreatePersistenceRuleTypeFactory = ({ @@ -28,8 +28,9 @@ export const createPersistenceRuleTypeFactory: CreatePersistenceRuleTypeFactory body: alerts.flatMap((event) => [ { index: {} }, { - [ALERT_ID]: event.id, ...event.fields, + [ALERT_ID]: event.id, + [VERSION]: ruleDataClient.kibanaVersion, }, ]), refresh, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_registry_adapter/rule_registry_log_client/rule_registry_log_client.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_registry_adapter/rule_registry_log_client/rule_registry_log_client.ts index fd78cac641a46..f0da8dad16ab0 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_registry_adapter/rule_registry_log_client/rule_registry_log_client.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_registry_adapter/rule_registry_log_client/rule_registry_log_client.ts @@ -82,13 +82,9 @@ export class RuleRegistryLogClient implements IRuleRegistryLogClient { componentTemplates: [ { name: 'mappings', - version: 0, mappings: mappingFromFieldMap(ruleExecutionFieldMap, 'strict'), }, ], - indexTemplate: { - version: 0, - }, }); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/__mocks__/rule_type.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/__mocks__/rule_type.ts index 3c28551a71deb..1a8389d450ab3 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/__mocks__/rule_type.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/__mocks__/rule_type.ts @@ -12,12 +12,12 @@ import { Logger, SavedObject } from 'kibana/server'; import { elasticsearchServiceMock, savedObjectsClientMock } from 'src/core/server/mocks'; import type { IRuleDataClient } from '../../../../../../rule_registry/server'; +import { ruleRegistryMocks } from '../../../../../../rule_registry/server/mocks'; import { PluginSetupContract as AlertingPluginSetupContract } from '../../../../../../alerting/server'; import { ConfigType } from '../../../../config'; import { AlertAttributes } from '../../signals/types'; import { createRuleMock } from './rule'; import { listMock } from '../../../../../../lists/server/mocks'; -import { ruleRegistryMocks } from '../../../../../../rule_registry/server/mocks'; import { RuleParams } from '../../schemas/rule_schemas'; export const createRuleTypeMocks = ( @@ -81,16 +81,9 @@ export const createRuleTypeMocks = ( config$: mockedConfig$, lists: listMock.createSetup(), logger: loggerMock, - ruleDataClient: ({ - getReader: jest.fn(() => ({ - search: jest.fn(), - })), - getWriter: jest.fn(() => ({ - bulk: jest.fn(), - })), - isWriteEnabled: jest.fn(() => true), - indexName: '.alerts-security.alerts', - } as unknown) as IRuleDataClient, + ruleDataClient: ruleRegistryMocks.createRuleDataClient( + '.alerts-security.alerts' + ) as IRuleDataClient, ruleDataService: ruleRegistryMocks.createRuleDataPluginService(), }, services, diff --git a/x-pack/plugins/security_solution/server/plugin.ts b/x-pack/plugins/security_solution/server/plugin.ts index e5c837293e2a8..0b803b9990701 100644 --- a/x-pack/plugins/security_solution/server/plugin.ts +++ b/x-pack/plugins/security_solution/server/plugin.ts @@ -233,16 +233,12 @@ export class Plugin implements IPlugin { - return { - search: jest.fn(), - }; - }, - getWriter: () => { - return { - bulk: jest.fn(), - }; - }, - isWriteEnabled: jest.fn(() => true), - indexName: '.alerts-observability.uptime.alerts', - } as unknown) as IRuleDataClient, + ruleDataClient: ruleRegistryMocks.createRuleDataClient( + '.alerts-observability.uptime.alerts' + ) as IRuleDataClient, }, services, scheduleActions, diff --git a/x-pack/plugins/uptime/server/plugin.ts b/x-pack/plugins/uptime/server/plugin.ts index a201eddc45345..736cbed51084c 100644 --- a/x-pack/plugins/uptime/server/plugin.ts +++ b/x-pack/plugins/uptime/server/plugin.ts @@ -43,13 +43,9 @@ export class Plugin implements PluginType { componentTemplates: [ { name: 'mappings', - version: 0, mappings: mappingFromFieldMap(uptimeRuleFieldMap, 'strict'), }, ], - indexTemplate: { - version: 0, - }, }); initServerWithKibana( diff --git a/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts b/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts index 6bc4260de77be..3390ef23f993f 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts @@ -14,6 +14,7 @@ import { ALERT_STATUS, ALERT_UUID, EVENT_KIND, + VERSION, } from '@kbn/rule-data-utils'; import { merge, omit } from 'lodash'; import { FtrProviderContext } from '../../common/ftr_provider_context'; @@ -376,7 +377,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { any >; - const exclude = ['@timestamp', ALERT_START, ALERT_UUID, ALERT_RULE_UUID]; + const exclude = ['@timestamp', ALERT_START, ALERT_UUID, ALERT_RULE_UUID, VERSION]; const toCompare = omit(alertEvent, exclude); From 27af6ef068ff3cb447cb3e2bc9fdc7d4a4b409e0 Mon Sep 17 00:00:00 2001 From: Steph Milovic Date: Wed, 25 Aug 2021 12:49:19 -0600 Subject: [PATCH 044/139] [Security Solution] Bugfix for disable state of External Alert context menu (#109914) --- .../timeline/body/actions/index.test.tsx | 201 ++++++++++-------- .../timeline/body/actions/index.tsx | 22 +- .../components/timeline/body/helpers.tsx | 2 - .../common/types/timeline/actions/index.ts | 26 +-- 4 files changed, 144 insertions(+), 107 deletions(-) diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx index b982c2240ac7c..cad6648cd1f38 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.test.tsx @@ -10,16 +10,24 @@ import React from 'react'; import { TestProviders, mockTimelineModel, mockTimelineData } from '../../../../../common/mock'; import { Actions } from '.'; -import { useShallowEqualSelector } from '../../../../../common/hooks/use_selector'; -import { useIsExperimentalFeatureEnabled } from '../../../../../common/hooks/use_experimental_features'; import { mockTimelines } from '../../../../../common/mock/mock_timelines_plugin'; - -jest.mock('../../../../../common/hooks/use_experimental_features'); -const useIsExperimentalFeatureEnabledMock = useIsExperimentalFeatureEnabled as jest.Mock; - +import { useIsExperimentalFeatureEnabled } from '../../../../../common/hooks/use_experimental_features'; +jest.mock('../../../../../common/hooks/use_experimental_features', () => ({ + useIsExperimentalFeatureEnabled: jest.fn().mockReturnValue(false), +})); jest.mock('../../../../../common/hooks/use_selector', () => ({ - useShallowEqualSelector: jest.fn(), + useShallowEqualSelector: jest.fn().mockReturnValue(mockTimelineModel), })); +jest.mock( + '../../../../../detections/components/alerts_table/timeline_actions/use_investigate_in_timeline', + () => ({ + useInvestigateInTimeline: jest.fn().mockReturnValue({ + investigateInTimelineActionItems: [], + investigateInTimelineAlertClick: jest.fn(), + showInvestigateInTimelineAction: false, + }), + }) +); jest.mock('@kbn/alerts', () => ({ useGetUserAlertsPermissions: () => ({ @@ -56,38 +64,35 @@ jest.mock('../../../../../common/lib/kibana', () => ({ useGetUserCasesPermissions: jest.fn(), })); -describe('Actions', () => { - beforeEach(() => { - (useShallowEqualSelector as jest.Mock).mockReturnValue(mockTimelineModel); - useIsExperimentalFeatureEnabledMock.mockReturnValue(false); - }); +const defaultProps = { + ariaRowindex: 2, + checked: false, + columnId: '', + columnValues: 'abc def', + data: mockTimelineData[0].data, + ecsData: mockTimelineData[0].ecs, + eventId: 'abc', + eventIdToNoteIds: {}, + index: 2, + isEventPinned: false, + loadingEventIds: [], + onEventDetailsPanelOpened: () => {}, + onRowSelected: () => {}, + refetch: () => {}, + rowIndex: 10, + setEventsDeleted: () => {}, + setEventsLoading: () => {}, + showCheckboxes: true, + showNotes: false, + timelineId: 'test', + toggleShowNotes: () => {}, +}; +describe('Actions', () => { test('it renders a checkbox for selecting the event when `showCheckboxes` is `true`', () => { const wrapper = mount( - + ); @@ -97,29 +102,7 @@ describe('Actions', () => { test('it does NOT render a checkbox for selecting the event when `showCheckboxes` is `false`', () => { const wrapper = mount( - + ); @@ -127,36 +110,88 @@ describe('Actions', () => { }); test('it does NOT render a checkbox for selecting the event when `tGridEnabled` is `true`', () => { - useIsExperimentalFeatureEnabledMock.mockReturnValue(true); - + (useIsExperimentalFeatureEnabled as jest.Mock).mockReturnValue(true); const wrapper = mount( - + ); expect(wrapper.find('[data-test-subj="select-event"]').exists()).toBe(false); }); + describe('Alert context menu enabled?', () => { + test('it disables for eventType=raw', () => { + const wrapper = mount( + + + + ); + + expect( + wrapper.find('[data-test-subj="timeline-context-menu-button"]').first().prop('isDisabled') + ).toBe(true); + }); + test('it enables for eventType=signal', () => { + const ecsData = { + ...mockTimelineData[0].ecs, + signal: { rule: { id: ['123'] } }, + }; + const wrapper = mount( + + + + ); + + expect( + wrapper.find('[data-test-subj="timeline-context-menu-button"]').first().prop('isDisabled') + ).toBe(false); + }); + test('it disables for event.kind: undefined and agent.type: endpoint', () => { + const ecsData = { + ...mockTimelineData[0].ecs, + agent: { type: ['endpoint'] }, + }; + const wrapper = mount( + + + + ); + + expect( + wrapper.find('[data-test-subj="timeline-context-menu-button"]').first().prop('isDisabled') + ).toBe(true); + }); + test('it enables for event.kind: event and agent.type: endpoint', () => { + const ecsData = { + ...mockTimelineData[0].ecs, + event: { kind: ['event'] }, + agent: { type: ['endpoint'] }, + }; + const wrapper = mount( + + + + ); + + expect( + wrapper.find('[data-test-subj="timeline-context-menu-button"]').first().prop('isDisabled') + ).toBe(false); + }); + test('it enables for event.kind: alert and agent.type: endpoint', () => { + const ecsData = { + ...mockTimelineData[0].ecs, + event: { kind: ['alert'] }, + agent: { type: ['endpoint'] }, + }; + const wrapper = mount( + + + + ); + + expect( + wrapper.find('[data-test-subj="timeline-context-menu-button"]').first().prop('isDisabled') + ).toBe(false); + }); + }); }); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.tsx index c14973f91d8c3..73650bd320f32 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/actions/index.tsx @@ -15,8 +15,8 @@ import { useIsExperimentalFeatureEnabled } from '../../../../../common/hooks/use import { eventHasNotes, getEventType, getPinOnClick } from '../helpers'; import { AlertContextMenu } from '../../../../../detections/components/alerts_table/timeline_actions/alert_context_menu'; import { InvestigateInTimelineAction } from '../../../../../detections/components/alerts_table/timeline_actions/investigate_in_timeline_action'; -import { AddEventNoteAction } from '../actions/add_note_icon_item'; -import { PinEventAction } from '../actions/pin_event_action'; +import { AddEventNoteAction } from './add_note_icon_item'; +import { PinEventAction } from './pin_event_action'; import { EventsTdContent } from '../../styles'; import * as i18n from '../translations'; import { DEFAULT_ICON_BUTTON_WIDTH } from '../../helpers'; @@ -32,21 +32,20 @@ const ActionsContainer = styled.div` const ActionsComponent: React.FC = ({ ariaRowindex, - width, checked, columnValues, - eventId, data, ecsData, + eventId, eventIdToNoteIds, isEventPinned = false, isEventViewer = false, loadingEventIds, onEventDetailsPanelOpened, onRowSelected, + onRuleChange, refetch, showCheckboxes, - onRuleChange, showNotes, timelineId, toggleShowNotes, @@ -91,9 +90,14 @@ const ActionsComponent: React.FC = ({ ); const eventType = getEventType(ecsData); - const isEventContextMenuEnabledForEndpoint = useMemo( - () => ecsData.event?.kind?.includes('event') && ecsData.agent?.type?.includes('endpoint'), - [ecsData.event?.kind, ecsData.agent?.type] + const isContextMenuDisabled = useMemo( + () => + eventType !== 'signal' && + !( + (ecsData.event?.kind?.includes('event') || ecsData.event?.kind?.includes('alert')) && + ecsData.agent?.type?.includes('endpoint') + ), + [eventType, ecsData.event?.kind, ecsData.agent?.type] ); return ( @@ -163,7 +167,7 @@ const ActionsComponent: React.FC = ({ key="alert-context-menu" ecsRowData={ecsData} timelineId={timelineId} - disabled={eventType !== 'signal' && !isEventContextMenuEnabledForEndpoint} + disabled={isContextMenuDisabled} refetch={refetch ?? noop} onRuleChange={onRuleChange} /> diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/helpers.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/helpers.tsx index 8ddea99cddaa0..5b993110d38b5 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/helpers.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/helpers.tsx @@ -125,6 +125,4 @@ export const getEventType = (event: Ecs): Omit => { export const ROW_RENDERER_CLASS_NAME = 'row-renderer'; -export const NOTES_CONTAINER_CLASS_NAME = 'notes-container'; - export const NOTE_CONTENT_CLASS_NAME = 'note-content'; diff --git a/x-pack/plugins/timelines/common/types/timeline/actions/index.ts b/x-pack/plugins/timelines/common/types/timeline/actions/index.ts index e8ba2718df69b..281a1fcc91799 100644 --- a/x-pack/plugins/timelines/common/types/timeline/actions/index.ts +++ b/x-pack/plugins/timelines/common/types/timeline/actions/index.ts @@ -14,33 +14,33 @@ import { TimelineNonEcsData } from '../../../search_strategy'; import { Ecs } from '../../../ecs'; export interface ActionProps { - ariaRowindex: number; action?: RowCellRender; - width?: number; + ariaRowindex: number; + checked: boolean; columnId: string; columnValues: string; - checked: boolean; - disabled?: boolean; - onRowSelected: OnRowSelected; - eventId: string; - loadingEventIds: Readonly; - onEventDetailsPanelOpened: () => void; - showCheckboxes: boolean; data: TimelineNonEcsData[]; + disabled?: boolean; ecsData: Ecs; - index: number; + eventId: string; eventIdToNoteIds?: Readonly>; + index: number; isEventPinned?: boolean; isEventViewer?: boolean; + loadingEventIds: Readonly; + onEventDetailsPanelOpened: () => void; + onRowSelected: OnRowSelected; + onRuleChange?: () => void; + refetch?: () => void; rowIndex: number; - setEventsLoading: SetEventsLoading; setEventsDeleted: SetEventsDeleted; - refetch?: () => void; - onRuleChange?: () => void; + setEventsLoading: SetEventsLoading; + showCheckboxes: boolean; showNotes?: boolean; tabType?: TimelineTabs; timelineId: string; toggleShowNotes?: () => void; + width?: number; } export type SetEventsLoading = (params: { eventIds: string[]; isLoading: boolean }) => void; From 4f6ece9237b8a52cfd183cdf53048d2e7b66cefb Mon Sep 17 00:00:00 2001 From: Tim Sullivan Date: Wed, 25 Aug 2021 12:29:30 -0700 Subject: [PATCH 045/139] [Reporting] Add SavedReport class (#109568) * [Reporting] Add SavedReport class * add unit test Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../reporting/server/lib/store/index.ts | 1 + .../reporting/server/lib/store/report.ts | 3 +- .../server/lib/store/saved_report.test.ts | 46 +++++++++++++++ .../server/lib/store/saved_report.ts | 42 +++++++++++++ .../reporting/server/lib/store/store.test.ts | 25 ++++---- .../reporting/server/lib/store/store.ts | 59 +++++++------------ .../server/lib/tasks/execute_report.ts | 47 ++++++++------- .../reporting/server/lib/tasks/index.ts | 6 +- .../server/lib/tasks/monitor_reports.ts | 4 +- 9 files changed, 149 insertions(+), 84 deletions(-) create mode 100644 x-pack/plugins/reporting/server/lib/store/saved_report.test.ts create mode 100644 x-pack/plugins/reporting/server/lib/store/saved_report.ts diff --git a/x-pack/plugins/reporting/server/lib/store/index.ts b/x-pack/plugins/reporting/server/lib/store/index.ts index 888918abbc344..9ba8d44f19e65 100644 --- a/x-pack/plugins/reporting/server/lib/store/index.ts +++ b/x-pack/plugins/reporting/server/lib/store/index.ts @@ -7,5 +7,6 @@ export { ReportDocument } from '../../../common/types'; export { Report } from './report'; +export { SavedReport } from './saved_report'; export { ReportingStore } from './store'; export { IlmPolicyManager } from './ilm_policy_manager'; diff --git a/x-pack/plugins/reporting/server/lib/store/report.ts b/x-pack/plugins/reporting/server/lib/store/report.ts index bb0fd90f576e3..d45cb7cd39947 100644 --- a/x-pack/plugins/reporting/server/lib/store/report.ts +++ b/x-pack/plugins/reporting/server/lib/store/report.ts @@ -24,8 +24,7 @@ const puid = new Puid(); export const MIGRATION_VERSION = '7.14.0'; /* - * The public fields are a flattened version what Elasticsearch returns when you - * `GET` a document. + * Class for an ephemeral report document: possibly is not saved in Elasticsearch */ export class Report implements Partial { public _index?: string; diff --git a/x-pack/plugins/reporting/server/lib/store/saved_report.test.ts b/x-pack/plugins/reporting/server/lib/store/saved_report.test.ts new file mode 100644 index 0000000000000..c8b2abda88c79 --- /dev/null +++ b/x-pack/plugins/reporting/server/lib/store/saved_report.test.ts @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedReport } from './'; + +test('SavedReport should succeed if report has ES document fields present', () => { + const createInstance = () => { + return new SavedReport({ + _id: '290357209345723095', + _index: '.reporting-fantastic', + _seq_no: 23, + _primary_term: 354000, + jobtype: 'cool-report', + payload: { + headers: '', + title: '', + browserTimezone: '', + objectType: '', + version: '', + }, + }); + }; + expect(createInstance).not.toThrow(); +}); + +test('SavedReport should throw an error if report is missing ES document fields', () => { + const createInstance = () => { + return new SavedReport({ + jobtype: 'cool-report', + payload: { + headers: '', + title: '', + browserTimezone: '', + objectType: '', + version: '', + }, + }); + }; + expect(createInstance).toThrowErrorMatchingInlineSnapshot( + `"Report is not editable: Job [undefined/undefined] is not synced with ES!"` + ); +}); diff --git a/x-pack/plugins/reporting/server/lib/store/saved_report.ts b/x-pack/plugins/reporting/server/lib/store/saved_report.ts new file mode 100644 index 0000000000000..0c3621d995d7f --- /dev/null +++ b/x-pack/plugins/reporting/server/lib/store/saved_report.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ReportDocumentHead, ReportSource } from '../../../common/types'; +import { Report } from './'; + +/* + * Class for a report document that is saved in Elasticsearch + */ +export class SavedReport extends Report { + public _index: string; + public _id: string; + public _primary_term: number; + public _seq_no: number; + + constructor(opts: Partial & Partial) { + super(opts); + + if (opts._id == null || opts._index == null) { + throw new Error( + `Report is not editable: Job [${opts._id}/${opts._index}] is not synced with ES!` + ); + } + + if (opts._seq_no == null || opts._primary_term == null) { + throw new Error( + `Report is not editable: Job [${opts._id}] is missing _seq_no and _primary_term fields!` + ); + } + + const { _id, _index, _seq_no, _primary_term } = opts; + + this._id = _id; + this._index = _index; + this._primary_term = _primary_term; + this._seq_no = _seq_no; + } +} diff --git a/x-pack/plugins/reporting/server/lib/store/store.test.ts b/x-pack/plugins/reporting/server/lib/store/store.test.ts index 9bb9c8a113d3e..8c6cb4dcdd7d6 100644 --- a/x-pack/plugins/reporting/server/lib/store/store.test.ts +++ b/x-pack/plugins/reporting/server/lib/store/store.test.ts @@ -14,8 +14,7 @@ import { createMockLevelLogger, createMockReportingCore, } from '../../test_helpers'; -import { Report, ReportDocument } from './report'; -import { ReportingStore } from './store'; +import { Report, ReportDocument, ReportingStore, SavedReport } from './'; const { createApiResponse } = elasticsearchServiceMock; @@ -177,7 +176,7 @@ describe('ReportingStore', () => { }); }); - it('findReport gets a report from ES and returns a Report object', async () => { + it('findReport gets a report from ES and returns a SavedReport object', async () => { // setup const mockReport: ReportDocument = { _id: '1234-foo-78', @@ -209,7 +208,7 @@ describe('ReportingStore', () => { }); expect(await store.findReportFromTask(report.toReportTaskJSON())).toMatchInlineSnapshot(` - Report { + SavedReport { "_id": "1234-foo-78", "_index": ".reporting-test-17409", "_primary_term": 1234, @@ -239,9 +238,9 @@ describe('ReportingStore', () => { `); }); - it('setReportClaimed sets the status of a record to processing', async () => { + it('setReportClaimed sets the status of a saved report to processing', async () => { const store = new ReportingStore(mockCore, mockLogger); - const report = new Report({ + const report = new SavedReport({ _id: 'id-of-processing', _index: '.reporting-test-index-12345', _seq_no: 42, @@ -270,9 +269,9 @@ describe('ReportingStore', () => { expect(updateCall.if_primary_term).toBe(10002); }); - it('setReportFailed sets the status of a record to failed', async () => { + it('setReportFailed sets the status of a saved report to failed', async () => { const store = new ReportingStore(mockCore, mockLogger); - const report = new Report({ + const report = new SavedReport({ _id: 'id-of-failure', _index: '.reporting-test-index-12345', _seq_no: 43, @@ -301,9 +300,9 @@ describe('ReportingStore', () => { expect(updateCall.if_primary_term).toBe(10002); }); - it('setReportCompleted sets the status of a record to completed', async () => { + it('setReportCompleted sets the status of a saved report to completed', async () => { const store = new ReportingStore(mockCore, mockLogger); - const report = new Report({ + const report = new SavedReport({ _id: 'vastly-great-report-id', _index: '.reporting-test-index-12345', _seq_no: 44, @@ -332,9 +331,9 @@ describe('ReportingStore', () => { expect(updateCall.if_primary_term).toBe(10002); }); - it('sets the status of a record to completed_with_warnings', async () => { + it('sets the status of a saved report to completed_with_warnings', async () => { const store = new ReportingStore(mockCore, mockLogger); - const report = new Report({ + const report = new SavedReport({ _id: 'vastly-great-report-id', _index: '.reporting-test-index-12345', _seq_no: 45, @@ -378,7 +377,7 @@ describe('ReportingStore', () => { it('prepareReportForRetry resets the expiration and status on the report document', async () => { const store = new ReportingStore(mockCore, mockLogger); - const report = new Report({ + const report = new SavedReport({ _id: 'pretty-good-report-id', _index: '.reporting-test-index-94058763', _seq_no: 46, diff --git a/x-pack/plugins/reporting/server/lib/store/store.ts b/x-pack/plugins/reporting/server/lib/store/store.ts index da6460aa6a2a7..d49337391ca40 100644 --- a/x-pack/plugins/reporting/server/lib/store/store.ts +++ b/x-pack/plugins/reporting/server/lib/store/store.ts @@ -9,16 +9,14 @@ import { IndexResponse, UpdateResponse } from '@elastic/elasticsearch/api/types' import { ElasticsearchClient } from 'src/core/server'; import { LevelLogger, statuses } from '../'; import { ReportingCore } from '../../'; -import { JobStatus, ReportOutput } from '../../../common/types'; - import { ILM_POLICY_NAME } from '../../../common/constants'; - +import { JobStatus, ReportOutput, ReportSource } from '../../../common/types'; import { ReportTaskParams } from '../tasks'; - -import { MIGRATION_VERSION, Report, ReportDocument, ReportSource } from './report'; +import { Report, ReportDocument, SavedReport } from './'; +import { IlmPolicyManager } from './ilm_policy_manager'; import { indexTimestamp } from './index_timestamp'; import { mapping } from './mapping'; -import { IlmPolicyManager } from './ilm_policy_manager'; +import { MIGRATION_VERSION } from './report'; /* * When an instance of Kibana claims a report job, this information tells us about that instance @@ -56,18 +54,6 @@ export interface ReportRecordTimeout { }; } -const checkReportIsEditable = (report: Report) => { - const { _id, _index, _seq_no, _primary_term } = report; - if (_id == null || _index == null) { - throw new Error(`Report is not editable: Job [${_id}] is not synced with ES!`); - } - - if (_seq_no == null || _primary_term == null) { - throw new Error( - `Report is not editable: Job [${_id}] is missing _seq_no and _primary_term fields!` - ); - } -}; /* * When searching for long-pending reports, we get a subset of fields */ @@ -215,7 +201,7 @@ export class ReportingStore { } } - public async addReport(report: Report): Promise { + public async addReport(report: Report): Promise { let index = report._index; if (!index) { const timestamp = indexTimestamp(this.indexInterval); @@ -229,7 +215,7 @@ export class ReportingStore { await this.refreshIndex(index); - return report; + return report as SavedReport; } catch (err) { this.logger.error(`Error in adding a report!`); this.logger.error(err); @@ -242,10 +228,15 @@ export class ReportingStore { */ public async findReportFromTask( taskJson: Pick - ): Promise { + ): Promise { if (!taskJson.index) { throw new Error('Task JSON is missing index field!'); } + if (!taskJson.id || !taskJson.index) { + const notRetrievable = new Error(`Unable to retrieve pending report: Invalid report ID!`); + this.logger.error(notRetrievable); // for stack trace + throw notRetrievable; + } try { const client = await this.getClient(); @@ -254,7 +245,7 @@ export class ReportingStore { id: taskJson.id, }); - return new Report({ + return new SavedReport({ _id: document._id, _index: document._index, _seq_no: document._seq_no, @@ -282,7 +273,7 @@ export class ReportingStore { } public async setReportClaimed( - report: Report, + report: SavedReport, processingInfo: ReportProcessingFields ): Promise> { const doc = sourceDoc({ @@ -291,12 +282,10 @@ export class ReportingStore { }); try { - checkReportIsEditable(report); - const client = await this.getClient(); const { body } = await client.update({ id: report._id, - index: report._index!, + index: report._index, if_seq_no: report._seq_no, if_primary_term: report._primary_term, refresh: true, @@ -314,7 +303,7 @@ export class ReportingStore { } public async setReportFailed( - report: Report, + report: SavedReport, failedInfo: ReportFailedFields ): Promise> { const doc = sourceDoc({ @@ -323,12 +312,10 @@ export class ReportingStore { }); try { - checkReportIsEditable(report); - const client = await this.getClient(); const { body } = await client.update({ id: report._id, - index: report._index!, + index: report._index, if_seq_no: report._seq_no, if_primary_term: report._primary_term, refresh: true, @@ -343,7 +330,7 @@ export class ReportingStore { } public async setReportCompleted( - report: Report, + report: SavedReport, completedInfo: ReportCompletedFields ): Promise> { const { output } = completedInfo; @@ -357,12 +344,10 @@ export class ReportingStore { } as ReportSource); try { - checkReportIsEditable(report); - const client = await this.getClient(); const { body } = await client.update({ id: report._id, - index: report._index!, + index: report._index, if_seq_no: report._seq_no, if_primary_term: report._primary_term, refresh: true, @@ -376,19 +361,17 @@ export class ReportingStore { } } - public async prepareReportForRetry(report: Report): Promise> { + public async prepareReportForRetry(report: SavedReport): Promise> { const doc = sourceDoc({ status: statuses.JOB_STATUS_PENDING, process_expiration: null, }); try { - checkReportIsEditable(report); - const client = await this.getClient(); const { body } = await client.update({ id: report._id, - index: report._index!, + index: report._index, if_seq_no: report._seq_no, if_primary_term: report._primary_term, refresh: true, diff --git a/x-pack/plugins/reporting/server/lib/tasks/execute_report.ts b/x-pack/plugins/reporting/server/lib/tasks/execute_report.ts index 890312619e4a2..0602c45b8016a 100644 --- a/x-pack/plugins/reporting/server/lib/tasks/execute_report.ts +++ b/x-pack/plugins/reporting/server/lib/tasks/execute_report.ts @@ -5,13 +5,13 @@ * 2.0. */ -import { Writable, finished } from 'stream'; -import { promisify } from 'util'; import { UpdateResponse } from '@elastic/elasticsearch/api/types'; import moment from 'moment'; import * as Rx from 'rxjs'; import { timeout } from 'rxjs/operators'; -import { LevelLogger, getContentStream } from '../'; +import { finished, Writable } from 'stream'; +import { promisify } from 'util'; +import { getContentStream, LevelLogger } from '../'; import { ReportingCore } from '../../'; import { RunContext, @@ -19,11 +19,11 @@ import { TaskRunCreatorFunction, } from '../../../../task_manager/server'; import { CancellationToken } from '../../../common'; -import { ReportOutput } from '../../../common/types'; import { durationToNumber, numberToDuration } from '../../../common/schema_utils'; +import { ReportOutput } from '../../../common/types'; import { ReportingConfigType } from '../../config'; import { BasePayload, RunTaskFn } from '../../types'; -import { Report, ReportDocument, ReportingStore } from '../store'; +import { Report, ReportDocument, ReportingStore, SavedReport } from '../store'; import { ReportFailedFields, ReportProcessingFields } from '../store/store'; import { ReportingTask, @@ -113,7 +113,7 @@ export class ExecuteReportTask implements ReportingTask { return this.taskManagerStart; } - public async _claimJob(task: ReportTaskParams): Promise { + public async _claimJob(task: ReportTaskParams): Promise { if (this.kibanaId == null) { throw new Error(`Kibana instance ID is undefined!`); } @@ -122,14 +122,7 @@ export class ExecuteReportTask implements ReportingTask { } const store = await this.getStore(); - let report: Report; - if (task.id && task.index) { - // if this is an ad-hoc report, there is a corresponding "pending" record in ReportingStore in need of updating - report = await store.findReportFromTask(task); // receives seq_no and primary_term - } else { - // if this is a scheduled report (not implemented), the report object needs to be instantiated - throw new Error('Could not find matching report document!'); - } + const report = await store.findReportFromTask(task); // receives seq_no and primary_term // Check if this is a completed job. This may happen if the `reports:monitor` // task detected it to be a zombie job and rescheduled it, but it @@ -163,7 +156,7 @@ export class ExecuteReportTask implements ReportingTask { process_expiration: expirationTime, }; - const claimedReport = new Report({ + const claimedReport = new SavedReport({ ...report, ...doc, }); @@ -183,7 +176,10 @@ export class ExecuteReportTask implements ReportingTask { return claimedReport; } - private async _failJob(report: Report, error?: Error): Promise> { + private async _failJob( + report: SavedReport, + error?: Error + ): Promise> { const message = `Failing ${report.jobtype} job ${report._id}`; // log the error @@ -250,7 +246,10 @@ export class ExecuteReportTask implements ReportingTask { .toPromise(); } - public async _completeJob(report: Report, output: CompletedReportOutput): Promise { + public async _completeJob( + report: SavedReport, + output: CompletedReportOutput + ): Promise { let docId = `/${report._index}/_doc/${report._id}`; this.logger.debug(`Saving ${report.jobtype} to ${docId}.`); @@ -277,7 +276,7 @@ export class ExecuteReportTask implements ReportingTask { private getTaskRunner(): TaskRunCreatorFunction { // Keep a separate local stack for each task run return (context: RunContext) => { - let jobId: string | undefined; + let jobId: string; const cancellationToken = new CancellationToken(); return { @@ -289,7 +288,7 @@ export class ExecuteReportTask implements ReportingTask { * If any error happens, additional retry attempts may be picked up by a separate instance */ run: async () => { - let report: Report | undefined; + let report: SavedReport | undefined; // find the job in the store and set status to processing const task = context.taskInstance.params as ReportTaskParams; @@ -326,7 +325,7 @@ export class ExecuteReportTask implements ReportingTask { try { const stream = await getContentStream(this.reporting, { id: report._id, - index: report._index!, + index: report._index, if_primary_term: report._primary_term, if_seq_no: report._seq_no, }); @@ -335,8 +334,8 @@ export class ExecuteReportTask implements ReportingTask { stream.end(); await promisify(finished)(stream, { readable: false }); - report._seq_no = stream.getSeqNo(); - report._primary_term = stream.getPrimaryTerm(); + report._seq_no = stream.getSeqNo()!; + report._primary_term = stream.getPrimaryTerm()!; if (output) { this.logger.debug(`Job output size: ${stream.bytesWritten} bytes.`); @@ -422,11 +421,11 @@ export class ExecuteReportTask implements ReportingTask { }; } - public async scheduleTask(report: ReportTaskParams) { + public async scheduleTask(params: ReportTaskParams) { const taskInstance: ReportingExecuteTaskInstance = { taskType: REPORTING_EXECUTE_TYPE, state: {}, - params: report, + params, }; return await this.getTaskManagerStart().schedule(taskInstance); diff --git a/x-pack/plugins/reporting/server/lib/tasks/index.ts b/x-pack/plugins/reporting/server/lib/tasks/index.ts index 662528124e6c0..f464383c0b533 100644 --- a/x-pack/plugins/reporting/server/lib/tasks/index.ts +++ b/x-pack/plugins/reporting/server/lib/tasks/index.ts @@ -16,13 +16,9 @@ export { ExecuteReportTask } from './execute_report'; export { MonitorReportsTask } from './monitor_reports'; export { TaskRunResult }; -/* - * The document created by Reporting to store as task parameters for Task - * Manager to reference the report in .reporting - */ export interface ReportTaskParams { id: string; - index?: string; // For ad-hoc, which as an existing "pending" record + index: string; payload: JobPayloadType; created_at: ReportSource['created_at']; created_by: ReportSource['created_by']; diff --git a/x-pack/plugins/reporting/server/lib/tasks/monitor_reports.ts b/x-pack/plugins/reporting/server/lib/tasks/monitor_reports.ts index 9e1bc49739c93..ce8bb74d666c5 100644 --- a/x-pack/plugins/reporting/server/lib/tasks/monitor_reports.ts +++ b/x-pack/plugins/reporting/server/lib/tasks/monitor_reports.ts @@ -12,7 +12,7 @@ import { TaskManagerStartContract, TaskRunCreatorFunction } from '../../../../ta import { numberToDuration } from '../../../common/schema_utils'; import { ReportingConfigType } from '../../config'; import { statuses } from '../statuses'; -import { Report } from '../store'; +import { SavedReport } from '../store'; import { ReportingTask, ReportingTaskStatus, REPORTING_MONITOR_TYPE, ReportTaskParams } from './'; /* @@ -115,7 +115,7 @@ export class MonitorReportsTask implements ReportingTask { } // clear process expiration and set status to pending - const report = new Report({ ...recoveredJob, ...recoveredJob._source }); + const report = new SavedReport({ ...recoveredJob, ...recoveredJob._source }); await reportingStore.prepareReportForRetry(report); // if there is a version conflict response, this just throws and logs an error // clear process expiration and reschedule From 9eaadd90412d9ba1007a6168f3bb6c479ad4ba1a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Aug 2021 15:34:06 -0400 Subject: [PATCH 046/139] Update dependency @elastic/charts to v34.2.1 (master) (#109678) * Update dependency @elastic/charts to v34.2.1 Co-authored-by: Renovate Bot Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Marco Vettorello --- package.json | 2 +- .../__snapshots__/donut_chart.test.tsx.snap | 38 +++++++++++++++++++ yarn.lock | 8 ++-- 3 files changed, 43 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index b957f0387c554..63a5594c4842a 100644 --- a/package.json +++ b/package.json @@ -95,7 +95,7 @@ "dependencies": { "@elastic/apm-rum": "^5.9.1", "@elastic/apm-rum-react": "^1.3.1", - "@elastic/charts": "34.1.1", + "@elastic/charts": "34.2.1", "@elastic/datemath": "link:bazel-bin/packages/elastic-datemath", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@^8.0.0-canary.18", "@elastic/ems-client": "7.15.0", diff --git a/x-pack/plugins/uptime/public/components/common/charts/__snapshots__/donut_chart.test.tsx.snap b/x-pack/plugins/uptime/public/components/common/charts/__snapshots__/donut_chart.test.tsx.snap index e6e235f75c557..4526274747c09 100644 --- a/x-pack/plugins/uptime/public/components/common/charts/__snapshots__/donut_chart.test.tsx.snap +++ b/x-pack/plugins/uptime/public/components/common/charts/__snapshots__/donut_chart.test.tsx.snap @@ -194,6 +194,44 @@ exports[`DonutChart component passes correct props without errors for valid prop "visible": true, }, }, + "goal": Object { + "majorCenterLabel": Object { + "fill": "black", + "fontFamily": "sans-serif", + "fontStyle": "normal", + }, + "majorLabel": Object { + "fill": "black", + "fontFamily": "sans-serif", + "fontStyle": "normal", + }, + "maxFontSize": 64, + "minFontSize": 8, + "minorCenterLabel": Object { + "fill": "black", + "fontFamily": "sans-serif", + "fontStyle": "normal", + }, + "minorLabel": Object { + "fill": "black", + "fontFamily": "sans-serif", + "fontStyle": "normal", + }, + "progressLine": Object { + "stroke": "black", + }, + "targetLine": Object { + "stroke": "black", + }, + "tickLabel": Object { + "fill": "black", + "fontFamily": "sans-serif", + "fontStyle": "normal", + }, + "tickLine": Object { + "stroke": "darkgrey", + }, + }, "legend": Object { "horizontalHeight": 64, "labelOptions": Object { diff --git a/yarn.lock b/yarn.lock index b654e66ca06e9..93410848f708b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1389,10 +1389,10 @@ dependencies: object-hash "^1.3.0" -"@elastic/charts@34.1.1": - version "34.1.1" - resolved "https://registry.yarnpkg.com/@elastic/charts/-/charts-34.1.1.tgz#ad0a614448d7a3b28a77cc6d3a5ef5c89530ea34" - integrity sha512-9HFqjGZALURKg0uwuo0t91IMDUY1lnRTovnJJgTrE0zIkUtEIX/yL1gKJlVKLECJO6KrwIO1LcGhobtkVQkR/A== +"@elastic/charts@34.2.1": + version "34.2.1" + resolved "https://registry.yarnpkg.com/@elastic/charts/-/charts-34.2.1.tgz#90ac2a32cb47b371f5d814c9181e59aa3d55c029" + integrity sha512-C4qERgrcobaTDH2QLmdog0sM5FhWQot6QdsDTFASsSuWtj+a5Ujvex1tlBgiwcuIDP/1OY/tvWhiod8YhmAomg== dependencies: "@popperjs/core" "^2.4.0" chroma-js "^2.1.0" From 2430673d44fbb08e1a263dfc297cc38149a7338d Mon Sep 17 00:00:00 2001 From: Mikhail Shustov Date: Wed, 25 Aug 2021 22:59:30 +0300 Subject: [PATCH 047/139] convert ftr runners into TS (#110057) --- .../lib/{index.js => index.ts} | 2 +- .../lib/{run_cli.js => run_cli.ts} | 10 ++-- .../functional_tests/lib/run_elasticsearch.ts | 2 +- .../lib/{run_ftr.js => run_ftr.ts} | 41 +++++++++++---- ..._kibana_server.js => run_kibana_server.ts} | 46 ++++++++++------- .../functional_tests/{tasks.js => tasks.ts} | 50 +++++++++++-------- .../{test_helpers.js => test_helpers.ts} | 2 +- 7 files changed, 100 insertions(+), 53 deletions(-) rename packages/kbn-test/src/functional_tests/lib/{index.js => index.ts} (85%) rename packages/kbn-test/src/functional_tests/lib/{run_cli.js => run_cli.ts} (89%) rename packages/kbn-test/src/functional_tests/lib/{run_ftr.js => run_ftr.ts} (66%) rename packages/kbn-test/src/functional_tests/lib/{run_kibana_server.js => run_kibana_server.ts} (69%) rename packages/kbn-test/src/functional_tests/{tasks.js => tasks.ts} (76%) rename packages/kbn-test/src/functional_tests/{test_helpers.js => test_helpers.ts} (90%) diff --git a/packages/kbn-test/src/functional_tests/lib/index.js b/packages/kbn-test/src/functional_tests/lib/index.ts similarity index 85% rename from packages/kbn-test/src/functional_tests/lib/index.js rename to packages/kbn-test/src/functional_tests/lib/index.ts index 8581ceecdf6dc..93700a692dc81 100644 --- a/packages/kbn-test/src/functional_tests/lib/index.js +++ b/packages/kbn-test/src/functional_tests/lib/index.ts @@ -8,6 +8,6 @@ export { runKibanaServer } from './run_kibana_server'; export { runElasticsearch } from './run_elasticsearch'; -export { runFtr, hasTests, assertNoneExcluded } from './run_ftr'; +export { runFtr, hasTests, assertNoneExcluded, CreateFtrOptions, CreateFtrParams } from './run_ftr'; export { KIBANA_ROOT, KIBANA_FTR_SCRIPT, FUNCTIONAL_CONFIG_PATH, API_CONFIG_PATH } from './paths'; export { runCli } from './run_cli'; diff --git a/packages/kbn-test/src/functional_tests/lib/run_cli.js b/packages/kbn-test/src/functional_tests/lib/run_cli.ts similarity index 89% rename from packages/kbn-test/src/functional_tests/lib/run_cli.js rename to packages/kbn-test/src/functional_tests/lib/run_cli.ts index 9de9d7300531e..3e2cb50ff2e78 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_cli.js +++ b/packages/kbn-test/src/functional_tests/lib/run_cli.ts @@ -10,16 +10,18 @@ import { inspect } from 'util'; import chalk from 'chalk'; import getopts from 'getopts'; - +/* eslint-disable no-console */ export class CliError extends Error { - constructor(message, exitCode = 1) { + constructor(message: string) { super(message); - this.exitCode = exitCode; Error.captureStackTrace(this, CliError); } } -export async function runCli(getHelpText, run) { +export async function runCli( + getHelpText: () => string, + run: (options: getopts.ParsedOptions) => Promise +) { try { const userOptions = getopts(process.argv.slice(2)) || {}; if (userOptions.help) { diff --git a/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts b/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts index da83d8285a6b5..68e7a4992fcfc 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts +++ b/packages/kbn-test/src/functional_tests/lib/run_elasticsearch.ts @@ -14,7 +14,7 @@ import { createTestEsCluster } from '../../es'; interface RunElasticsearchOptions { log: ToolingLog; - esFrom: string; + esFrom?: string; } export async function runElasticsearch({ config, diff --git a/packages/kbn-test/src/functional_tests/lib/run_ftr.js b/packages/kbn-test/src/functional_tests/lib/run_ftr.ts similarity index 66% rename from packages/kbn-test/src/functional_tests/lib/run_ftr.js rename to packages/kbn-test/src/functional_tests/lib/run_ftr.ts index 40937b8b4fc2d..f9e109928ddc0 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_ftr.js +++ b/packages/kbn-test/src/functional_tests/lib/run_ftr.ts @@ -5,14 +5,37 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ - +import type { ToolingLog } from '@kbn/dev-utils'; import { FunctionalTestRunner, readConfigFile } from '../../functional_test_runner'; import { CliError } from './run_cli'; +export interface CreateFtrOptions { + /** installation dir from which to run Kibana */ + installDir: string; + log: ToolingLog; + /** Whether to exit test run at the first failure */ + bail?: boolean; + grep: string; + updateBaselines?: boolean; + suiteFiles?: { + include?: string[]; + exclude?: string[]; + }; + suiteTags?: { + include?: string[]; + exclude?: string[]; + }; + updateSnapshots?: boolean; +} + +export interface CreateFtrParams { + configPath: string; + options: CreateFtrOptions; +} async function createFtr({ configPath, options: { installDir, log, bail, grep, updateBaselines, suiteFiles, suiteTags, updateSnapshots }, -}) { +}: CreateFtrParams) { const config = await readConfigFile(log, configPath); return { @@ -28,18 +51,18 @@ async function createFtr({ updateBaselines, updateSnapshots, suiteFiles: { - include: [...suiteFiles.include, ...config.get('suiteFiles.include')], - exclude: [...suiteFiles.exclude, ...config.get('suiteFiles.exclude')], + include: [...(suiteFiles?.include || []), ...config.get('suiteFiles.include')], + exclude: [...(suiteFiles?.exclude || []), ...config.get('suiteFiles.exclude')], }, suiteTags: { - include: [...suiteTags.include, ...config.get('suiteTags.include')], - exclude: [...suiteTags.exclude, ...config.get('suiteTags.exclude')], + include: [...(suiteTags?.include || []), ...config.get('suiteTags.include')], + exclude: [...(suiteTags?.exclude || []), ...config.get('suiteTags.exclude')], }, }), }; } -export async function assertNoneExcluded({ configPath, options }) { +export async function assertNoneExcluded({ configPath, options }: CreateFtrParams) { const { config, ftr } = await createFtr({ configPath, options }); if (config.get('testRunner')) { @@ -61,7 +84,7 @@ export async function assertNoneExcluded({ configPath, options }) { } } -export async function runFtr({ configPath, options }) { +export async function runFtr({ configPath, options }: CreateFtrParams) { const { ftr } = await createFtr({ configPath, options }); const failureCount = await ftr.run(); @@ -72,7 +95,7 @@ export async function runFtr({ configPath, options }) { } } -export async function hasTests({ configPath, options }) { +export async function hasTests({ configPath, options }: CreateFtrParams) { const { ftr, config } = await createFtr({ configPath, options }); if (config.get('testRunner')) { diff --git a/packages/kbn-test/src/functional_tests/lib/run_kibana_server.js b/packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts similarity index 69% rename from packages/kbn-test/src/functional_tests/lib/run_kibana_server.js rename to packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts index 6f91304fffa27..6305e522b3929 100644 --- a/packages/kbn-test/src/functional_tests/lib/run_kibana_server.js +++ b/packages/kbn-test/src/functional_tests/lib/run_kibana_server.ts @@ -5,11 +5,12 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ - +import type { ProcRunner } from '@kbn/dev-utils'; import { resolve, relative } from 'path'; import { KIBANA_ROOT, KIBANA_EXEC, KIBANA_EXEC_PATH } from './paths'; +import type { Config } from '../../functional_test_runner'; -function extendNodeOptions(installDir) { +function extendNodeOptions(installDir?: string) { if (!installDir) { return {}; } @@ -26,7 +27,15 @@ function extendNodeOptions(installDir) { }; } -export async function runKibanaServer({ procs, config, options }) { +export async function runKibanaServer({ + procs, + config, + options, +}: { + procs: ProcRunner; + config: Config; + options: { installDir?: string; extraKbnOpts?: string[] }; +}) { const { installDir } = options; const runOptions = config.get('kbnTestServer.runOptions'); const env = config.get('kbnTestServer.env'); @@ -45,7 +54,7 @@ export async function runKibanaServer({ procs, config, options }) { }); } -function getKibanaCmd(installDir) { +function getKibanaCmd(installDir?: string) { if (installDir) { return process.platform.startsWith('win') ? resolve(installDir, 'bin/kibana.bat') @@ -61,14 +70,17 @@ function getKibanaCmd(installDir) { * passed, we run from source code. We also allow passing in extra * Kibana server options, so we tack those on here. */ -function collectCliArgs(config, { installDir, extraKbnOpts }) { - const buildArgs = config.get('kbnTestServer.buildArgs') || []; - const sourceArgs = config.get('kbnTestServer.sourceArgs') || []; - const serverArgs = config.get('kbnTestServer.serverArgs') || []; +function collectCliArgs( + config: Config, + { installDir, extraKbnOpts }: { installDir?: string; extraKbnOpts?: string[] } +) { + const buildArgs: string[] = config.get('kbnTestServer.buildArgs') || []; + const sourceArgs: string[] = config.get('kbnTestServer.sourceArgs') || []; + const serverArgs: string[] = config.get('kbnTestServer.serverArgs') || []; return pipe( serverArgs, - (args) => (installDir ? args.filter((a) => a !== '--oss') : args), + (args) => (installDir ? args.filter((a: string) => a !== '--oss') : args), (args) => (installDir ? [...buildArgs, ...args] : [KIBANA_EXEC_PATH, ...sourceArgs, ...args]), (args) => args.concat(extraKbnOpts || []) ); @@ -78,7 +90,7 @@ function collectCliArgs(config, { installDir, extraKbnOpts }) { * Filter the cli args to remove duplications and * overridden options */ -function filterCliArgs(args) { +function filterCliArgs(args: string[]) { return args.reduce((acc, val, ind) => { // If original argv has a later basepath setting, skip this val. if (isBasePathSettingOverridden(args, val, ind)) { @@ -95,7 +107,7 @@ function filterCliArgs(args) { } return [...acc, val]; - }, []); + }, [] as string[]); } /** @@ -103,7 +115,7 @@ function filterCliArgs(args) { * previous function. The first function's input * is the arr array. */ -function pipe(arr, ...fns) { +function pipe(arr: any[], ...fns: Array<(...args: any[]) => any>) { return fns.reduce((acc, fn) => { return fn(acc); }, arr); @@ -113,16 +125,16 @@ function pipe(arr, ...fns) { * Checks whether a specific parameter is allowed to appear multiple * times in the Kibana parameters. */ -function allowsDuplicate(val) { +function allowsDuplicate(val: string) { return ['--plugin-path'].includes(val.split('=')[0]); } -function isBasePathSettingOverridden(args, val, ind) { +function isBasePathSettingOverridden(args: string[], val: string, index: number) { const key = val.split('=')[0]; const basePathKeys = ['--no-base-path', '--server.basePath']; if (basePathKeys.includes(key)) { - if (findIndexFrom(args, ++ind, (opt) => basePathKeys.includes(opt.split('=')[0])) > -1) { + if (findIndexFrom(args, ++index, (opt) => basePathKeys.includes(opt.split('=')[0])) > -1) { return true; } } @@ -130,6 +142,6 @@ function isBasePathSettingOverridden(args, val, ind) { return false; } -function findIndexFrom(array, index, ...args) { - return [...array].slice(index).findIndex(...args); +function findIndexFrom(array: string[], index: number, predicate: (element: string) => boolean) { + return [...array].slice(index).findIndex(predicate); } diff --git a/packages/kbn-test/src/functional_tests/tasks.js b/packages/kbn-test/src/functional_tests/tasks.ts similarity index 76% rename from packages/kbn-test/src/functional_tests/tasks.js rename to packages/kbn-test/src/functional_tests/tasks.ts index 4d12fb5ea5ec1..76443293be75c 100644 --- a/packages/kbn-test/src/functional_tests/tasks.js +++ b/packages/kbn-test/src/functional_tests/tasks.ts @@ -9,7 +9,7 @@ import { relative } from 'path'; import * as Rx from 'rxjs'; import { startWith, switchMap, take } from 'rxjs/operators'; -import { withProcRunner } from '@kbn/dev-utils'; +import { withProcRunner, ToolingLog } from '@kbn/dev-utils'; import dedent from 'dedent'; import { @@ -19,13 +19,14 @@ import { assertNoneExcluded, hasTests, KIBANA_FTR_SCRIPT, + CreateFtrOptions, } from './lib'; import { readConfigFile } from '../functional_test_runner/lib'; -const makeSuccessMessage = (options) => { +const makeSuccessMessage = (options: StartServerOptions) => { const installDirFlag = options.installDir ? ` --kibana-install-dir=${options.installDir}` : ''; - const configPaths = Array.isArray(options.config) ? options.config : [options.config]; + const configPaths: string[] = Array.isArray(options.config) ? options.config : [options.config]; const pathsMessage = options.useDefaultConfig ? '' : configPaths @@ -47,14 +48,17 @@ const makeSuccessMessage = (options) => { /** * Run servers and tests for each config - * @param {object} options Optional - * @property {string[]} options.configs Array of paths to configs - * @property {function} options.log An instance of the ToolingLog - * @property {string} options.installDir Optional installation dir from which to run Kibana - * @property {boolean} options.bail Whether to exit test run at the first failure - * @property {string} options.esFrom Optionally run from source instead of snapshot */ -export async function runTests(options) { +interface RunTestsParams extends CreateFtrOptions { + /** Array of paths to configs */ + configs: string[]; + /** run from source instead of snapshot */ + esFrom?: string; + createLogger: () => ToolingLog; + extraKbnOpts: string[]; + assertNoneExcluded: boolean; +} +export async function runTests(options: RunTestsParams) { if (!process.env.KBN_NP_PLUGINS_BUILT && !options.assertNoneExcluded) { const log = options.createLogger(); log.warning('❗️❗️❗️'); @@ -88,6 +92,7 @@ export async function runTests(options) { continue; } + // eslint-disable-next-line no-console console.log(`--- Running ${relative(process.cwd(), configPath)}`); await withProcRunner(log, async (procs) => { @@ -117,15 +122,20 @@ export async function runTests(options) { } } -/** - * Start only servers using single config - * @param {object} options Optional - * @property {string} options.config Path to a config file - * @property {function} options.log An instance of the ToolingLog - * @property {string} options.installDir Optional installation dir from which to run Kibana - * @property {string} options.esFrom Optionally run from source instead of snapshot - */ -export async function startServers(options) { +interface StartServerOptions { + /** Path to a config file */ + config: string; + log: ToolingLog; + /** installation dir from which to run Kibana */ + installDir?: string; + /** run from source instead of snapshot */ + esFrom?: string; + createLogger: () => ToolingLog; + extraKbnOpts: string[]; + useDefaultConfig?: boolean; +} + +export async function startServers(options: StartServerOptions) { const log = options.createLogger(); const opts = { ...options, @@ -158,7 +168,7 @@ export async function startServers(options) { }); } -async function silence(log, milliseconds) { +async function silence(log: ToolingLog, milliseconds: number) { await log .getWritten$() .pipe( diff --git a/packages/kbn-test/src/functional_tests/test_helpers.js b/packages/kbn-test/src/functional_tests/test_helpers.ts similarity index 90% rename from packages/kbn-test/src/functional_tests/test_helpers.js rename to packages/kbn-test/src/functional_tests/test_helpers.ts index eebd3851bf4e5..4131f23770a05 100644 --- a/packages/kbn-test/src/functional_tests/test_helpers.js +++ b/packages/kbn-test/src/functional_tests/test_helpers.ts @@ -10,7 +10,7 @@ import { format } from 'util'; -export function checkMockConsoleLogSnapshot(logMock) { +export function checkMockConsoleLogSnapshot(logMock: jest.Mock) { const output = logMock.mock.calls .reduce((acc, args) => `${acc}${format(...args)}\n`, '') .replace(/(^ at.+[>)\d]$\n?)+/m, ' ...stack trace...'); From 700f6d9394a36db41ac1eff3d765df4dc3782208 Mon Sep 17 00:00:00 2001 From: Brandon Morelli Date: Wed, 25 Aug 2021 13:01:31 -0700 Subject: [PATCH 048/139] docs: remove tabbed widget code (#109944) --- docs/apm/apm-app-users.asciidoc | 4 - docs/apm/tab-widgets/code.asciidoc | 166 ----------------------------- 2 files changed, 170 deletions(-) delete mode 100644 docs/apm/tab-widgets/code.asciidoc diff --git a/docs/apm/apm-app-users.asciidoc b/docs/apm/apm-app-users.asciidoc index a8eb619a8eab8..7c2cef5b6b39a 100644 --- a/docs/apm/apm-app-users.asciidoc +++ b/docs/apm/apm-app-users.asciidoc @@ -113,8 +113,6 @@ Here are two examples: |Grants the privileges required to create, update, and view machine learning jobs |==== -include::./tab-widgets/code.asciidoc[] - //// *********************************** *********************************** //// @@ -233,8 +231,6 @@ and the following Kibana feature privileges to anyone who needs to read central See <>. -include::./tab-widgets/code.asciidoc[] - //// *********************************** *********************************** //// diff --git a/docs/apm/tab-widgets/code.asciidoc b/docs/apm/tab-widgets/code.asciidoc deleted file mode 100644 index 6a30cf55c8dbb..0000000000000 --- a/docs/apm/tab-widgets/code.asciidoc +++ /dev/null @@ -1,166 +0,0 @@ -// Defining styles and script here for simplicity. -++++ - - - -++++ \ No newline at end of file From 2849b31d289075b303193c4dddcd4242486606e9 Mon Sep 17 00:00:00 2001 From: spalger Date: Wed, 25 Aug 2021 13:34:52 -0700 Subject: [PATCH 049/139] skip flaky suite (#106650) --- x-pack/test/functional/apps/infra/home_page.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/test/functional/apps/infra/home_page.ts b/x-pack/test/functional/apps/infra/home_page.ts index ccab92918ee42..65bfd5483d5e7 100644 --- a/x-pack/test/functional/apps/infra/home_page.ts +++ b/x-pack/test/functional/apps/infra/home_page.ts @@ -15,8 +15,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const esArchiver = getService('esArchiver'); const pageObjects = getPageObjects(['common', 'infraHome', 'infraSavedViews']); - // Failing: See https://github.com/elastic/kibana/issues/106650 - describe('Home page', function () { + // FLAKY: See https://github.com/elastic/kibana/issues/106650 + describe.skip('Home page', function () { this.tags('includeFirefox'); before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/empty_kibana'); From 99071ecbb2f096f101c63ae0eef0343cd973b30d Mon Sep 17 00:00:00 2001 From: Kyle Pollich Date: Wed, 25 Aug 2021 16:50:42 -0400 Subject: [PATCH 050/139] [Fleet] Fix upgrades for packages with restructured inputs (#109887) * Fix upgrades for packages with restructured inputs Addresses errors surfaced when testing upgrades from AWS 0.6.1 to 0.10.4. Namely, when inputs are removed from a package between versions,we were initially throwing errors for each input in the new package that didn't exist on the outdated package version. Now, we instead simply skip over cases like this in which an input no longer exists on the new package version. * Add basic test cases for restructured packages --- .../services/validate_package_policy.ts | 5 +- .../fleet/server/services/package_policy.ts | 119 ++++----- .../translations/translations/ja-JP.json | 2 - .../translations/translations/zh-CN.json | 2 - .../{test_stream.yml.hbs => stream.yml.hbs} | 0 .../{test_stream.yml.hbs => stream.yml.hbs} | 0 .../{test_stream.yml.hbs => stream.yml.hbs} | 0 .../{test_stream.yml.hbs => stream.yml.hbs} | 0 .../agent/stream/stream.yml.hbs | 1 + .../test_stream_new/fields/fields.yml | 16 ++ .../data_stream/test_stream_new/manifest.yml | 17 ++ .../agent/stream/stream.yml.hbs | 1 + .../test_stream_new_2/fields/fields.yml | 16 ++ .../test_stream_new_2/manifest.yml | 17 ++ .../0.5.0-restructure-inputs/docs/README.md | 3 + .../0.5.0-restructure-inputs/manifest.yml | 27 ++ .../agent/stream/stream.yml.hbs | 1 + .../test_stream_new/fields/fields.yml | 16 ++ .../data_stream/test_stream_new/manifest.yml | 17 ++ .../agent/stream/stream.yml.hbs | 1 + .../test_stream_new_2/fields/fields.yml | 16 ++ .../test_stream_new_2/manifest.yml | 17 ++ .../docs/README.md | 3 + .../manifest.yml | 27 ++ .../apis/package_policy/upgrade.ts | 232 +++++++++++++++++- 25 files changed, 482 insertions(+), 74 deletions(-) rename x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.1.0/data_stream/test_stream/agent/stream/{test_stream.yml.hbs => stream.yml.hbs} (100%) rename x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.0-add-non-required-test-var/data_stream/test_stream/agent/stream/{test_stream.yml.hbs => stream.yml.hbs} (100%) rename x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.3.0-remove-test-var/data_stream/test_stream/agent/stream/{test_stream.yml.hbs => stream.yml.hbs} (100%) rename x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.4.0-add-test-var-as-bool/data_stream/test_stream/agent/stream/{test_stream.yml.hbs => stream.yml.hbs} (100%) create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/agent/stream/stream.yml.hbs create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/fields/fields.yml create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/manifest.yml create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/agent/stream/stream.yml.hbs create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/fields/fields.yml create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/manifest.yml create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/docs/README.md create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/manifest.yml create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/agent/stream/stream.yml.hbs create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/fields/fields.yml create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/manifest.yml create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/agent/stream/stream.yml.hbs create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/fields/fields.yml create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/manifest.yml create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/docs/README.md create mode 100644 x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/manifest.yml diff --git a/x-pack/plugins/fleet/common/services/validate_package_policy.ts b/x-pack/plugins/fleet/common/services/validate_package_policy.ts index 84abdce15c645..5107cbf8121d7 100644 --- a/x-pack/plugins/fleet/common/services/validate_package_policy.ts +++ b/x-pack/plugins/fleet/common/services/validate_package_policy.ts @@ -97,12 +97,14 @@ export const validatePackagePolicy = ( >((varDefs, policyTemplate) => { (policyTemplate.inputs || []).forEach((input) => { const varDefKey = hasIntegrations ? `${policyTemplate.name}-${input.type}` : input.type; + if ((input.vars || []).length) { varDefs[varDefKey] = keyBy(input.vars || [], 'name'); } }); return varDefs; }, {}); + const streamsByDatasetAndInput = (packageInfo.data_streams || []).reduce< Record >((streams, dataStream) => { @@ -149,6 +151,7 @@ export const validatePackagePolicy = ( if (input.streams.length) { input.streams.forEach((stream) => { const streamValidationResults: PackagePolicyConfigValidationResults = {}; + const streamVarDefs = streamVarDefsByDatasetAndInput[`${stream.data_stream.dataset}-${input.type}`]; @@ -157,7 +160,7 @@ export const validatePackagePolicy = ( streamValidationResults.vars = Object.entries(stream.vars).reduce( (results, [name, configEntry]) => { results[name] = - streamVarDefs[name] && input.enabled && stream.enabled + streamVarDefs && streamVarDefs[name] && input.enabled && stream.enabled ? validatePackagePolicyConfig(configEntry, streamVarDefs[name]) : null; return results; diff --git a/x-pack/plugins/fleet/server/services/package_policy.ts b/x-pack/plugins/fleet/server/services/package_policy.ts index 6359e45daa995..6f74550ad45b7 100644 --- a/x-pack/plugins/fleet/server/services/package_policy.ts +++ b/x-pack/plugins/fleet/server/services/package_policy.ts @@ -911,41 +911,51 @@ export function overridePackageInputs( ): DryRunPackagePolicy { if (!inputsOverride) return basePackagePolicy; - const inputs = [...basePackagePolicy.inputs]; - const packageName = basePackagePolicy.package!.name; - let errors = []; + const availablePolicyTemplates = packageInfo.policy_templates ?? []; + + const inputs = [ + ...basePackagePolicy.inputs.filter((input) => { + if (!input.policy_template) { + return true; + } + + const policyTemplate = availablePolicyTemplates.find( + ({ name }) => name === input.policy_template + ); + + // Ignore any policy template removes in the new package version + if (!policyTemplate) { + return false; + } + + // Ignore any inputs removed from this policy template in the new package version + const policyTemplateStillIncludesInput = + policyTemplate.inputs?.some( + (policyTemplateInput) => policyTemplateInput.type === input.type + ) ?? false; + + return policyTemplateStillIncludesInput; + }), + ]; for (const override of inputsOverride) { let originalInput = inputs.find((i) => i.type === override.type); + // If there's no corresponding input on the original package policy, just + // take the override value from the new package as-is. This case typically + // occurs when inputs or package policies are added/removed between versions. if (!originalInput) { - const e = { - error: new IngestManagerError( - i18n.translate('xpack.fleet.packagePolicyInputOverrideError', { - defaultMessage: 'Input type {inputType} does not exist on package {packageName}', - values: { - inputType: override.type, - packageName, - }, - }) - ), - package: { name: packageName, version: basePackagePolicy.package!.version }, - }; + inputs.push(override as NewPackagePolicyInput); + continue; + } - if (dryRun) { - errors.push({ - key: override.type, - message: String(e.error), - }); - continue; - } else { - throw e; - } + if (typeof override.enabled !== 'undefined') { + originalInput.enabled = override.enabled; } - if (typeof override.enabled !== 'undefined') originalInput.enabled = override.enabled; - if (typeof override.keep_enabled !== 'undefined') + if (typeof override.keep_enabled !== 'undefined') { originalInput.keep_enabled = override.keep_enabled; + } if (override.vars) { originalInput = deepMergeVars(originalInput, override); @@ -957,36 +967,7 @@ export function overridePackageInputs( (s) => s.data_stream.dataset === stream.data_stream.dataset ); - if (!originalStream) { - const streamSet = stream.data_stream.dataset; - const e = { - error: new IngestManagerError( - i18n.translate('xpack.fleet.packagePolicyStreamOverrideError', { - defaultMessage: - 'Data stream {streamSet} does not exist on {inputType} of package {packageName}', - values: { - streamSet, - inputType: override.type, - packageName, - }, - }) - ), - package: { name: packageName, version: basePackagePolicy.package!.version }, - }; - - if (dryRun) { - errors.push({ - key: `${override.type}.streams.${streamSet}`, - message: String(e.error), - }); - - continue; - } else { - throw e; - } - } - - if (typeof stream.enabled !== 'undefined') { + if (typeof stream.enabled !== 'undefined' && originalStream) { originalStream.enabled = stream.enabled; } @@ -1012,20 +993,22 @@ export function overridePackageInputs( })) .filter(({ message }) => !!message); - errors = [...errors, ...responseFormattedValidationErrors]; - } + if (responseFormattedValidationErrors.length) { + if (dryRun) { + return { ...resultingPackagePolicy, errors: responseFormattedValidationErrors }; + } - if (errors.length) { - if (dryRun) { - return { ...resultingPackagePolicy, errors }; + throw new IngestManagerError( + i18n.translate('xpack.fleet.packagePolicyInvalidError', { + defaultMessage: 'Package policy is invalid: {errors}', + values: { + errors: responseFormattedValidationErrors + .map(({ key, message }) => `${key}: ${message}`) + .join('\n'), + }, + }) + ); } - - throw new IngestManagerError( - i18n.translate('xpack.fleet.packagePolicyInvalidError', { - defaultMessage: 'Package policy is invalid: {errors}', - values: { errors: errors.map(({ key, message }) => `${key}: ${message}`).join('\n') }, - }) - ); } return resultingPackagePolicy; diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 054ce4401c89b..b0e54c223723a 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -9663,8 +9663,6 @@ "xpack.fleet.oldAppTitle": "Ingest Manager", "xpack.fleet.overviewPageSubtitle": "ElasticElasticエージェントの集中管理", "xpack.fleet.overviewPageTitle": "Fleet", - "xpack.fleet.packagePolicyInputOverrideError": "パッケージ{packageName}には入力タイプ{inputType}が存在しません。", - "xpack.fleet.packagePolicyStreamOverrideError": "パッケージ{packageName}の{inputType}にはデータストリーム{streamSet}が存在しません", "xpack.fleet.packagePolicyValidation.invalidArrayErrorMessage": "無効なフォーマット", "xpack.fleet.packagePolicyValidation.invalidYamlFormatErrorMessage": "YAML形式が無効です", "xpack.fleet.packagePolicyValidation.nameRequiredErrorMessage": "名前が必要です", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index c8c98f1c70384..9f47e6f36880d 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -9936,8 +9936,6 @@ "xpack.fleet.oldAppTitle": "采集管理器", "xpack.fleet.overviewPageSubtitle": "Elastic 代理的集中管理", "xpack.fleet.overviewPageTitle": "Fleet", - "xpack.fleet.packagePolicyInputOverrideError": "输入类型 {inputType} 在软件包 {packageName} 上不存在", - "xpack.fleet.packagePolicyStreamOverrideError": "数据流 {streamSet} 在软件包 {packageName} 的 {inputType} 上不存在", "xpack.fleet.packagePolicyValidation.invalidArrayErrorMessage": "格式无效", "xpack.fleet.packagePolicyValidation.invalidYamlFormatErrorMessage": "YAML 格式无效", "xpack.fleet.packagePolicyValidation.nameRequiredErrorMessage": "“名称”必填", diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.1.0/data_stream/test_stream/agent/stream/test_stream.yml.hbs b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.1.0/data_stream/test_stream/agent/stream/stream.yml.hbs similarity index 100% rename from x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.1.0/data_stream/test_stream/agent/stream/test_stream.yml.hbs rename to x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.1.0/data_stream/test_stream/agent/stream/stream.yml.hbs diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.0-add-non-required-test-var/data_stream/test_stream/agent/stream/test_stream.yml.hbs b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.0-add-non-required-test-var/data_stream/test_stream/agent/stream/stream.yml.hbs similarity index 100% rename from x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.0-add-non-required-test-var/data_stream/test_stream/agent/stream/test_stream.yml.hbs rename to x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.2.0-add-non-required-test-var/data_stream/test_stream/agent/stream/stream.yml.hbs diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.3.0-remove-test-var/data_stream/test_stream/agent/stream/test_stream.yml.hbs b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.3.0-remove-test-var/data_stream/test_stream/agent/stream/stream.yml.hbs similarity index 100% rename from x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.3.0-remove-test-var/data_stream/test_stream/agent/stream/test_stream.yml.hbs rename to x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.3.0-remove-test-var/data_stream/test_stream/agent/stream/stream.yml.hbs diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.4.0-add-test-var-as-bool/data_stream/test_stream/agent/stream/test_stream.yml.hbs b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.4.0-add-test-var-as-bool/data_stream/test_stream/agent/stream/stream.yml.hbs similarity index 100% rename from x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.4.0-add-test-var-as-bool/data_stream/test_stream/agent/stream/test_stream.yml.hbs rename to x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.4.0-add-test-var-as-bool/data_stream/test_stream/agent/stream/stream.yml.hbs diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/agent/stream/stream.yml.hbs b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/agent/stream/stream.yml.hbs new file mode 100644 index 0000000000000..2870385f21f95 --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/agent/stream/stream.yml.hbs @@ -0,0 +1 @@ +config.version: "2" diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/fields/fields.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/fields/fields.yml new file mode 100644 index 0000000000000..6e003ed0ad147 --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/fields/fields.yml @@ -0,0 +1,16 @@ +- name: data_stream.type + type: constant_keyword + description: > + Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: > + Data stream dataset. +- name: data_stream.namespace + type: constant_keyword + description: > + Data stream namespace. +- name: '@timestamp' + type: date + description: > + Event timestamp. diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/manifest.yml new file mode 100644 index 0000000000000..42b5d8641c6cd --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new/manifest.yml @@ -0,0 +1,17 @@ +title: Test stream +type: logs +streams: + - input: test_input_new + vars: + - name: test_var_new + type: text + title: Test Var New + default: Test Var New + required: true + show_user: true + - name: test_var_new_2 + type: text + title: Test Var New 2 + default: Test Var New 2 + required: true + show_user: true diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/agent/stream/stream.yml.hbs b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/agent/stream/stream.yml.hbs new file mode 100644 index 0000000000000..2870385f21f95 --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/agent/stream/stream.yml.hbs @@ -0,0 +1 @@ +config.version: "2" diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/fields/fields.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/fields/fields.yml new file mode 100644 index 0000000000000..6e003ed0ad147 --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/fields/fields.yml @@ -0,0 +1,16 @@ +- name: data_stream.type + type: constant_keyword + description: > + Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: > + Data stream dataset. +- name: data_stream.namespace + type: constant_keyword + description: > + Data stream namespace. +- name: '@timestamp' + type: date + description: > + Event timestamp. diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/manifest.yml new file mode 100644 index 0000000000000..af942e7b6413a --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/data_stream/test_stream_new_2/manifest.yml @@ -0,0 +1,17 @@ +title: Test stream +type: logs +streams: + - input: test_input_new_2 + vars: + - name: test_input_new_2_var_1 + type: text + title: Test Input New 2 Var 1 + default: Test Input New 2 Var 1 + required: true + show_user: true + - name: test_input_new_2_var_2 + type: text + title: Test Input New 2 Var 2 + default: Test Input New 2 Var 2 + required: true + show_user: true diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/docs/README.md b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/docs/README.md new file mode 100644 index 0000000000000..0b9b18421c9dc --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/docs/README.md @@ -0,0 +1,3 @@ +# Test package + +This is a test package for testing automated upgrades for package policies diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/manifest.yml new file mode 100644 index 0000000000000..6c26bb545424d --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.5.0-restructure-inputs/manifest.yml @@ -0,0 +1,27 @@ +format_version: 1.0.0 +name: package_policy_upgrade +title: Tests package policy upgrades +description: This is a test package for upgrading package policies +version: 0.5.0-restructure-inputs +categories: [] +release: beta +type: integration +license: basic +requirement: + elasticsearch: + versions: '>7.7.0' + kibana: + versions: '>7.7.0' +policy_templates: + - name: package_policy_upgrade + title: Package Policy Upgrade + description: Test Package for Upgrading Package Policies + inputs: + - type: test_input_new + title: Test Input New + description: Test Input New + enabled: true + - type: test_input_new_2 + title: Test Input New 2 + description: Test Input New 2 + enabled: true diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/agent/stream/stream.yml.hbs b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/agent/stream/stream.yml.hbs new file mode 100644 index 0000000000000..2870385f21f95 --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/agent/stream/stream.yml.hbs @@ -0,0 +1 @@ +config.version: "2" diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/fields/fields.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/fields/fields.yml new file mode 100644 index 0000000000000..6e003ed0ad147 --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/fields/fields.yml @@ -0,0 +1,16 @@ +- name: data_stream.type + type: constant_keyword + description: > + Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: > + Data stream dataset. +- name: data_stream.namespace + type: constant_keyword + description: > + Data stream namespace. +- name: '@timestamp' + type: date + description: > + Event timestamp. diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/manifest.yml new file mode 100644 index 0000000000000..42b5d8641c6cd --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new/manifest.yml @@ -0,0 +1,17 @@ +title: Test stream +type: logs +streams: + - input: test_input_new + vars: + - name: test_var_new + type: text + title: Test Var New + default: Test Var New + required: true + show_user: true + - name: test_var_new_2 + type: text + title: Test Var New 2 + default: Test Var New 2 + required: true + show_user: true diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/agent/stream/stream.yml.hbs b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/agent/stream/stream.yml.hbs new file mode 100644 index 0000000000000..2870385f21f95 --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/agent/stream/stream.yml.hbs @@ -0,0 +1 @@ +config.version: "2" diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/fields/fields.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/fields/fields.yml new file mode 100644 index 0000000000000..6e003ed0ad147 --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/fields/fields.yml @@ -0,0 +1,16 @@ +- name: data_stream.type + type: constant_keyword + description: > + Data stream type. +- name: data_stream.dataset + type: constant_keyword + description: > + Data stream dataset. +- name: data_stream.namespace + type: constant_keyword + description: > + Data stream namespace. +- name: '@timestamp' + type: date + description: > + Event timestamp. diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/manifest.yml new file mode 100644 index 0000000000000..af942e7b6413a --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/data_stream/test_stream_new_2/manifest.yml @@ -0,0 +1,17 @@ +title: Test stream +type: logs +streams: + - input: test_input_new_2 + vars: + - name: test_input_new_2_var_1 + type: text + title: Test Input New 2 Var 1 + default: Test Input New 2 Var 1 + required: true + show_user: true + - name: test_input_new_2_var_2 + type: text + title: Test Input New 2 Var 2 + default: Test Input New 2 Var 2 + required: true + show_user: true diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/docs/README.md b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/docs/README.md new file mode 100644 index 0000000000000..0b9b18421c9dc --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/docs/README.md @@ -0,0 +1,3 @@ +# Test package + +This is a test package for testing automated upgrades for package policies diff --git a/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/manifest.yml b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/manifest.yml new file mode 100644 index 0000000000000..82c9d7059e2a6 --- /dev/null +++ b/x-pack/test/fleet_api_integration/apis/fixtures/test_packages/package_policy_upgrade/0.6.0-restructure-policy-templates/manifest.yml @@ -0,0 +1,27 @@ +format_version: 1.0.0 +name: package_policy_upgrade +title: Tests package policy upgrades +description: This is a test package for upgrading package policies +version: 0.6.0-restructure-policy-templates +categories: [] +release: beta +type: integration +license: basic +requirement: + elasticsearch: + versions: '>7.7.0' + kibana: + versions: '>7.7.0' +policy_templates: + - name: package_policy_upgrade_new + title: Package Policy Upgrade New + description: Test Package for Upgrading Package Policies + inputs: + - type: test_input_new + title: Test Input New + description: Test Input New + enabled: true + - type: test_input_new_2 + title: Test Input New 2 + description: Test Input New 2 + enabled: true diff --git a/x-pack/test/fleet_api_integration/apis/package_policy/upgrade.ts b/x-pack/test/fleet_api_integration/apis/package_policy/upgrade.ts index 3470da940f3c5..e75bcfaf75142 100644 --- a/x-pack/test/fleet_api_integration/apis/package_policy/upgrade.ts +++ b/x-pack/test/fleet_api_integration/apis/package_policy/upgrade.ts @@ -357,7 +357,7 @@ export default function (providerContext: FtrProviderContext) { }); describe('upgrade', function () { - it('successfully upgrade package policy', async function () { + it('successfully upgrades package policy', async function () { const { body }: { body: UpgradePackagePolicyResponse } = await supertest .post(`/api/fleet/package_policies/upgrade`) .set('kbn-xsrf', 'xxxx') @@ -573,6 +573,236 @@ export default function (providerContext: FtrProviderContext) { }); }); + describe('when upgrading to a version where inputs have been restructured', function () { + withTestPackageVersion('0.5.0-restructure-inputs'); + + beforeEach(async function () { + const { body: agentPolicyResponse } = await supertest + .post(`/api/fleet/agent_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy', + namespace: 'default', + }) + .expect(200); + + agentPolicyId = agentPolicyResponse.item.id; + + const { body: packagePolicyResponse } = await supertest + .post(`/api/fleet/package_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'package_policy_upgrade_1', + description: '', + namespace: 'default', + policy_id: agentPolicyId, + enabled: true, + output_id: '', + inputs: [ + { + policy_template: 'package_policy_upgrade', + type: 'test_input', + enabled: true, + streams: [ + { + id: 'test-package_policy_upgrade-xxxx', + enabled: true, + data_stream: { + type: 'test_stream', + dataset: 'package_policy_upgrade.test_stream', + }, + vars: { + test_var: { + value: 'Test value', + }, + }, + }, + ], + }, + ], + package: { + name: 'package_policy_upgrade', + title: 'This is a test package for upgrading package policies', + version: '0.2.0-add-non-required-test-var', + }, + }); + + packagePolicyId = packagePolicyResponse.item.id; + }); + + afterEach(async function () { + await supertest + .post(`/api/fleet/package_policies/delete`) + .set('kbn-xsrf', 'xxxx') + .send({ packagePolicyIds: [packagePolicyId] }) + .expect(200); + + await supertest + .post('/api/fleet/agent_policies/delete') + .set('kbn-xsrf', 'xxxx') + .send({ agentPolicyId }) + .expect(200); + }); + + describe('dry run', function () { + it('returns a valid diff', async function () { + const { body }: { body: UpgradePackagePolicyDryRunResponse } = await supertest + .post(`/api/fleet/package_policies/upgrade`) + .set('kbn-xsrf', 'xxxx') + .send({ + packagePolicyIds: [packagePolicyId], + dryRun: true, + }) + .expect(200); + + expect(body[0].hasErrors).to.be(false); + }); + }); + + describe('upgrade', function () { + it('successfully upgrades package policy', async function () { + const { body }: { body: UpgradePackagePolicyResponse } = await supertest + .post(`/api/fleet/package_policies/upgrade`) + .set('kbn-xsrf', 'xxxx') + .send({ + packagePolicyIds: [packagePolicyId], + dryRun: false, + }) + .expect(200); + + expect(body[0].success).to.be(true); + }); + }); + }); + + describe('when upgrading to a version where policy templates have been restructured', function () { + withTestPackageVersion('0.6.0-restructure-policy-templates'); + + beforeEach(async function () { + const { body: agentPolicyResponse } = await supertest + .post(`/api/fleet/agent_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'Test policy', + namespace: 'default', + }) + .expect(200); + + agentPolicyId = agentPolicyResponse.item.id; + + const { body: packagePolicyResponse } = await supertest + .post(`/api/fleet/package_policies`) + .set('kbn-xsrf', 'xxxx') + .send({ + name: 'package_policy_upgrade_1', + description: '', + namespace: 'default', + policy_id: agentPolicyId, + enabled: true, + output_id: '', + inputs: [ + { + policy_template: 'package_policy_upgrade', + type: 'test_input_new', + enabled: true, + streams: [ + { + id: 'test-package_policy_upgrade-xxxx', + enabled: true, + data_stream: { + type: 'test_stream_new', + dataset: 'package_policy_upgrade.test_stream_new', + }, + vars: { + test_var_new: { + value: 'Test value 1', + }, + test_var_new_2: { + value: 'Test value 2', + }, + }, + }, + ], + }, + { + policy_template: 'package_policy_upgrade', + type: 'test_input_new_2', + enabled: true, + streams: [ + { + id: 'test-package_policy_upgrade-xxxx', + enabled: true, + data_stream: { + type: 'test_stream_new_2', + dataset: 'package_policy_upgrade.test_stream_new_2', + }, + vars: { + test_var_new_2_var_1: { + value: 'Test value 1', + }, + test_var_new_2_var_2: { + value: 'Test value 2', + }, + }, + }, + ], + }, + ], + package: { + name: 'package_policy_upgrade', + title: 'This is a test package for upgrading package policies', + version: '0.5.0-restructure-inputs', + }, + }); + + packagePolicyId = packagePolicyResponse.item.id; + }); + + afterEach(async function () { + await supertest + .post(`/api/fleet/package_policies/delete`) + .set('kbn-xsrf', 'xxxx') + .send({ packagePolicyIds: [packagePolicyId] }) + .expect(200); + + await supertest + .post('/api/fleet/agent_policies/delete') + .set('kbn-xsrf', 'xxxx') + .send({ agentPolicyId }) + .expect(200); + }); + + describe('dry run', function () { + it('returns a valid diff', async function () { + const { body }: { body: UpgradePackagePolicyDryRunResponse } = await supertest + .post(`/api/fleet/package_policies/upgrade`) + .set('kbn-xsrf', 'xxxx') + .send({ + packagePolicyIds: [packagePolicyId], + dryRun: true, + }) + .expect(200); + + expect(body[0].hasErrors).to.be(false); + }); + }); + + describe('upgrade', function () { + it('successfully upgrades package policy', async function () { + const { body }: { body: UpgradePackagePolicyResponse } = await supertest + .post(`/api/fleet/package_policies/upgrade`) + .set('kbn-xsrf', 'xxxx') + .send({ + packagePolicyIds: [packagePolicyId], + dryRun: false, + }) + .expect(200); + + expect(body[0].success).to.be(true); + }); + }); + }); + describe('when package policy is not found', function () { it('should return an 200 with errors when "dryRun:true" is provided', async function () { const { body }: { body: UpgradePackagePolicyDryRunResponse } = await supertest From a8cd0d1e1566dddd7aef94adae7f907fc60c6aeb Mon Sep 17 00:00:00 2001 From: Nathan L Smith Date: Wed, 25 Aug 2021 15:54:35 -0500 Subject: [PATCH 051/139] Remove `EuiCodeEditor` from service map stories (#109290) Replace with Monaco-based `CodeEditor` from kibanaReact. Fixes #106927. --- .../cytoscape_example_data.stories.tsx | 67 ++++++++++++------- 1 file changed, 41 insertions(+), 26 deletions(-) diff --git a/x-pack/plugins/apm/public/components/app/service_map/__stories__/cytoscape_example_data.stories.tsx b/x-pack/plugins/apm/public/components/app/service_map/__stories__/cytoscape_example_data.stories.tsx index 192447ef7591a..109e22240868e 100644 --- a/x-pack/plugins/apm/public/components/app/service_map/__stories__/cytoscape_example_data.stories.tsx +++ b/x-pack/plugins/apm/public/components/app/service_map/__stories__/cytoscape_example_data.stories.tsx @@ -7,7 +7,6 @@ import { EuiButton, - EuiCodeEditor, EuiFieldNumber, EuiFilePicker, EuiFlexGroup, @@ -16,7 +15,13 @@ import { EuiSpacer, EuiToolTip, } from '@elastic/eui'; +import { Meta, Story } from '@storybook/react'; import React, { useEffect, useState } from 'react'; +import { CoreStart } from '../../../../../../../../src/core/public'; +import { + CodeEditor, + createKibanaReactContext, +} from '../../../../../../../../src/plugins/kibana_react/public'; import { Cytoscape } from '../Cytoscape'; import { Centerer } from './centerer'; import exampleResponseHipsterStore from './example_response_hipster_store.json'; @@ -38,12 +43,29 @@ function getHeight() { return window.innerHeight - 300; } -export default { +const stories: Meta<{}> = { title: 'app/ServiceMap/Example data', component: Cytoscape, + decorators: [ + (StoryComponent, { globals }) => { + const KibanaReactContext = createKibanaReactContext(({ + uiSettings: { + get: () => globals.euiTheme && globals.euiTheme.includes('dark'), + }, + } as unknown) as Partial); + + return ( + + + + ); + }, + ], }; -export function GenerateMap() { +export default stories; + +export const GenerateMap: Story<{}> = () => { const [size, setSize] = useState(10); const [json, setJson] = useState(''); const [elements, setElements] = useState( @@ -89,20 +111,18 @@ export function GenerateMap() { {json && ( - )}
); -} +}; -export function MapFromJSON() { +export const MapFromJSON: Story<{}> = () => { const [json, setJson] = useState( getSessionJson() || JSON.stringify(exampleResponseTodo, null, 2) ); @@ -126,15 +146,10 @@ export function MapFromJSON() { - { - setJson(value); - }} + options={{ fontFamily: 'monospace' }} /> @@ -179,9 +194,9 @@ export function MapFromJSON() {
); -} +}; -export function TodoApp() { +export const TodoApp: Story<{}> = () => { return (
); -} +}; -export function OpbeansAndBeats() { +export const OpbeansAndBeats: Story<{}> = () => { return (
); -} +}; -export function HipsterStore() { +export const HipsterStore: Story<{}> = () => { return (
); -} +}; From 36eaf7fd58cc3ca9a23dc754326022f82a1105de Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Wed, 25 Aug 2021 22:24:38 +0100 Subject: [PATCH 052/139] chore(NA): enables @babel/plugin-transform-runtime to decrease output size (#109843) * chore(NA): enables @babel/plugin-transform-runtime to decrease output size * chore(NA): update @kbn/pm bundle * chore(NA): missing config on corejs for runtime * fix(NA): flaky unit test * chore(NA): update limits file * chore(NA): remove corejs * chore(NA): old config files * chore(NA): update limmits file * chore(NA): updated yarn lock file * chore(NA): update limits * chore(NA): restore original test file * chore(NA): skip flaky test * chore(NA): skip another failing test --- package.json | 2 +- packages/kbn-babel-preset/BUILD.bazel | 2 + packages/kbn-babel-preset/common_preset.js | 8 + packages/kbn-optimizer/limits.yml | 4 +- packages/kbn-pm/dist/index.js | 5292 +++++++++-------- .../credential_item/credential_item.test.tsx | 4 +- 6 files changed, 2728 insertions(+), 2584 deletions(-) diff --git a/package.json b/package.json index 63a5594c4842a..fe2ca4a3e5c9d 100644 --- a/package.json +++ b/package.json @@ -93,6 +93,7 @@ "yarn": "^1.21.1" }, "dependencies": { + "@babel/runtime": "^7.12.5", "@elastic/apm-rum": "^5.9.1", "@elastic/apm-rum-react": "^1.3.1", "@elastic/charts": "34.2.1", @@ -440,7 +441,6 @@ "@babel/preset-react": "^7.12.10", "@babel/preset-typescript": "^7.12.7", "@babel/register": "^7.12.10", - "@babel/runtime": "^7.12.5", "@babel/traverse": "^7.12.12", "@babel/types": "^7.12.12", "@bazel/ibazel": "^0.15.10", diff --git a/packages/kbn-babel-preset/BUILD.bazel b/packages/kbn-babel-preset/BUILD.bazel index 0aff32f584c66..ebead1ae0bfbd 100644 --- a/packages/kbn-babel-preset/BUILD.bazel +++ b/packages/kbn-babel-preset/BUILD.bazel @@ -30,9 +30,11 @@ DEPS = [ "@npm//@babel/plugin-proposal-nullish-coalescing-operator", "@npm//@babel/plugin-proposal-optional-chaining", "@npm//@babel/plugin-proposal-private-methods", + "@npm//@babel/plugin-transform-runtime", "@npm//@babel/preset-env", "@npm//@babel/preset-react", "@npm//@babel/preset-typescript", + "@npm//@babel/runtime", "@npm//@emotion/babel-preset-css-prop", "@npm//babel-plugin-add-module-exports", "@npm//babel-plugin-styled-components", diff --git a/packages/kbn-babel-preset/common_preset.js b/packages/kbn-babel-preset/common_preset.js index a9046a7d06758..3a3763693db9a 100644 --- a/packages/kbn-babel-preset/common_preset.js +++ b/packages/kbn-babel-preset/common_preset.js @@ -32,6 +32,14 @@ const plugins = [ // Proposal is on stage 4, and included in ECMA-262 (https://github.com/tc39/proposal-export-ns-from) // Need this since we are using TypeScript 3.9+ require.resolve('@babel/plugin-proposal-private-methods'), + + // It enables the @babel/runtime so we can decrease the bundle sizes of the produced outputs + [ + require.resolve('@babel/plugin-transform-runtime'), + { + version: '^7.12.5', + }, + ], ]; module.exports = { diff --git a/packages/kbn-optimizer/limits.yml b/packages/kbn-optimizer/limits.yml index 3f846eaff2855..c138fb905b35b 100644 --- a/packages/kbn-optimizer/limits.yml +++ b/packages/kbn-optimizer/limits.yml @@ -21,7 +21,6 @@ pageLoadAssetSize: embeddableEnhanced: 41145 enterpriseSearch: 35741 esUiShared: 326654 - expressions: 224136 features: 21723 fieldFormats: 92628 globalSearch: 29696 @@ -66,7 +65,6 @@ pageLoadAssetSize: searchprofiler: 67080 security: 95864 securityOss: 30806 - securitySolution: 217673 share: 99061 snapshotRestore: 79032 spaces: 57868 @@ -116,3 +114,5 @@ pageLoadAssetSize: expressionShape: 34008 interactiveSetup: 18532 expressionTagcloud: 27505 + securitySolution: 232514 + expressions: 239290 diff --git a/packages/kbn-pm/dist/index.js b/packages/kbn-pm/dist/index.js index 2c5a640144905..10b0230a91ff6 100644 --- a/packages/kbn-pm/dist/index.js +++ b/packages/kbn-pm/dist/index.js @@ -94,21 +94,21 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _cli__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "run", function() { return _cli__WEBPACK_IMPORTED_MODULE_0__["run"]; }); -/* harmony import */ var _production__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(560); +/* harmony import */ var _production__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(564); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildBazelProductionProjects", function() { return _production__WEBPACK_IMPORTED_MODULE_1__["buildBazelProductionProjects"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildNonBazelProductionProjects", function() { return _production__WEBPACK_IMPORTED_MODULE_1__["buildNonBazelProductionProjects"]; }); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(293); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(297); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getProjects", function() { return _utils_projects__WEBPACK_IMPORTED_MODULE_2__["getProjects"]; }); -/* harmony import */ var _utils_project__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(295); +/* harmony import */ var _utils_project__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(299); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Project", function() { return _utils_project__WEBPACK_IMPORTED_MODULE_3__["Project"]; }); -/* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(296); +/* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(300); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "transformDependencies", function() { return _utils_package_json__WEBPACK_IMPORTED_MODULE_4__["transformDependencies"]; }); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(559); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(563); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getProjectPaths", function() { return _config__WEBPACK_IMPORTED_MODULE_5__["getProjectPaths"]; }); /* @@ -140,9 +140,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _kbn_dev_utils_tooling_log__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5); /* harmony import */ var _kbn_dev_utils_tooling_log__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_kbn_dev_utils_tooling_log__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _commands__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(127); -/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(511); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(182); +/* harmony import */ var _commands__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(131); +/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(515); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(186); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -587,11 +587,11 @@ Object.defineProperty(exports, "ToolingLogCollectingWriter", { var _tooling_log = __webpack_require__(6); -var _tooling_log_text_writer = __webpack_require__(110); +var _tooling_log_text_writer = __webpack_require__(114); -var _log_levels = __webpack_require__(125); +var _log_levels = __webpack_require__(129); -var _tooling_log_collecting_writer = __webpack_require__(126); +var _tooling_log_collecting_writer = __webpack_require__(130); /***/ }), /* 6 */ @@ -600,29 +600,33 @@ var _tooling_log_collecting_writer = __webpack_require__(126); "use strict"; +var _interopRequireWildcard = __webpack_require__(7); + +var _interopRequireDefault = __webpack_require__(9); + Object.defineProperty(exports, "__esModule", { value: true }); exports.ToolingLog = void 0; -var Rx = _interopRequireWildcard(__webpack_require__(7)); +var _defineProperty2 = _interopRequireDefault(__webpack_require__(10)); -var _tooling_log_text_writer = __webpack_require__(110); +var Rx = _interopRequireWildcard(__webpack_require__(11)); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +var _tooling_log_text_writer = __webpack_require__(114); +/* + * 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. + */ class ToolingLog { constructor(writerConfig) { - _defineProperty(this, "identWidth", 0); - - _defineProperty(this, "writers", void 0); - - _defineProperty(this, "written$", void 0); - + (0, _defineProperty2.default)(this, "identWidth", 0); + (0, _defineProperty2.default)(this, "writers", void 0); + (0, _defineProperty2.default)(this, "written$", void 0); this.writers = writerConfig ? [new _tooling_log_text_writer.ToolingLogTextWriter(writerConfig)] : []; this.written$ = new Rx.Subject(); } @@ -697,183 +701,304 @@ exports.ToolingLog = ToolingLog; /***/ }), /* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +var _typeof = __webpack_require__(8)["default"]; + +function _getRequireWildcardCache(nodeInterop) { + if (typeof WeakMap !== "function") return null; + var cacheBabelInterop = new WeakMap(); + var cacheNodeInterop = new WeakMap(); + return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { + return nodeInterop ? cacheNodeInterop : cacheBabelInterop; + })(nodeInterop); +} + +function _interopRequireWildcard(obj, nodeInterop) { + if (!nodeInterop && obj && obj.__esModule) { + return obj; + } + + if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { + return { + "default": obj + }; + } + + var cache = _getRequireWildcardCache(nodeInterop); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + + newObj["default"] = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +module.exports = _interopRequireWildcard; +module.exports["default"] = module.exports, module.exports.__esModule = true; + +/***/ }), +/* 8 */ +/***/ (function(module, exports) { + +function _typeof(obj) { + "@babel/helpers - typeof"; + + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + module.exports = _typeof = function _typeof(obj) { + return typeof obj; + }; + + module.exports["default"] = module.exports, module.exports.__esModule = true; + } else { + module.exports = _typeof = function _typeof(obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + + module.exports["default"] = module.exports, module.exports.__esModule = true; + } + + return _typeof(obj); +} + +module.exports = _typeof; +module.exports["default"] = module.exports, module.exports.__esModule = true; + +/***/ }), +/* 9 */ +/***/ (function(module, exports) { + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + "default": obj + }; +} + +module.exports = _interopRequireDefault; +module.exports["default"] = module.exports, module.exports.__esModule = true; + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +module.exports = _defineProperty; +module.exports["default"] = module.exports, module.exports.__esModule = true; + +/***/ }), +/* 11 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); +/* harmony import */ var _internal_Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Observable", function() { return _internal_Observable__WEBPACK_IMPORTED_MODULE_0__["Observable"]; }); -/* harmony import */ var _internal_observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25); +/* harmony import */ var _internal_observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ConnectableObservable", function() { return _internal_observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_1__["ConnectableObservable"]; }); -/* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30); +/* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "GroupedObservable", function() { return _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_2__["GroupedObservable"]; }); -/* harmony import */ var _internal_symbol_observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22); +/* harmony import */ var _internal_symbol_observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(26); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "observable", function() { return _internal_symbol_observable__WEBPACK_IMPORTED_MODULE_3__["observable"]; }); -/* harmony import */ var _internal_Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26); +/* harmony import */ var _internal_Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Subject", function() { return _internal_Subject__WEBPACK_IMPORTED_MODULE_4__["Subject"]; }); -/* harmony import */ var _internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(31); +/* harmony import */ var _internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(35); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BehaviorSubject", function() { return _internal_BehaviorSubject__WEBPACK_IMPORTED_MODULE_5__["BehaviorSubject"]; }); -/* harmony import */ var _internal_ReplaySubject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32); +/* harmony import */ var _internal_ReplaySubject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(36); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ReplaySubject", function() { return _internal_ReplaySubject__WEBPACK_IMPORTED_MODULE_6__["ReplaySubject"]; }); -/* harmony import */ var _internal_AsyncSubject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(49); +/* harmony import */ var _internal_AsyncSubject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(53); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "AsyncSubject", function() { return _internal_AsyncSubject__WEBPACK_IMPORTED_MODULE_7__["AsyncSubject"]; }); -/* harmony import */ var _internal_scheduler_asap__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(50); +/* harmony import */ var _internal_scheduler_asap__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(54); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "asap", function() { return _internal_scheduler_asap__WEBPACK_IMPORTED_MODULE_8__["asap"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "asapScheduler", function() { return _internal_scheduler_asap__WEBPACK_IMPORTED_MODULE_8__["asapScheduler"]; }); -/* harmony import */ var _internal_scheduler_async__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(54); +/* harmony import */ var _internal_scheduler_async__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(58); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "async", function() { return _internal_scheduler_async__WEBPACK_IMPORTED_MODULE_9__["async"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "asyncScheduler", function() { return _internal_scheduler_async__WEBPACK_IMPORTED_MODULE_9__["asyncScheduler"]; }); -/* harmony import */ var _internal_scheduler_queue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(33); +/* harmony import */ var _internal_scheduler_queue__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(37); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "queue", function() { return _internal_scheduler_queue__WEBPACK_IMPORTED_MODULE_10__["queue"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "queueScheduler", function() { return _internal_scheduler_queue__WEBPACK_IMPORTED_MODULE_10__["queueScheduler"]; }); -/* harmony import */ var _internal_scheduler_animationFrame__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(55); +/* harmony import */ var _internal_scheduler_animationFrame__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(59); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "animationFrame", function() { return _internal_scheduler_animationFrame__WEBPACK_IMPORTED_MODULE_11__["animationFrame"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "animationFrameScheduler", function() { return _internal_scheduler_animationFrame__WEBPACK_IMPORTED_MODULE_11__["animationFrameScheduler"]; }); -/* harmony import */ var _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(58); +/* harmony import */ var _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(62); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VirtualTimeScheduler", function() { return _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__["VirtualTimeScheduler"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "VirtualAction", function() { return _internal_scheduler_VirtualTimeScheduler__WEBPACK_IMPORTED_MODULE_12__["VirtualAction"]; }); -/* harmony import */ var _internal_Scheduler__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(39); +/* harmony import */ var _internal_Scheduler__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(43); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Scheduler", function() { return _internal_Scheduler__WEBPACK_IMPORTED_MODULE_13__["Scheduler"]; }); -/* harmony import */ var _internal_Subscription__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(16); +/* harmony import */ var _internal_Subscription__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(20); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Subscription", function() { return _internal_Subscription__WEBPACK_IMPORTED_MODULE_14__["Subscription"]; }); -/* harmony import */ var _internal_Subscriber__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(10); +/* harmony import */ var _internal_Subscriber__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(14); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Subscriber", function() { return _internal_Subscriber__WEBPACK_IMPORTED_MODULE_15__["Subscriber"]; }); -/* harmony import */ var _internal_Notification__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(41); +/* harmony import */ var _internal_Notification__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(45); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Notification", function() { return _internal_Notification__WEBPACK_IMPORTED_MODULE_16__["Notification"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NotificationKind", function() { return _internal_Notification__WEBPACK_IMPORTED_MODULE_16__["NotificationKind"]; }); -/* harmony import */ var _internal_util_pipe__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(23); +/* harmony import */ var _internal_util_pipe__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(27); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipe", function() { return _internal_util_pipe__WEBPACK_IMPORTED_MODULE_17__["pipe"]; }); -/* harmony import */ var _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(59); +/* harmony import */ var _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(63); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "noop", function() { return _internal_util_noop__WEBPACK_IMPORTED_MODULE_18__["noop"]; }); -/* harmony import */ var _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(24); +/* harmony import */ var _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(28); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "identity", function() { return _internal_util_identity__WEBPACK_IMPORTED_MODULE_19__["identity"]; }); -/* harmony import */ var _internal_util_isObservable__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(60); +/* harmony import */ var _internal_util_isObservable__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(64); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isObservable", function() { return _internal_util_isObservable__WEBPACK_IMPORTED_MODULE_20__["isObservable"]; }); -/* harmony import */ var _internal_util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(61); +/* harmony import */ var _internal_util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(65); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ArgumentOutOfRangeError", function() { return _internal_util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_21__["ArgumentOutOfRangeError"]; }); -/* harmony import */ var _internal_util_EmptyError__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(62); +/* harmony import */ var _internal_util_EmptyError__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(66); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EmptyError", function() { return _internal_util_EmptyError__WEBPACK_IMPORTED_MODULE_22__["EmptyError"]; }); -/* harmony import */ var _internal_util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(27); +/* harmony import */ var _internal_util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(31); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ObjectUnsubscribedError", function() { return _internal_util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_23__["ObjectUnsubscribedError"]; }); -/* harmony import */ var _internal_util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(19); +/* harmony import */ var _internal_util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(23); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "UnsubscriptionError", function() { return _internal_util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_24__["UnsubscriptionError"]; }); -/* harmony import */ var _internal_util_TimeoutError__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(63); +/* harmony import */ var _internal_util_TimeoutError__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(67); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TimeoutError", function() { return _internal_util_TimeoutError__WEBPACK_IMPORTED_MODULE_25__["TimeoutError"]; }); -/* harmony import */ var _internal_observable_bindCallback__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(64); +/* harmony import */ var _internal_observable_bindCallback__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(68); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bindCallback", function() { return _internal_observable_bindCallback__WEBPACK_IMPORTED_MODULE_26__["bindCallback"]; }); -/* harmony import */ var _internal_observable_bindNodeCallback__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(66); +/* harmony import */ var _internal_observable_bindNodeCallback__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(70); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bindNodeCallback", function() { return _internal_observable_bindNodeCallback__WEBPACK_IMPORTED_MODULE_27__["bindNodeCallback"]; }); -/* harmony import */ var _internal_observable_combineLatest__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(67); +/* harmony import */ var _internal_observable_combineLatest__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(71); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return _internal_observable_combineLatest__WEBPACK_IMPORTED_MODULE_28__["combineLatest"]; }); -/* harmony import */ var _internal_observable_concat__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(78); +/* harmony import */ var _internal_observable_concat__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(82); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return _internal_observable_concat__WEBPACK_IMPORTED_MODULE_29__["concat"]; }); -/* harmony import */ var _internal_observable_defer__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(90); +/* harmony import */ var _internal_observable_defer__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(94); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defer", function() { return _internal_observable_defer__WEBPACK_IMPORTED_MODULE_30__["defer"]; }); -/* harmony import */ var _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(42); +/* harmony import */ var _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(46); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "empty", function() { return _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__["empty"]; }); -/* harmony import */ var _internal_observable_forkJoin__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(91); +/* harmony import */ var _internal_observable_forkJoin__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(95); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "forkJoin", function() { return _internal_observable_forkJoin__WEBPACK_IMPORTED_MODULE_32__["forkJoin"]; }); -/* harmony import */ var _internal_observable_from__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(82); +/* harmony import */ var _internal_observable_from__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(86); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "from", function() { return _internal_observable_from__WEBPACK_IMPORTED_MODULE_33__["from"]; }); -/* harmony import */ var _internal_observable_fromEvent__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(92); +/* harmony import */ var _internal_observable_fromEvent__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(96); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fromEvent", function() { return _internal_observable_fromEvent__WEBPACK_IMPORTED_MODULE_34__["fromEvent"]; }); -/* harmony import */ var _internal_observable_fromEventPattern__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(93); +/* harmony import */ var _internal_observable_fromEventPattern__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(97); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fromEventPattern", function() { return _internal_observable_fromEventPattern__WEBPACK_IMPORTED_MODULE_35__["fromEventPattern"]; }); -/* harmony import */ var _internal_observable_generate__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(94); +/* harmony import */ var _internal_observable_generate__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(98); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "generate", function() { return _internal_observable_generate__WEBPACK_IMPORTED_MODULE_36__["generate"]; }); -/* harmony import */ var _internal_observable_iif__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(95); +/* harmony import */ var _internal_observable_iif__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(99); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "iif", function() { return _internal_observable_iif__WEBPACK_IMPORTED_MODULE_37__["iif"]; }); -/* harmony import */ var _internal_observable_interval__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(96); +/* harmony import */ var _internal_observable_interval__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(100); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "interval", function() { return _internal_observable_interval__WEBPACK_IMPORTED_MODULE_38__["interval"]; }); -/* harmony import */ var _internal_observable_merge__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(98); +/* harmony import */ var _internal_observable_merge__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(102); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return _internal_observable_merge__WEBPACK_IMPORTED_MODULE_39__["merge"]; }); -/* harmony import */ var _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(99); +/* harmony import */ var _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(103); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "never", function() { return _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__["never"]; }); -/* harmony import */ var _internal_observable_of__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(43); +/* harmony import */ var _internal_observable_of__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(47); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "of", function() { return _internal_observable_of__WEBPACK_IMPORTED_MODULE_41__["of"]; }); -/* harmony import */ var _internal_observable_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(100); +/* harmony import */ var _internal_observable_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(104); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return _internal_observable_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_42__["onErrorResumeNext"]; }); -/* harmony import */ var _internal_observable_pairs__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(101); +/* harmony import */ var _internal_observable_pairs__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(105); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pairs", function() { return _internal_observable_pairs__WEBPACK_IMPORTED_MODULE_43__["pairs"]; }); -/* harmony import */ var _internal_observable_partition__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(102); +/* harmony import */ var _internal_observable_partition__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(106); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return _internal_observable_partition__WEBPACK_IMPORTED_MODULE_44__["partition"]; }); -/* harmony import */ var _internal_observable_race__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(105); +/* harmony import */ var _internal_observable_race__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(109); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "race", function() { return _internal_observable_race__WEBPACK_IMPORTED_MODULE_45__["race"]; }); -/* harmony import */ var _internal_observable_range__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(106); +/* harmony import */ var _internal_observable_range__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(110); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "range", function() { return _internal_observable_range__WEBPACK_IMPORTED_MODULE_46__["range"]; }); -/* harmony import */ var _internal_observable_throwError__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(48); +/* harmony import */ var _internal_observable_throwError__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(52); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throwError", function() { return _internal_observable_throwError__WEBPACK_IMPORTED_MODULE_47__["throwError"]; }); -/* harmony import */ var _internal_observable_timer__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(107); +/* harmony import */ var _internal_observable_timer__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(111); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timer", function() { return _internal_observable_timer__WEBPACK_IMPORTED_MODULE_48__["timer"]; }); -/* harmony import */ var _internal_observable_using__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(108); +/* harmony import */ var _internal_observable_using__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(112); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "using", function() { return _internal_observable_using__WEBPACK_IMPORTED_MODULE_49__["using"]; }); -/* harmony import */ var _internal_observable_zip__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(109); +/* harmony import */ var _internal_observable_zip__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(113); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return _internal_observable_zip__WEBPACK_IMPORTED_MODULE_50__["zip"]; }); -/* harmony import */ var _internal_scheduled_scheduled__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(83); +/* harmony import */ var _internal_scheduled_scheduled__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(87); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "scheduled", function() { return _internal_scheduled_scheduled__WEBPACK_IMPORTED_MODULE_51__["scheduled"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "EMPTY", function() { return _internal_observable_empty__WEBPACK_IMPORTED_MODULE_31__["EMPTY"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NEVER", function() { return _internal_observable_never__WEBPACK_IMPORTED_MODULE_40__["NEVER"]; }); -/* harmony import */ var _internal_config__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(14); +/* harmony import */ var _internal_config__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(18); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "config", function() { return _internal_config__WEBPACK_IMPORTED_MODULE_52__["config"]; }); /** PURE_IMPORTS_START PURE_IMPORTS_END */ @@ -936,17 +1061,17 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 8 */ +/* 12 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Observable", function() { return Observable; }); -/* harmony import */ var _util_canReportError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9); -/* harmony import */ var _util_toSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21); -/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22); -/* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14); +/* harmony import */ var _util_canReportError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13); +/* harmony import */ var _util_toSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(25); +/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26); +/* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(27); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(18); /** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */ @@ -1066,13 +1191,13 @@ function getPromiseCtor(promiseCtor) { /***/ }), -/* 9 */ +/* 13 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "canReportError", function() { return canReportError; }); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(14); /** PURE_IMPORTS_START _Subscriber PURE_IMPORTS_END */ function canReportError(observer) { @@ -1094,20 +1219,20 @@ function canReportError(observer) { /***/ }), -/* 10 */ +/* 14 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Subscriber", function() { return Subscriber; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SafeSubscriber", function() { return SafeSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12); -/* harmony import */ var _Observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16); -/* harmony import */ var _internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(14); -/* harmony import */ var _util_hostReportError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(15); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); +/* harmony import */ var _Observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20); +/* harmony import */ var _internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(24); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(18); +/* harmony import */ var _util_hostReportError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(19); /** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */ @@ -1344,7 +1469,7 @@ var SafeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 11 */ +/* 15 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1593,7 +1718,7 @@ function __classPrivateFieldSet(receiver, privateMap, value) { /***/ }), -/* 12 */ +/* 16 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1607,14 +1732,14 @@ function isFunction(x) { /***/ }), -/* 13 */ +/* 17 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "empty", function() { return empty; }); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(14); -/* harmony import */ var _util_hostReportError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18); +/* harmony import */ var _util_hostReportError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19); /** PURE_IMPORTS_START _config,_util_hostReportError PURE_IMPORTS_END */ @@ -1635,7 +1760,7 @@ var empty = { /***/ }), -/* 14 */ +/* 18 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1663,7 +1788,7 @@ var config = { /***/ }), -/* 15 */ +/* 19 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1677,16 +1802,16 @@ function hostReportError(err) { /***/ }), -/* 16 */ +/* 20 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Subscription", function() { return Subscription; }); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17); -/* harmony import */ var _util_isObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18); -/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12); -/* harmony import */ var _util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(19); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21); +/* harmony import */ var _util_isObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(22); +/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); +/* harmony import */ var _util_UnsubscriptionError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23); /** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_UnsubscriptionError PURE_IMPORTS_END */ @@ -1830,7 +1955,7 @@ function flattenUnsubscriptionErrors(errors) { /***/ }), -/* 17 */ +/* 21 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1842,7 +1967,7 @@ var isArray = /*@__PURE__*/ (function () { return Array.isArray || (function (x) /***/ }), -/* 18 */ +/* 22 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1856,7 +1981,7 @@ function isObject(x) { /***/ }), -/* 19 */ +/* 23 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1880,7 +2005,7 @@ var UnsubscriptionError = UnsubscriptionErrorImpl; /***/ }), -/* 20 */ +/* 24 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1898,15 +2023,15 @@ var $$rxSubscriber = rxSubscriber; /***/ }), -/* 21 */ +/* 25 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toSubscriber", function() { return toSubscriber; }); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(10); -/* harmony import */ var _symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20); -/* harmony import */ var _Observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(13); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(14); +/* harmony import */ var _symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24); +/* harmony import */ var _Observer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17); /** PURE_IMPORTS_START _Subscriber,_symbol_rxSubscriber,_Observer PURE_IMPORTS_END */ @@ -1929,7 +2054,7 @@ function toSubscriber(nextOrObserver, error, complete) { /***/ }), -/* 22 */ +/* 26 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1941,14 +2066,14 @@ var observable = /*@__PURE__*/ (function () { return typeof Symbol === 'function /***/ }), -/* 23 */ +/* 27 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pipe", function() { return pipe; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pipeFromArray", function() { return pipeFromArray; }); -/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24); +/* harmony import */ var _identity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(28); /** PURE_IMPORTS_START _identity PURE_IMPORTS_END */ function pipe() { @@ -1973,7 +2098,7 @@ function pipeFromArray(fns) { /***/ }), -/* 24 */ +/* 28 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1987,19 +2112,19 @@ function identity(x) { /***/ }), -/* 25 */ +/* 29 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ConnectableObservable", function() { return ConnectableObservable; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "connectableObservableDescriptor", function() { return connectableObservableDescriptor; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(16); -/* harmony import */ var _operators_refCount__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(29); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(20); +/* harmony import */ var _operators_refCount__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(33); /** PURE_IMPORTS_START tslib,_Subject,_Observable,_Subscriber,_Subscription,_operators_refCount PURE_IMPORTS_END */ @@ -2145,7 +2270,7 @@ var RefCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 26 */ +/* 30 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2153,13 +2278,13 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SubjectSubscriber", function() { return SubjectSubscriber; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Subject", function() { return Subject; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnonymousSubject", function() { return AnonymousSubject; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(10); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16); -/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(27); -/* harmony import */ var _SubjectSubscription__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(28); -/* harmony import */ var _internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(20); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20); +/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(31); +/* harmony import */ var _SubjectSubscription__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(32); +/* harmony import */ var _internal_symbol_rxSubscriber__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24); /** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */ @@ -2321,7 +2446,7 @@ var AnonymousSubject = /*@__PURE__*/ (function (_super) { /***/ }), -/* 27 */ +/* 31 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2343,14 +2468,14 @@ var ObjectUnsubscribedError = ObjectUnsubscribedErrorImpl; /***/ }), -/* 28 */ +/* 32 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SubjectSubscription", function() { return SubjectSubscription; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20); /** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */ @@ -2386,14 +2511,14 @@ var SubjectSubscription = /*@__PURE__*/ (function (_super) { /***/ }), -/* 29 */ +/* 33 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "refCount", function() { return refCount; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -2455,18 +2580,18 @@ var RefCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 30 */ +/* 34 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "groupBy", function() { return groupBy; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GroupedObservable", function() { return GroupedObservable; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(30); /** PURE_IMPORTS_START tslib,_Subscriber,_Subscription,_Observable,_Subject PURE_IMPORTS_END */ @@ -2652,15 +2777,15 @@ var InnerRefCountSubscription = /*@__PURE__*/ (function (_super) { /***/ }), -/* 31 */ +/* 35 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BehaviorSubject", function() { return BehaviorSubject; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(27); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(31); /** PURE_IMPORTS_START tslib,_Subject,_util_ObjectUnsubscribedError PURE_IMPORTS_END */ @@ -2707,19 +2832,19 @@ var BehaviorSubject = /*@__PURE__*/ (function (_super) { /***/ }), -/* 32 */ +/* 36 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReplaySubject", function() { return ReplaySubject; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/* harmony import */ var _scheduler_queue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(33); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16); -/* harmony import */ var _operators_observeOn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(40); -/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(27); -/* harmony import */ var _SubjectSubscription__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(28); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _scheduler_queue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(37); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20); +/* harmony import */ var _operators_observeOn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44); +/* harmony import */ var _util_ObjectUnsubscribedError__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(31); +/* harmony import */ var _SubjectSubscription__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(32); /** PURE_IMPORTS_START tslib,_Subject,_scheduler_queue,_Subscription,_operators_observeOn,_util_ObjectUnsubscribedError,_SubjectSubscription PURE_IMPORTS_END */ @@ -2844,15 +2969,15 @@ var ReplayEvent = /*@__PURE__*/ (function () { /***/ }), -/* 33 */ +/* 37 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "queueScheduler", function() { return queueScheduler; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "queue", function() { return queue; }); -/* harmony import */ var _QueueAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(34); -/* harmony import */ var _QueueScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(37); +/* harmony import */ var _QueueAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(38); +/* harmony import */ var _QueueScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(41); /** PURE_IMPORTS_START _QueueAction,_QueueScheduler PURE_IMPORTS_END */ @@ -2862,14 +2987,14 @@ var queue = queueScheduler; /***/ }), -/* 34 */ +/* 38 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QueueAction", function() { return QueueAction; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39); /** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */ @@ -2914,14 +3039,14 @@ var QueueAction = /*@__PURE__*/ (function (_super) { /***/ }), -/* 35 */ +/* 39 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsyncAction", function() { return AsyncAction; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Action__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(36); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Action__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40); /** PURE_IMPORTS_START tslib,_Action PURE_IMPORTS_END */ @@ -3020,14 +3145,14 @@ var AsyncAction = /*@__PURE__*/ (function (_super) { /***/ }), -/* 36 */ +/* 40 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Action", function() { return Action; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20); /** PURE_IMPORTS_START tslib,_Subscription PURE_IMPORTS_END */ @@ -3049,14 +3174,14 @@ var Action = /*@__PURE__*/ (function (_super) { /***/ }), -/* 37 */ +/* 41 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QueueScheduler", function() { return QueueScheduler; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42); /** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */ @@ -3072,14 +3197,14 @@ var QueueScheduler = /*@__PURE__*/ (function (_super) { /***/ }), -/* 38 */ +/* 42 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsyncScheduler", function() { return AsyncScheduler; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Scheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Scheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43); /** PURE_IMPORTS_START tslib,_Scheduler PURE_IMPORTS_END */ @@ -3141,7 +3266,7 @@ var AsyncScheduler = /*@__PURE__*/ (function (_super) { /***/ }), -/* 39 */ +/* 43 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3169,7 +3294,7 @@ var Scheduler = /*@__PURE__*/ (function () { /***/ }), -/* 40 */ +/* 44 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3178,9 +3303,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ObserveOnOperator", function() { return ObserveOnOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ObserveOnSubscriber", function() { return ObserveOnSubscriber; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ObserveOnMessage", function() { return ObserveOnMessage; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45); /** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */ @@ -3253,16 +3378,16 @@ var ObserveOnMessage = /*@__PURE__*/ (function () { /***/ }), -/* 41 */ +/* 45 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NotificationKind", function() { return NotificationKind; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Notification", function() { return Notification; }); -/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(42); -/* harmony import */ var _observable_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43); -/* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48); +/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(46); +/* harmony import */ var _observable_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(47); +/* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52); /** PURE_IMPORTS_START _observable_empty,_observable_of,_observable_throwError PURE_IMPORTS_END */ @@ -3342,14 +3467,14 @@ var Notification = /*@__PURE__*/ (function () { /***/ }), -/* 42 */ +/* 46 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EMPTY", function() { return EMPTY; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "empty", function() { return empty; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); /** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */ var EMPTY = /*@__PURE__*/ new _Observable__WEBPACK_IMPORTED_MODULE_0__["Observable"](function (subscriber) { return subscriber.complete(); }); @@ -3363,15 +3488,15 @@ function emptyScheduled(scheduler) { /***/ }), -/* 43 */ +/* 47 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "of", function() { return of; }); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45); -/* harmony import */ var _scheduled_scheduleArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(48); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49); +/* harmony import */ var _scheduled_scheduleArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51); /** PURE_IMPORTS_START _util_isScheduler,_fromArray,_scheduled_scheduleArray PURE_IMPORTS_END */ @@ -3394,7 +3519,7 @@ function of() { /***/ }), -/* 44 */ +/* 48 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3408,15 +3533,15 @@ function isScheduler(value) { /***/ }), -/* 45 */ +/* 49 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fromArray", function() { return fromArray; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _util_subscribeToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46); -/* harmony import */ var _scheduled_scheduleArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _util_subscribeToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(50); +/* harmony import */ var _scheduled_scheduleArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51); /** PURE_IMPORTS_START _Observable,_util_subscribeToArray,_scheduled_scheduleArray PURE_IMPORTS_END */ @@ -3433,7 +3558,7 @@ function fromArray(input, scheduler) { /***/ }), -/* 46 */ +/* 50 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3452,14 +3577,14 @@ var subscribeToArray = function (array) { /***/ }), -/* 47 */ +/* 51 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scheduleArray", function() { return scheduleArray; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20); /** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */ @@ -3484,13 +3609,13 @@ function scheduleArray(input, scheduler) { /***/ }), -/* 48 */ +/* 52 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throwError", function() { return throwError; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); /** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */ function throwError(error, scheduler) { @@ -3509,15 +3634,15 @@ function dispatch(_a) { /***/ }), -/* 49 */ +/* 53 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsyncSubject", function() { return AsyncSubject; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20); /** PURE_IMPORTS_START tslib,_Subject,_Subscription PURE_IMPORTS_END */ @@ -3568,15 +3693,15 @@ var AsyncSubject = /*@__PURE__*/ (function (_super) { /***/ }), -/* 50 */ +/* 54 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "asapScheduler", function() { return asapScheduler; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "asap", function() { return asap; }); -/* harmony import */ var _AsapAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(51); -/* harmony import */ var _AsapScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53); +/* harmony import */ var _AsapAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55); +/* harmony import */ var _AsapScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57); /** PURE_IMPORTS_START _AsapAction,_AsapScheduler PURE_IMPORTS_END */ @@ -3586,15 +3711,15 @@ var asap = asapScheduler; /***/ }), -/* 51 */ +/* 55 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsapAction", function() { return AsapAction; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _util_Immediate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(52); -/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _util_Immediate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(56); +/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39); /** PURE_IMPORTS_START tslib,_util_Immediate,_AsyncAction PURE_IMPORTS_END */ @@ -3637,7 +3762,7 @@ var AsapAction = /*@__PURE__*/ (function (_super) { /***/ }), -/* 52 */ +/* 56 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3675,14 +3800,14 @@ var TestTools = { /***/ }), -/* 53 */ +/* 57 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AsapScheduler", function() { return AsapScheduler; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42); /** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */ @@ -3719,15 +3844,15 @@ var AsapScheduler = /*@__PURE__*/ (function (_super) { /***/ }), -/* 54 */ +/* 58 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "asyncScheduler", function() { return asyncScheduler; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "async", function() { return async; }); -/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35); -/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38); +/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(39); +/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42); /** PURE_IMPORTS_START _AsyncAction,_AsyncScheduler PURE_IMPORTS_END */ @@ -3737,15 +3862,15 @@ var async = asyncScheduler; /***/ }), -/* 55 */ +/* 59 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "animationFrameScheduler", function() { return animationFrameScheduler; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "animationFrame", function() { return animationFrame; }); -/* harmony import */ var _AnimationFrameAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(56); -/* harmony import */ var _AnimationFrameScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(57); +/* harmony import */ var _AnimationFrameAction__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60); +/* harmony import */ var _AnimationFrameScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(61); /** PURE_IMPORTS_START _AnimationFrameAction,_AnimationFrameScheduler PURE_IMPORTS_END */ @@ -3755,14 +3880,14 @@ var animationFrame = animationFrameScheduler; /***/ }), -/* 56 */ +/* 60 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationFrameAction", function() { return AnimationFrameAction; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39); /** PURE_IMPORTS_START tslib,_AsyncAction PURE_IMPORTS_END */ @@ -3804,14 +3929,14 @@ var AnimationFrameAction = /*@__PURE__*/ (function (_super) { /***/ }), -/* 57 */ +/* 61 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AnimationFrameScheduler", function() { return AnimationFrameScheduler; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(38); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42); /** PURE_IMPORTS_START tslib,_AsyncScheduler PURE_IMPORTS_END */ @@ -3848,16 +3973,16 @@ var AnimationFrameScheduler = /*@__PURE__*/ (function (_super) { /***/ }), -/* 58 */ +/* 62 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VirtualTimeScheduler", function() { return VirtualTimeScheduler; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VirtualAction", function() { return VirtualAction; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(35); -/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(38); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _AsyncAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(39); +/* harmony import */ var _AsyncScheduler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42); /** PURE_IMPORTS_START tslib,_AsyncAction,_AsyncScheduler PURE_IMPORTS_END */ @@ -3971,7 +4096,7 @@ var VirtualAction = /*@__PURE__*/ (function (_super) { /***/ }), -/* 59 */ +/* 63 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3983,13 +4108,13 @@ function noop() { } /***/ }), -/* 60 */ +/* 64 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isObservable", function() { return isObservable; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); /** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */ function isObservable(obj) { @@ -3999,7 +4124,7 @@ function isObservable(obj) { /***/ }), -/* 61 */ +/* 65 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4021,7 +4146,7 @@ var ArgumentOutOfRangeError = ArgumentOutOfRangeErrorImpl; /***/ }), -/* 62 */ +/* 66 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4043,7 +4168,7 @@ var EmptyError = EmptyErrorImpl; /***/ }), -/* 63 */ +/* 67 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4065,18 +4190,18 @@ var TimeoutError = TimeoutErrorImpl; /***/ }), -/* 64 */ +/* 68 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bindCallback", function() { return bindCallback; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49); -/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65); -/* harmony import */ var _util_canReportError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53); +/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69); +/* harmony import */ var _util_canReportError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(21); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(48); /** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_canReportError,_util_isArray,_util_isScheduler PURE_IMPORTS_END */ @@ -4185,15 +4310,15 @@ function dispatchError(state) { /***/ }), -/* 65 */ +/* 69 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "map", function() { return map; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MapOperator", function() { return MapOperator; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -4242,18 +4367,18 @@ var MapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 66 */ +/* 70 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bindNodeCallback", function() { return bindNodeCallback; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49); -/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65); -/* harmony import */ var _util_canReportError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(44); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(17); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(53); +/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69); +/* harmony import */ var _util_canReportError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(13); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(48); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(21); /** PURE_IMPORTS_START _Observable,_AsyncSubject,_operators_map,_util_canReportError,_util_isScheduler,_util_isArray PURE_IMPORTS_END */ @@ -4370,7 +4495,7 @@ function dispatchError(arg) { /***/ }), -/* 67 */ +/* 71 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4378,12 +4503,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return combineLatest; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CombineLatestOperator", function() { return CombineLatestOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CombineLatestSubscriber", function() { return CombineLatestSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(72); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(49); /** PURE_IMPORTS_START tslib,_util_isScheduler,_util_isArray,_OuterSubscriber,_util_subscribeToResult,_fromArray PURE_IMPORTS_END */ @@ -4488,14 +4613,14 @@ var CombineLatestSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 68 */ +/* 72 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OuterSubscriber", function() { return OuterSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -4520,15 +4645,15 @@ var OuterSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 69 */ +/* 73 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeToResult", function() { return subscribeToResult; }); -/* harmony import */ var _InnerSubscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(70); -/* harmony import */ var _subscribeTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8); +/* harmony import */ var _InnerSubscriber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(74); +/* harmony import */ var _subscribeTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12); /** PURE_IMPORTS_START _InnerSubscriber,_subscribeTo,_Observable PURE_IMPORTS_END */ @@ -4549,14 +4674,14 @@ function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, inne /***/ }), -/* 70 */ +/* 74 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InnerSubscriber", function() { return InnerSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -4588,21 +4713,21 @@ var InnerSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 71 */ +/* 75 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeTo", function() { return subscribeTo; }); -/* harmony import */ var _subscribeToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(46); -/* harmony import */ var _subscribeToPromise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72); -/* harmony import */ var _subscribeToIterable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73); -/* harmony import */ var _subscribeToObservable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75); -/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(76); -/* harmony import */ var _isPromise__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77); -/* harmony import */ var _isObject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(18); -/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(74); -/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(22); +/* harmony import */ var _subscribeToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(50); +/* harmony import */ var _subscribeToPromise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(76); +/* harmony import */ var _subscribeToIterable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(77); +/* harmony import */ var _subscribeToObservable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(79); +/* harmony import */ var _isArrayLike__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(80); +/* harmony import */ var _isPromise__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(81); +/* harmony import */ var _isObject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(22); +/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(78); +/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(26); /** PURE_IMPORTS_START _subscribeToArray,_subscribeToPromise,_subscribeToIterable,_subscribeToObservable,_isArrayLike,_isPromise,_isObject,_symbol_iterator,_symbol_observable PURE_IMPORTS_END */ @@ -4637,13 +4762,13 @@ var subscribeTo = function (result) { /***/ }), -/* 72 */ +/* 76 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeToPromise", function() { return subscribeToPromise; }); -/* harmony import */ var _hostReportError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _hostReportError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(19); /** PURE_IMPORTS_START _hostReportError PURE_IMPORTS_END */ var subscribeToPromise = function (promise) { @@ -4662,13 +4787,13 @@ var subscribeToPromise = function (promise) { /***/ }), -/* 73 */ +/* 77 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeToIterable", function() { return subscribeToIterable; }); -/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(74); +/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78); /** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */ var subscribeToIterable = function (iterable) { @@ -4706,7 +4831,7 @@ var subscribeToIterable = function (iterable) { /***/ }), -/* 74 */ +/* 78 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4727,13 +4852,13 @@ var $$iterator = iterator; /***/ }), -/* 75 */ +/* 79 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeToObservable", function() { return subscribeToObservable; }); -/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22); +/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26); /** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */ var subscribeToObservable = function (obj) { @@ -4751,7 +4876,7 @@ var subscribeToObservable = function (obj) { /***/ }), -/* 76 */ +/* 80 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4763,7 +4888,7 @@ var isArrayLike = (function (x) { return x && typeof x.length === 'number' && ty /***/ }), -/* 77 */ +/* 81 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4777,14 +4902,14 @@ function isPromise(value) { /***/ }), -/* 78 */ +/* 82 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return concat; }); -/* harmony import */ var _of__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(43); -/* harmony import */ var _operators_concatAll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(79); +/* harmony import */ var _of__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(47); +/* harmony import */ var _operators_concatAll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(83); /** PURE_IMPORTS_START _of,_operators_concatAll PURE_IMPORTS_END */ @@ -4799,13 +4924,13 @@ function concat() { /***/ }), -/* 79 */ +/* 83 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatAll", function() { return concatAll; }); -/* harmony import */ var _mergeAll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(80); +/* harmony import */ var _mergeAll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84); /** PURE_IMPORTS_START _mergeAll PURE_IMPORTS_END */ function concatAll() { @@ -4815,14 +4940,14 @@ function concatAll() { /***/ }), -/* 80 */ +/* 84 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeAll", function() { return mergeAll; }); -/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24); +/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28); /** PURE_IMPORTS_START _mergeMap,_util_identity PURE_IMPORTS_END */ @@ -4836,7 +4961,7 @@ function mergeAll(concurrent) { /***/ }), -/* 81 */ +/* 85 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -4845,10 +4970,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MergeMapOperator", function() { return MergeMapOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MergeMapSubscriber", function() { return MergeMapSubscriber; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "flatMap", function() { return flatMap; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65); -/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(69); +/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */ @@ -4953,15 +5078,15 @@ var flatMap = mergeMap; /***/ }), -/* 82 */ +/* 86 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "from", function() { return from; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71); -/* harmony import */ var _scheduled_scheduled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(83); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75); +/* harmony import */ var _scheduled_scheduled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(87); /** PURE_IMPORTS_START _Observable,_util_subscribeTo,_scheduled_scheduled PURE_IMPORTS_END */ @@ -4981,20 +5106,20 @@ function from(input, scheduler) { /***/ }), -/* 83 */ +/* 87 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scheduled", function() { return scheduled; }); -/* harmony import */ var _scheduleObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(84); -/* harmony import */ var _schedulePromise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(85); -/* harmony import */ var _scheduleArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(47); -/* harmony import */ var _scheduleIterable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(86); -/* harmony import */ var _util_isInteropObservable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(87); -/* harmony import */ var _util_isPromise__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(77); -/* harmony import */ var _util_isArrayLike__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(76); -/* harmony import */ var _util_isIterable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(88); +/* harmony import */ var _scheduleObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(88); +/* harmony import */ var _schedulePromise__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var _scheduleArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(51); +/* harmony import */ var _scheduleIterable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(90); +/* harmony import */ var _util_isInteropObservable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(91); +/* harmony import */ var _util_isPromise__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(81); +/* harmony import */ var _util_isArrayLike__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(80); +/* harmony import */ var _util_isIterable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(92); /** PURE_IMPORTS_START _scheduleObservable,_schedulePromise,_scheduleArray,_scheduleIterable,_util_isInteropObservable,_util_isPromise,_util_isArrayLike,_util_isIterable PURE_IMPORTS_END */ @@ -5025,15 +5150,15 @@ function scheduled(input, scheduler) { /***/ }), -/* 84 */ +/* 88 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scheduleObservable", function() { return scheduleObservable; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); -/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(22); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20); +/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26); /** PURE_IMPORTS_START _Observable,_Subscription,_symbol_observable PURE_IMPORTS_END */ @@ -5056,14 +5181,14 @@ function scheduleObservable(input, scheduler) { /***/ }), -/* 85 */ +/* 89 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "schedulePromise", function() { return schedulePromise; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20); /** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */ @@ -5087,15 +5212,15 @@ function schedulePromise(input, scheduler) { /***/ }), -/* 86 */ +/* 90 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scheduleIterable", function() { return scheduleIterable; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); -/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(74); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20); +/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(78); /** PURE_IMPORTS_START _Observable,_Subscription,_symbol_iterator PURE_IMPORTS_END */ @@ -5145,13 +5270,13 @@ function scheduleIterable(input, scheduler) { /***/ }), -/* 87 */ +/* 91 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isInteropObservable", function() { return isInteropObservable; }); -/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22); +/* harmony import */ var _symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26); /** PURE_IMPORTS_START _symbol_observable PURE_IMPORTS_END */ function isInteropObservable(input) { @@ -5161,13 +5286,13 @@ function isInteropObservable(input) { /***/ }), -/* 88 */ +/* 92 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isIterable", function() { return isIterable; }); -/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(74); +/* harmony import */ var _symbol_iterator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78); /** PURE_IMPORTS_START _symbol_iterator PURE_IMPORTS_END */ function isIterable(input) { @@ -5177,7 +5302,7 @@ function isIterable(input) { /***/ }), -/* 89 */ +/* 93 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5187,10 +5312,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SimpleOuterSubscriber", function() { return SimpleOuterSubscriber; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ComplexOuterSubscriber", function() { return ComplexOuterSubscriber; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "innerSubscribe", function() { return innerSubscribe; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8); -/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(71); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12); +/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(75); /** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_util_subscribeTo PURE_IMPORTS_END */ @@ -5287,15 +5412,15 @@ function innerSubscribe(result, innerSubscriber) { /***/ }), -/* 90 */ +/* 94 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defer", function() { return defer; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82); -/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86); +/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46); /** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */ @@ -5318,17 +5443,17 @@ function defer(observableFactory) { /***/ }), -/* 91 */ +/* 95 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "forkJoin", function() { return forkJoin; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17); -/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65); -/* harmony import */ var _util_isObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(18); -/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(82); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21); +/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69); +/* harmony import */ var _util_isObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(22); +/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(86); /** PURE_IMPORTS_START _Observable,_util_isArray,_operators_map,_util_isObject,_from PURE_IMPORTS_END */ @@ -5401,16 +5526,16 @@ function forkJoinInternal(sources, keys) { /***/ }), -/* 92 */ +/* 96 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fromEvent", function() { return fromEvent; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17); -/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12); -/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21); +/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); +/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69); /** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */ @@ -5477,16 +5602,16 @@ function isEventTarget(sourceObj) { /***/ }), -/* 93 */ +/* 97 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fromEventPattern", function() { return fromEventPattern; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17); -/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12); -/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21); +/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); +/* harmony import */ var _operators_map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69); /** PURE_IMPORTS_START _Observable,_util_isArray,_util_isFunction,_operators_map PURE_IMPORTS_END */ @@ -5522,15 +5647,15 @@ function fromEventPattern(addHandler, removeHandler, resultSelector) { /***/ }), -/* 94 */ +/* 98 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "generate", function() { return generate; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(44); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(48); /** PURE_IMPORTS_START _Observable,_util_identity,_util_isScheduler PURE_IMPORTS_END */ @@ -5659,14 +5784,14 @@ function dispatch(state) { /***/ }), -/* 95 */ +/* 99 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "iif", function() { return iif; }); -/* harmony import */ var _defer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(90); -/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(42); +/* harmony import */ var _defer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(94); +/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46); /** PURE_IMPORTS_START _defer,_empty PURE_IMPORTS_END */ @@ -5683,15 +5808,15 @@ function iif(condition, trueResult, falseResult) { /***/ }), -/* 96 */ +/* 100 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "interval", function() { return interval; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54); -/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58); +/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(101); /** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric PURE_IMPORTS_END */ @@ -5723,13 +5848,13 @@ function dispatch(state) { /***/ }), -/* 97 */ +/* 101 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNumeric", function() { return isNumeric; }); -/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17); +/* harmony import */ var _isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21); /** PURE_IMPORTS_START _isArray PURE_IMPORTS_END */ function isNumeric(val) { @@ -5739,16 +5864,16 @@ function isNumeric(val) { /***/ }), -/* 98 */ +/* 102 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return merge; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44); -/* harmony import */ var _operators_mergeAll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(80); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(45); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48); +/* harmony import */ var _operators_mergeAll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(84); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(49); /** PURE_IMPORTS_START _Observable,_util_isScheduler,_operators_mergeAll,_fromArray PURE_IMPORTS_END */ @@ -5780,15 +5905,15 @@ function merge() { /***/ }), -/* 99 */ +/* 103 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NEVER", function() { return NEVER; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "never", function() { return never; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63); /** PURE_IMPORTS_START _Observable,_util_noop PURE_IMPORTS_END */ @@ -5800,16 +5925,16 @@ function never() { /***/ }), -/* 100 */ +/* 104 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return onErrorResumeNext; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17); -/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21); +/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46); /** PURE_IMPORTS_START _Observable,_from,_util_isArray,_empty PURE_IMPORTS_END */ @@ -5840,15 +5965,15 @@ function onErrorResumeNext() { /***/ }), -/* 101 */ +/* 105 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pairs", function() { return pairs; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dispatch", function() { return dispatch; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20); /** PURE_IMPORTS_START _Observable,_Subscription PURE_IMPORTS_END */ @@ -5891,16 +6016,16 @@ function dispatch(state) { /***/ }), -/* 102 */ +/* 106 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return partition; }); -/* harmony import */ var _util_not__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(103); -/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71); -/* harmony import */ var _operators_filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(104); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8); +/* harmony import */ var _util_not__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(107); +/* harmony import */ var _util_subscribeTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(75); +/* harmony import */ var _operators_filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(108); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12); /** PURE_IMPORTS_START _util_not,_util_subscribeTo,_operators_filter,_Observable PURE_IMPORTS_END */ @@ -5916,7 +6041,7 @@ function partition(source, predicate, thisArg) { /***/ }), -/* 103 */ +/* 107 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5935,14 +6060,14 @@ function not(pred, thisArg) { /***/ }), -/* 104 */ +/* 108 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "filter", function() { return filter; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -5989,7 +6114,7 @@ var FilterSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 105 */ +/* 109 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -5997,11 +6122,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "race", function() { return race; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RaceOperator", function() { return RaceOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RaceSubscriber", function() { return RaceSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(17); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(21); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(49); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(72); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73); /** PURE_IMPORTS_START tslib,_util_isArray,_fromArray,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -6083,14 +6208,14 @@ var RaceSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 106 */ +/* 110 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "range", function() { return range; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dispatch", function() { return dispatch; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); /** PURE_IMPORTS_START _Observable PURE_IMPORTS_END */ function range(start, count, scheduler) { @@ -6142,16 +6267,16 @@ function dispatch(state) { /***/ }), -/* 107 */ +/* 111 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timer", function() { return timer; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54); -/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(97); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(44); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58); +/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(101); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48); /** PURE_IMPORTS_START _Observable,_scheduler_async,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */ @@ -6196,15 +6321,15 @@ function dispatch(state) { /***/ }), -/* 108 */ +/* 112 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "using", function() { return using; }); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8); -/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82); -/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(12); +/* harmony import */ var _from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86); +/* harmony import */ var _empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46); /** PURE_IMPORTS_START _Observable,_from,_empty PURE_IMPORTS_END */ @@ -6241,7 +6366,7 @@ function using(resourceFactory, observableFactory) { /***/ }), -/* 109 */ +/* 113 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -6249,12 +6374,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return zip; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ZipOperator", function() { return ZipOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ZipSubscriber", function() { return ZipSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(45); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10); -/* harmony import */ var _internal_symbol_iterator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(74); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _fromArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(49); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14); +/* harmony import */ var _internal_symbol_iterator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(78); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_fromArray,_util_isArray,_Subscriber,_.._internal_symbol_iterator,_innerSubscribe PURE_IMPORTS_END */ @@ -6475,27 +6600,34 @@ var ZipBufferIterator = /*@__PURE__*/ (function (_super) { /***/ }), -/* 110 */ +/* 114 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var _interopRequireDefault = __webpack_require__(9); + Object.defineProperty(exports, "__esModule", { value: true }); exports.ToolingLogTextWriter = void 0; -var _util = __webpack_require__(111); +var _defineProperty2 = _interopRequireDefault(__webpack_require__(10)); -var _chalk = _interopRequireDefault(__webpack_require__(112)); +var _util = __webpack_require__(115); -var _log_levels = __webpack_require__(125); +var _chalk = _interopRequireDefault(__webpack_require__(116)); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +var _log_levels = __webpack_require__(129); +/* + * 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. + */ const { magentaBright, yellow, @@ -6538,10 +6670,8 @@ function stringifyError(error) { class ToolingLogTextWriter { constructor(config) { - _defineProperty(this, "level", void 0); - - _defineProperty(this, "writeTo", void 0); - + (0, _defineProperty2.default)(this, "level", void 0); + (0, _defineProperty2.default)(this, "writeTo", void 0); this.level = (0, _log_levels.parseLogLevel)(config.level); this.writeTo = config.writeTo; @@ -6586,23 +6716,23 @@ class ToolingLogTextWriter { exports.ToolingLogTextWriter = ToolingLogTextWriter; /***/ }), -/* 111 */ +/* 115 */ /***/ (function(module, exports) { module.exports = require("util"); /***/ }), -/* 112 */ +/* 116 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const ansiStyles = __webpack_require__(113); -const {stdout: stdoutColor, stderr: stderrColor} = __webpack_require__(119); +const ansiStyles = __webpack_require__(117); +const {stdout: stdoutColor, stderr: stderrColor} = __webpack_require__(123); const { stringReplaceAll, stringEncaseCRLFWithFirstIndex -} = __webpack_require__(123); +} = __webpack_require__(127); const {isArray} = Array; @@ -6811,7 +6941,7 @@ const chalkTag = (chalk, ...strings) => { } if (template === undefined) { - template = __webpack_require__(124); + template = __webpack_require__(128); } return template(chalk, parts.join('')); @@ -6828,7 +6958,7 @@ module.exports = chalk; /***/ }), -/* 113 */ +/* 117 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -6874,7 +7004,7 @@ const setLazyProperty = (object, property, get) => { let colorConvert; const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { if (colorConvert === undefined) { - colorConvert = __webpack_require__(115); + colorConvert = __webpack_require__(119); } const offset = isBackground ? 10 : 0; @@ -6996,10 +7126,10 @@ Object.defineProperty(module, 'exports', { get: assembleStyles }); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(114)(module))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(118)(module))) /***/ }), -/* 114 */ +/* 118 */ /***/ (function(module, exports) { module.exports = function(module) { @@ -7027,11 +7157,11 @@ module.exports = function(module) { /***/ }), -/* 115 */ +/* 119 */ /***/ (function(module, exports, __webpack_require__) { -const conversions = __webpack_require__(116); -const route = __webpack_require__(118); +const conversions = __webpack_require__(120); +const route = __webpack_require__(122); const convert = {}; @@ -7114,12 +7244,12 @@ module.exports = convert; /***/ }), -/* 116 */ +/* 120 */ /***/ (function(module, exports, __webpack_require__) { /* MIT license */ /* eslint-disable no-mixed-operators */ -const cssKeywords = __webpack_require__(117); +const cssKeywords = __webpack_require__(121); // NOTE: conversions should only return primitive values (i.e. arrays, or // values that give correct `typeof` results). @@ -7959,7 +8089,7 @@ convert.rgb.gray = function (rgb) { /***/ }), -/* 117 */ +/* 121 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -8118,10 +8248,10 @@ module.exports = { /***/ }), -/* 118 */ +/* 122 */ /***/ (function(module, exports, __webpack_require__) { -const conversions = __webpack_require__(116); +const conversions = __webpack_require__(120); /* This function routes a model to all other models. @@ -8221,14 +8351,14 @@ module.exports = function (fromModel) { /***/ }), -/* 119 */ +/* 123 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const os = __webpack_require__(120); -const tty = __webpack_require__(121); -const hasFlag = __webpack_require__(122); +const os = __webpack_require__(124); +const tty = __webpack_require__(125); +const hasFlag = __webpack_require__(126); const {env} = process; @@ -8367,19 +8497,19 @@ module.exports = { /***/ }), -/* 120 */ +/* 124 */ /***/ (function(module, exports) { module.exports = require("os"); /***/ }), -/* 121 */ +/* 125 */ /***/ (function(module, exports) { module.exports = require("tty"); /***/ }), -/* 122 */ +/* 126 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -8394,7 +8524,7 @@ module.exports = (flag, argv = process.argv) => { /***/ }), -/* 123 */ +/* 127 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -8440,7 +8570,7 @@ module.exports = { /***/ }), -/* 124 */ +/* 128 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -8581,7 +8711,7 @@ module.exports = (chalk, temporary) => { /***/ }), -/* 125 */ +/* 129 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -8660,21 +8790,30 @@ function parseLogLevel(name) { } /***/ }), -/* 126 */ +/* 130 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var _interopRequireDefault = __webpack_require__(9); + Object.defineProperty(exports, "__esModule", { value: true }); exports.ToolingLogCollectingWriter = void 0; -var _tooling_log_text_writer = __webpack_require__(110); +var _defineProperty2 = _interopRequireDefault(__webpack_require__(10)); -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } +var _tooling_log_text_writer = __webpack_require__(114); +/* + * 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. + */ class ToolingLogCollectingWriter extends _tooling_log_text_writer.ToolingLogTextWriter { constructor(level = 'verbose') { super({ @@ -8686,8 +8825,7 @@ class ToolingLogCollectingWriter extends _tooling_log_text_writer.ToolingLogText } } }); - - _defineProperty(this, "messages", []); + (0, _defineProperty2.default)(this, "messages", []); } } @@ -8695,18 +8833,18 @@ class ToolingLogCollectingWriter extends _tooling_log_text_writer.ToolingLogText exports.ToolingLogCollectingWriter = ToolingLogCollectingWriter; /***/ }), -/* 127 */ +/* 131 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "commands", function() { return commands; }); -/* harmony import */ var _bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(128); -/* harmony import */ var _build__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(474); -/* harmony import */ var _clean__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(475); -/* harmony import */ var _reset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(507); -/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(508); -/* harmony import */ var _watch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(510); +/* harmony import */ var _bootstrap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(132); +/* harmony import */ var _build__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(478); +/* harmony import */ var _clean__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(479); +/* harmony import */ var _reset__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(511); +/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(512); +/* harmony import */ var _watch__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(514); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -8730,7 +8868,7 @@ const commands = { }; /***/ }), -/* 128 */ +/* 132 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -8738,12 +8876,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BootstrapCommand", function() { return BootstrapCommand; }); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _utils_child_process__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(129); -/* harmony import */ var _utils_link_project_executables__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(183); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(293); -/* harmony import */ var _utils_yarn_lock__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(362); -/* harmony import */ var _utils_validate_dependencies__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(366); -/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(368); +/* harmony import */ var _utils_child_process__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(133); +/* harmony import */ var _utils_link_project_executables__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(187); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(297); +/* harmony import */ var _utils_yarn_lock__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(366); +/* harmony import */ var _utils_validate_dependencies__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(370); +/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(372); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -8844,22 +8982,22 @@ const BootstrapCommand = { }; /***/ }), -/* 129 */ +/* 133 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "spawn", function() { return spawn; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "spawnStreaming", function() { return spawnStreaming; }); -/* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(130); +/* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(134); /* harmony import */ var stream__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(stream__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(112); +/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(116); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(131); +/* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(135); /* harmony import */ var execa__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(execa__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var strong_log_transformer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(174); +/* harmony import */ var strong_log_transformer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(178); /* harmony import */ var strong_log_transformer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(strong_log_transformer__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(182); +/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(186); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -8934,29 +9072,29 @@ function spawnStreaming(command, args, opts, { } /***/ }), -/* 130 */ +/* 134 */ /***/ (function(module, exports) { module.exports = require("stream"); /***/ }), -/* 131 */ +/* 135 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const childProcess = __webpack_require__(132); -const crossSpawn = __webpack_require__(133); -const stripFinalNewline = __webpack_require__(147); -const npmRunPath = __webpack_require__(148); -const onetime = __webpack_require__(150); -const makeError = __webpack_require__(152); -const normalizeStdio = __webpack_require__(157); -const {spawnedKill, spawnedCancel, setupTimeout, setExitHandler} = __webpack_require__(158); -const {handleInput, getSpawnedResult, makeAllStream, validateInputSync} = __webpack_require__(163); -const {mergePromise, getSpawnedPromise} = __webpack_require__(172); -const {joinCommand, parseCommand} = __webpack_require__(173); +const childProcess = __webpack_require__(136); +const crossSpawn = __webpack_require__(137); +const stripFinalNewline = __webpack_require__(151); +const npmRunPath = __webpack_require__(152); +const onetime = __webpack_require__(154); +const makeError = __webpack_require__(156); +const normalizeStdio = __webpack_require__(161); +const {spawnedKill, spawnedCancel, setupTimeout, setExitHandler} = __webpack_require__(162); +const {handleInput, getSpawnedResult, makeAllStream, validateInputSync} = __webpack_require__(167); +const {mergePromise, getSpawnedPromise} = __webpack_require__(176); +const {joinCommand, parseCommand} = __webpack_require__(177); const DEFAULT_MAX_BUFFER = 1000 * 1000 * 100; @@ -9203,21 +9341,21 @@ module.exports.node = (scriptPath, args, options = {}) => { /***/ }), -/* 132 */ +/* 136 */ /***/ (function(module, exports) { module.exports = require("child_process"); /***/ }), -/* 133 */ +/* 137 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const cp = __webpack_require__(132); -const parse = __webpack_require__(134); -const enoent = __webpack_require__(146); +const cp = __webpack_require__(136); +const parse = __webpack_require__(138); +const enoent = __webpack_require__(150); function spawn(command, args, options) { // Parse the arguments @@ -9255,16 +9393,16 @@ module.exports._enoent = enoent; /***/ }), -/* 134 */ +/* 138 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const resolveCommand = __webpack_require__(135); -const escape = __webpack_require__(142); -const readShebang = __webpack_require__(143); +const resolveCommand = __webpack_require__(139); +const escape = __webpack_require__(146); +const readShebang = __webpack_require__(147); const isWin = process.platform === 'win32'; const isExecutableRegExp = /\.(?:com|exe)$/i; @@ -9353,15 +9491,15 @@ module.exports = parse; /***/ }), -/* 135 */ +/* 139 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const which = __webpack_require__(136); -const getPathKey = __webpack_require__(141); +const which = __webpack_require__(140); +const getPathKey = __webpack_require__(145); function resolveCommandAttempt(parsed, withoutPathExt) { const env = parsed.options.env || process.env; @@ -9412,7 +9550,7 @@ module.exports = resolveCommand; /***/ }), -/* 136 */ +/* 140 */ /***/ (function(module, exports, __webpack_require__) { const isWindows = process.platform === 'win32' || @@ -9421,7 +9559,7 @@ const isWindows = process.platform === 'win32' || const path = __webpack_require__(4) const COLON = isWindows ? ';' : ':' -const isexe = __webpack_require__(137) +const isexe = __webpack_require__(141) const getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' }) @@ -9543,15 +9681,15 @@ which.sync = whichSync /***/ }), -/* 137 */ +/* 141 */ /***/ (function(module, exports, __webpack_require__) { -var fs = __webpack_require__(138) +var fs = __webpack_require__(142) var core if (process.platform === 'win32' || global.TESTING_WINDOWS) { - core = __webpack_require__(139) + core = __webpack_require__(143) } else { - core = __webpack_require__(140) + core = __webpack_require__(144) } module.exports = isexe @@ -9606,19 +9744,19 @@ function sync (path, options) { /***/ }), -/* 138 */ +/* 142 */ /***/ (function(module, exports) { module.exports = require("fs"); /***/ }), -/* 139 */ +/* 143 */ /***/ (function(module, exports, __webpack_require__) { module.exports = isexe isexe.sync = sync -var fs = __webpack_require__(138) +var fs = __webpack_require__(142) function checkPathExt (path, options) { var pathext = options.pathExt !== undefined ? @@ -9660,13 +9798,13 @@ function sync (path, options) { /***/ }), -/* 140 */ +/* 144 */ /***/ (function(module, exports, __webpack_require__) { module.exports = isexe isexe.sync = sync -var fs = __webpack_require__(138) +var fs = __webpack_require__(142) function isexe (path, options, cb) { fs.stat(path, function (er, stat) { @@ -9707,7 +9845,7 @@ function checkMode (stat, options) { /***/ }), -/* 141 */ +/* 145 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -9730,7 +9868,7 @@ module.exports.default = pathKey; /***/ }), -/* 142 */ +/* 146 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -9782,14 +9920,14 @@ module.exports.argument = escapeArgument; /***/ }), -/* 143 */ +/* 147 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fs = __webpack_require__(138); -const shebangCommand = __webpack_require__(144); +const fs = __webpack_require__(142); +const shebangCommand = __webpack_require__(148); function readShebang(command) { // Read the first 150 bytes from the file @@ -9812,12 +9950,12 @@ module.exports = readShebang; /***/ }), -/* 144 */ +/* 148 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const shebangRegex = __webpack_require__(145); +const shebangRegex = __webpack_require__(149); module.exports = (string = '') => { const match = string.match(shebangRegex); @@ -9838,7 +9976,7 @@ module.exports = (string = '') => { /***/ }), -/* 145 */ +/* 149 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -9847,7 +9985,7 @@ module.exports = /^#!(.*)/; /***/ }), -/* 146 */ +/* 150 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -9913,7 +10051,7 @@ module.exports = { /***/ }), -/* 147 */ +/* 151 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -9936,13 +10074,13 @@ module.exports = input => { /***/ }), -/* 148 */ +/* 152 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const pathKey = __webpack_require__(149); +const pathKey = __webpack_require__(153); const npmRunPath = options => { options = { @@ -9990,7 +10128,7 @@ module.exports.env = options => { /***/ }), -/* 149 */ +/* 153 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -10013,12 +10151,12 @@ module.exports.default = pathKey; /***/ }), -/* 150 */ +/* 154 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const mimicFn = __webpack_require__(151); +const mimicFn = __webpack_require__(155); const calledFunctions = new WeakMap(); @@ -10070,7 +10208,7 @@ module.exports.callCount = fn => { /***/ }), -/* 151 */ +/* 155 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -10090,12 +10228,12 @@ module.exports.default = mimicFn; /***/ }), -/* 152 */ +/* 156 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const {signalsByName} = __webpack_require__(153); +const {signalsByName} = __webpack_require__(157); const getErrorPrefix = ({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled}) => { if (timedOut) { @@ -10183,14 +10321,14 @@ module.exports = makeError; /***/ }), -/* 153 */ +/* 157 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -Object.defineProperty(exports,"__esModule",{value:true});exports.signalsByNumber=exports.signalsByName=void 0;var _os=__webpack_require__(120); +Object.defineProperty(exports,"__esModule",{value:true});exports.signalsByNumber=exports.signalsByName=void 0;var _os=__webpack_require__(124); -var _signals=__webpack_require__(154); -var _realtime=__webpack_require__(156); +var _signals=__webpack_require__(158); +var _realtime=__webpack_require__(160); @@ -10260,14 +10398,14 @@ const signalsByNumber=getSignalsByNumber();exports.signalsByNumber=signalsByNumb //# sourceMappingURL=main.js.map /***/ }), -/* 154 */ +/* 158 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -Object.defineProperty(exports,"__esModule",{value:true});exports.getSignals=void 0;var _os=__webpack_require__(120); +Object.defineProperty(exports,"__esModule",{value:true});exports.getSignals=void 0;var _os=__webpack_require__(124); -var _core=__webpack_require__(155); -var _realtime=__webpack_require__(156); +var _core=__webpack_require__(159); +var _realtime=__webpack_require__(160); @@ -10301,7 +10439,7 @@ return{name,number,description,supported,action,forced,standard}; //# sourceMappingURL=signals.js.map /***/ }), -/* 155 */ +/* 159 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -10580,7 +10718,7 @@ standard:"other"}];exports.SIGNALS=SIGNALS; //# sourceMappingURL=core.js.map /***/ }), -/* 156 */ +/* 160 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -10605,7 +10743,7 @@ const SIGRTMAX=64;exports.SIGRTMAX=SIGRTMAX; //# sourceMappingURL=realtime.js.map /***/ }), -/* 157 */ +/* 161 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -10664,13 +10802,13 @@ module.exports.node = opts => { /***/ }), -/* 158 */ +/* 162 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const os = __webpack_require__(120); -const onExit = __webpack_require__(159); +const os = __webpack_require__(124); +const onExit = __webpack_require__(163); const DEFAULT_FORCE_KILL_TIMEOUT = 1000 * 5; @@ -10783,16 +10921,16 @@ module.exports = { /***/ }), -/* 159 */ +/* 163 */ /***/ (function(module, exports, __webpack_require__) { // Note: since nyc uses this module to output coverage, any lines // that are in the direct sync flow of nyc's outputCoverage are // ignored, since we can never get coverage for them. -var assert = __webpack_require__(160) -var signals = __webpack_require__(161) +var assert = __webpack_require__(164) +var signals = __webpack_require__(165) -var EE = __webpack_require__(162) +var EE = __webpack_require__(166) /* istanbul ignore if */ if (typeof EE !== 'function') { EE = EE.EventEmitter @@ -10946,13 +11084,13 @@ function processEmit (ev, arg) { /***/ }), -/* 160 */ +/* 164 */ /***/ (function(module, exports) { module.exports = require("assert"); /***/ }), -/* 161 */ +/* 165 */ /***/ (function(module, exports) { // This is not the set of all possible signals. @@ -11011,20 +11149,20 @@ if (process.platform === 'linux') { /***/ }), -/* 162 */ +/* 166 */ /***/ (function(module, exports) { module.exports = require("events"); /***/ }), -/* 163 */ +/* 167 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const isStream = __webpack_require__(164); -const getStream = __webpack_require__(165); -const mergeStream = __webpack_require__(171); +const isStream = __webpack_require__(168); +const getStream = __webpack_require__(169); +const mergeStream = __webpack_require__(175); // `input` option const handleInput = (spawned, input) => { @@ -11121,7 +11259,7 @@ module.exports = { /***/ }), -/* 164 */ +/* 168 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11157,13 +11295,13 @@ module.exports = isStream; /***/ }), -/* 165 */ +/* 169 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pump = __webpack_require__(166); -const bufferStream = __webpack_require__(170); +const pump = __webpack_require__(170); +const bufferStream = __webpack_require__(174); class MaxBufferError extends Error { constructor() { @@ -11222,12 +11360,12 @@ module.exports.MaxBufferError = MaxBufferError; /***/ }), -/* 166 */ +/* 170 */ /***/ (function(module, exports, __webpack_require__) { -var once = __webpack_require__(167) -var eos = __webpack_require__(169) -var fs = __webpack_require__(138) // we only need fs to get the ReadStream and WriteStream prototypes +var once = __webpack_require__(171) +var eos = __webpack_require__(173) +var fs = __webpack_require__(142) // we only need fs to get the ReadStream and WriteStream prototypes var noop = function () {} var ancient = /^v?\.0/.test(process.version) @@ -11310,10 +11448,10 @@ module.exports = pump /***/ }), -/* 167 */ +/* 171 */ /***/ (function(module, exports, __webpack_require__) { -var wrappy = __webpack_require__(168) +var wrappy = __webpack_require__(172) module.exports = wrappy(once) module.exports.strict = wrappy(onceStrict) @@ -11358,7 +11496,7 @@ function onceStrict (fn) { /***/ }), -/* 168 */ +/* 172 */ /***/ (function(module, exports) { // Returns a wrapper function that returns a wrapped callback @@ -11397,10 +11535,10 @@ function wrappy (fn, cb) { /***/ }), -/* 169 */ +/* 173 */ /***/ (function(module, exports, __webpack_require__) { -var once = __webpack_require__(167); +var once = __webpack_require__(171); var noop = function() {}; @@ -11497,12 +11635,12 @@ module.exports = eos; /***/ }), -/* 170 */ +/* 174 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const {PassThrough: PassThroughStream} = __webpack_require__(130); +const {PassThrough: PassThroughStream} = __webpack_require__(134); module.exports = options => { options = {...options}; @@ -11556,13 +11694,13 @@ module.exports = options => { /***/ }), -/* 171 */ +/* 175 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const { PassThrough } = __webpack_require__(130); +const { PassThrough } = __webpack_require__(134); module.exports = function (/*streams...*/) { var sources = [] @@ -11604,7 +11742,7 @@ module.exports = function (/*streams...*/) { /***/ }), -/* 172 */ +/* 176 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11657,7 +11795,7 @@ module.exports = { /***/ }), -/* 173 */ +/* 177 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11702,7 +11840,7 @@ module.exports = { /***/ }), -/* 174 */ +/* 178 */ /***/ (function(module, exports, __webpack_require__) { // Copyright IBM Corp. 2014,2018. All Rights Reserved. @@ -11710,12 +11848,12 @@ module.exports = { // This file is licensed under the Apache License 2.0. // License text available at https://opensource.org/licenses/Apache-2.0 -module.exports = __webpack_require__(175); -module.exports.cli = __webpack_require__(179); +module.exports = __webpack_require__(179); +module.exports.cli = __webpack_require__(183); /***/ }), -/* 175 */ +/* 179 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -11726,13 +11864,13 @@ module.exports.cli = __webpack_require__(179); -var stream = __webpack_require__(130); -var util = __webpack_require__(111); -var fs = __webpack_require__(138); +var stream = __webpack_require__(134); +var util = __webpack_require__(115); +var fs = __webpack_require__(142); -var through = __webpack_require__(176); -var duplexer = __webpack_require__(177); -var StringDecoder = __webpack_require__(178).StringDecoder; +var through = __webpack_require__(180); +var duplexer = __webpack_require__(181); +var StringDecoder = __webpack_require__(182).StringDecoder; module.exports = Logger; @@ -11921,10 +12059,10 @@ function lineMerger(host) { /***/ }), -/* 176 */ +/* 180 */ /***/ (function(module, exports, __webpack_require__) { -var Stream = __webpack_require__(130) +var Stream = __webpack_require__(134) // through // @@ -12035,10 +12173,10 @@ function through (write, end, opts) { /***/ }), -/* 177 */ +/* 181 */ /***/ (function(module, exports, __webpack_require__) { -var Stream = __webpack_require__(130) +var Stream = __webpack_require__(134) var writeMethods = ["write", "end", "destroy"] var readMethods = ["resume", "pause"] var readEvents = ["data", "close"] @@ -12128,13 +12266,13 @@ function duplex(writer, reader) { /***/ }), -/* 178 */ +/* 182 */ /***/ (function(module, exports) { module.exports = require("string_decoder"); /***/ }), -/* 179 */ +/* 183 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -12145,11 +12283,11 @@ module.exports = require("string_decoder"); -var minimist = __webpack_require__(180); +var minimist = __webpack_require__(184); var path = __webpack_require__(4); -var Logger = __webpack_require__(175); -var pkg = __webpack_require__(181); +var Logger = __webpack_require__(179); +var pkg = __webpack_require__(185); module.exports = cli; @@ -12203,7 +12341,7 @@ function usage($0, p) { /***/ }), -/* 180 */ +/* 184 */ /***/ (function(module, exports) { module.exports = function (args, opts) { @@ -12454,13 +12592,13 @@ function isNumber (x) { /***/ }), -/* 181 */ +/* 185 */ /***/ (function(module) { module.exports = JSON.parse("{\"name\":\"strong-log-transformer\",\"version\":\"2.1.0\",\"description\":\"Stream transformer that prefixes lines with timestamps and other things.\",\"author\":\"Ryan Graham \",\"license\":\"Apache-2.0\",\"repository\":{\"type\":\"git\",\"url\":\"git://github.com/strongloop/strong-log-transformer\"},\"keywords\":[\"logging\",\"streams\"],\"bugs\":{\"url\":\"https://github.com/strongloop/strong-log-transformer/issues\"},\"homepage\":\"https://github.com/strongloop/strong-log-transformer\",\"directories\":{\"test\":\"test\"},\"bin\":{\"sl-log-transformer\":\"bin/sl-log-transformer.js\"},\"main\":\"index.js\",\"scripts\":{\"test\":\"tap --100 test/test-*\"},\"dependencies\":{\"duplexer\":\"^0.1.1\",\"minimist\":\"^1.2.0\",\"through\":\"^2.3.4\"},\"devDependencies\":{\"tap\":\"^12.0.1\"},\"engines\":{\"node\":\">=4\"}}"); /***/ }), -/* 182 */ +/* 186 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12509,7 +12647,7 @@ const log = new Log(); /***/ }), -/* 183 */ +/* 187 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12517,8 +12655,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "linkProjectExecutables", function() { return linkProjectExecutables; }); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(184); -/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(182); +/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(188); +/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(186); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -12584,7 +12722,7 @@ async function linkProjectExecutables(projectsByName, projectGraph) { } /***/ }), -/* 184 */ +/* 188 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -12601,17 +12739,17 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isFile", function() { return isFile; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createSymlink", function() { return createSymlink; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tryRealpath", function() { return tryRealpath; }); -/* harmony import */ var cmd_shim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(185); +/* harmony import */ var cmd_shim__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(189); /* harmony import */ var cmd_shim__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cmd_shim__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(193); +/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(138); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(142); /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var ncp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(292); +/* harmony import */ var ncp__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(296); /* harmony import */ var ncp__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(ncp__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(111); +/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(115); /* harmony import */ var util__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_5__); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one @@ -12732,7 +12870,7 @@ async function tryRealpath(path) { } /***/ }), -/* 185 */ +/* 189 */ /***/ (function(module, exports, __webpack_require__) { // On windows, create a .cmd file. @@ -12748,11 +12886,11 @@ async function tryRealpath(path) { module.exports = cmdShim cmdShim.ifExists = cmdShimIfExists -var fs = __webpack_require__(186) +var fs = __webpack_require__(190) -var mkdir = __webpack_require__(191) +var mkdir = __webpack_require__(195) , path = __webpack_require__(4) - , toBatchSyntax = __webpack_require__(192) + , toBatchSyntax = __webpack_require__(196) , shebangExpr = /^#\!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+=[^ \t]+\s+)*\s*([^ \t]+)(.*)$/ function cmdShimIfExists (from, to, cb) { @@ -12985,15 +13123,15 @@ function times(n, ok, cb) { /***/ }), -/* 186 */ +/* 190 */ /***/ (function(module, exports, __webpack_require__) { -var fs = __webpack_require__(138) -var polyfills = __webpack_require__(187) -var legacy = __webpack_require__(189) -var clone = __webpack_require__(190) +var fs = __webpack_require__(142) +var polyfills = __webpack_require__(191) +var legacy = __webpack_require__(193) +var clone = __webpack_require__(194) -var util = __webpack_require__(111) +var util = __webpack_require__(115) /* istanbul ignore next - node 0.x polyfill */ var gracefulQueue @@ -13074,7 +13212,7 @@ if (!fs[gracefulQueue]) { if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) { process.on('exit', function() { debug(fs[gracefulQueue]) - __webpack_require__(160).equal(fs[gracefulQueue].length, 0) + __webpack_require__(164).equal(fs[gracefulQueue].length, 0) }) } } @@ -13345,10 +13483,10 @@ function retry () { /***/ }), -/* 187 */ +/* 191 */ /***/ (function(module, exports, __webpack_require__) { -var constants = __webpack_require__(188) +var constants = __webpack_require__(192) var origCwd = process.cwd var cwd = null @@ -13693,16 +13831,16 @@ function patch (fs) { /***/ }), -/* 188 */ +/* 192 */ /***/ (function(module, exports) { module.exports = require("constants"); /***/ }), -/* 189 */ +/* 193 */ /***/ (function(module, exports, __webpack_require__) { -var Stream = __webpack_require__(130).Stream +var Stream = __webpack_require__(134).Stream module.exports = legacy @@ -13823,7 +13961,7 @@ function legacy (fs) { /***/ }), -/* 190 */ +/* 194 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -13849,11 +13987,11 @@ function clone (obj) { /***/ }), -/* 191 */ +/* 195 */ /***/ (function(module, exports, __webpack_require__) { var path = __webpack_require__(4); -var fs = __webpack_require__(138); +var fs = __webpack_require__(142); var _0777 = parseInt('0777', 8); module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; @@ -13954,7 +14092,7 @@ mkdirP.sync = function sync (p, opts, made) { /***/ }), -/* 192 */ +/* 196 */ /***/ (function(module, exports) { exports.replaceDollarWithPercentPair = replaceDollarWithPercentPair @@ -14012,21 +14150,21 @@ function replaceDollarWithPercentPair(value) { /***/ }), -/* 193 */ +/* 197 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const {promisify} = __webpack_require__(111); +const {promisify} = __webpack_require__(115); const path = __webpack_require__(4); -const globby = __webpack_require__(194); -const isGlob = __webpack_require__(219); -const slash = __webpack_require__(283); -const gracefulFs = __webpack_require__(186); -const isPathCwd = __webpack_require__(285); -const isPathInside = __webpack_require__(286); -const rimraf = __webpack_require__(287); -const pMap = __webpack_require__(288); +const globby = __webpack_require__(198); +const isGlob = __webpack_require__(223); +const slash = __webpack_require__(287); +const gracefulFs = __webpack_require__(190); +const isPathCwd = __webpack_require__(289); +const isPathInside = __webpack_require__(290); +const rimraf = __webpack_require__(291); +const pMap = __webpack_require__(292); const rimrafP = promisify(rimraf); @@ -14140,19 +14278,19 @@ module.exports.sync = (patterns, {force, dryRun, cwd = process.cwd(), ...options /***/ }), -/* 194 */ +/* 198 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fs = __webpack_require__(138); -const arrayUnion = __webpack_require__(195); -const merge2 = __webpack_require__(196); -const glob = __webpack_require__(197); -const fastGlob = __webpack_require__(210); -const dirGlob = __webpack_require__(279); -const gitignore = __webpack_require__(281); -const {FilterStream, UniqueStream} = __webpack_require__(284); +const fs = __webpack_require__(142); +const arrayUnion = __webpack_require__(199); +const merge2 = __webpack_require__(200); +const glob = __webpack_require__(201); +const fastGlob = __webpack_require__(214); +const dirGlob = __webpack_require__(283); +const gitignore = __webpack_require__(285); +const {FilterStream, UniqueStream} = __webpack_require__(288); const DEFAULT_FILTER = () => false; @@ -14325,7 +14463,7 @@ module.exports.gitignore = gitignore; /***/ }), -/* 195 */ +/* 199 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -14337,7 +14475,7 @@ module.exports = (...arguments_) => { /***/ }), -/* 196 */ +/* 200 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -14349,7 +14487,7 @@ module.exports = (...arguments_) => { * Copyright (c) 2014-2020 Teambition * Licensed under the MIT license. */ -const Stream = __webpack_require__(130) +const Stream = __webpack_require__(134) const PassThrough = Stream.PassThrough const slice = Array.prototype.slice @@ -14488,7 +14626,7 @@ function pauseStreams (streams, options) { /***/ }), -/* 197 */ +/* 201 */ /***/ (function(module, exports, __webpack_require__) { // Approach: @@ -14533,27 +14671,27 @@ function pauseStreams (streams, options) { module.exports = glob -var fs = __webpack_require__(138) -var rp = __webpack_require__(198) -var minimatch = __webpack_require__(200) +var fs = __webpack_require__(142) +var rp = __webpack_require__(202) +var minimatch = __webpack_require__(204) var Minimatch = minimatch.Minimatch -var inherits = __webpack_require__(204) -var EE = __webpack_require__(162).EventEmitter +var inherits = __webpack_require__(208) +var EE = __webpack_require__(166).EventEmitter var path = __webpack_require__(4) -var assert = __webpack_require__(160) -var isAbsolute = __webpack_require__(206) -var globSync = __webpack_require__(207) -var common = __webpack_require__(208) +var assert = __webpack_require__(164) +var isAbsolute = __webpack_require__(210) +var globSync = __webpack_require__(211) +var common = __webpack_require__(212) var alphasort = common.alphasort var alphasorti = common.alphasorti var setopts = common.setopts var ownProp = common.ownProp -var inflight = __webpack_require__(209) -var util = __webpack_require__(111) +var inflight = __webpack_require__(213) +var util = __webpack_require__(115) var childrenIgnored = common.childrenIgnored var isIgnored = common.isIgnored -var once = __webpack_require__(167) +var once = __webpack_require__(171) function glob (pattern, options, cb) { if (typeof options === 'function') cb = options, options = {} @@ -15284,7 +15422,7 @@ Glob.prototype._stat2 = function (f, abs, er, stat, cb) { /***/ }), -/* 198 */ +/* 202 */ /***/ (function(module, exports, __webpack_require__) { module.exports = realpath @@ -15294,13 +15432,13 @@ realpath.realpathSync = realpathSync realpath.monkeypatch = monkeypatch realpath.unmonkeypatch = unmonkeypatch -var fs = __webpack_require__(138) +var fs = __webpack_require__(142) var origRealpath = fs.realpath var origRealpathSync = fs.realpathSync var version = process.version var ok = /^v[0-5]\./.test(version) -var old = __webpack_require__(199) +var old = __webpack_require__(203) function newError (er) { return er && er.syscall === 'realpath' && ( @@ -15356,7 +15494,7 @@ function unmonkeypatch () { /***/ }), -/* 199 */ +/* 203 */ /***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. @@ -15382,7 +15520,7 @@ function unmonkeypatch () { var pathModule = __webpack_require__(4); var isWindows = process.platform === 'win32'; -var fs = __webpack_require__(138); +var fs = __webpack_require__(142); // JavaScript implementation of realpath, ported from node pre-v6 @@ -15665,7 +15803,7 @@ exports.realpath = function realpath(p, cache, cb) { /***/ }), -/* 200 */ +/* 204 */ /***/ (function(module, exports, __webpack_require__) { module.exports = minimatch @@ -15677,7 +15815,7 @@ try { } catch (er) {} var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {} -var expand = __webpack_require__(201) +var expand = __webpack_require__(205) var plTypes = { '!': { open: '(?:(?!(?:', close: '))[^/]*?)'}, @@ -16594,11 +16732,11 @@ function regExpEscape (s) { /***/ }), -/* 201 */ +/* 205 */ /***/ (function(module, exports, __webpack_require__) { -var concatMap = __webpack_require__(202); -var balanced = __webpack_require__(203); +var concatMap = __webpack_require__(206); +var balanced = __webpack_require__(207); module.exports = expandTop; @@ -16801,7 +16939,7 @@ function expand(str, isTop) { /***/ }), -/* 202 */ +/* 206 */ /***/ (function(module, exports) { module.exports = function (xs, fn) { @@ -16820,7 +16958,7 @@ var isArray = Array.isArray || function (xs) { /***/ }), -/* 203 */ +/* 207 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16886,22 +17024,22 @@ function range(a, b, str) { /***/ }), -/* 204 */ +/* 208 */ /***/ (function(module, exports, __webpack_require__) { try { - var util = __webpack_require__(111); + var util = __webpack_require__(115); /* istanbul ignore next */ if (typeof util.inherits !== 'function') throw ''; module.exports = util.inherits; } catch (e) { /* istanbul ignore next */ - module.exports = __webpack_require__(205); + module.exports = __webpack_require__(209); } /***/ }), -/* 205 */ +/* 209 */ /***/ (function(module, exports) { if (typeof Object.create === 'function') { @@ -16934,7 +17072,7 @@ if (typeof Object.create === 'function') { /***/ }), -/* 206 */ +/* 210 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -16961,22 +17099,22 @@ module.exports.win32 = win32; /***/ }), -/* 207 */ +/* 211 */ /***/ (function(module, exports, __webpack_require__) { module.exports = globSync globSync.GlobSync = GlobSync -var fs = __webpack_require__(138) -var rp = __webpack_require__(198) -var minimatch = __webpack_require__(200) +var fs = __webpack_require__(142) +var rp = __webpack_require__(202) +var minimatch = __webpack_require__(204) var Minimatch = minimatch.Minimatch -var Glob = __webpack_require__(197).Glob -var util = __webpack_require__(111) +var Glob = __webpack_require__(201).Glob +var util = __webpack_require__(115) var path = __webpack_require__(4) -var assert = __webpack_require__(160) -var isAbsolute = __webpack_require__(206) -var common = __webpack_require__(208) +var assert = __webpack_require__(164) +var isAbsolute = __webpack_require__(210) +var common = __webpack_require__(212) var alphasort = common.alphasort var alphasorti = common.alphasorti var setopts = common.setopts @@ -17453,7 +17591,7 @@ GlobSync.prototype._makeAbs = function (f) { /***/ }), -/* 208 */ +/* 212 */ /***/ (function(module, exports, __webpack_require__) { exports.alphasort = alphasort @@ -17471,8 +17609,8 @@ function ownProp (obj, field) { } var path = __webpack_require__(4) -var minimatch = __webpack_require__(200) -var isAbsolute = __webpack_require__(206) +var minimatch = __webpack_require__(204) +var isAbsolute = __webpack_require__(210) var Minimatch = minimatch.Minimatch function alphasorti (a, b) { @@ -17699,12 +17837,12 @@ function childrenIgnored (self, path) { /***/ }), -/* 209 */ +/* 213 */ /***/ (function(module, exports, __webpack_require__) { -var wrappy = __webpack_require__(168) +var wrappy = __webpack_require__(172) var reqs = Object.create(null) -var once = __webpack_require__(167) +var once = __webpack_require__(171) module.exports = wrappy(inflight) @@ -17759,17 +17897,17 @@ function slice (args) { /***/ }), -/* 210 */ +/* 214 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const taskManager = __webpack_require__(211); -const async_1 = __webpack_require__(240); -const stream_1 = __webpack_require__(275); -const sync_1 = __webpack_require__(276); -const settings_1 = __webpack_require__(278); -const utils = __webpack_require__(212); +const taskManager = __webpack_require__(215); +const async_1 = __webpack_require__(244); +const stream_1 = __webpack_require__(279); +const sync_1 = __webpack_require__(280); +const settings_1 = __webpack_require__(282); +const utils = __webpack_require__(216); async function FastGlob(source, options) { assertPatternsInput(source); const works = getWorks(source, async_1.default, options); @@ -17833,14 +17971,14 @@ module.exports = FastGlob; /***/ }), -/* 211 */ +/* 215 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertPatternGroupToTask = exports.convertPatternGroupsToTasks = exports.groupPatternsByBaseDirectory = exports.getNegativePatternsAsPositive = exports.getPositivePatterns = exports.convertPatternsToTasks = exports.generate = void 0; -const utils = __webpack_require__(212); +const utils = __webpack_require__(216); function generate(patterns, settings) { const positivePatterns = getPositivePatterns(patterns); const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); @@ -17905,31 +18043,31 @@ exports.convertPatternGroupToTask = convertPatternGroupToTask; /***/ }), -/* 212 */ +/* 216 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0; -const array = __webpack_require__(213); +const array = __webpack_require__(217); exports.array = array; -const errno = __webpack_require__(214); +const errno = __webpack_require__(218); exports.errno = errno; -const fs = __webpack_require__(215); +const fs = __webpack_require__(219); exports.fs = fs; -const path = __webpack_require__(216); +const path = __webpack_require__(220); exports.path = path; -const pattern = __webpack_require__(217); +const pattern = __webpack_require__(221); exports.pattern = pattern; -const stream = __webpack_require__(238); +const stream = __webpack_require__(242); exports.stream = stream; -const string = __webpack_require__(239); +const string = __webpack_require__(243); exports.string = string; /***/ }), -/* 213 */ +/* 217 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17958,7 +18096,7 @@ exports.splitWhen = splitWhen; /***/ }), -/* 214 */ +/* 218 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17972,7 +18110,7 @@ exports.isEnoentCodeError = isEnoentCodeError; /***/ }), -/* 215 */ +/* 219 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -17998,7 +18136,7 @@ exports.createDirentFromStats = createDirentFromStats; /***/ }), -/* 216 */ +/* 220 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18038,7 +18176,7 @@ exports.removeLeadingDotSegment = removeLeadingDotSegment; /***/ }), -/* 217 */ +/* 221 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -18046,9 +18184,9 @@ exports.removeLeadingDotSegment = removeLeadingDotSegment; Object.defineProperty(exports, "__esModule", { value: true }); exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0; const path = __webpack_require__(4); -const globParent = __webpack_require__(218); -const micromatch = __webpack_require__(221); -const picomatch = __webpack_require__(232); +const globParent = __webpack_require__(222); +const micromatch = __webpack_require__(225); +const picomatch = __webpack_require__(236); const GLOBSTAR = '**'; const ESCAPE_SYMBOL = '\\'; const COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; @@ -18177,15 +18315,15 @@ exports.matchAny = matchAny; /***/ }), -/* 218 */ +/* 222 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isGlob = __webpack_require__(219); +var isGlob = __webpack_require__(223); var pathPosixDirname = __webpack_require__(4).posix.dirname; -var isWin32 = __webpack_require__(120).platform() === 'win32'; +var isWin32 = __webpack_require__(124).platform() === 'win32'; var slash = '/'; var backslash = /\\/g; @@ -18226,7 +18364,7 @@ module.exports = function globParent(str, opts) { /***/ }), -/* 219 */ +/* 223 */ /***/ (function(module, exports, __webpack_require__) { /*! @@ -18236,7 +18374,7 @@ module.exports = function globParent(str, opts) { * Released under the MIT License. */ -var isExtglob = __webpack_require__(220); +var isExtglob = __webpack_require__(224); var chars = { '{': '}', '(': ')', '[': ']'}; var strictRegex = /\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; var relaxedRegex = /\\(.)|(^!|[*?{}()[\]]|\(\?)/; @@ -18280,7 +18418,7 @@ module.exports = function isGlob(str, options) { /***/ }), -/* 220 */ +/* 224 */ /***/ (function(module, exports) { /*! @@ -18306,16 +18444,16 @@ module.exports = function isExtglob(str) { /***/ }), -/* 221 */ +/* 225 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const util = __webpack_require__(111); -const braces = __webpack_require__(222); -const picomatch = __webpack_require__(232); -const utils = __webpack_require__(235); +const util = __webpack_require__(115); +const braces = __webpack_require__(226); +const picomatch = __webpack_require__(236); +const utils = __webpack_require__(239); const isEmptyString = val => typeof val === 'string' && (val === '' || val === './'); /** @@ -18780,16 +18918,16 @@ module.exports = micromatch; /***/ }), -/* 222 */ +/* 226 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const stringify = __webpack_require__(223); -const compile = __webpack_require__(225); -const expand = __webpack_require__(229); -const parse = __webpack_require__(230); +const stringify = __webpack_require__(227); +const compile = __webpack_require__(229); +const expand = __webpack_require__(233); +const parse = __webpack_require__(234); /** * Expand the given pattern or create a regex-compatible string. @@ -18957,13 +19095,13 @@ module.exports = braces; /***/ }), -/* 223 */ +/* 227 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const utils = __webpack_require__(224); +const utils = __webpack_require__(228); module.exports = (ast, options = {}) => { let stringify = (node, parent = {}) => { @@ -18996,7 +19134,7 @@ module.exports = (ast, options = {}) => { /***/ }), -/* 224 */ +/* 228 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19115,14 +19253,14 @@ exports.flatten = (...args) => { /***/ }), -/* 225 */ +/* 229 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fill = __webpack_require__(226); -const utils = __webpack_require__(224); +const fill = __webpack_require__(230); +const utils = __webpack_require__(228); const compile = (ast, options = {}) => { let walk = (node, parent = {}) => { @@ -19179,7 +19317,7 @@ module.exports = compile; /***/ }), -/* 226 */ +/* 230 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19192,8 +19330,8 @@ module.exports = compile; -const util = __webpack_require__(111); -const toRegexRange = __webpack_require__(227); +const util = __webpack_require__(115); +const toRegexRange = __webpack_require__(231); const isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); @@ -19435,7 +19573,7 @@ module.exports = fill; /***/ }), -/* 227 */ +/* 231 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19448,7 +19586,7 @@ module.exports = fill; -const isNumber = __webpack_require__(228); +const isNumber = __webpack_require__(232); const toRegexRange = (min, max, options) => { if (isNumber(min) === false) { @@ -19730,7 +19868,7 @@ module.exports = toRegexRange; /***/ }), -/* 228 */ +/* 232 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -19755,15 +19893,15 @@ module.exports = function(num) { /***/ }), -/* 229 */ +/* 233 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fill = __webpack_require__(226); -const stringify = __webpack_require__(223); -const utils = __webpack_require__(224); +const fill = __webpack_require__(230); +const stringify = __webpack_require__(227); +const utils = __webpack_require__(228); const append = (queue = '', stash = '', enclose = false) => { let result = []; @@ -19875,13 +20013,13 @@ module.exports = expand; /***/ }), -/* 230 */ +/* 234 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const stringify = __webpack_require__(223); +const stringify = __webpack_require__(227); /** * Constants @@ -19903,7 +20041,7 @@ const { CHAR_SINGLE_QUOTE, /* ' */ CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_NOBREAK_SPACE -} = __webpack_require__(231); +} = __webpack_require__(235); /** * parse @@ -20215,7 +20353,7 @@ module.exports = parse; /***/ }), -/* 231 */ +/* 235 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -20279,27 +20417,27 @@ module.exports = { /***/ }), -/* 232 */ +/* 236 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -module.exports = __webpack_require__(233); +module.exports = __webpack_require__(237); /***/ }), -/* 233 */ +/* 237 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const scan = __webpack_require__(234); -const parse = __webpack_require__(237); -const utils = __webpack_require__(235); -const constants = __webpack_require__(236); +const scan = __webpack_require__(238); +const parse = __webpack_require__(241); +const utils = __webpack_require__(239); +const constants = __webpack_require__(240); const isObject = val => val && typeof val === 'object' && !Array.isArray(val); /** @@ -20635,13 +20773,13 @@ module.exports = picomatch; /***/ }), -/* 234 */ +/* 238 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const utils = __webpack_require__(235); +const utils = __webpack_require__(239); const { CHAR_ASTERISK, /* * */ CHAR_AT, /* @ */ @@ -20658,7 +20796,7 @@ const { CHAR_RIGHT_CURLY_BRACE, /* } */ CHAR_RIGHT_PARENTHESES, /* ) */ CHAR_RIGHT_SQUARE_BRACKET /* ] */ -} = __webpack_require__(236); +} = __webpack_require__(240); const isPathSeparator = code => { return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; @@ -21025,7 +21163,7 @@ module.exports = scan; /***/ }), -/* 235 */ +/* 239 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21038,7 +21176,7 @@ const { REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL -} = __webpack_require__(236); +} = __webpack_require__(240); exports.isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); exports.hasRegexChars = str => REGEX_SPECIAL_CHARS.test(str); @@ -21096,7 +21234,7 @@ exports.wrapOutput = (input, state = {}, options = {}) => { /***/ }), -/* 236 */ +/* 240 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -21282,14 +21420,14 @@ module.exports = { /***/ }), -/* 237 */ +/* 241 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const constants = __webpack_require__(236); -const utils = __webpack_require__(235); +const constants = __webpack_require__(240); +const utils = __webpack_require__(239); /** * Constants @@ -22367,14 +22505,14 @@ module.exports = parse; /***/ }), -/* 238 */ +/* 242 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.merge = void 0; -const merge2 = __webpack_require__(196); +const merge2 = __webpack_require__(200); function merge(streams) { const mergedStream = merge2(streams); streams.forEach((stream) => { @@ -22391,7 +22529,7 @@ function propagateCloseEventToSources(streams) { /***/ }), -/* 239 */ +/* 243 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22409,14 +22547,14 @@ exports.isEmpty = isEmpty; /***/ }), -/* 240 */ +/* 244 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(241); -const provider_1 = __webpack_require__(268); +const stream_1 = __webpack_require__(245); +const provider_1 = __webpack_require__(272); class ProviderAsync extends provider_1.default { constructor() { super(...arguments); @@ -22444,16 +22582,16 @@ exports.default = ProviderAsync; /***/ }), -/* 241 */ +/* 245 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(130); -const fsStat = __webpack_require__(242); -const fsWalk = __webpack_require__(247); -const reader_1 = __webpack_require__(267); +const stream_1 = __webpack_require__(134); +const fsStat = __webpack_require__(246); +const fsWalk = __webpack_require__(251); +const reader_1 = __webpack_require__(271); class ReaderStream extends reader_1.default { constructor() { super(...arguments); @@ -22506,15 +22644,15 @@ exports.default = ReaderStream; /***/ }), -/* 242 */ +/* 246 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const async = __webpack_require__(243); -const sync = __webpack_require__(244); -const settings_1 = __webpack_require__(245); +const async = __webpack_require__(247); +const sync = __webpack_require__(248); +const settings_1 = __webpack_require__(249); exports.Settings = settings_1.default; function stat(path, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === 'function') { @@ -22537,7 +22675,7 @@ function getSettings(settingsOrOptions = {}) { /***/ }), -/* 243 */ +/* 247 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22575,7 +22713,7 @@ function callSuccessCallback(callback, result) { /***/ }), -/* 244 */ +/* 248 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -22604,13 +22742,13 @@ exports.read = read; /***/ }), -/* 245 */ +/* 249 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fs = __webpack_require__(246); +const fs = __webpack_require__(250); class Settings { constructor(_options = {}) { this._options = _options; @@ -22627,13 +22765,13 @@ exports.default = Settings; /***/ }), -/* 246 */ +/* 250 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fs = __webpack_require__(138); +const fs = __webpack_require__(142); exports.FILE_SYSTEM_ADAPTER = { lstat: fs.lstat, stat: fs.stat, @@ -22650,16 +22788,16 @@ exports.createFileSystemAdapter = createFileSystemAdapter; /***/ }), -/* 247 */ +/* 251 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const async_1 = __webpack_require__(248); -const stream_1 = __webpack_require__(263); -const sync_1 = __webpack_require__(264); -const settings_1 = __webpack_require__(266); +const async_1 = __webpack_require__(252); +const stream_1 = __webpack_require__(267); +const sync_1 = __webpack_require__(268); +const settings_1 = __webpack_require__(270); exports.Settings = settings_1.default; function walk(directory, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === 'function') { @@ -22689,13 +22827,13 @@ function getSettings(settingsOrOptions = {}) { /***/ }), -/* 248 */ +/* 252 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const async_1 = __webpack_require__(249); +const async_1 = __webpack_require__(253); class AsyncProvider { constructor(_root, _settings) { this._root = _root; @@ -22726,17 +22864,17 @@ function callSuccessCallback(callback, entries) { /***/ }), -/* 249 */ +/* 253 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const events_1 = __webpack_require__(162); -const fsScandir = __webpack_require__(250); -const fastq = __webpack_require__(259); -const common = __webpack_require__(261); -const reader_1 = __webpack_require__(262); +const events_1 = __webpack_require__(166); +const fsScandir = __webpack_require__(254); +const fastq = __webpack_require__(263); +const common = __webpack_require__(265); +const reader_1 = __webpack_require__(266); class AsyncReader extends reader_1.default { constructor(_root, _settings) { super(_root, _settings); @@ -22826,15 +22964,15 @@ exports.default = AsyncReader; /***/ }), -/* 250 */ +/* 254 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const async = __webpack_require__(251); -const sync = __webpack_require__(256); -const settings_1 = __webpack_require__(257); +const async = __webpack_require__(255); +const sync = __webpack_require__(260); +const settings_1 = __webpack_require__(261); exports.Settings = settings_1.default; function scandir(path, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === 'function') { @@ -22857,16 +22995,16 @@ function getSettings(settingsOrOptions = {}) { /***/ }), -/* 251 */ +/* 255 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fsStat = __webpack_require__(242); -const rpl = __webpack_require__(252); -const constants_1 = __webpack_require__(253); -const utils = __webpack_require__(254); +const fsStat = __webpack_require__(246); +const rpl = __webpack_require__(256); +const constants_1 = __webpack_require__(257); +const utils = __webpack_require__(258); function read(directory, settings, callback) { if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { return readdirWithFileTypes(directory, settings, callback); @@ -22954,7 +23092,7 @@ function callSuccessCallback(callback, result) { /***/ }), -/* 252 */ +/* 256 */ /***/ (function(module, exports) { module.exports = runParallel @@ -23008,7 +23146,7 @@ function runParallel (tasks, cb) { /***/ }), -/* 253 */ +/* 257 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23028,18 +23166,18 @@ exports.IS_SUPPORT_READDIR_WITH_FILE_TYPES = IS_MATCHED_BY_MAJOR || IS_MATCHED_B /***/ }), -/* 254 */ +/* 258 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fs = __webpack_require__(255); +const fs = __webpack_require__(259); exports.fs = fs; /***/ }), -/* 255 */ +/* 259 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23064,15 +23202,15 @@ exports.createDirentFromStats = createDirentFromStats; /***/ }), -/* 256 */ +/* 260 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fsStat = __webpack_require__(242); -const constants_1 = __webpack_require__(253); -const utils = __webpack_require__(254); +const fsStat = __webpack_require__(246); +const constants_1 = __webpack_require__(257); +const utils = __webpack_require__(258); function read(directory, settings) { if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { return readdirWithFileTypes(directory, settings); @@ -23123,15 +23261,15 @@ exports.readdir = readdir; /***/ }), -/* 257 */ +/* 261 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path = __webpack_require__(4); -const fsStat = __webpack_require__(242); -const fs = __webpack_require__(258); +const fsStat = __webpack_require__(246); +const fs = __webpack_require__(262); class Settings { constructor(_options = {}) { this._options = _options; @@ -23154,13 +23292,13 @@ exports.default = Settings; /***/ }), -/* 258 */ +/* 262 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fs = __webpack_require__(138); +const fs = __webpack_require__(142); exports.FILE_SYSTEM_ADAPTER = { lstat: fs.lstat, stat: fs.stat, @@ -23179,13 +23317,13 @@ exports.createFileSystemAdapter = createFileSystemAdapter; /***/ }), -/* 259 */ +/* 263 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var reusify = __webpack_require__(260) +var reusify = __webpack_require__(264) function fastqueue (context, worker, concurrency) { if (typeof context === 'function') { @@ -23359,7 +23497,7 @@ module.exports = fastqueue /***/ }), -/* 260 */ +/* 264 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23399,7 +23537,7 @@ module.exports = reusify /***/ }), -/* 261 */ +/* 265 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -23430,13 +23568,13 @@ exports.joinPathSegments = joinPathSegments; /***/ }), -/* 262 */ +/* 266 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const common = __webpack_require__(261); +const common = __webpack_require__(265); class Reader { constructor(_root, _settings) { this._root = _root; @@ -23448,14 +23586,14 @@ exports.default = Reader; /***/ }), -/* 263 */ +/* 267 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(130); -const async_1 = __webpack_require__(249); +const stream_1 = __webpack_require__(134); +const async_1 = __webpack_require__(253); class StreamProvider { constructor(_root, _settings) { this._root = _root; @@ -23485,13 +23623,13 @@ exports.default = StreamProvider; /***/ }), -/* 264 */ +/* 268 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const sync_1 = __webpack_require__(265); +const sync_1 = __webpack_require__(269); class SyncProvider { constructor(_root, _settings) { this._root = _root; @@ -23506,15 +23644,15 @@ exports.default = SyncProvider; /***/ }), -/* 265 */ +/* 269 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fsScandir = __webpack_require__(250); -const common = __webpack_require__(261); -const reader_1 = __webpack_require__(262); +const fsScandir = __webpack_require__(254); +const common = __webpack_require__(265); +const reader_1 = __webpack_require__(266); class SyncReader extends reader_1.default { constructor() { super(...arguments); @@ -23572,14 +23710,14 @@ exports.default = SyncReader; /***/ }), -/* 266 */ +/* 270 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path = __webpack_require__(4); -const fsScandir = __webpack_require__(250); +const fsScandir = __webpack_require__(254); class Settings { constructor(_options = {}) { this._options = _options; @@ -23605,15 +23743,15 @@ exports.default = Settings; /***/ }), -/* 267 */ +/* 271 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path = __webpack_require__(4); -const fsStat = __webpack_require__(242); -const utils = __webpack_require__(212); +const fsStat = __webpack_require__(246); +const utils = __webpack_require__(216); class Reader { constructor(_settings) { this._settings = _settings; @@ -23645,17 +23783,17 @@ exports.default = Reader; /***/ }), -/* 268 */ +/* 272 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path = __webpack_require__(4); -const deep_1 = __webpack_require__(269); -const entry_1 = __webpack_require__(272); -const error_1 = __webpack_require__(273); -const entry_2 = __webpack_require__(274); +const deep_1 = __webpack_require__(273); +const entry_1 = __webpack_require__(276); +const error_1 = __webpack_require__(277); +const entry_2 = __webpack_require__(278); class Provider { constructor(_settings) { this._settings = _settings; @@ -23700,14 +23838,14 @@ exports.default = Provider; /***/ }), -/* 269 */ +/* 273 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(212); -const partial_1 = __webpack_require__(270); +const utils = __webpack_require__(216); +const partial_1 = __webpack_require__(274); class DeepFilter { constructor(_settings, _micromatchOptions) { this._settings = _settings; @@ -23769,13 +23907,13 @@ exports.default = DeepFilter; /***/ }), -/* 270 */ +/* 274 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const matcher_1 = __webpack_require__(271); +const matcher_1 = __webpack_require__(275); class PartialMatcher extends matcher_1.default { match(filepath) { const parts = filepath.split('/'); @@ -23814,13 +23952,13 @@ exports.default = PartialMatcher; /***/ }), -/* 271 */ +/* 275 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(212); +const utils = __webpack_require__(216); class Matcher { constructor(_patterns, _settings, _micromatchOptions) { this._patterns = _patterns; @@ -23871,13 +24009,13 @@ exports.default = Matcher; /***/ }), -/* 272 */ +/* 276 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(212); +const utils = __webpack_require__(216); class EntryFilter { constructor(_settings, _micromatchOptions) { this._settings = _settings; @@ -23934,13 +24072,13 @@ exports.default = EntryFilter; /***/ }), -/* 273 */ +/* 277 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(212); +const utils = __webpack_require__(216); class ErrorFilter { constructor(_settings) { this._settings = _settings; @@ -23956,13 +24094,13 @@ exports.default = ErrorFilter; /***/ }), -/* 274 */ +/* 278 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(212); +const utils = __webpack_require__(216); class EntryTransformer { constructor(_settings) { this._settings = _settings; @@ -23989,15 +24127,15 @@ exports.default = EntryTransformer; /***/ }), -/* 275 */ +/* 279 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(130); -const stream_2 = __webpack_require__(241); -const provider_1 = __webpack_require__(268); +const stream_1 = __webpack_require__(134); +const stream_2 = __webpack_require__(245); +const provider_1 = __webpack_require__(272); class ProviderStream extends provider_1.default { constructor() { super(...arguments); @@ -24027,14 +24165,14 @@ exports.default = ProviderStream; /***/ }), -/* 276 */ +/* 280 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const sync_1 = __webpack_require__(277); -const provider_1 = __webpack_require__(268); +const sync_1 = __webpack_require__(281); +const provider_1 = __webpack_require__(272); class ProviderSync extends provider_1.default { constructor() { super(...arguments); @@ -24057,15 +24195,15 @@ exports.default = ProviderSync; /***/ }), -/* 277 */ +/* 281 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fsStat = __webpack_require__(242); -const fsWalk = __webpack_require__(247); -const reader_1 = __webpack_require__(267); +const fsStat = __webpack_require__(246); +const fsWalk = __webpack_require__(251); +const reader_1 = __webpack_require__(271); class ReaderSync extends reader_1.default { constructor() { super(...arguments); @@ -24107,15 +24245,15 @@ exports.default = ReaderSync; /***/ }), -/* 278 */ +/* 282 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; -const fs = __webpack_require__(138); -const os = __webpack_require__(120); +const fs = __webpack_require__(142); +const os = __webpack_require__(124); /** * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero. * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107 @@ -24171,13 +24309,13 @@ exports.default = Settings; /***/ }), -/* 279 */ +/* 283 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const pathType = __webpack_require__(280); +const pathType = __webpack_require__(284); const getExtensions = extensions => extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0]; @@ -24253,13 +24391,13 @@ module.exports.sync = (input, options) => { /***/ }), -/* 280 */ +/* 284 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const {promisify} = __webpack_require__(111); -const fs = __webpack_require__(138); +const {promisify} = __webpack_require__(115); +const fs = __webpack_require__(142); async function isType(fsStatType, statsMethodName, filePath) { if (typeof filePath !== 'string') { @@ -24303,17 +24441,17 @@ exports.isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink'); /***/ }), -/* 281 */ +/* 285 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const {promisify} = __webpack_require__(111); -const fs = __webpack_require__(138); +const {promisify} = __webpack_require__(115); +const fs = __webpack_require__(142); const path = __webpack_require__(4); -const fastGlob = __webpack_require__(210); -const gitIgnore = __webpack_require__(282); -const slash = __webpack_require__(283); +const fastGlob = __webpack_require__(214); +const gitIgnore = __webpack_require__(286); +const slash = __webpack_require__(287); const DEFAULT_IGNORE = [ '**/node_modules/**', @@ -24427,7 +24565,7 @@ module.exports.sync = options => { /***/ }), -/* 282 */ +/* 286 */ /***/ (function(module, exports) { // A simple implementation of make-array @@ -25030,7 +25168,7 @@ if ( /***/ }), -/* 283 */ +/* 287 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25048,12 +25186,12 @@ module.exports = path => { /***/ }), -/* 284 */ +/* 288 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const {Transform} = __webpack_require__(130); +const {Transform} = __webpack_require__(134); class ObjectTransform extends Transform { constructor() { @@ -25101,7 +25239,7 @@ module.exports = { /***/ }), -/* 285 */ +/* 289 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25123,7 +25261,7 @@ module.exports = path_ => { /***/ }), -/* 286 */ +/* 290 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25151,15 +25289,15 @@ module.exports = (childPath, parentPath) => { /***/ }), -/* 287 */ +/* 291 */ /***/ (function(module, exports, __webpack_require__) { -const assert = __webpack_require__(160) +const assert = __webpack_require__(164) const path = __webpack_require__(4) -const fs = __webpack_require__(138) +const fs = __webpack_require__(142) let glob = undefined try { - glob = __webpack_require__(197) + glob = __webpack_require__(201) } catch (_err) { // treat glob as optional. } @@ -25517,12 +25655,12 @@ rimraf.sync = rimrafSync /***/ }), -/* 288 */ +/* 292 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const AggregateError = __webpack_require__(289); +const AggregateError = __webpack_require__(293); module.exports = async ( iterable, @@ -25605,13 +25743,13 @@ module.exports = async ( /***/ }), -/* 289 */ +/* 293 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const indentString = __webpack_require__(290); -const cleanStack = __webpack_require__(291); +const indentString = __webpack_require__(294); +const cleanStack = __webpack_require__(295); const cleanInternalStack = stack => stack.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g, ''); @@ -25659,7 +25797,7 @@ module.exports = AggregateError; /***/ }), -/* 290 */ +/* 294 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -25701,12 +25839,12 @@ module.exports = (string, count = 1, options) => { /***/ }), -/* 291 */ +/* 295 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const os = __webpack_require__(120); +const os = __webpack_require__(124); const extractPathRegex = /\s+at.*(?:\(|\s)(.*)\)?/; const pathRegex = /^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/; @@ -25748,10 +25886,10 @@ module.exports = (stack, options) => { /***/ }), -/* 292 */ +/* 296 */ /***/ (function(module, exports, __webpack_require__) { -var fs = __webpack_require__(138), +var fs = __webpack_require__(142), path = __webpack_require__(4); module.exports = ncp; @@ -26015,7 +26153,7 @@ function ncp (source, dest, options, callback) { /***/ }), -/* 293 */ +/* 297 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -26026,14 +26164,14 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildProjectGraph", function() { return buildProjectGraph; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "topologicallyBatchProjects", function() { return topologicallyBatchProjects; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "includeTransitiveProjects", function() { return includeTransitiveProjects; }); -/* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(197); +/* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(201); /* harmony import */ var glob__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(glob__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(111); +/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(115); /* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(294); -/* harmony import */ var _project__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(295); +/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(298); +/* harmony import */ var _project__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(299); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -26208,7 +26346,7 @@ function includeTransitiveProjects(subsetOfProjects, allProjects, { } /***/ }), -/* 294 */ +/* 298 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -26230,22 +26368,22 @@ class CliError extends Error { } /***/ }), -/* 295 */ +/* 299 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Project", function() { return Project; }); -/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(138); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(142); /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(111); +/* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(115); /* harmony import */ var util__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(util__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(294); -/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(182); -/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(296); -/* harmony import */ var _scripts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(361); +/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(298); +/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(186); +/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(300); +/* harmony import */ var _scripts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(365); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -26438,7 +26576,7 @@ function normalizePath(path) { } /***/ }), -/* 296 */ +/* 300 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -26449,9 +26587,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isLinkDependency", function() { return isLinkDependency; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isBazelPackageDependency", function() { return isBazelPackageDependency; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "transformDependencies", function() { return transformDependencies; }); -/* harmony import */ var read_pkg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(297); +/* harmony import */ var read_pkg__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(301); /* harmony import */ var read_pkg__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(read_pkg__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var write_pkg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(350); +/* harmony import */ var write_pkg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(354); /* harmony import */ var write_pkg__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(write_pkg__WEBPACK_IMPORTED_MODULE_1__); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } @@ -26519,15 +26657,15 @@ function transformDependencies(dependencies = {}) { } /***/ }), -/* 297 */ +/* 301 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const {promisify} = __webpack_require__(111); -const fs = __webpack_require__(138); +const {promisify} = __webpack_require__(115); +const fs = __webpack_require__(142); const path = __webpack_require__(4); -const parseJson = __webpack_require__(298); +const parseJson = __webpack_require__(302); const readFileAsync = promisify(fs.readFile); @@ -26542,7 +26680,7 @@ module.exports = async options => { const json = parseJson(await readFileAsync(filePath, 'utf8')); if (options.normalize) { - __webpack_require__(319)(json); + __webpack_require__(323)(json); } return json; @@ -26559,7 +26697,7 @@ module.exports.sync = options => { const json = parseJson(fs.readFileSync(filePath, 'utf8')); if (options.normalize) { - __webpack_require__(319)(json); + __webpack_require__(323)(json); } return json; @@ -26567,15 +26705,15 @@ module.exports.sync = options => { /***/ }), -/* 298 */ +/* 302 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const errorEx = __webpack_require__(299); -const fallback = __webpack_require__(301); -const {default: LinesAndColumns} = __webpack_require__(302); -const {codeFrameColumns} = __webpack_require__(303); +const errorEx = __webpack_require__(303); +const fallback = __webpack_require__(305); +const {default: LinesAndColumns} = __webpack_require__(306); +const {codeFrameColumns} = __webpack_require__(307); const JSONError = errorEx('JSONError', { fileName: errorEx.append('in %s'), @@ -26624,14 +26762,14 @@ module.exports = (string, reviver, filename) => { /***/ }), -/* 299 */ +/* 303 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var util = __webpack_require__(111); -var isArrayish = __webpack_require__(300); +var util = __webpack_require__(115); +var isArrayish = __webpack_require__(304); var errorEx = function errorEx(name, properties) { if (!name || name.constructor !== String) { @@ -26764,7 +26902,7 @@ module.exports = errorEx; /***/ }), -/* 300 */ +/* 304 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -26781,7 +26919,7 @@ module.exports = function isArrayish(obj) { /***/ }), -/* 301 */ +/* 305 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -26826,7 +26964,7 @@ function parseJson (txt, reviver, context) { /***/ }), -/* 302 */ +/* 306 */ /***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { "use strict"; @@ -26890,7 +27028,7 @@ var LinesAndColumns = (function () { /***/ }), -/* 303 */ +/* 307 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -26902,7 +27040,7 @@ Object.defineProperty(exports, "__esModule", { exports.codeFrameColumns = codeFrameColumns; exports.default = _default; -var _highlight = _interopRequireWildcard(__webpack_require__(304)); +var _highlight = _interopRequireWildcard(__webpack_require__(308)); function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } @@ -27063,7 +27201,7 @@ function _default(rawLines, lineNumber, colNumber, opts = {}) { } /***/ }), -/* 304 */ +/* 308 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27076,11 +27214,11 @@ exports.shouldHighlight = shouldHighlight; exports.getChalk = getChalk; exports.default = highlight; -var jsTokensNs = _interopRequireWildcard(__webpack_require__(305)); +var jsTokensNs = _interopRequireWildcard(__webpack_require__(309)); -var _helperValidatorIdentifier = __webpack_require__(306); +var _helperValidatorIdentifier = __webpack_require__(310); -var _chalk = _interopRequireDefault(__webpack_require__(309)); +var _chalk = _interopRequireDefault(__webpack_require__(313)); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -27193,7 +27331,7 @@ function highlight(code, options = {}) { } /***/ }), -/* 305 */ +/* 309 */ /***/ (function(module, exports) { // Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell @@ -27222,7 +27360,7 @@ exports.matchToToken = function(match) { /***/ }), -/* 306 */ +/* 310 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27280,12 +27418,12 @@ Object.defineProperty(exports, "isKeyword", { } }); -var _identifier = __webpack_require__(307); +var _identifier = __webpack_require__(311); -var _keyword = __webpack_require__(308); +var _keyword = __webpack_require__(312); /***/ }), -/* 307 */ +/* 311 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27368,7 +27506,7 @@ function isIdentifierName(name) { } /***/ }), -/* 308 */ +/* 312 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27412,16 +27550,16 @@ function isKeyword(word) { } /***/ }), -/* 309 */ +/* 313 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const escapeStringRegexp = __webpack_require__(310); -const ansiStyles = __webpack_require__(311); -const stdoutColor = __webpack_require__(316).stdout; +const escapeStringRegexp = __webpack_require__(314); +const ansiStyles = __webpack_require__(315); +const stdoutColor = __webpack_require__(320).stdout; -const template = __webpack_require__(318); +const template = __webpack_require__(322); const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); @@ -27647,7 +27785,7 @@ module.exports.default = module.exports; // For TypeScript /***/ }), -/* 310 */ +/* 314 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -27665,12 +27803,12 @@ module.exports = function (str) { /***/ }), -/* 311 */ +/* 315 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(module) { -const colorConvert = __webpack_require__(312); +const colorConvert = __webpack_require__(316); const wrapAnsi16 = (fn, offset) => function () { const code = fn.apply(colorConvert, arguments); @@ -27835,14 +27973,14 @@ Object.defineProperty(module, 'exports', { get: assembleStyles }); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(114)(module))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(118)(module))) /***/ }), -/* 312 */ +/* 316 */ /***/ (function(module, exports, __webpack_require__) { -var conversions = __webpack_require__(313); -var route = __webpack_require__(315); +var conversions = __webpack_require__(317); +var route = __webpack_require__(319); var convert = {}; @@ -27922,11 +28060,11 @@ module.exports = convert; /***/ }), -/* 313 */ +/* 317 */ /***/ (function(module, exports, __webpack_require__) { /* MIT license */ -var cssKeywords = __webpack_require__(314); +var cssKeywords = __webpack_require__(318); // NOTE: conversions should only return primitive values (i.e. arrays, or // values that give correct `typeof` results). @@ -28796,7 +28934,7 @@ convert.rgb.gray = function (rgb) { /***/ }), -/* 314 */ +/* 318 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -28955,10 +29093,10 @@ module.exports = { /***/ }), -/* 315 */ +/* 319 */ /***/ (function(module, exports, __webpack_require__) { -var conversions = __webpack_require__(313); +var conversions = __webpack_require__(317); /* this function routes a model to all other models. @@ -29058,13 +29196,13 @@ module.exports = function (fromModel) { /***/ }), -/* 316 */ +/* 320 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const os = __webpack_require__(120); -const hasFlag = __webpack_require__(317); +const os = __webpack_require__(124); +const hasFlag = __webpack_require__(321); const env = process.env; @@ -29196,7 +29334,7 @@ module.exports = { /***/ }), -/* 317 */ +/* 321 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -29211,7 +29349,7 @@ module.exports = (flag, argv) => { /***/ }), -/* 318 */ +/* 322 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -29346,15 +29484,15 @@ module.exports = (chalk, tmp) => { /***/ }), -/* 319 */ +/* 323 */ /***/ (function(module, exports, __webpack_require__) { module.exports = normalize -var fixer = __webpack_require__(320) +var fixer = __webpack_require__(324) normalize.fixer = fixer -var makeWarning = __webpack_require__(348) +var makeWarning = __webpack_require__(352) var fieldsToFix = ['name','version','description','repository','modules','scripts' ,'files','bin','man','bugs','keywords','readme','homepage','license'] @@ -29391,17 +29529,17 @@ function ucFirst (string) { /***/ }), -/* 320 */ +/* 324 */ /***/ (function(module, exports, __webpack_require__) { -var semver = __webpack_require__(321) -var validateLicense = __webpack_require__(322); -var hostedGitInfo = __webpack_require__(327) -var isBuiltinModule = __webpack_require__(331).isCore +var semver = __webpack_require__(325) +var validateLicense = __webpack_require__(326); +var hostedGitInfo = __webpack_require__(331) +var isBuiltinModule = __webpack_require__(335).isCore var depTypes = ["dependencies","devDependencies","optionalDependencies"] -var extractDescription = __webpack_require__(346) -var url = __webpack_require__(328) -var typos = __webpack_require__(347) +var extractDescription = __webpack_require__(350) +var url = __webpack_require__(332) +var typos = __webpack_require__(351) var fixer = module.exports = { // default warning function @@ -29815,7 +29953,7 @@ function bugsTypos(bugs, warn) { /***/ }), -/* 321 */ +/* 325 */ /***/ (function(module, exports) { exports = module.exports = SemVer @@ -31304,11 +31442,11 @@ function coerce (version) { /***/ }), -/* 322 */ +/* 326 */ /***/ (function(module, exports, __webpack_require__) { -var parse = __webpack_require__(323); -var correct = __webpack_require__(325); +var parse = __webpack_require__(327); +var correct = __webpack_require__(329); var genericWarning = ( 'license should be ' + @@ -31394,10 +31532,10 @@ module.exports = function(argument) { /***/ }), -/* 323 */ +/* 327 */ /***/ (function(module, exports, __webpack_require__) { -var parser = __webpack_require__(324).parser +var parser = __webpack_require__(328).parser module.exports = function (argument) { return parser.parse(argument) @@ -31405,7 +31543,7 @@ module.exports = function (argument) { /***/ }), -/* 324 */ +/* 328 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(module) {/* parser generated by jison 0.4.17 */ @@ -32758,7 +32896,7 @@ exports.main = function commonjsMain(args) { console.log('Usage: '+args[0]+' FILE'); process.exit(1); } - var source = __webpack_require__(138).readFileSync(__webpack_require__(4).normalize(args[1]), "utf8"); + var source = __webpack_require__(142).readFileSync(__webpack_require__(4).normalize(args[1]), "utf8"); return exports.parser.parse(source); }; if ( true && __webpack_require__.c[__webpack_require__.s] === module) { @@ -32766,13 +32904,13 @@ if ( true && __webpack_require__.c[__webpack_require__.s] === module) { } } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(114)(module))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(118)(module))) /***/ }), -/* 325 */ +/* 329 */ /***/ (function(module, exports, __webpack_require__) { -var licenseIDs = __webpack_require__(326); +var licenseIDs = __webpack_require__(330); function valid(string) { return licenseIDs.indexOf(string) > -1; @@ -33012,20 +33150,20 @@ module.exports = function(identifier) { /***/ }), -/* 326 */ +/* 330 */ /***/ (function(module) { module.exports = JSON.parse("[\"Glide\",\"Abstyles\",\"AFL-1.1\",\"AFL-1.2\",\"AFL-2.0\",\"AFL-2.1\",\"AFL-3.0\",\"AMPAS\",\"APL-1.0\",\"Adobe-Glyph\",\"APAFML\",\"Adobe-2006\",\"AGPL-1.0\",\"Afmparse\",\"Aladdin\",\"ADSL\",\"AMDPLPA\",\"ANTLR-PD\",\"Apache-1.0\",\"Apache-1.1\",\"Apache-2.0\",\"AML\",\"APSL-1.0\",\"APSL-1.1\",\"APSL-1.2\",\"APSL-2.0\",\"Artistic-1.0\",\"Artistic-1.0-Perl\",\"Artistic-1.0-cl8\",\"Artistic-2.0\",\"AAL\",\"Bahyph\",\"Barr\",\"Beerware\",\"BitTorrent-1.0\",\"BitTorrent-1.1\",\"BSL-1.0\",\"Borceux\",\"BSD-2-Clause\",\"BSD-2-Clause-FreeBSD\",\"BSD-2-Clause-NetBSD\",\"BSD-3-Clause\",\"BSD-3-Clause-Clear\",\"BSD-4-Clause\",\"BSD-Protection\",\"BSD-Source-Code\",\"BSD-3-Clause-Attribution\",\"0BSD\",\"BSD-4-Clause-UC\",\"bzip2-1.0.5\",\"bzip2-1.0.6\",\"Caldera\",\"CECILL-1.0\",\"CECILL-1.1\",\"CECILL-2.0\",\"CECILL-2.1\",\"CECILL-B\",\"CECILL-C\",\"ClArtistic\",\"MIT-CMU\",\"CNRI-Jython\",\"CNRI-Python\",\"CNRI-Python-GPL-Compatible\",\"CPOL-1.02\",\"CDDL-1.0\",\"CDDL-1.1\",\"CPAL-1.0\",\"CPL-1.0\",\"CATOSL-1.1\",\"Condor-1.1\",\"CC-BY-1.0\",\"CC-BY-2.0\",\"CC-BY-2.5\",\"CC-BY-3.0\",\"CC-BY-4.0\",\"CC-BY-ND-1.0\",\"CC-BY-ND-2.0\",\"CC-BY-ND-2.5\",\"CC-BY-ND-3.0\",\"CC-BY-ND-4.0\",\"CC-BY-NC-1.0\",\"CC-BY-NC-2.0\",\"CC-BY-NC-2.5\",\"CC-BY-NC-3.0\",\"CC-BY-NC-4.0\",\"CC-BY-NC-ND-1.0\",\"CC-BY-NC-ND-2.0\",\"CC-BY-NC-ND-2.5\",\"CC-BY-NC-ND-3.0\",\"CC-BY-NC-ND-4.0\",\"CC-BY-NC-SA-1.0\",\"CC-BY-NC-SA-2.0\",\"CC-BY-NC-SA-2.5\",\"CC-BY-NC-SA-3.0\",\"CC-BY-NC-SA-4.0\",\"CC-BY-SA-1.0\",\"CC-BY-SA-2.0\",\"CC-BY-SA-2.5\",\"CC-BY-SA-3.0\",\"CC-BY-SA-4.0\",\"CC0-1.0\",\"Crossword\",\"CrystalStacker\",\"CUA-OPL-1.0\",\"Cube\",\"curl\",\"D-FSL-1.0\",\"diffmark\",\"WTFPL\",\"DOC\",\"Dotseqn\",\"DSDP\",\"dvipdfm\",\"EPL-1.0\",\"ECL-1.0\",\"ECL-2.0\",\"eGenix\",\"EFL-1.0\",\"EFL-2.0\",\"MIT-advertising\",\"MIT-enna\",\"Entessa\",\"ErlPL-1.1\",\"EUDatagrid\",\"EUPL-1.0\",\"EUPL-1.1\",\"Eurosym\",\"Fair\",\"MIT-feh\",\"Frameworx-1.0\",\"FreeImage\",\"FTL\",\"FSFAP\",\"FSFUL\",\"FSFULLR\",\"Giftware\",\"GL2PS\",\"Glulxe\",\"AGPL-3.0\",\"GFDL-1.1\",\"GFDL-1.2\",\"GFDL-1.3\",\"GPL-1.0\",\"GPL-2.0\",\"GPL-3.0\",\"LGPL-2.1\",\"LGPL-3.0\",\"LGPL-2.0\",\"gnuplot\",\"gSOAP-1.3b\",\"HaskellReport\",\"HPND\",\"IBM-pibs\",\"IPL-1.0\",\"ICU\",\"ImageMagick\",\"iMatix\",\"Imlib2\",\"IJG\",\"Info-ZIP\",\"Intel-ACPI\",\"Intel\",\"Interbase-1.0\",\"IPA\",\"ISC\",\"JasPer-2.0\",\"JSON\",\"LPPL-1.0\",\"LPPL-1.1\",\"LPPL-1.2\",\"LPPL-1.3a\",\"LPPL-1.3c\",\"Latex2e\",\"BSD-3-Clause-LBNL\",\"Leptonica\",\"LGPLLR\",\"Libpng\",\"libtiff\",\"LAL-1.2\",\"LAL-1.3\",\"LiLiQ-P-1.1\",\"LiLiQ-Rplus-1.1\",\"LiLiQ-R-1.1\",\"LPL-1.02\",\"LPL-1.0\",\"MakeIndex\",\"MTLL\",\"MS-PL\",\"MS-RL\",\"MirOS\",\"MITNFA\",\"MIT\",\"Motosoto\",\"MPL-1.0\",\"MPL-1.1\",\"MPL-2.0\",\"MPL-2.0-no-copyleft-exception\",\"mpich2\",\"Multics\",\"Mup\",\"NASA-1.3\",\"Naumen\",\"NBPL-1.0\",\"NetCDF\",\"NGPL\",\"NOSL\",\"NPL-1.0\",\"NPL-1.1\",\"Newsletr\",\"NLPL\",\"Nokia\",\"NPOSL-3.0\",\"NLOD-1.0\",\"Noweb\",\"NRL\",\"NTP\",\"Nunit\",\"OCLC-2.0\",\"ODbL-1.0\",\"PDDL-1.0\",\"OCCT-PL\",\"OGTSL\",\"OLDAP-2.2.2\",\"OLDAP-1.1\",\"OLDAP-1.2\",\"OLDAP-1.3\",\"OLDAP-1.4\",\"OLDAP-2.0\",\"OLDAP-2.0.1\",\"OLDAP-2.1\",\"OLDAP-2.2\",\"OLDAP-2.2.1\",\"OLDAP-2.3\",\"OLDAP-2.4\",\"OLDAP-2.5\",\"OLDAP-2.6\",\"OLDAP-2.7\",\"OLDAP-2.8\",\"OML\",\"OPL-1.0\",\"OSL-1.0\",\"OSL-1.1\",\"OSL-2.0\",\"OSL-2.1\",\"OSL-3.0\",\"OpenSSL\",\"OSET-PL-2.1\",\"PHP-3.0\",\"PHP-3.01\",\"Plexus\",\"PostgreSQL\",\"psfrag\",\"psutils\",\"Python-2.0\",\"QPL-1.0\",\"Qhull\",\"Rdisc\",\"RPSL-1.0\",\"RPL-1.1\",\"RPL-1.5\",\"RHeCos-1.1\",\"RSCPL\",\"RSA-MD\",\"Ruby\",\"SAX-PD\",\"Saxpath\",\"SCEA\",\"SWL\",\"SMPPL\",\"Sendmail\",\"SGI-B-1.0\",\"SGI-B-1.1\",\"SGI-B-2.0\",\"OFL-1.0\",\"OFL-1.1\",\"SimPL-2.0\",\"Sleepycat\",\"SNIA\",\"Spencer-86\",\"Spencer-94\",\"Spencer-99\",\"SMLNJ\",\"SugarCRM-1.1.3\",\"SISSL\",\"SISSL-1.2\",\"SPL-1.0\",\"Watcom-1.0\",\"TCL\",\"Unlicense\",\"TMate\",\"TORQUE-1.1\",\"TOSL\",\"Unicode-TOU\",\"UPL-1.0\",\"NCSA\",\"Vim\",\"VOSTROM\",\"VSL-1.0\",\"W3C-19980720\",\"W3C\",\"Wsuipa\",\"Xnet\",\"X11\",\"Xerox\",\"XFree86-1.1\",\"xinetd\",\"xpp\",\"XSkat\",\"YPL-1.0\",\"YPL-1.1\",\"Zed\",\"Zend-2.0\",\"Zimbra-1.3\",\"Zimbra-1.4\",\"Zlib\",\"zlib-acknowledgement\",\"ZPL-1.1\",\"ZPL-2.0\",\"ZPL-2.1\",\"BSD-3-Clause-No-Nuclear-License\",\"BSD-3-Clause-No-Nuclear-Warranty\",\"BSD-3-Clause-No-Nuclear-License-2014\",\"eCos-2.0\",\"GPL-2.0-with-autoconf-exception\",\"GPL-2.0-with-bison-exception\",\"GPL-2.0-with-classpath-exception\",\"GPL-2.0-with-font-exception\",\"GPL-2.0-with-GCC-exception\",\"GPL-3.0-with-autoconf-exception\",\"GPL-3.0-with-GCC-exception\",\"StandardML-NJ\",\"WXwindows\"]"); /***/ }), -/* 327 */ +/* 331 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var url = __webpack_require__(328) -var gitHosts = __webpack_require__(329) -var GitHost = module.exports = __webpack_require__(330) +var url = __webpack_require__(332) +var gitHosts = __webpack_require__(333) +var GitHost = module.exports = __webpack_require__(334) var protocolToRepresentationMap = { 'git+ssh:': 'sshurl', @@ -33173,13 +33311,13 @@ function parseGitUrl (giturl) { /***/ }), -/* 328 */ +/* 332 */ /***/ (function(module, exports) { module.exports = require("url"); /***/ }), -/* 329 */ +/* 333 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33265,12 +33403,12 @@ function formatHashFragment (fragment) { /***/ }), -/* 330 */ +/* 334 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var gitHosts = __webpack_require__(329) +var gitHosts = __webpack_require__(333) /* eslint-disable node/no-deprecated-api */ // copy-pasta util._extend from node's source, to avoid pulling @@ -33428,27 +33566,27 @@ GitHost.prototype.toString = function (opts) { /***/ }), -/* 331 */ +/* 335 */ /***/ (function(module, exports, __webpack_require__) { -var async = __webpack_require__(332); -async.core = __webpack_require__(342); -async.isCore = __webpack_require__(344); -async.sync = __webpack_require__(345); +var async = __webpack_require__(336); +async.core = __webpack_require__(346); +async.isCore = __webpack_require__(348); +async.sync = __webpack_require__(349); module.exports = async; /***/ }), -/* 332 */ +/* 336 */ /***/ (function(module, exports, __webpack_require__) { -var fs = __webpack_require__(138); +var fs = __webpack_require__(142); var path = __webpack_require__(4); -var caller = __webpack_require__(333); -var nodeModulesPaths = __webpack_require__(334); -var normalizeOptions = __webpack_require__(336); -var isCore = __webpack_require__(337); +var caller = __webpack_require__(337); +var nodeModulesPaths = __webpack_require__(338); +var normalizeOptions = __webpack_require__(340); +var isCore = __webpack_require__(341); var realpathFS = fs.realpath && typeof fs.realpath.native === 'function' ? fs.realpath.native : fs.realpath; @@ -33745,7 +33883,7 @@ module.exports = function resolve(x, options, callback) { /***/ }), -/* 333 */ +/* 337 */ /***/ (function(module, exports) { module.exports = function () { @@ -33759,11 +33897,11 @@ module.exports = function () { /***/ }), -/* 334 */ +/* 338 */ /***/ (function(module, exports, __webpack_require__) { var path = __webpack_require__(4); -var parse = path.parse || __webpack_require__(335); +var parse = path.parse || __webpack_require__(339); var getNodeModulesDirs = function getNodeModulesDirs(absoluteStart, modules) { var prefix = '/'; @@ -33807,7 +33945,7 @@ module.exports = function nodeModulesPaths(start, opts, request) { /***/ }), -/* 335 */ +/* 339 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33889,7 +34027,7 @@ module.exports.win32 = win32.parse; /***/ }), -/* 336 */ +/* 340 */ /***/ (function(module, exports) { module.exports = function (x, opts) { @@ -33905,13 +34043,13 @@ module.exports = function (x, opts) { /***/ }), -/* 337 */ +/* 341 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var has = __webpack_require__(338); +var has = __webpack_require__(342); function specifierIncluded(current, specifier) { var nodeParts = current.split('.'); @@ -33973,7 +34111,7 @@ function versionIncluded(nodeVersion, specifierValue) { return matchesRange(current, specifierValue); } -var data = __webpack_require__(341); +var data = __webpack_require__(345); module.exports = function isCore(x, nodeVersion) { return has(data, x) && versionIncluded(nodeVersion, data[x]); @@ -33981,31 +34119,31 @@ module.exports = function isCore(x, nodeVersion) { /***/ }), -/* 338 */ +/* 342 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var bind = __webpack_require__(339); +var bind = __webpack_require__(343); module.exports = bind.call(Function.call, Object.prototype.hasOwnProperty); /***/ }), -/* 339 */ +/* 343 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var implementation = __webpack_require__(340); +var implementation = __webpack_require__(344); module.exports = Function.prototype.bind || implementation; /***/ }), -/* 340 */ +/* 344 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -34064,13 +34202,13 @@ module.exports = function bind(that) { /***/ }), -/* 341 */ +/* 345 */ /***/ (function(module) { module.exports = JSON.parse("{\"assert\":true,\"assert/strict\":\">= 15\",\"async_hooks\":\">= 8\",\"buffer_ieee754\":\"< 0.9.7\",\"buffer\":true,\"child_process\":true,\"cluster\":true,\"console\":true,\"constants\":true,\"crypto\":true,\"_debug_agent\":\">= 1 && < 8\",\"_debugger\":\"< 8\",\"dgram\":true,\"diagnostics_channel\":\">= 15.1\",\"dns\":true,\"dns/promises\":\">= 15\",\"domain\":\">= 0.7.12\",\"events\":true,\"freelist\":\"< 6\",\"fs\":true,\"fs/promises\":[\">= 10 && < 10.1\",\">= 14\"],\"_http_agent\":\">= 0.11.1\",\"_http_client\":\">= 0.11.1\",\"_http_common\":\">= 0.11.1\",\"_http_incoming\":\">= 0.11.1\",\"_http_outgoing\":\">= 0.11.1\",\"_http_server\":\">= 0.11.1\",\"http\":true,\"http2\":\">= 8.8\",\"https\":true,\"inspector\":\">= 8.0.0\",\"_linklist\":\"< 8\",\"module\":true,\"net\":true,\"node-inspect/lib/_inspect\":\">= 7.6.0 && < 12\",\"node-inspect/lib/internal/inspect_client\":\">= 7.6.0 && < 12\",\"node-inspect/lib/internal/inspect_repl\":\">= 7.6.0 && < 12\",\"os\":true,\"path\":true,\"perf_hooks\":\">= 8.5\",\"process\":\">= 1\",\"punycode\":true,\"querystring\":true,\"readline\":true,\"repl\":true,\"smalloc\":\">= 0.11.5 && < 3\",\"_stream_duplex\":\">= 0.9.4\",\"_stream_transform\":\">= 0.9.4\",\"_stream_wrap\":\">= 1.4.1\",\"_stream_passthrough\":\">= 0.9.4\",\"_stream_readable\":\">= 0.9.4\",\"_stream_writable\":\">= 0.9.4\",\"stream\":true,\"stream/promises\":\">= 15\",\"string_decoder\":true,\"sys\":[\">= 0.6 && < 0.7\",\">= 0.8\"],\"timers\":true,\"timers/promises\":\">= 15\",\"_tls_common\":\">= 0.11.13\",\"_tls_legacy\":\">= 0.11.3 && < 10\",\"_tls_wrap\":\">= 0.11.3\",\"tls\":true,\"trace_events\":\">= 10\",\"tty\":true,\"url\":true,\"util\":true,\"v8/tools/arguments\":\">= 10 && < 12\",\"v8/tools/codemap\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8/tools/consarray\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8/tools/csvparser\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8/tools/logreader\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8/tools/profile_view\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8/tools/splaytree\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8\":\">= 1\",\"vm\":true,\"wasi\":\">= 13.4 && < 13.5\",\"worker_threads\":\">= 11.7\",\"zlib\":true}"); /***/ }), -/* 342 */ +/* 346 */ /***/ (function(module, exports, __webpack_require__) { var current = (process.versions && process.versions.node && process.versions.node.split('.')) || []; @@ -34117,7 +34255,7 @@ function versionIncluded(specifierValue) { return matchesRange(specifierValue); } -var data = __webpack_require__(343); +var data = __webpack_require__(347); var core = {}; for (var mod in data) { // eslint-disable-line no-restricted-syntax @@ -34129,16 +34267,16 @@ module.exports = core; /***/ }), -/* 343 */ +/* 347 */ /***/ (function(module) { module.exports = JSON.parse("{\"assert\":true,\"assert/strict\":\">= 15\",\"async_hooks\":\">= 8\",\"buffer_ieee754\":\"< 0.9.7\",\"buffer\":true,\"child_process\":true,\"cluster\":true,\"console\":true,\"constants\":true,\"crypto\":true,\"_debug_agent\":\">= 1 && < 8\",\"_debugger\":\"< 8\",\"dgram\":true,\"diagnostics_channel\":\">= 15.1\",\"dns\":true,\"dns/promises\":\">= 15\",\"domain\":\">= 0.7.12\",\"events\":true,\"freelist\":\"< 6\",\"fs\":true,\"fs/promises\":[\">= 10 && < 10.1\",\">= 14\"],\"_http_agent\":\">= 0.11.1\",\"_http_client\":\">= 0.11.1\",\"_http_common\":\">= 0.11.1\",\"_http_incoming\":\">= 0.11.1\",\"_http_outgoing\":\">= 0.11.1\",\"_http_server\":\">= 0.11.1\",\"http\":true,\"http2\":\">= 8.8\",\"https\":true,\"inspector\":\">= 8.0.0\",\"_linklist\":\"< 8\",\"module\":true,\"net\":true,\"node-inspect/lib/_inspect\":\">= 7.6.0 && < 12\",\"node-inspect/lib/internal/inspect_client\":\">= 7.6.0 && < 12\",\"node-inspect/lib/internal/inspect_repl\":\">= 7.6.0 && < 12\",\"os\":true,\"path\":true,\"perf_hooks\":\">= 8.5\",\"process\":\">= 1\",\"punycode\":true,\"querystring\":true,\"readline\":true,\"repl\":true,\"smalloc\":\">= 0.11.5 && < 3\",\"_stream_duplex\":\">= 0.9.4\",\"_stream_transform\":\">= 0.9.4\",\"_stream_wrap\":\">= 1.4.1\",\"_stream_passthrough\":\">= 0.9.4\",\"_stream_readable\":\">= 0.9.4\",\"_stream_writable\":\">= 0.9.4\",\"stream\":true,\"stream/promises\":\">= 15\",\"string_decoder\":true,\"sys\":[\">= 0.6 && < 0.7\",\">= 0.8\"],\"timers\":true,\"timers/promises\":\">= 15\",\"_tls_common\":\">= 0.11.13\",\"_tls_legacy\":\">= 0.11.3 && < 10\",\"_tls_wrap\":\">= 0.11.3\",\"tls\":true,\"trace_events\":\">= 10\",\"tty\":true,\"url\":true,\"util\":true,\"v8/tools/arguments\":\">= 10 && < 12\",\"v8/tools/codemap\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8/tools/consarray\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8/tools/csvparser\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8/tools/logreader\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8/tools/profile_view\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8/tools/splaytree\":[\">= 4.4.0 && < 5\",\">= 5.2.0 && < 12\"],\"v8\":\">= 1\",\"vm\":true,\"wasi\":\">= 13.4 && < 13.5\",\"worker_threads\":\">= 11.7\",\"zlib\":true}"); /***/ }), -/* 344 */ +/* 348 */ /***/ (function(module, exports, __webpack_require__) { -var isCoreModule = __webpack_require__(337); +var isCoreModule = __webpack_require__(341); module.exports = function isCore(x) { return isCoreModule(x); @@ -34146,15 +34284,15 @@ module.exports = function isCore(x) { /***/ }), -/* 345 */ +/* 349 */ /***/ (function(module, exports, __webpack_require__) { -var isCore = __webpack_require__(337); -var fs = __webpack_require__(138); +var isCore = __webpack_require__(341); +var fs = __webpack_require__(142); var path = __webpack_require__(4); -var caller = __webpack_require__(333); -var nodeModulesPaths = __webpack_require__(334); -var normalizeOptions = __webpack_require__(336); +var caller = __webpack_require__(337); +var nodeModulesPaths = __webpack_require__(338); +var normalizeOptions = __webpack_require__(340); var realpathFS = fs.realpathSync && typeof fs.realpathSync.native === 'function' ? fs.realpathSync.native : fs.realpathSync; @@ -34344,7 +34482,7 @@ module.exports = function resolveSync(x, options) { /***/ }), -/* 346 */ +/* 350 */ /***/ (function(module, exports) { module.exports = extractDescription @@ -34364,17 +34502,17 @@ function extractDescription (d) { /***/ }), -/* 347 */ +/* 351 */ /***/ (function(module) { module.exports = JSON.parse("{\"topLevel\":{\"dependancies\":\"dependencies\",\"dependecies\":\"dependencies\",\"depdenencies\":\"dependencies\",\"devEependencies\":\"devDependencies\",\"depends\":\"dependencies\",\"dev-dependencies\":\"devDependencies\",\"devDependences\":\"devDependencies\",\"devDepenencies\":\"devDependencies\",\"devdependencies\":\"devDependencies\",\"repostitory\":\"repository\",\"repo\":\"repository\",\"prefereGlobal\":\"preferGlobal\",\"hompage\":\"homepage\",\"hampage\":\"homepage\",\"autohr\":\"author\",\"autor\":\"author\",\"contributers\":\"contributors\",\"publicationConfig\":\"publishConfig\",\"script\":\"scripts\"},\"bugs\":{\"web\":\"url\",\"name\":\"url\"},\"script\":{\"server\":\"start\",\"tests\":\"test\"}}"); /***/ }), -/* 348 */ +/* 352 */ /***/ (function(module, exports, __webpack_require__) { -var util = __webpack_require__(111) -var messages = __webpack_require__(349) +var util = __webpack_require__(115) +var messages = __webpack_require__(353) module.exports = function() { var args = Array.prototype.slice.call(arguments, 0) @@ -34399,20 +34537,20 @@ function makeTypoWarning (providedName, probableName, field) { /***/ }), -/* 349 */ +/* 353 */ /***/ (function(module) { module.exports = JSON.parse("{\"repositories\":\"'repositories' (plural) Not supported. Please pick one as the 'repository' field\",\"missingRepository\":\"No repository field.\",\"brokenGitUrl\":\"Probably broken git url: %s\",\"nonObjectScripts\":\"scripts must be an object\",\"nonStringScript\":\"script values must be string commands\",\"nonArrayFiles\":\"Invalid 'files' member\",\"invalidFilename\":\"Invalid filename in 'files' list: %s\",\"nonArrayBundleDependencies\":\"Invalid 'bundleDependencies' list. Must be array of package names\",\"nonStringBundleDependency\":\"Invalid bundleDependencies member: %s\",\"nonDependencyBundleDependency\":\"Non-dependency in bundleDependencies: %s\",\"nonObjectDependencies\":\"%s field must be an object\",\"nonStringDependency\":\"Invalid dependency: %s %s\",\"deprecatedArrayDependencies\":\"specifying %s as array is deprecated\",\"deprecatedModules\":\"modules field is deprecated\",\"nonArrayKeywords\":\"keywords should be an array of strings\",\"nonStringKeyword\":\"keywords should be an array of strings\",\"conflictingName\":\"%s is also the name of a node core module.\",\"nonStringDescription\":\"'description' field should be a string\",\"missingDescription\":\"No description\",\"missingReadme\":\"No README data\",\"missingLicense\":\"No license field.\",\"nonEmailUrlBugsString\":\"Bug string field must be url, email, or {email,url}\",\"nonUrlBugsUrlField\":\"bugs.url field must be a string url. Deleted.\",\"nonEmailBugsEmailField\":\"bugs.email field must be a string email. Deleted.\",\"emptyNormalizedBugs\":\"Normalized value of bugs field is an empty object. Deleted.\",\"nonUrlHomepage\":\"homepage field must be a string url. Deleted.\",\"invalidLicense\":\"license should be a valid SPDX license expression\",\"typo\":\"%s should probably be %s.\"}"); /***/ }), -/* 350 */ +/* 354 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const writeJsonFile = __webpack_require__(351); -const sortKeys = __webpack_require__(355); +const writeJsonFile = __webpack_require__(355); +const sortKeys = __webpack_require__(359); const dependencyKeys = new Set([ 'dependencies', @@ -34477,18 +34615,18 @@ module.exports.sync = (filePath, data, options) => { /***/ }), -/* 351 */ +/* 355 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const fs = __webpack_require__(186); -const writeFileAtomic = __webpack_require__(352); -const sortKeys = __webpack_require__(355); -const makeDir = __webpack_require__(357); -const pify = __webpack_require__(358); -const detectIndent = __webpack_require__(360); +const fs = __webpack_require__(190); +const writeFileAtomic = __webpack_require__(356); +const sortKeys = __webpack_require__(359); +const makeDir = __webpack_require__(361); +const pify = __webpack_require__(362); +const detectIndent = __webpack_require__(364); const init = (fn, filePath, data, options) => { if (!filePath) { @@ -34560,7 +34698,7 @@ module.exports.sync = (filePath, data, options) => { /***/ }), -/* 352 */ +/* 356 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -34570,9 +34708,9 @@ module.exports.sync = writeFileSync module.exports._getTmpname = getTmpname // for testing module.exports._cleanupOnExit = cleanupOnExit -var fs = __webpack_require__(186) -var MurmurHash3 = __webpack_require__(353) -var onExit = __webpack_require__(159) +var fs = __webpack_require__(190) +var MurmurHash3 = __webpack_require__(357) +var onExit = __webpack_require__(163) var path = __webpack_require__(4) var activeFiles = {} @@ -34580,7 +34718,7 @@ var activeFiles = {} /* istanbul ignore next */ var threadId = (function getId () { try { - var workerThreads = __webpack_require__(354) + var workerThreads = __webpack_require__(358) /// if we are in main thread, this is set to `0` return workerThreads.threadId @@ -34805,7 +34943,7 @@ function writeFileSync (filename, data, options) { /***/ }), -/* 353 */ +/* 357 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -34947,18 +35085,18 @@ function writeFileSync (filename, data, options) { /***/ }), -/* 354 */ +/* 358 */ /***/ (function(module, exports) { module.exports = require(undefined); /***/ }), -/* 355 */ +/* 359 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const isPlainObj = __webpack_require__(356); +const isPlainObj = __webpack_require__(360); module.exports = (obj, opts) => { if (!isPlainObj(obj)) { @@ -35015,7 +35153,7 @@ module.exports = (obj, opts) => { /***/ }), -/* 356 */ +/* 360 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -35029,15 +35167,15 @@ module.exports = function (x) { /***/ }), -/* 357 */ +/* 361 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fs = __webpack_require__(138); +const fs = __webpack_require__(142); const path = __webpack_require__(4); -const pify = __webpack_require__(358); -const semver = __webpack_require__(359); +const pify = __webpack_require__(362); +const semver = __webpack_require__(363); const defaults = { mode: 0o777 & (~process.umask()), @@ -35175,7 +35313,7 @@ module.exports.sync = (input, options) => { /***/ }), -/* 358 */ +/* 362 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -35250,7 +35388,7 @@ module.exports = (input, options) => { /***/ }), -/* 359 */ +/* 363 */ /***/ (function(module, exports) { exports = module.exports = SemVer @@ -36739,7 +36877,7 @@ function coerce (version) { /***/ }), -/* 360 */ +/* 364 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -36868,7 +37006,7 @@ module.exports = str => { /***/ }), -/* 361 */ +/* 365 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -36876,7 +37014,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "installInDir", function() { return installInDir; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runScriptInPackage", function() { return runScriptInPackage; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runScriptInPackageStreaming", function() { return runScriptInPackageStreaming; }); -/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(129); +/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(133); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -36928,16 +37066,16 @@ function runScriptInPackageStreaming({ } /***/ }), -/* 362 */ +/* 366 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "readYarnLock", function() { return readYarnLock; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resolveDepsForProject", function() { return resolveDepsForProject; }); -/* harmony import */ var _yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(363); +/* harmony import */ var _yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(367); /* harmony import */ var _yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(184); +/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(188); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -37037,7 +37175,7 @@ function resolveDepsForProject({ } /***/ }), -/* 363 */ +/* 367 */ /***/ (function(module, exports, __webpack_require__) { module.exports = @@ -37163,13 +37301,13 @@ exports.default = function (fn) { /* 2 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(111); +module.exports = __webpack_require__(115); /***/ }), /* 3 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(138); +module.exports = __webpack_require__(142); /***/ }), /* 4 */ @@ -38596,7 +38734,7 @@ module.exports = invariant; /* 9 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(364); +module.exports = __webpack_require__(368); /***/ }), /* 10 */, @@ -39022,7 +39160,7 @@ exports.default = Lockfile; /* 17 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(130); +module.exports = __webpack_require__(134); /***/ }), /* 18 */, @@ -39074,7 +39212,7 @@ function nullify(obj = {}) { /* 22 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(160); +module.exports = __webpack_require__(164); /***/ }), /* 23 */ @@ -39261,7 +39399,7 @@ module.exports = {}; /* 36 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(120); +module.exports = __webpack_require__(124); /***/ }), /* 37 */, @@ -39546,7 +39684,7 @@ exports.f = __webpack_require__(33) ? Object.defineProperty : function definePro /* 54 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(162); +module.exports = __webpack_require__(166); /***/ }), /* 55 */ @@ -40920,7 +41058,7 @@ function onceStrict (fn) { /* 63 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(365); +module.exports = __webpack_require__(369); /***/ }), /* 64 */, @@ -41858,7 +41996,7 @@ module.exports.win32 = win32; /* 79 */ /***/ (function(module, exports) { -module.exports = __webpack_require__(121); +module.exports = __webpack_require__(125); /***/ }), /* 80 */, @@ -47315,36 +47453,36 @@ module.exports = process && support(supportLevel); /******/ ]); /***/ }), -/* 364 */ +/* 368 */ /***/ (function(module, exports) { module.exports = require("crypto"); /***/ }), -/* 365 */ +/* 369 */ /***/ (function(module, exports) { module.exports = require("buffer"); /***/ }), -/* 366 */ +/* 370 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "validateDependencies", function() { return validateDependencies; }); -/* harmony import */ var _yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(363); +/* harmony import */ var _yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(367); /* harmony import */ var _yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_yarnpkg_lockfile__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dedent__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(112); +/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(116); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(184); -/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(182); -/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(296); -/* harmony import */ var _projects_tree__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(367); +/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(188); +/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(186); +/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(300); +/* harmony import */ var _projects_tree__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(371); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -47525,14 +47663,14 @@ function getDevOnlyProductionDepsTree(kbn, projectName) { } /***/ }), -/* 367 */ +/* 371 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "renderProjectsTree", function() { return renderProjectsTree; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "treeToString", function() { return treeToString; }); -/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(112); +/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(116); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); @@ -47667,27 +47805,27 @@ function addProjectToTree(tree, pathParts, project) { } /***/ }), -/* 368 */ +/* 372 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _yarn_integrity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(369); +/* harmony import */ var _yarn_integrity__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(373); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "yarnIntegrityFileExists", function() { return _yarn_integrity__WEBPACK_IMPORTED_MODULE_0__["yarnIntegrityFileExists"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ensureYarnIntegrityFileExists", function() { return _yarn_integrity__WEBPACK_IMPORTED_MODULE_0__["ensureYarnIntegrityFileExists"]; }); -/* harmony import */ var _get_cache_folders__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(370); +/* harmony import */ var _get_cache_folders__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(374); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getBazelDiskCacheFolder", function() { return _get_cache_folders__WEBPACK_IMPORTED_MODULE_1__["getBazelDiskCacheFolder"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getBazelRepositoryCacheFolder", function() { return _get_cache_folders__WEBPACK_IMPORTED_MODULE_1__["getBazelRepositoryCacheFolder"]; }); -/* harmony import */ var _install_tools__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(371); +/* harmony import */ var _install_tools__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(375); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isBazelBinAvailable", function() { return _install_tools__WEBPACK_IMPORTED_MODULE_2__["isBazelBinAvailable"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "installBazelTools", function() { return _install_tools__WEBPACK_IMPORTED_MODULE_2__["installBazelTools"]; }); -/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(372); +/* harmony import */ var _run__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(376); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "runBazel", function() { return _run__WEBPACK_IMPORTED_MODULE_3__["runBazel"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "runIBazel", function() { return _run__WEBPACK_IMPORTED_MODULE_3__["runIBazel"]; }); @@ -47705,7 +47843,7 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 369 */ +/* 373 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -47714,7 +47852,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ensureYarnIntegrityFileExists", function() { return ensureYarnIntegrityFileExists; }); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(184); +/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(188); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -47752,7 +47890,7 @@ async function ensureYarnIntegrityFileExists(nodeModulesPath) { } /***/ }), -/* 370 */ +/* 374 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -47761,7 +47899,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getBazelRepositoryCacheFolder", function() { return getBazelRepositoryCacheFolder; }); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(129); +/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(133); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -47789,7 +47927,7 @@ async function getBazelRepositoryCacheFolder() { } /***/ }), -/* 371 */ +/* 375 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -47800,9 +47938,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dedent__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(129); -/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(184); -/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(182); +/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(133); +/* harmony import */ var _fs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(188); +/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(186); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -47908,22 +48046,22 @@ async function installBazelTools(repoRootPath) { } /***/ }), -/* 372 */ +/* 376 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runBazel", function() { return runBazel; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runIBazel", function() { return runIBazel; }); -/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(112); +/* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(116); /* harmony import */ var chalk__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(chalk__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7); -/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(373); -/* harmony import */ var _kbn_dev_utils_stdio__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(471); +/* harmony import */ var rxjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11); +/* harmony import */ var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(377); +/* harmony import */ var _kbn_dev_utils_stdio__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(475); /* harmony import */ var _kbn_dev_utils_stdio__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_kbn_dev_utils_stdio__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(129); -/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(182); -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(294); +/* harmony import */ var _child_process__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(133); +/* harmony import */ var _log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(186); +/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(298); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -47985,320 +48123,320 @@ async function runIBazel(bazelArgs, offline = false, runOpts = {}) { } /***/ }), -/* 373 */ +/* 377 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(374); +/* harmony import */ var _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(378); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "audit", function() { return _internal_operators_audit__WEBPACK_IMPORTED_MODULE_0__["audit"]; }); -/* harmony import */ var _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(375); +/* harmony import */ var _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(379); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "auditTime", function() { return _internal_operators_auditTime__WEBPACK_IMPORTED_MODULE_1__["auditTime"]; }); -/* harmony import */ var _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(376); +/* harmony import */ var _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(380); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buffer", function() { return _internal_operators_buffer__WEBPACK_IMPORTED_MODULE_2__["buffer"]; }); -/* harmony import */ var _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(377); +/* harmony import */ var _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(381); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferCount", function() { return _internal_operators_bufferCount__WEBPACK_IMPORTED_MODULE_3__["bufferCount"]; }); -/* harmony import */ var _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(378); +/* harmony import */ var _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(382); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferTime", function() { return _internal_operators_bufferTime__WEBPACK_IMPORTED_MODULE_4__["bufferTime"]; }); -/* harmony import */ var _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(379); +/* harmony import */ var _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(383); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferToggle", function() { return _internal_operators_bufferToggle__WEBPACK_IMPORTED_MODULE_5__["bufferToggle"]; }); -/* harmony import */ var _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(380); +/* harmony import */ var _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(384); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bufferWhen", function() { return _internal_operators_bufferWhen__WEBPACK_IMPORTED_MODULE_6__["bufferWhen"]; }); -/* harmony import */ var _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(381); +/* harmony import */ var _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(385); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "catchError", function() { return _internal_operators_catchError__WEBPACK_IMPORTED_MODULE_7__["catchError"]; }); -/* harmony import */ var _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(382); +/* harmony import */ var _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(386); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineAll", function() { return _internal_operators_combineAll__WEBPACK_IMPORTED_MODULE_8__["combineAll"]; }); -/* harmony import */ var _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(383); +/* harmony import */ var _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(387); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return _internal_operators_combineLatest__WEBPACK_IMPORTED_MODULE_9__["combineLatest"]; }); -/* harmony import */ var _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(384); +/* harmony import */ var _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(388); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return _internal_operators_concat__WEBPACK_IMPORTED_MODULE_10__["concat"]; }); -/* harmony import */ var _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(79); +/* harmony import */ var _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(83); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatAll", function() { return _internal_operators_concatAll__WEBPACK_IMPORTED_MODULE_11__["concatAll"]; }); -/* harmony import */ var _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(385); +/* harmony import */ var _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(389); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatMap", function() { return _internal_operators_concatMap__WEBPACK_IMPORTED_MODULE_12__["concatMap"]; }); -/* harmony import */ var _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(386); +/* harmony import */ var _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(390); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concatMapTo", function() { return _internal_operators_concatMapTo__WEBPACK_IMPORTED_MODULE_13__["concatMapTo"]; }); -/* harmony import */ var _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(387); +/* harmony import */ var _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(391); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "count", function() { return _internal_operators_count__WEBPACK_IMPORTED_MODULE_14__["count"]; }); -/* harmony import */ var _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(388); +/* harmony import */ var _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(392); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return _internal_operators_debounce__WEBPACK_IMPORTED_MODULE_15__["debounce"]; }); -/* harmony import */ var _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(389); +/* harmony import */ var _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(393); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "debounceTime", function() { return _internal_operators_debounceTime__WEBPACK_IMPORTED_MODULE_16__["debounceTime"]; }); -/* harmony import */ var _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(390); +/* harmony import */ var _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(394); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultIfEmpty", function() { return _internal_operators_defaultIfEmpty__WEBPACK_IMPORTED_MODULE_17__["defaultIfEmpty"]; }); -/* harmony import */ var _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(391); +/* harmony import */ var _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(395); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "delay", function() { return _internal_operators_delay__WEBPACK_IMPORTED_MODULE_18__["delay"]; }); -/* harmony import */ var _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(393); +/* harmony import */ var _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(397); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "delayWhen", function() { return _internal_operators_delayWhen__WEBPACK_IMPORTED_MODULE_19__["delayWhen"]; }); -/* harmony import */ var _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(394); +/* harmony import */ var _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(398); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dematerialize", function() { return _internal_operators_dematerialize__WEBPACK_IMPORTED_MODULE_20__["dematerialize"]; }); -/* harmony import */ var _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(395); +/* harmony import */ var _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(399); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinct", function() { return _internal_operators_distinct__WEBPACK_IMPORTED_MODULE_21__["distinct"]; }); -/* harmony import */ var _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(396); +/* harmony import */ var _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(400); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinctUntilChanged", function() { return _internal_operators_distinctUntilChanged__WEBPACK_IMPORTED_MODULE_22__["distinctUntilChanged"]; }); -/* harmony import */ var _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(397); +/* harmony import */ var _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(401); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "distinctUntilKeyChanged", function() { return _internal_operators_distinctUntilKeyChanged__WEBPACK_IMPORTED_MODULE_23__["distinctUntilKeyChanged"]; }); -/* harmony import */ var _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(398); +/* harmony import */ var _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(402); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "elementAt", function() { return _internal_operators_elementAt__WEBPACK_IMPORTED_MODULE_24__["elementAt"]; }); -/* harmony import */ var _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(401); +/* harmony import */ var _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(405); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "endWith", function() { return _internal_operators_endWith__WEBPACK_IMPORTED_MODULE_25__["endWith"]; }); -/* harmony import */ var _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(402); +/* harmony import */ var _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(406); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "every", function() { return _internal_operators_every__WEBPACK_IMPORTED_MODULE_26__["every"]; }); -/* harmony import */ var _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(403); +/* harmony import */ var _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(407); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exhaust", function() { return _internal_operators_exhaust__WEBPACK_IMPORTED_MODULE_27__["exhaust"]; }); -/* harmony import */ var _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(404); +/* harmony import */ var _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(408); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "exhaustMap", function() { return _internal_operators_exhaustMap__WEBPACK_IMPORTED_MODULE_28__["exhaustMap"]; }); -/* harmony import */ var _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(405); +/* harmony import */ var _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(409); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "expand", function() { return _internal_operators_expand__WEBPACK_IMPORTED_MODULE_29__["expand"]; }); -/* harmony import */ var _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(104); +/* harmony import */ var _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(108); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "filter", function() { return _internal_operators_filter__WEBPACK_IMPORTED_MODULE_30__["filter"]; }); -/* harmony import */ var _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(406); +/* harmony import */ var _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(410); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "finalize", function() { return _internal_operators_finalize__WEBPACK_IMPORTED_MODULE_31__["finalize"]; }); -/* harmony import */ var _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(407); +/* harmony import */ var _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(411); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "find", function() { return _internal_operators_find__WEBPACK_IMPORTED_MODULE_32__["find"]; }); -/* harmony import */ var _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(408); +/* harmony import */ var _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(412); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return _internal_operators_findIndex__WEBPACK_IMPORTED_MODULE_33__["findIndex"]; }); -/* harmony import */ var _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(409); +/* harmony import */ var _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(413); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "first", function() { return _internal_operators_first__WEBPACK_IMPORTED_MODULE_34__["first"]; }); -/* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(30); +/* harmony import */ var _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(34); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "groupBy", function() { return _internal_operators_groupBy__WEBPACK_IMPORTED_MODULE_35__["groupBy"]; }); -/* harmony import */ var _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(410); +/* harmony import */ var _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(414); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ignoreElements", function() { return _internal_operators_ignoreElements__WEBPACK_IMPORTED_MODULE_36__["ignoreElements"]; }); -/* harmony import */ var _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(411); +/* harmony import */ var _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(415); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isEmpty", function() { return _internal_operators_isEmpty__WEBPACK_IMPORTED_MODULE_37__["isEmpty"]; }); -/* harmony import */ var _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(412); +/* harmony import */ var _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(416); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "last", function() { return _internal_operators_last__WEBPACK_IMPORTED_MODULE_38__["last"]; }); -/* harmony import */ var _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(65); +/* harmony import */ var _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(69); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "map", function() { return _internal_operators_map__WEBPACK_IMPORTED_MODULE_39__["map"]; }); -/* harmony import */ var _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(414); +/* harmony import */ var _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(418); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapTo", function() { return _internal_operators_mapTo__WEBPACK_IMPORTED_MODULE_40__["mapTo"]; }); -/* harmony import */ var _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(415); +/* harmony import */ var _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(419); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "materialize", function() { return _internal_operators_materialize__WEBPACK_IMPORTED_MODULE_41__["materialize"]; }); -/* harmony import */ var _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(416); +/* harmony import */ var _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(420); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "max", function() { return _internal_operators_max__WEBPACK_IMPORTED_MODULE_42__["max"]; }); -/* harmony import */ var _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(419); +/* harmony import */ var _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(423); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return _internal_operators_merge__WEBPACK_IMPORTED_MODULE_43__["merge"]; }); -/* harmony import */ var _internal_operators_mergeAll__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(80); +/* harmony import */ var _internal_operators_mergeAll__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(84); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeAll", function() { return _internal_operators_mergeAll__WEBPACK_IMPORTED_MODULE_44__["mergeAll"]; }); -/* harmony import */ var _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(81); +/* harmony import */ var _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(85); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeMap", function() { return _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__["mergeMap"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "flatMap", function() { return _internal_operators_mergeMap__WEBPACK_IMPORTED_MODULE_45__["flatMap"]; }); -/* harmony import */ var _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(420); +/* harmony import */ var _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(424); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeMapTo", function() { return _internal_operators_mergeMapTo__WEBPACK_IMPORTED_MODULE_46__["mergeMapTo"]; }); -/* harmony import */ var _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(421); +/* harmony import */ var _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(425); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeScan", function() { return _internal_operators_mergeScan__WEBPACK_IMPORTED_MODULE_47__["mergeScan"]; }); -/* harmony import */ var _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(422); +/* harmony import */ var _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(426); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "min", function() { return _internal_operators_min__WEBPACK_IMPORTED_MODULE_48__["min"]; }); -/* harmony import */ var _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(423); +/* harmony import */ var _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(427); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "multicast", function() { return _internal_operators_multicast__WEBPACK_IMPORTED_MODULE_49__["multicast"]; }); -/* harmony import */ var _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(40); +/* harmony import */ var _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(44); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "observeOn", function() { return _internal_operators_observeOn__WEBPACK_IMPORTED_MODULE_50__["observeOn"]; }); -/* harmony import */ var _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(424); +/* harmony import */ var _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(428); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return _internal_operators_onErrorResumeNext__WEBPACK_IMPORTED_MODULE_51__["onErrorResumeNext"]; }); -/* harmony import */ var _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(425); +/* harmony import */ var _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(429); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pairwise", function() { return _internal_operators_pairwise__WEBPACK_IMPORTED_MODULE_52__["pairwise"]; }); -/* harmony import */ var _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(426); +/* harmony import */ var _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(430); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return _internal_operators_partition__WEBPACK_IMPORTED_MODULE_53__["partition"]; }); -/* harmony import */ var _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(427); +/* harmony import */ var _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(431); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pluck", function() { return _internal_operators_pluck__WEBPACK_IMPORTED_MODULE_54__["pluck"]; }); -/* harmony import */ var _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(428); +/* harmony import */ var _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(432); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publish", function() { return _internal_operators_publish__WEBPACK_IMPORTED_MODULE_55__["publish"]; }); -/* harmony import */ var _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(429); +/* harmony import */ var _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(433); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishBehavior", function() { return _internal_operators_publishBehavior__WEBPACK_IMPORTED_MODULE_56__["publishBehavior"]; }); -/* harmony import */ var _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(430); +/* harmony import */ var _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(434); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishLast", function() { return _internal_operators_publishLast__WEBPACK_IMPORTED_MODULE_57__["publishLast"]; }); -/* harmony import */ var _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(431); +/* harmony import */ var _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(435); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "publishReplay", function() { return _internal_operators_publishReplay__WEBPACK_IMPORTED_MODULE_58__["publishReplay"]; }); -/* harmony import */ var _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(432); +/* harmony import */ var _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(436); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "race", function() { return _internal_operators_race__WEBPACK_IMPORTED_MODULE_59__["race"]; }); -/* harmony import */ var _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(417); +/* harmony import */ var _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(421); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return _internal_operators_reduce__WEBPACK_IMPORTED_MODULE_60__["reduce"]; }); -/* harmony import */ var _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(433); +/* harmony import */ var _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(437); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "repeat", function() { return _internal_operators_repeat__WEBPACK_IMPORTED_MODULE_61__["repeat"]; }); -/* harmony import */ var _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(434); +/* harmony import */ var _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(438); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "repeatWhen", function() { return _internal_operators_repeatWhen__WEBPACK_IMPORTED_MODULE_62__["repeatWhen"]; }); -/* harmony import */ var _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(435); +/* harmony import */ var _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(439); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "retry", function() { return _internal_operators_retry__WEBPACK_IMPORTED_MODULE_63__["retry"]; }); -/* harmony import */ var _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(436); +/* harmony import */ var _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(440); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "retryWhen", function() { return _internal_operators_retryWhen__WEBPACK_IMPORTED_MODULE_64__["retryWhen"]; }); -/* harmony import */ var _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(29); +/* harmony import */ var _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(33); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "refCount", function() { return _internal_operators_refCount__WEBPACK_IMPORTED_MODULE_65__["refCount"]; }); -/* harmony import */ var _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(437); +/* harmony import */ var _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(441); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sample", function() { return _internal_operators_sample__WEBPACK_IMPORTED_MODULE_66__["sample"]; }); -/* harmony import */ var _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(438); +/* harmony import */ var _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(442); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sampleTime", function() { return _internal_operators_sampleTime__WEBPACK_IMPORTED_MODULE_67__["sampleTime"]; }); -/* harmony import */ var _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(418); +/* harmony import */ var _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(422); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "scan", function() { return _internal_operators_scan__WEBPACK_IMPORTED_MODULE_68__["scan"]; }); -/* harmony import */ var _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(439); +/* harmony import */ var _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(443); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sequenceEqual", function() { return _internal_operators_sequenceEqual__WEBPACK_IMPORTED_MODULE_69__["sequenceEqual"]; }); -/* harmony import */ var _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(440); +/* harmony import */ var _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(444); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "share", function() { return _internal_operators_share__WEBPACK_IMPORTED_MODULE_70__["share"]; }); -/* harmony import */ var _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(441); +/* harmony import */ var _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(445); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "shareReplay", function() { return _internal_operators_shareReplay__WEBPACK_IMPORTED_MODULE_71__["shareReplay"]; }); -/* harmony import */ var _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(442); +/* harmony import */ var _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(446); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "single", function() { return _internal_operators_single__WEBPACK_IMPORTED_MODULE_72__["single"]; }); -/* harmony import */ var _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(443); +/* harmony import */ var _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(447); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skip", function() { return _internal_operators_skip__WEBPACK_IMPORTED_MODULE_73__["skip"]; }); -/* harmony import */ var _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(444); +/* harmony import */ var _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(448); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipLast", function() { return _internal_operators_skipLast__WEBPACK_IMPORTED_MODULE_74__["skipLast"]; }); -/* harmony import */ var _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(445); +/* harmony import */ var _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(449); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipUntil", function() { return _internal_operators_skipUntil__WEBPACK_IMPORTED_MODULE_75__["skipUntil"]; }); -/* harmony import */ var _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(446); +/* harmony import */ var _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(450); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "skipWhile", function() { return _internal_operators_skipWhile__WEBPACK_IMPORTED_MODULE_76__["skipWhile"]; }); -/* harmony import */ var _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(447); +/* harmony import */ var _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(451); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "startWith", function() { return _internal_operators_startWith__WEBPACK_IMPORTED_MODULE_77__["startWith"]; }); -/* harmony import */ var _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(448); +/* harmony import */ var _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(452); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "subscribeOn", function() { return _internal_operators_subscribeOn__WEBPACK_IMPORTED_MODULE_78__["subscribeOn"]; }); -/* harmony import */ var _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(450); +/* harmony import */ var _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(454); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchAll", function() { return _internal_operators_switchAll__WEBPACK_IMPORTED_MODULE_79__["switchAll"]; }); -/* harmony import */ var _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(451); +/* harmony import */ var _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(455); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchMap", function() { return _internal_operators_switchMap__WEBPACK_IMPORTED_MODULE_80__["switchMap"]; }); -/* harmony import */ var _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(452); +/* harmony import */ var _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(456); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "switchMapTo", function() { return _internal_operators_switchMapTo__WEBPACK_IMPORTED_MODULE_81__["switchMapTo"]; }); -/* harmony import */ var _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(400); +/* harmony import */ var _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(404); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "take", function() { return _internal_operators_take__WEBPACK_IMPORTED_MODULE_82__["take"]; }); -/* harmony import */ var _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(413); +/* harmony import */ var _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(417); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeLast", function() { return _internal_operators_takeLast__WEBPACK_IMPORTED_MODULE_83__["takeLast"]; }); -/* harmony import */ var _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(453); +/* harmony import */ var _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(457); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeUntil", function() { return _internal_operators_takeUntil__WEBPACK_IMPORTED_MODULE_84__["takeUntil"]; }); -/* harmony import */ var _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(454); +/* harmony import */ var _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(458); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeWhile", function() { return _internal_operators_takeWhile__WEBPACK_IMPORTED_MODULE_85__["takeWhile"]; }); -/* harmony import */ var _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(455); +/* harmony import */ var _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(459); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tap", function() { return _internal_operators_tap__WEBPACK_IMPORTED_MODULE_86__["tap"]; }); -/* harmony import */ var _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(456); +/* harmony import */ var _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(460); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return _internal_operators_throttle__WEBPACK_IMPORTED_MODULE_87__["throttle"]; }); -/* harmony import */ var _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(457); +/* harmony import */ var _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(461); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throttleTime", function() { return _internal_operators_throttleTime__WEBPACK_IMPORTED_MODULE_88__["throttleTime"]; }); -/* harmony import */ var _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(399); +/* harmony import */ var _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(403); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "throwIfEmpty", function() { return _internal_operators_throwIfEmpty__WEBPACK_IMPORTED_MODULE_89__["throwIfEmpty"]; }); -/* harmony import */ var _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(458); +/* harmony import */ var _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(462); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeInterval", function() { return _internal_operators_timeInterval__WEBPACK_IMPORTED_MODULE_90__["timeInterval"]; }); -/* harmony import */ var _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(459); +/* harmony import */ var _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(463); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeout", function() { return _internal_operators_timeout__WEBPACK_IMPORTED_MODULE_91__["timeout"]; }); -/* harmony import */ var _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(460); +/* harmony import */ var _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(464); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timeoutWith", function() { return _internal_operators_timeoutWith__WEBPACK_IMPORTED_MODULE_92__["timeoutWith"]; }); -/* harmony import */ var _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(461); +/* harmony import */ var _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(465); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "timestamp", function() { return _internal_operators_timestamp__WEBPACK_IMPORTED_MODULE_93__["timestamp"]; }); -/* harmony import */ var _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(462); +/* harmony import */ var _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(466); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toArray", function() { return _internal_operators_toArray__WEBPACK_IMPORTED_MODULE_94__["toArray"]; }); -/* harmony import */ var _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(463); +/* harmony import */ var _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(467); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "window", function() { return _internal_operators_window__WEBPACK_IMPORTED_MODULE_95__["window"]; }); -/* harmony import */ var _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(464); +/* harmony import */ var _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(468); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowCount", function() { return _internal_operators_windowCount__WEBPACK_IMPORTED_MODULE_96__["windowCount"]; }); -/* harmony import */ var _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(465); +/* harmony import */ var _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(469); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowTime", function() { return _internal_operators_windowTime__WEBPACK_IMPORTED_MODULE_97__["windowTime"]; }); -/* harmony import */ var _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(466); +/* harmony import */ var _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(470); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowToggle", function() { return _internal_operators_windowToggle__WEBPACK_IMPORTED_MODULE_98__["windowToggle"]; }); -/* harmony import */ var _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(467); +/* harmony import */ var _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(471); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "windowWhen", function() { return _internal_operators_windowWhen__WEBPACK_IMPORTED_MODULE_99__["windowWhen"]; }); -/* harmony import */ var _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(468); +/* harmony import */ var _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(472); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "withLatestFrom", function() { return _internal_operators_withLatestFrom__WEBPACK_IMPORTED_MODULE_100__["withLatestFrom"]; }); -/* harmony import */ var _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(469); +/* harmony import */ var _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(473); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return _internal_operators_zip__WEBPACK_IMPORTED_MODULE_101__["zip"]; }); -/* harmony import */ var _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(470); +/* harmony import */ var _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(474); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zipAll", function() { return _internal_operators_zipAll__WEBPACK_IMPORTED_MODULE_102__["zipAll"]; }); /** PURE_IMPORTS_START PURE_IMPORTS_END */ @@ -48409,14 +48547,14 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 374 */ +/* 378 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "audit", function() { return audit; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -48488,15 +48626,15 @@ var AuditSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 375 */ +/* 379 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "auditTime", function() { return auditTime; }); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(54); -/* harmony import */ var _audit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(374); -/* harmony import */ var _observable_timer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(107); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58); +/* harmony import */ var _audit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(378); +/* harmony import */ var _observable_timer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(111); /** PURE_IMPORTS_START _scheduler_async,_audit,_observable_timer PURE_IMPORTS_END */ @@ -48511,14 +48649,14 @@ function auditTime(duration, scheduler) { /***/ }), -/* 376 */ +/* 380 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buffer", function() { return buffer; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -48558,14 +48696,14 @@ var BufferSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 377 */ +/* 381 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bufferCount", function() { return bufferCount; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -48659,16 +48797,16 @@ var BufferSkipCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 378 */ +/* 382 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bufferTime", function() { return bufferTime; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(10); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(44); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48); /** PURE_IMPORTS_START tslib,_scheduler_async,_Subscriber,_util_isScheduler PURE_IMPORTS_END */ @@ -48820,16 +48958,16 @@ function dispatchBufferClose(arg) { /***/ }), -/* 379 */ +/* 383 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bufferToggle", function() { return bufferToggle; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(72); /** PURE_IMPORTS_START tslib,_Subscription,_util_subscribeToResult,_OuterSubscriber PURE_IMPORTS_END */ @@ -48939,15 +49077,15 @@ var BufferToggleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 380 */ +/* 384 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bufferWhen", function() { return bufferWhen; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(16); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_Subscription,_innerSubscribe PURE_IMPORTS_END */ @@ -49032,14 +49170,14 @@ var BufferWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 381 */ +/* 385 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "catchError", function() { return catchError; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -49092,13 +49230,13 @@ var CatchSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 382 */ +/* 386 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "combineAll", function() { return combineAll; }); -/* harmony import */ var _observable_combineLatest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(67); +/* harmony import */ var _observable_combineLatest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(71); /** PURE_IMPORTS_START _observable_combineLatest PURE_IMPORTS_END */ function combineAll(project) { @@ -49108,15 +49246,15 @@ function combineAll(project) { /***/ }), -/* 383 */ +/* 387 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "combineLatest", function() { return combineLatest; }); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17); -/* harmony import */ var _observable_combineLatest__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67); -/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21); +/* harmony import */ var _observable_combineLatest__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(71); +/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86); /** PURE_IMPORTS_START _util_isArray,_observable_combineLatest,_observable_from PURE_IMPORTS_END */ @@ -49140,13 +49278,13 @@ function combineLatest() { /***/ }), -/* 384 */ +/* 388 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return concat; }); -/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78); +/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82); /** PURE_IMPORTS_START _observable_concat PURE_IMPORTS_END */ function concat() { @@ -49160,13 +49298,13 @@ function concat() { /***/ }), -/* 385 */ +/* 389 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatMap", function() { return concatMap; }); -/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81); +/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85); /** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */ function concatMap(project, resultSelector) { @@ -49176,13 +49314,13 @@ function concatMap(project, resultSelector) { /***/ }), -/* 386 */ +/* 390 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "concatMapTo", function() { return concatMapTo; }); -/* harmony import */ var _concatMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(385); +/* harmony import */ var _concatMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(389); /** PURE_IMPORTS_START _concatMap PURE_IMPORTS_END */ function concatMapTo(innerObservable, resultSelector) { @@ -49192,14 +49330,14 @@ function concatMapTo(innerObservable, resultSelector) { /***/ }), -/* 387 */ +/* 391 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "count", function() { return count; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -49257,14 +49395,14 @@ var CountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 388 */ +/* 392 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debounce", function() { return debounce; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -49342,15 +49480,15 @@ var DebounceSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 389 */ +/* 393 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "debounceTime", function() { return debounceTime; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(54); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58); /** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */ @@ -49418,14 +49556,14 @@ function dispatchNext(subscriber) { /***/ }), -/* 390 */ +/* 394 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultIfEmpty", function() { return defaultIfEmpty; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -49468,17 +49606,17 @@ var DefaultIfEmptySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 391 */ +/* 395 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "delay", function() { return delay; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54); -/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(392); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10); -/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(41); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58); +/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(396); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14); +/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(45); /** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_Subscriber,_Notification PURE_IMPORTS_END */ @@ -49575,7 +49713,7 @@ var DelayMessage = /*@__PURE__*/ (function () { /***/ }), -/* 392 */ +/* 396 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -49589,17 +49727,17 @@ function isDate(value) { /***/ }), -/* 393 */ +/* 397 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "delayWhen", function() { return delayWhen; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(72); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73); /** PURE_IMPORTS_START tslib,_Subscriber,_Observable,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -49735,14 +49873,14 @@ var SubscriptionDelaySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 394 */ +/* 398 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dematerialize", function() { return dematerialize; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -49773,15 +49911,15 @@ var DeMaterializeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 395 */ +/* 399 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "distinct", function() { return distinct; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DistinctSubscriber", function() { return DistinctSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -49849,14 +49987,14 @@ var DistinctSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 396 */ +/* 400 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "distinctUntilChanged", function() { return distinctUntilChanged; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -49920,13 +50058,13 @@ var DistinctUntilChangedSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 397 */ +/* 401 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "distinctUntilKeyChanged", function() { return distinctUntilKeyChanged; }); -/* harmony import */ var _distinctUntilChanged__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(396); +/* harmony import */ var _distinctUntilChanged__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(400); /** PURE_IMPORTS_START _distinctUntilChanged PURE_IMPORTS_END */ function distinctUntilKeyChanged(key, compare) { @@ -49936,17 +50074,17 @@ function distinctUntilKeyChanged(key, compare) { /***/ }), -/* 398 */ +/* 402 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "elementAt", function() { return elementAt; }); -/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(61); -/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(104); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(399); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(390); -/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(400); +/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65); +/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(108); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(403); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(394); +/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(404); /** PURE_IMPORTS_START _util_ArgumentOutOfRangeError,_filter,_throwIfEmpty,_defaultIfEmpty,_take PURE_IMPORTS_END */ @@ -49968,15 +50106,15 @@ function elementAt(index, defaultValue) { /***/ }), -/* 399 */ +/* 403 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throwIfEmpty", function() { return throwIfEmpty; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(62); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(66); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_util_EmptyError,_Subscriber PURE_IMPORTS_END */ @@ -50034,16 +50172,16 @@ function defaultErrorFactory() { /***/ }), -/* 400 */ +/* 404 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "take", function() { return take; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(61); -/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65); +/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46); /** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */ @@ -50096,14 +50234,14 @@ var TakeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 401 */ +/* 405 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "endWith", function() { return endWith; }); -/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78); -/* harmony import */ var _observable_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(43); +/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82); +/* harmony import */ var _observable_of__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(47); /** PURE_IMPORTS_START _observable_concat,_observable_of PURE_IMPORTS_END */ @@ -50118,14 +50256,14 @@ function endWith() { /***/ }), -/* 402 */ +/* 406 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "every", function() { return every; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -50180,14 +50318,14 @@ var EverySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 403 */ +/* 407 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "exhaust", function() { return exhaust; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -50234,16 +50372,16 @@ var SwitchFirstSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 404 */ +/* 408 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "exhaustMap", function() { return exhaustMap; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65); -/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(69); +/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */ @@ -50328,7 +50466,7 @@ var ExhaustMapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 405 */ +/* 409 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -50336,8 +50474,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "expand", function() { return expand; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ExpandOperator", function() { return ExpandOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ExpandSubscriber", function() { return ExpandSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -50440,15 +50578,15 @@ var ExpandSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 406 */ +/* 410 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "finalize", function() { return finalize; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20); /** PURE_IMPORTS_START tslib,_Subscriber,_Subscription PURE_IMPORTS_END */ @@ -50478,7 +50616,7 @@ var FinallySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 407 */ +/* 411 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -50486,8 +50624,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "find", function() { return find; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FindValueOperator", function() { return FindValueOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FindValueSubscriber", function() { return FindValueSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -50550,13 +50688,13 @@ var FindValueSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 408 */ +/* 412 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return findIndex; }); -/* harmony import */ var _operators_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(407); +/* harmony import */ var _operators_find__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(411); /** PURE_IMPORTS_START _operators_find PURE_IMPORTS_END */ function findIndex(predicate, thisArg) { @@ -50566,18 +50704,18 @@ function findIndex(predicate, thisArg) { /***/ }), -/* 409 */ +/* 413 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "first", function() { return first; }); -/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(62); -/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(104); -/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(400); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(390); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(399); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24); +/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66); +/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(108); +/* harmony import */ var _take__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(404); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(394); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(403); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(28); /** PURE_IMPORTS_START _util_EmptyError,_filter,_take,_defaultIfEmpty,_throwIfEmpty,_util_identity PURE_IMPORTS_END */ @@ -50593,14 +50731,14 @@ function first(predicate, defaultValue) { /***/ }), -/* 410 */ +/* 414 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ignoreElements", function() { return ignoreElements; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -50630,14 +50768,14 @@ var IgnoreElementsSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 411 */ +/* 415 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isEmpty", function() { return isEmpty; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -50674,18 +50812,18 @@ var IsEmptySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 412 */ +/* 416 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "last", function() { return last; }); -/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(62); -/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(104); -/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(413); -/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(399); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(390); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(24); +/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(66); +/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(108); +/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(417); +/* harmony import */ var _throwIfEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(403); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(394); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(28); /** PURE_IMPORTS_START _util_EmptyError,_filter,_takeLast,_throwIfEmpty,_defaultIfEmpty,_util_identity PURE_IMPORTS_END */ @@ -50701,16 +50839,16 @@ function last(predicate, defaultValue) { /***/ }), -/* 413 */ +/* 417 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "takeLast", function() { return takeLast; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(61); -/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(42); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65); +/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(46); /** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError,_observable_empty PURE_IMPORTS_END */ @@ -50778,14 +50916,14 @@ var TakeLastSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 414 */ +/* 418 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mapTo", function() { return mapTo; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -50817,15 +50955,15 @@ var MapToSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 415 */ +/* 419 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "materialize", function() { return materialize; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(41); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _Notification__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(45); /** PURE_IMPORTS_START tslib,_Subscriber,_Notification PURE_IMPORTS_END */ @@ -50867,13 +51005,13 @@ var MaterializeSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 416 */ +/* 420 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "max", function() { return max; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(417); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(421); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function max(comparer) { @@ -50886,16 +51024,16 @@ function max(comparer) { /***/ }), -/* 417 */ +/* 421 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return reduce; }); -/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(418); -/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(413); -/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(390); -/* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(23); +/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(422); +/* harmony import */ var _takeLast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(417); +/* harmony import */ var _defaultIfEmpty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(394); +/* harmony import */ var _util_pipe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(27); /** PURE_IMPORTS_START _scan,_takeLast,_defaultIfEmpty,_util_pipe PURE_IMPORTS_END */ @@ -50915,14 +51053,14 @@ function reduce(accumulator, seed) { /***/ }), -/* 418 */ +/* 422 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scan", function() { return scan; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -50997,13 +51135,13 @@ var ScanSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 419 */ +/* 423 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return merge; }); -/* harmony import */ var _observable_merge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(98); +/* harmony import */ var _observable_merge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(102); /** PURE_IMPORTS_START _observable_merge PURE_IMPORTS_END */ function merge() { @@ -51017,13 +51155,13 @@ function merge() { /***/ }), -/* 420 */ +/* 424 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeMapTo", function() { return mergeMapTo; }); -/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(81); +/* harmony import */ var _mergeMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(85); /** PURE_IMPORTS_START _mergeMap PURE_IMPORTS_END */ function mergeMapTo(innerObservable, resultSelector, concurrent) { @@ -51042,7 +51180,7 @@ function mergeMapTo(innerObservable, resultSelector, concurrent) { /***/ }), -/* 421 */ +/* 425 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -51050,8 +51188,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeScan", function() { return mergeScan; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MergeScanOperator", function() { return MergeScanOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MergeScanSubscriber", function() { return MergeScanSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -51151,13 +51289,13 @@ var MergeScanSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 422 */ +/* 426 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "min", function() { return min; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(417); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(421); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function min(comparer) { @@ -51170,14 +51308,14 @@ function min(comparer) { /***/ }), -/* 423 */ +/* 427 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "multicast", function() { return multicast; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MulticastOperator", function() { return MulticastOperator; }); -/* harmony import */ var _observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(25); +/* harmony import */ var _observable_ConnectableObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(29); /** PURE_IMPORTS_START _observable_ConnectableObservable PURE_IMPORTS_END */ function multicast(subjectOrSubjectFactory, selector) { @@ -51219,17 +51357,17 @@ var MulticastOperator = /*@__PURE__*/ (function () { /***/ }), -/* 424 */ +/* 428 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNext", function() { return onErrorResumeNext; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onErrorResumeNextStatic", function() { return onErrorResumeNextStatic; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(82); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(17); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(86); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(21); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_observable_from,_util_isArray,_innerSubscribe PURE_IMPORTS_END */ @@ -51309,14 +51447,14 @@ var OnErrorResumeNextSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 425 */ +/* 429 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pairwise", function() { return pairwise; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -51357,14 +51495,14 @@ var PairwiseSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 426 */ +/* 430 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return partition; }); -/* harmony import */ var _util_not__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(103); -/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(104); +/* harmony import */ var _util_not__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(107); +/* harmony import */ var _filter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(108); /** PURE_IMPORTS_START _util_not,_filter PURE_IMPORTS_END */ @@ -51380,13 +51518,13 @@ function partition(predicate, thisArg) { /***/ }), -/* 427 */ +/* 431 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pluck", function() { return pluck; }); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(65); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(69); /** PURE_IMPORTS_START _map PURE_IMPORTS_END */ function pluck() { @@ -51420,14 +51558,14 @@ function plucker(props, length) { /***/ }), -/* 428 */ +/* 432 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publish", function() { return publish; }); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(423); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(30); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(427); /** PURE_IMPORTS_START _Subject,_multicast PURE_IMPORTS_END */ @@ -51440,14 +51578,14 @@ function publish(selector) { /***/ }), -/* 429 */ +/* 433 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishBehavior", function() { return publishBehavior; }); -/* harmony import */ var _BehaviorSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(31); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(423); +/* harmony import */ var _BehaviorSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(35); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(427); /** PURE_IMPORTS_START _BehaviorSubject,_multicast PURE_IMPORTS_END */ @@ -51458,14 +51596,14 @@ function publishBehavior(value) { /***/ }), -/* 430 */ +/* 434 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishLast", function() { return publishLast; }); -/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(49); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(423); +/* harmony import */ var _AsyncSubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(53); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(427); /** PURE_IMPORTS_START _AsyncSubject,_multicast PURE_IMPORTS_END */ @@ -51476,14 +51614,14 @@ function publishLast() { /***/ }), -/* 431 */ +/* 435 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "publishReplay", function() { return publishReplay; }); -/* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(423); +/* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(427); /** PURE_IMPORTS_START _ReplaySubject,_multicast PURE_IMPORTS_END */ @@ -51499,14 +51637,14 @@ function publishReplay(bufferSize, windowTime, selectorOrScheduler, scheduler) { /***/ }), -/* 432 */ +/* 436 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "race", function() { return race; }); -/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(17); -/* harmony import */ var _observable_race__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(105); +/* harmony import */ var _util_isArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(21); +/* harmony import */ var _observable_race__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(109); /** PURE_IMPORTS_START _util_isArray,_observable_race PURE_IMPORTS_END */ @@ -51526,15 +51664,15 @@ function race() { /***/ }), -/* 433 */ +/* 437 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "repeat", function() { return repeat; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(42); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _observable_empty__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(46); /** PURE_IMPORTS_START tslib,_Subscriber,_observable_empty PURE_IMPORTS_END */ @@ -51591,15 +51729,15 @@ var RepeatSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 434 */ +/* 438 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "repeatWhen", function() { return repeatWhen; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */ @@ -51685,14 +51823,14 @@ var RepeatWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 435 */ +/* 439 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "retry", function() { return retry; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -51738,15 +51876,15 @@ var RetrySubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 436 */ +/* 440 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "retryWhen", function() { return retryWhen; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */ @@ -51824,14 +51962,14 @@ var RetryWhenSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 437 */ +/* 441 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sample", function() { return sample; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -51879,15 +52017,15 @@ var SampleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 438 */ +/* 442 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sampleTime", function() { return sampleTime; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(54); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58); /** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async PURE_IMPORTS_END */ @@ -51939,7 +52077,7 @@ function dispatchNotification(state) { /***/ }), -/* 439 */ +/* 443 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -51947,8 +52085,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "sequenceEqual", function() { return sequenceEqual; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SequenceEqualOperator", function() { return SequenceEqualOperator; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SequenceEqualSubscriber", function() { return SequenceEqualSubscriber; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -52062,15 +52200,15 @@ var SequenceEqualCompareToSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 440 */ +/* 444 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "share", function() { return share; }); -/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(423); -/* harmony import */ var _refCount__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26); +/* harmony import */ var _multicast__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(427); +/* harmony import */ var _refCount__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(33); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30); /** PURE_IMPORTS_START _multicast,_refCount,_Subject PURE_IMPORTS_END */ @@ -52085,13 +52223,13 @@ function share() { /***/ }), -/* 441 */ +/* 445 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "shareReplay", function() { return shareReplay; }); -/* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(32); +/* harmony import */ var _ReplaySubject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36); /** PURE_IMPORTS_START _ReplaySubject PURE_IMPORTS_END */ function shareReplay(configOrBufferSize, windowTime, scheduler) { @@ -52154,15 +52292,15 @@ function shareReplayOperator(_a) { /***/ }), -/* 442 */ +/* 446 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "single", function() { return single; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(62); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _util_EmptyError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(66); /** PURE_IMPORTS_START tslib,_Subscriber,_util_EmptyError PURE_IMPORTS_END */ @@ -52234,14 +52372,14 @@ var SingleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 443 */ +/* 447 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "skip", function() { return skip; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -52276,15 +52414,15 @@ var SkipSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 444 */ +/* 448 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "skipLast", function() { return skipLast; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(61); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _util_ArgumentOutOfRangeError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(65); /** PURE_IMPORTS_START tslib,_Subscriber,_util_ArgumentOutOfRangeError PURE_IMPORTS_END */ @@ -52338,14 +52476,14 @@ var SkipLastSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 445 */ +/* 449 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "skipUntil", function() { return skipUntil; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -52395,14 +52533,14 @@ var SkipUntilSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 446 */ +/* 450 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "skipWhile", function() { return skipWhile; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -52451,14 +52589,14 @@ var SkipWhileSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 447 */ +/* 451 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startWith", function() { return startWith; }); -/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(78); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(44); +/* harmony import */ var _observable_concat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(82); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(48); /** PURE_IMPORTS_START _observable_concat,_util_isScheduler PURE_IMPORTS_END */ @@ -52480,13 +52618,13 @@ function startWith() { /***/ }), -/* 448 */ +/* 452 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscribeOn", function() { return subscribeOn; }); -/* harmony import */ var _observable_SubscribeOnObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(449); +/* harmony import */ var _observable_SubscribeOnObservable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(453); /** PURE_IMPORTS_START _observable_SubscribeOnObservable PURE_IMPORTS_END */ function subscribeOn(scheduler, delay) { @@ -52511,16 +52649,16 @@ var SubscribeOnOperator = /*@__PURE__*/ (function () { /***/ }), -/* 449 */ +/* 453 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SubscribeOnObservable", function() { return SubscribeOnObservable; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8); -/* harmony import */ var _scheduler_asap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(50); -/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(97); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12); +/* harmony import */ var _scheduler_asap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(54); +/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(101); /** PURE_IMPORTS_START tslib,_Observable,_scheduler_asap,_util_isNumeric PURE_IMPORTS_END */ @@ -52575,14 +52713,14 @@ var SubscribeOnObservable = /*@__PURE__*/ (function (_super) { /***/ }), -/* 450 */ +/* 454 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchAll", function() { return switchAll; }); -/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(451); -/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(24); +/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(455); +/* harmony import */ var _util_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28); /** PURE_IMPORTS_START _switchMap,_util_identity PURE_IMPORTS_END */ @@ -52593,16 +52731,16 @@ function switchAll() { /***/ }), -/* 451 */ +/* 455 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchMap", function() { return switchMap; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65); -/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(82); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(69); +/* harmony import */ var _observable_from__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(86); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_map,_observable_from,_innerSubscribe PURE_IMPORTS_END */ @@ -52681,13 +52819,13 @@ var SwitchMapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 452 */ +/* 456 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "switchMapTo", function() { return switchMapTo; }); -/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(451); +/* harmony import */ var _switchMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(455); /** PURE_IMPORTS_START _switchMap PURE_IMPORTS_END */ function switchMapTo(innerObservable, resultSelector) { @@ -52697,14 +52835,14 @@ function switchMapTo(innerObservable, resultSelector) { /***/ }), -/* 453 */ +/* 457 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "takeUntil", function() { return takeUntil; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -52745,14 +52883,14 @@ var TakeUntilSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 454 */ +/* 458 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "takeWhile", function() { return takeWhile; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); /** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ @@ -52813,16 +52951,16 @@ var TakeWhileSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 455 */ +/* 459 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tap", function() { return tap; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(59); -/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _util_noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(63); +/* harmony import */ var _util_isFunction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16); /** PURE_IMPORTS_START tslib,_Subscriber,_util_noop,_util_isFunction PURE_IMPORTS_END */ @@ -52901,15 +53039,15 @@ var TapSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 456 */ +/* 460 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultThrottleConfig", function() { return defaultThrottleConfig; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throttle", function() { return throttle; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_innerSubscribe PURE_IMPORTS_END */ @@ -53003,16 +53141,16 @@ var ThrottleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 457 */ +/* 461 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "throttleTime", function() { return throttleTime; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(54); -/* harmony import */ var _throttle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(456); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58); +/* harmony import */ var _throttle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(460); /** PURE_IMPORTS_START tslib,_Subscriber,_scheduler_async,_throttle PURE_IMPORTS_END */ @@ -53101,17 +53239,17 @@ function dispatchNext(arg) { /***/ }), -/* 458 */ +/* 462 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeInterval", function() { return timeInterval; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TimeInterval", function() { return TimeInterval; }); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(54); -/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(418); -/* harmony import */ var _observable_defer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(90); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(65); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58); +/* harmony import */ var _scan__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(422); +/* harmony import */ var _observable_defer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(94); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69); /** PURE_IMPORTS_START _scheduler_async,_scan,_observable_defer,_map PURE_IMPORTS_END */ @@ -53145,16 +53283,16 @@ var TimeInterval = /*@__PURE__*/ (function () { /***/ }), -/* 459 */ +/* 463 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeout", function() { return timeout; }); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(54); -/* harmony import */ var _util_TimeoutError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(63); -/* harmony import */ var _timeoutWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(460); -/* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(48); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58); +/* harmony import */ var _util_TimeoutError__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(67); +/* harmony import */ var _timeoutWith__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(464); +/* harmony import */ var _observable_throwError__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(52); /** PURE_IMPORTS_START _scheduler_async,_util_TimeoutError,_timeoutWith,_observable_throwError PURE_IMPORTS_END */ @@ -53170,16 +53308,16 @@ function timeout(due, scheduler) { /***/ }), -/* 460 */ +/* 464 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeoutWith", function() { return timeoutWith; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(54); -/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(392); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58); +/* harmony import */ var _util_isDate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(396); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_scheduler_async,_util_isDate,_innerSubscribe PURE_IMPORTS_END */ @@ -53249,15 +53387,15 @@ var TimeoutWithSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 461 */ +/* 465 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timestamp", function() { return timestamp; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Timestamp", function() { return Timestamp; }); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(54); -/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(65); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(58); +/* harmony import */ var _map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(69); /** PURE_IMPORTS_START _scheduler_async,_map PURE_IMPORTS_END */ @@ -53279,13 +53417,13 @@ var Timestamp = /*@__PURE__*/ (function () { /***/ }), -/* 462 */ +/* 466 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "toArray", function() { return toArray; }); -/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(417); +/* harmony import */ var _reduce__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(421); /** PURE_IMPORTS_START _reduce PURE_IMPORTS_END */ function toArrayReducer(arr, item, index) { @@ -53302,15 +53440,15 @@ function toArray() { /***/ }), -/* 463 */ +/* 467 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "window", function() { return window; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(89); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _innerSubscribe__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(93); /** PURE_IMPORTS_START tslib,_Subject,_innerSubscribe PURE_IMPORTS_END */ @@ -53380,15 +53518,15 @@ var WindowSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 464 */ +/* 468 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "windowCount", function() { return windowCount; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(26); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(14); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(30); /** PURE_IMPORTS_START tslib,_Subscriber,_Subject PURE_IMPORTS_END */ @@ -53470,18 +53608,18 @@ var WindowCountSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 465 */ +/* 469 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "windowTime", function() { return windowTime; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(54); -/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10); -/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(97); -/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(44); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _scheduler_async__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(58); +/* harmony import */ var _Subscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(14); +/* harmony import */ var _util_isNumeric__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(101); +/* harmony import */ var _util_isScheduler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(48); /** PURE_IMPORTS_START tslib,_Subject,_scheduler_async,_Subscriber,_util_isNumeric,_util_isScheduler PURE_IMPORTS_END */ @@ -53640,17 +53778,17 @@ function dispatchWindowClose(state) { /***/ }), -/* 466 */ +/* 470 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "windowToggle", function() { return windowToggle; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(16); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(68); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(69); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(72); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(73); /** PURE_IMPORTS_START tslib,_Subject,_Subscription,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -53783,16 +53921,16 @@ var WindowToggleSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 467 */ +/* 471 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "windowWhen", function() { return windowWhen; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(68); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(69); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _Subject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(30); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(72); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(73); /** PURE_IMPORTS_START tslib,_Subject,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -53880,15 +54018,15 @@ var WindowSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 468 */ +/* 472 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withLatestFrom", function() { return withLatestFrom; }); -/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); -/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(68); -/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(69); +/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15); +/* harmony import */ var _OuterSubscriber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(72); +/* harmony import */ var _util_subscribeToResult__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73); /** PURE_IMPORTS_START tslib,_OuterSubscriber,_util_subscribeToResult PURE_IMPORTS_END */ @@ -53975,13 +54113,13 @@ var WithLatestFromSubscriber = /*@__PURE__*/ (function (_super) { /***/ }), -/* 469 */ +/* 473 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return zip; }); -/* harmony import */ var _observable_zip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(109); +/* harmony import */ var _observable_zip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(113); /** PURE_IMPORTS_START _observable_zip PURE_IMPORTS_END */ function zip() { @@ -53997,13 +54135,13 @@ function zip() { /***/ }), -/* 470 */ +/* 474 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "zipAll", function() { return zipAll; }); -/* harmony import */ var _observable_zip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(109); +/* harmony import */ var _observable_zip__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(113); /** PURE_IMPORTS_START _observable_zip PURE_IMPORTS_END */ function zipAll(project) { @@ -54013,7 +54151,7 @@ function zipAll(project) { /***/ }), -/* 471 */ +/* 475 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -54023,7 +54161,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _observe_lines = __webpack_require__(472); +var _observe_lines = __webpack_require__(476); Object.keys(_observe_lines).forEach(function (key) { if (key === "default" || key === "__esModule") return; @@ -54036,7 +54174,7 @@ Object.keys(_observe_lines).forEach(function (key) { }); }); -var _observe_readable = __webpack_require__(473); +var _observe_readable = __webpack_require__(477); Object.keys(_observe_readable).forEach(function (key) { if (key === "default" || key === "__esModule") return; @@ -54050,26 +54188,24 @@ Object.keys(_observe_readable).forEach(function (key) { }); /***/ }), -/* 472 */ +/* 476 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var _interopRequireWildcard = __webpack_require__(7); + Object.defineProperty(exports, "__esModule", { value: true }); exports.observeLines = observeLines; -var Rx = _interopRequireWildcard(__webpack_require__(7)); +var Rx = _interopRequireWildcard(__webpack_require__(11)); -var _operators = __webpack_require__(373); +var _operators = __webpack_require__(377); -var _observe_readable = __webpack_require__(473); - -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _observe_readable = __webpack_require__(477); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one @@ -54128,24 +54264,22 @@ function observeLines(readable) { } /***/ }), -/* 473 */ +/* 477 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var _interopRequireWildcard = __webpack_require__(7); + Object.defineProperty(exports, "__esModule", { value: true }); exports.observeReadable = observeReadable; -var Rx = _interopRequireWildcard(__webpack_require__(7)); - -var _operators = __webpack_require__(373); +var Rx = _interopRequireWildcard(__webpack_require__(11)); -function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var _operators = __webpack_require__(377); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one @@ -54165,13 +54299,13 @@ function observeReadable(readable) { } /***/ }), -/* 474 */ +/* 478 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BuildCommand", function() { return BuildCommand; }); -/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(368); +/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(372); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -54195,7 +54329,7 @@ const BuildCommand = { }; /***/ }), -/* 475 */ +/* 479 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -54203,15 +54337,15 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CleanCommand", function() { return CleanCommand; }); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dedent__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(193); +/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(476); +/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(480); /* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(ora__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(368); -/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(184); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(182); +/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(372); +/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(188); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(186); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -54308,20 +54442,20 @@ const CleanCommand = { }; /***/ }), -/* 476 */ +/* 480 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const readline = __webpack_require__(477); -const chalk = __webpack_require__(478); -const cliCursor = __webpack_require__(485); -const cliSpinners = __webpack_require__(487); -const logSymbols = __webpack_require__(489); -const stripAnsi = __webpack_require__(499); -const wcwidth = __webpack_require__(501); -const isInteractive = __webpack_require__(505); -const MuteStream = __webpack_require__(506); +const readline = __webpack_require__(481); +const chalk = __webpack_require__(482); +const cliCursor = __webpack_require__(489); +const cliSpinners = __webpack_require__(491); +const logSymbols = __webpack_require__(493); +const stripAnsi = __webpack_require__(503); +const wcwidth = __webpack_require__(505); +const isInteractive = __webpack_require__(509); +const MuteStream = __webpack_require__(510); const TEXT = Symbol('text'); const PREFIX_TEXT = Symbol('prefixText'); @@ -54674,23 +54808,23 @@ module.exports.promise = (action, options) => { /***/ }), -/* 477 */ +/* 481 */ /***/ (function(module, exports) { module.exports = require("readline"); /***/ }), -/* 478 */ +/* 482 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const ansiStyles = __webpack_require__(479); -const {stdout: stdoutColor, stderr: stderrColor} = __webpack_require__(119); +const ansiStyles = __webpack_require__(483); +const {stdout: stdoutColor, stderr: stderrColor} = __webpack_require__(123); const { stringReplaceAll, stringEncaseCRLFWithFirstIndex -} = __webpack_require__(483); +} = __webpack_require__(487); // `supportsColor.level` → `ansiStyles.color[name]` mapping const levelMapping = [ @@ -54891,7 +55025,7 @@ const chalkTag = (chalk, ...strings) => { } if (template === undefined) { - template = __webpack_require__(484); + template = __webpack_require__(488); } return template(chalk, parts.join('')); @@ -54920,7 +55054,7 @@ module.exports = chalk; /***/ }), -/* 479 */ +/* 483 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -54966,7 +55100,7 @@ const setLazyProperty = (object, property, get) => { let colorConvert; const makeDynamicStyles = (wrap, targetSpace, identity, isBackground) => { if (colorConvert === undefined) { - colorConvert = __webpack_require__(480); + colorConvert = __webpack_require__(484); } const offset = isBackground ? 10 : 0; @@ -55088,14 +55222,14 @@ Object.defineProperty(module, 'exports', { get: assembleStyles }); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(114)(module))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(118)(module))) /***/ }), -/* 480 */ +/* 484 */ /***/ (function(module, exports, __webpack_require__) { -const conversions = __webpack_require__(481); -const route = __webpack_require__(482); +const conversions = __webpack_require__(485); +const route = __webpack_require__(486); const convert = {}; @@ -55178,12 +55312,12 @@ module.exports = convert; /***/ }), -/* 481 */ +/* 485 */ /***/ (function(module, exports, __webpack_require__) { /* MIT license */ /* eslint-disable no-mixed-operators */ -const cssKeywords = __webpack_require__(117); +const cssKeywords = __webpack_require__(121); // NOTE: conversions should only return primitive values (i.e. arrays, or // values that give correct `typeof` results). @@ -56023,10 +56157,10 @@ convert.rgb.gray = function (rgb) { /***/ }), -/* 482 */ +/* 486 */ /***/ (function(module, exports, __webpack_require__) { -const conversions = __webpack_require__(481); +const conversions = __webpack_require__(485); /* This function routes a model to all other models. @@ -56126,7 +56260,7 @@ module.exports = function (fromModel) { /***/ }), -/* 483 */ +/* 487 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -56172,7 +56306,7 @@ module.exports = { /***/ }), -/* 484 */ +/* 488 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -56313,12 +56447,12 @@ module.exports = (chalk, temporary) => { /***/ }), -/* 485 */ +/* 489 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const restoreCursor = __webpack_require__(486); +const restoreCursor = __webpack_require__(490); let isHidden = false; @@ -56355,13 +56489,13 @@ exports.toggle = (force, writableStream) => { /***/ }), -/* 486 */ +/* 490 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const onetime = __webpack_require__(150); -const signalExit = __webpack_require__(159); +const onetime = __webpack_require__(154); +const signalExit = __webpack_require__(163); module.exports = onetime(() => { signalExit(() => { @@ -56371,13 +56505,13 @@ module.exports = onetime(() => { /***/ }), -/* 487 */ +/* 491 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const spinners = Object.assign({}, __webpack_require__(488)); +const spinners = Object.assign({}, __webpack_require__(492)); const spinnersList = Object.keys(spinners); @@ -56395,18 +56529,18 @@ module.exports.default = spinners; /***/ }), -/* 488 */ +/* 492 */ /***/ (function(module) { module.exports = JSON.parse("{\"dots\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠹\",\"⠸\",\"⠼\",\"⠴\",\"⠦\",\"⠧\",\"⠇\",\"⠏\"]},\"dots2\":{\"interval\":80,\"frames\":[\"⣾\",\"⣽\",\"⣻\",\"⢿\",\"⡿\",\"⣟\",\"⣯\",\"⣷\"]},\"dots3\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠚\",\"⠞\",\"⠖\",\"⠦\",\"⠴\",\"⠲\",\"⠳\",\"⠓\"]},\"dots4\":{\"interval\":80,\"frames\":[\"⠄\",\"⠆\",\"⠇\",\"⠋\",\"⠙\",\"⠸\",\"⠰\",\"⠠\",\"⠰\",\"⠸\",\"⠙\",\"⠋\",\"⠇\",\"⠆\"]},\"dots5\":{\"interval\":80,\"frames\":[\"⠋\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\"]},\"dots6\":{\"interval\":80,\"frames\":[\"⠁\",\"⠉\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠤\",\"⠄\",\"⠄\",\"⠤\",\"⠴\",\"⠲\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠚\",\"⠙\",\"⠉\",\"⠁\"]},\"dots7\":{\"interval\":80,\"frames\":[\"⠈\",\"⠉\",\"⠋\",\"⠓\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠖\",\"⠦\",\"⠤\",\"⠠\",\"⠠\",\"⠤\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\",\"⠉\",\"⠈\"]},\"dots8\":{\"interval\":80,\"frames\":[\"⠁\",\"⠁\",\"⠉\",\"⠙\",\"⠚\",\"⠒\",\"⠂\",\"⠂\",\"⠒\",\"⠲\",\"⠴\",\"⠤\",\"⠄\",\"⠄\",\"⠤\",\"⠠\",\"⠠\",\"⠤\",\"⠦\",\"⠖\",\"⠒\",\"⠐\",\"⠐\",\"⠒\",\"⠓\",\"⠋\",\"⠉\",\"⠈\",\"⠈\"]},\"dots9\":{\"interval\":80,\"frames\":[\"⢹\",\"⢺\",\"⢼\",\"⣸\",\"⣇\",\"⡧\",\"⡗\",\"⡏\"]},\"dots10\":{\"interval\":80,\"frames\":[\"⢄\",\"⢂\",\"⢁\",\"⡁\",\"⡈\",\"⡐\",\"⡠\"]},\"dots11\":{\"interval\":100,\"frames\":[\"⠁\",\"⠂\",\"⠄\",\"⡀\",\"⢀\",\"⠠\",\"⠐\",\"⠈\"]},\"dots12\":{\"interval\":80,\"frames\":[\"⢀⠀\",\"⡀⠀\",\"⠄⠀\",\"⢂⠀\",\"⡂⠀\",\"⠅⠀\",\"⢃⠀\",\"⡃⠀\",\"⠍⠀\",\"⢋⠀\",\"⡋⠀\",\"⠍⠁\",\"⢋⠁\",\"⡋⠁\",\"⠍⠉\",\"⠋⠉\",\"⠋⠉\",\"⠉⠙\",\"⠉⠙\",\"⠉⠩\",\"⠈⢙\",\"⠈⡙\",\"⢈⠩\",\"⡀⢙\",\"⠄⡙\",\"⢂⠩\",\"⡂⢘\",\"⠅⡘\",\"⢃⠨\",\"⡃⢐\",\"⠍⡐\",\"⢋⠠\",\"⡋⢀\",\"⠍⡁\",\"⢋⠁\",\"⡋⠁\",\"⠍⠉\",\"⠋⠉\",\"⠋⠉\",\"⠉⠙\",\"⠉⠙\",\"⠉⠩\",\"⠈⢙\",\"⠈⡙\",\"⠈⠩\",\"⠀⢙\",\"⠀⡙\",\"⠀⠩\",\"⠀⢘\",\"⠀⡘\",\"⠀⠨\",\"⠀⢐\",\"⠀⡐\",\"⠀⠠\",\"⠀⢀\",\"⠀⡀\"]},\"dots8Bit\":{\"interval\":80,\"frames\":[\"⠀\",\"⠁\",\"⠂\",\"⠃\",\"⠄\",\"⠅\",\"⠆\",\"⠇\",\"⡀\",\"⡁\",\"⡂\",\"⡃\",\"⡄\",\"⡅\",\"⡆\",\"⡇\",\"⠈\",\"⠉\",\"⠊\",\"⠋\",\"⠌\",\"⠍\",\"⠎\",\"⠏\",\"⡈\",\"⡉\",\"⡊\",\"⡋\",\"⡌\",\"⡍\",\"⡎\",\"⡏\",\"⠐\",\"⠑\",\"⠒\",\"⠓\",\"⠔\",\"⠕\",\"⠖\",\"⠗\",\"⡐\",\"⡑\",\"⡒\",\"⡓\",\"⡔\",\"⡕\",\"⡖\",\"⡗\",\"⠘\",\"⠙\",\"⠚\",\"⠛\",\"⠜\",\"⠝\",\"⠞\",\"⠟\",\"⡘\",\"⡙\",\"⡚\",\"⡛\",\"⡜\",\"⡝\",\"⡞\",\"⡟\",\"⠠\",\"⠡\",\"⠢\",\"⠣\",\"⠤\",\"⠥\",\"⠦\",\"⠧\",\"⡠\",\"⡡\",\"⡢\",\"⡣\",\"⡤\",\"⡥\",\"⡦\",\"⡧\",\"⠨\",\"⠩\",\"⠪\",\"⠫\",\"⠬\",\"⠭\",\"⠮\",\"⠯\",\"⡨\",\"⡩\",\"⡪\",\"⡫\",\"⡬\",\"⡭\",\"⡮\",\"⡯\",\"⠰\",\"⠱\",\"⠲\",\"⠳\",\"⠴\",\"⠵\",\"⠶\",\"⠷\",\"⡰\",\"⡱\",\"⡲\",\"⡳\",\"⡴\",\"⡵\",\"⡶\",\"⡷\",\"⠸\",\"⠹\",\"⠺\",\"⠻\",\"⠼\",\"⠽\",\"⠾\",\"⠿\",\"⡸\",\"⡹\",\"⡺\",\"⡻\",\"⡼\",\"⡽\",\"⡾\",\"⡿\",\"⢀\",\"⢁\",\"⢂\",\"⢃\",\"⢄\",\"⢅\",\"⢆\",\"⢇\",\"⣀\",\"⣁\",\"⣂\",\"⣃\",\"⣄\",\"⣅\",\"⣆\",\"⣇\",\"⢈\",\"⢉\",\"⢊\",\"⢋\",\"⢌\",\"⢍\",\"⢎\",\"⢏\",\"⣈\",\"⣉\",\"⣊\",\"⣋\",\"⣌\",\"⣍\",\"⣎\",\"⣏\",\"⢐\",\"⢑\",\"⢒\",\"⢓\",\"⢔\",\"⢕\",\"⢖\",\"⢗\",\"⣐\",\"⣑\",\"⣒\",\"⣓\",\"⣔\",\"⣕\",\"⣖\",\"⣗\",\"⢘\",\"⢙\",\"⢚\",\"⢛\",\"⢜\",\"⢝\",\"⢞\",\"⢟\",\"⣘\",\"⣙\",\"⣚\",\"⣛\",\"⣜\",\"⣝\",\"⣞\",\"⣟\",\"⢠\",\"⢡\",\"⢢\",\"⢣\",\"⢤\",\"⢥\",\"⢦\",\"⢧\",\"⣠\",\"⣡\",\"⣢\",\"⣣\",\"⣤\",\"⣥\",\"⣦\",\"⣧\",\"⢨\",\"⢩\",\"⢪\",\"⢫\",\"⢬\",\"⢭\",\"⢮\",\"⢯\",\"⣨\",\"⣩\",\"⣪\",\"⣫\",\"⣬\",\"⣭\",\"⣮\",\"⣯\",\"⢰\",\"⢱\",\"⢲\",\"⢳\",\"⢴\",\"⢵\",\"⢶\",\"⢷\",\"⣰\",\"⣱\",\"⣲\",\"⣳\",\"⣴\",\"⣵\",\"⣶\",\"⣷\",\"⢸\",\"⢹\",\"⢺\",\"⢻\",\"⢼\",\"⢽\",\"⢾\",\"⢿\",\"⣸\",\"⣹\",\"⣺\",\"⣻\",\"⣼\",\"⣽\",\"⣾\",\"⣿\"]},\"line\":{\"interval\":130,\"frames\":[\"-\",\"\\\\\",\"|\",\"/\"]},\"line2\":{\"interval\":100,\"frames\":[\"⠂\",\"-\",\"–\",\"—\",\"–\",\"-\"]},\"pipe\":{\"interval\":100,\"frames\":[\"┤\",\"┘\",\"┴\",\"└\",\"├\",\"┌\",\"┬\",\"┐\"]},\"simpleDots\":{\"interval\":400,\"frames\":[\". \",\".. \",\"...\",\" \"]},\"simpleDotsScrolling\":{\"interval\":200,\"frames\":[\". \",\".. \",\"...\",\" ..\",\" .\",\" \"]},\"star\":{\"interval\":70,\"frames\":[\"✶\",\"✸\",\"✹\",\"✺\",\"✹\",\"✷\"]},\"star2\":{\"interval\":80,\"frames\":[\"+\",\"x\",\"*\"]},\"flip\":{\"interval\":70,\"frames\":[\"_\",\"_\",\"_\",\"-\",\"`\",\"`\",\"'\",\"´\",\"-\",\"_\",\"_\",\"_\"]},\"hamburger\":{\"interval\":100,\"frames\":[\"☱\",\"☲\",\"☴\"]},\"growVertical\":{\"interval\":120,\"frames\":[\"▁\",\"▃\",\"▄\",\"▅\",\"▆\",\"▇\",\"▆\",\"▅\",\"▄\",\"▃\"]},\"growHorizontal\":{\"interval\":120,\"frames\":[\"▏\",\"▎\",\"▍\",\"▌\",\"▋\",\"▊\",\"▉\",\"▊\",\"▋\",\"▌\",\"▍\",\"▎\"]},\"balloon\":{\"interval\":140,\"frames\":[\" \",\".\",\"o\",\"O\",\"@\",\"*\",\" \"]},\"balloon2\":{\"interval\":120,\"frames\":[\".\",\"o\",\"O\",\"°\",\"O\",\"o\",\".\"]},\"noise\":{\"interval\":100,\"frames\":[\"▓\",\"▒\",\"░\"]},\"bounce\":{\"interval\":120,\"frames\":[\"⠁\",\"⠂\",\"⠄\",\"⠂\"]},\"boxBounce\":{\"interval\":120,\"frames\":[\"▖\",\"▘\",\"▝\",\"▗\"]},\"boxBounce2\":{\"interval\":100,\"frames\":[\"▌\",\"▀\",\"▐\",\"▄\"]},\"triangle\":{\"interval\":50,\"frames\":[\"◢\",\"◣\",\"◤\",\"◥\"]},\"arc\":{\"interval\":100,\"frames\":[\"◜\",\"◠\",\"◝\",\"◞\",\"◡\",\"◟\"]},\"circle\":{\"interval\":120,\"frames\":[\"◡\",\"⊙\",\"◠\"]},\"squareCorners\":{\"interval\":180,\"frames\":[\"◰\",\"◳\",\"◲\",\"◱\"]},\"circleQuarters\":{\"interval\":120,\"frames\":[\"◴\",\"◷\",\"◶\",\"◵\"]},\"circleHalves\":{\"interval\":50,\"frames\":[\"◐\",\"◓\",\"◑\",\"◒\"]},\"squish\":{\"interval\":100,\"frames\":[\"╫\",\"╪\"]},\"toggle\":{\"interval\":250,\"frames\":[\"⊶\",\"⊷\"]},\"toggle2\":{\"interval\":80,\"frames\":[\"▫\",\"▪\"]},\"toggle3\":{\"interval\":120,\"frames\":[\"□\",\"■\"]},\"toggle4\":{\"interval\":100,\"frames\":[\"■\",\"□\",\"▪\",\"▫\"]},\"toggle5\":{\"interval\":100,\"frames\":[\"▮\",\"▯\"]},\"toggle6\":{\"interval\":300,\"frames\":[\"ဝ\",\"၀\"]},\"toggle7\":{\"interval\":80,\"frames\":[\"⦾\",\"⦿\"]},\"toggle8\":{\"interval\":100,\"frames\":[\"◍\",\"◌\"]},\"toggle9\":{\"interval\":100,\"frames\":[\"◉\",\"◎\"]},\"toggle10\":{\"interval\":100,\"frames\":[\"㊂\",\"㊀\",\"㊁\"]},\"toggle11\":{\"interval\":50,\"frames\":[\"⧇\",\"⧆\"]},\"toggle12\":{\"interval\":120,\"frames\":[\"☗\",\"☖\"]},\"toggle13\":{\"interval\":80,\"frames\":[\"=\",\"*\",\"-\"]},\"arrow\":{\"interval\":100,\"frames\":[\"←\",\"↖\",\"↑\",\"↗\",\"→\",\"↘\",\"↓\",\"↙\"]},\"arrow2\":{\"interval\":80,\"frames\":[\"⬆️ \",\"↗️ \",\"➡️ \",\"↘️ \",\"⬇️ \",\"↙️ \",\"⬅️ \",\"↖️ \"]},\"arrow3\":{\"interval\":120,\"frames\":[\"▹▹▹▹▹\",\"▸▹▹▹▹\",\"▹▸▹▹▹\",\"▹▹▸▹▹\",\"▹▹▹▸▹\",\"▹▹▹▹▸\"]},\"bouncingBar\":{\"interval\":80,\"frames\":[\"[ ]\",\"[= ]\",\"[== ]\",\"[=== ]\",\"[ ===]\",\"[ ==]\",\"[ =]\",\"[ ]\",\"[ =]\",\"[ ==]\",\"[ ===]\",\"[====]\",\"[=== ]\",\"[== ]\",\"[= ]\"]},\"bouncingBall\":{\"interval\":80,\"frames\":[\"( ● )\",\"( ● )\",\"( ● )\",\"( ● )\",\"( ●)\",\"( ● )\",\"( ● )\",\"( ● )\",\"( ● )\",\"(● )\"]},\"smiley\":{\"interval\":200,\"frames\":[\"😄 \",\"😝 \"]},\"monkey\":{\"interval\":300,\"frames\":[\"🙈 \",\"🙈 \",\"🙉 \",\"🙊 \"]},\"hearts\":{\"interval\":100,\"frames\":[\"💛 \",\"💙 \",\"💜 \",\"💚 \",\"❤️ \"]},\"clock\":{\"interval\":100,\"frames\":[\"🕛 \",\"🕐 \",\"🕑 \",\"🕒 \",\"🕓 \",\"🕔 \",\"🕕 \",\"🕖 \",\"🕗 \",\"🕘 \",\"🕙 \",\"🕚 \"]},\"earth\":{\"interval\":180,\"frames\":[\"🌍 \",\"🌎 \",\"🌏 \"]},\"material\":{\"interval\":17,\"frames\":[\"█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"███▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"████▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"██████▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"███████▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"████████▁▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"██████████▁▁▁▁▁▁▁▁▁▁\",\"███████████▁▁▁▁▁▁▁▁▁\",\"█████████████▁▁▁▁▁▁▁\",\"██████████████▁▁▁▁▁▁\",\"██████████████▁▁▁▁▁▁\",\"▁██████████████▁▁▁▁▁\",\"▁██████████████▁▁▁▁▁\",\"▁██████████████▁▁▁▁▁\",\"▁▁██████████████▁▁▁▁\",\"▁▁▁██████████████▁▁▁\",\"▁▁▁▁█████████████▁▁▁\",\"▁▁▁▁██████████████▁▁\",\"▁▁▁▁██████████████▁▁\",\"▁▁▁▁▁██████████████▁\",\"▁▁▁▁▁██████████████▁\",\"▁▁▁▁▁██████████████▁\",\"▁▁▁▁▁▁██████████████\",\"▁▁▁▁▁▁██████████████\",\"▁▁▁▁▁▁▁█████████████\",\"▁▁▁▁▁▁▁█████████████\",\"▁▁▁▁▁▁▁▁████████████\",\"▁▁▁▁▁▁▁▁████████████\",\"▁▁▁▁▁▁▁▁▁███████████\",\"▁▁▁▁▁▁▁▁▁███████████\",\"▁▁▁▁▁▁▁▁▁▁██████████\",\"▁▁▁▁▁▁▁▁▁▁██████████\",\"▁▁▁▁▁▁▁▁▁▁▁▁████████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁███████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁██████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████\",\"█▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\"██▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\"███▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\"████▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\"█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"█████▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"██████▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"████████▁▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"█████████▁▁▁▁▁▁▁▁▁▁▁\",\"███████████▁▁▁▁▁▁▁▁▁\",\"████████████▁▁▁▁▁▁▁▁\",\"████████████▁▁▁▁▁▁▁▁\",\"██████████████▁▁▁▁▁▁\",\"██████████████▁▁▁▁▁▁\",\"▁██████████████▁▁▁▁▁\",\"▁██████████████▁▁▁▁▁\",\"▁▁▁█████████████▁▁▁▁\",\"▁▁▁▁▁████████████▁▁▁\",\"▁▁▁▁▁████████████▁▁▁\",\"▁▁▁▁▁▁███████████▁▁▁\",\"▁▁▁▁▁▁▁▁█████████▁▁▁\",\"▁▁▁▁▁▁▁▁█████████▁▁▁\",\"▁▁▁▁▁▁▁▁▁█████████▁▁\",\"▁▁▁▁▁▁▁▁▁█████████▁▁\",\"▁▁▁▁▁▁▁▁▁▁█████████▁\",\"▁▁▁▁▁▁▁▁▁▁▁████████▁\",\"▁▁▁▁▁▁▁▁▁▁▁████████▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁███████▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁███████▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁███████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁███████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁████\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁███\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁██\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁█\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\",\"▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁\"]},\"moon\":{\"interval\":80,\"frames\":[\"🌑 \",\"🌒 \",\"🌓 \",\"🌔 \",\"🌕 \",\"🌖 \",\"🌗 \",\"🌘 \"]},\"runner\":{\"interval\":140,\"frames\":[\"🚶 \",\"🏃 \"]},\"pong\":{\"interval\":80,\"frames\":[\"▐⠂ ▌\",\"▐⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂▌\",\"▐ ⠠▌\",\"▐ ⡀▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐ ⠠ ▌\",\"▐ ⠂ ▌\",\"▐ ⠈ ▌\",\"▐ ⠂ ▌\",\"▐ ⠠ ▌\",\"▐ ⡀ ▌\",\"▐⠠ ▌\"]},\"shark\":{\"interval\":120,\"frames\":[\"▐|\\\\____________▌\",\"▐_|\\\\___________▌\",\"▐__|\\\\__________▌\",\"▐___|\\\\_________▌\",\"▐____|\\\\________▌\",\"▐_____|\\\\_______▌\",\"▐______|\\\\______▌\",\"▐_______|\\\\_____▌\",\"▐________|\\\\____▌\",\"▐_________|\\\\___▌\",\"▐__________|\\\\__▌\",\"▐___________|\\\\_▌\",\"▐____________|\\\\▌\",\"▐____________/|▌\",\"▐___________/|_▌\",\"▐__________/|__▌\",\"▐_________/|___▌\",\"▐________/|____▌\",\"▐_______/|_____▌\",\"▐______/|______▌\",\"▐_____/|_______▌\",\"▐____/|________▌\",\"▐___/|_________▌\",\"▐__/|__________▌\",\"▐_/|___________▌\",\"▐/|____________▌\"]},\"dqpb\":{\"interval\":100,\"frames\":[\"d\",\"q\",\"p\",\"b\"]},\"weather\":{\"interval\":100,\"frames\":[\"☀️ \",\"☀️ \",\"☀️ \",\"🌤 \",\"⛅️ \",\"🌥 \",\"☁️ \",\"🌧 \",\"🌨 \",\"🌧 \",\"🌨 \",\"🌧 \",\"🌨 \",\"⛈ \",\"🌨 \",\"🌧 \",\"🌨 \",\"☁️ \",\"🌥 \",\"⛅️ \",\"🌤 \",\"☀️ \",\"☀️ \"]},\"christmas\":{\"interval\":400,\"frames\":[\"🌲\",\"🎄\"]},\"grenade\":{\"interval\":80,\"frames\":[\"، \",\"′ \",\" ´ \",\" ‾ \",\" ⸌\",\" ⸊\",\" |\",\" ⁎\",\" ⁕\",\" ෴ \",\" ⁓\",\" \",\" \",\" \"]},\"point\":{\"interval\":125,\"frames\":[\"∙∙∙\",\"●∙∙\",\"∙●∙\",\"∙∙●\",\"∙∙∙\"]},\"layer\":{\"interval\":150,\"frames\":[\"-\",\"=\",\"≡\"]},\"betaWave\":{\"interval\":80,\"frames\":[\"ρββββββ\",\"βρβββββ\",\"ββρββββ\",\"βββρβββ\",\"ββββρββ\",\"βββββρβ\",\"ββββββρ\"]},\"aesthetic\":{\"interval\":80,\"frames\":[\"▰▱▱▱▱▱▱\",\"▰▰▱▱▱▱▱\",\"▰▰▰▱▱▱▱\",\"▰▰▰▰▱▱▱\",\"▰▰▰▰▰▱▱\",\"▰▰▰▰▰▰▱\",\"▰▰▰▰▰▰▰\",\"▰▱▱▱▱▱▱\"]}}"); /***/ }), -/* 489 */ +/* 493 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const chalk = __webpack_require__(490); +const chalk = __webpack_require__(494); const isSupported = process.platform !== 'win32' || process.env.CI || process.env.TERM === 'xterm-256color'; @@ -56428,16 +56562,16 @@ module.exports = isSupported ? main : fallbacks; /***/ }), -/* 490 */ +/* 494 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const escapeStringRegexp = __webpack_require__(310); -const ansiStyles = __webpack_require__(491); -const stdoutColor = __webpack_require__(496).stdout; +const escapeStringRegexp = __webpack_require__(314); +const ansiStyles = __webpack_require__(495); +const stdoutColor = __webpack_require__(500).stdout; -const template = __webpack_require__(498); +const template = __webpack_require__(502); const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); @@ -56663,12 +56797,12 @@ module.exports.default = module.exports; // For TypeScript /***/ }), -/* 491 */ +/* 495 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(module) { -const colorConvert = __webpack_require__(492); +const colorConvert = __webpack_require__(496); const wrapAnsi16 = (fn, offset) => function () { const code = fn.apply(colorConvert, arguments); @@ -56833,14 +56967,14 @@ Object.defineProperty(module, 'exports', { get: assembleStyles }); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(114)(module))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(118)(module))) /***/ }), -/* 492 */ +/* 496 */ /***/ (function(module, exports, __webpack_require__) { -var conversions = __webpack_require__(493); -var route = __webpack_require__(495); +var conversions = __webpack_require__(497); +var route = __webpack_require__(499); var convert = {}; @@ -56920,11 +57054,11 @@ module.exports = convert; /***/ }), -/* 493 */ +/* 497 */ /***/ (function(module, exports, __webpack_require__) { /* MIT license */ -var cssKeywords = __webpack_require__(494); +var cssKeywords = __webpack_require__(498); // NOTE: conversions should only return primitive values (i.e. arrays, or // values that give correct `typeof` results). @@ -57794,7 +57928,7 @@ convert.rgb.gray = function (rgb) { /***/ }), -/* 494 */ +/* 498 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -57953,10 +58087,10 @@ module.exports = { /***/ }), -/* 495 */ +/* 499 */ /***/ (function(module, exports, __webpack_require__) { -var conversions = __webpack_require__(493); +var conversions = __webpack_require__(497); /* this function routes a model to all other models. @@ -58056,13 +58190,13 @@ module.exports = function (fromModel) { /***/ }), -/* 496 */ +/* 500 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const os = __webpack_require__(120); -const hasFlag = __webpack_require__(497); +const os = __webpack_require__(124); +const hasFlag = __webpack_require__(501); const env = process.env; @@ -58194,7 +58328,7 @@ module.exports = { /***/ }), -/* 497 */ +/* 501 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58209,7 +58343,7 @@ module.exports = (flag, argv) => { /***/ }), -/* 498 */ +/* 502 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58344,18 +58478,18 @@ module.exports = (chalk, tmp) => { /***/ }), -/* 499 */ +/* 503 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const ansiRegex = __webpack_require__(500); +const ansiRegex = __webpack_require__(504); module.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string; /***/ }), -/* 500 */ +/* 504 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58372,14 +58506,14 @@ module.exports = ({onlyFirst = false} = {}) => { /***/ }), -/* 501 */ +/* 505 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var defaults = __webpack_require__(502) -var combining = __webpack_require__(504) +var defaults = __webpack_require__(506) +var combining = __webpack_require__(508) var DEFAULTS = { nul: 0, @@ -58478,10 +58612,10 @@ function bisearch(ucs) { /***/ }), -/* 502 */ +/* 506 */ /***/ (function(module, exports, __webpack_require__) { -var clone = __webpack_require__(503); +var clone = __webpack_require__(507); module.exports = function(options, defaults) { options = options || {}; @@ -58496,7 +58630,7 @@ module.exports = function(options, defaults) { }; /***/ }), -/* 503 */ +/* 507 */ /***/ (function(module, exports, __webpack_require__) { var clone = (function() { @@ -58668,7 +58802,7 @@ if ( true && module.exports) { /***/ }), -/* 504 */ +/* 508 */ /***/ (function(module, exports) { module.exports = [ @@ -58724,7 +58858,7 @@ module.exports = [ /***/ }), -/* 505 */ +/* 509 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -58740,10 +58874,10 @@ module.exports = ({stream = process.stdout} = {}) => { /***/ }), -/* 506 */ +/* 510 */ /***/ (function(module, exports, __webpack_require__) { -var Stream = __webpack_require__(130) +var Stream = __webpack_require__(134) module.exports = MuteStream @@ -58891,7 +59025,7 @@ MuteStream.prototype.close = proxy('close') /***/ }), -/* 507 */ +/* 511 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -58899,15 +59033,15 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ResetCommand", function() { return ResetCommand; }); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dedent__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(193); +/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(476); +/* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(480); /* harmony import */ var ora__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(ora__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(368); -/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(184); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(182); +/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(372); +/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(188); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(186); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -59010,7 +59144,7 @@ const ResetCommand = { }; /***/ }), -/* 508 */ +/* 512 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -59018,10 +59152,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RunCommand", function() { return RunCommand; }); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var dedent__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dedent__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(294); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(182); -/* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(509); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(293); +/* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(298); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(186); +/* harmony import */ var _utils_parallelize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(513); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(297); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -59075,7 +59209,7 @@ const RunCommand = { }; /***/ }), -/* 509 */ +/* 513 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -59130,13 +59264,13 @@ async function parallelize(items, fn, concurrency = 4) { } /***/ }), -/* 510 */ +/* 514 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "WatchCommand", function() { return WatchCommand; }); -/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(368); +/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(372); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -59163,19 +59297,19 @@ const WatchCommand = { }; /***/ }), -/* 511 */ +/* 515 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "runCommand", function() { return runCommand; }); -/* harmony import */ var _kbn_dev_utils_ci_stats_reporter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(512); +/* harmony import */ var _kbn_dev_utils_ci_stats_reporter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516); /* harmony import */ var _kbn_dev_utils_ci_stats_reporter__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_kbn_dev_utils_ci_stats_reporter__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(294); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(182); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(293); -/* harmony import */ var _utils_projects_tree__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(367); -/* harmony import */ var _utils_kibana__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(555); +/* harmony import */ var _utils_errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(298); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(186); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(297); +/* harmony import */ var _utils_projects_tree__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(371); +/* harmony import */ var _utils_kibana__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(559); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -59293,30 +59427,30 @@ function toArray(value) { } /***/ }), -/* 512 */ +/* 516 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +var _interopRequireDefault = __webpack_require__(9); + Object.defineProperty(exports, "__esModule", { value: true }); exports.CiStatsReporter = void 0; -var _util = __webpack_require__(111); +var _util = __webpack_require__(115); -var _os = _interopRequireDefault(__webpack_require__(120)); +var _os = _interopRequireDefault(__webpack_require__(124)); -var _fs = _interopRequireDefault(__webpack_require__(138)); +var _fs = _interopRequireDefault(__webpack_require__(142)); var _path = _interopRequireDefault(__webpack_require__(4)); -var _axios = _interopRequireDefault(__webpack_require__(513)); +var _axios = _interopRequireDefault(__webpack_require__(517)); -var _ci_stats_config = __webpack_require__(553); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +var _ci_stats_config = __webpack_require__(557); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one @@ -59433,7 +59567,7 @@ class CiStatsReporter { const { kibanaPackageJson - } = __webpack_require__(554)(hideFromWebpack.join('')); + } = __webpack_require__(558)(hideFromWebpack.join('')); return kibanaPackageJson.branch; } @@ -59450,7 +59584,7 @@ class CiStatsReporter { const { REPO_ROOT - } = __webpack_require__(554)(hideFromWebpack.join('')); + } = __webpack_require__(558)(hideFromWebpack.join('')); try { return _fs.default.readFileSync(_path.default.resolve(REPO_ROOT, 'data/uuid'), 'utf-8').trim(); @@ -59525,23 +59659,23 @@ class CiStatsReporter { exports.CiStatsReporter = CiStatsReporter; /***/ }), -/* 513 */ +/* 517 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(514); +module.exports = __webpack_require__(518); /***/ }), -/* 514 */ +/* 518 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); -var bind = __webpack_require__(516); -var Axios = __webpack_require__(517); -var mergeConfig = __webpack_require__(548); -var defaults = __webpack_require__(523); +var utils = __webpack_require__(519); +var bind = __webpack_require__(520); +var Axios = __webpack_require__(521); +var mergeConfig = __webpack_require__(552); +var defaults = __webpack_require__(527); /** * Create an instance of Axios @@ -59574,18 +59708,18 @@ axios.create = function create(instanceConfig) { }; // Expose Cancel & CancelToken -axios.Cancel = __webpack_require__(549); -axios.CancelToken = __webpack_require__(550); -axios.isCancel = __webpack_require__(522); +axios.Cancel = __webpack_require__(553); +axios.CancelToken = __webpack_require__(554); +axios.isCancel = __webpack_require__(526); // Expose all/spread axios.all = function all(promises) { return Promise.all(promises); }; -axios.spread = __webpack_require__(551); +axios.spread = __webpack_require__(555); // Expose isAxiosError -axios.isAxiosError = __webpack_require__(552); +axios.isAxiosError = __webpack_require__(556); module.exports = axios; @@ -59594,13 +59728,13 @@ module.exports.default = axios; /***/ }), -/* 515 */ +/* 519 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var bind = __webpack_require__(516); +var bind = __webpack_require__(520); /*global toString:true*/ @@ -59952,7 +60086,7 @@ module.exports = { /***/ }), -/* 516 */ +/* 520 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -59970,17 +60104,17 @@ module.exports = function bind(fn, thisArg) { /***/ }), -/* 517 */ +/* 521 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); -var buildURL = __webpack_require__(518); -var InterceptorManager = __webpack_require__(519); -var dispatchRequest = __webpack_require__(520); -var mergeConfig = __webpack_require__(548); +var utils = __webpack_require__(519); +var buildURL = __webpack_require__(522); +var InterceptorManager = __webpack_require__(523); +var dispatchRequest = __webpack_require__(524); +var mergeConfig = __webpack_require__(552); /** * Create a new instance of Axios @@ -60072,13 +60206,13 @@ module.exports = Axios; /***/ }), -/* 518 */ +/* 522 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); +var utils = __webpack_require__(519); function encode(val) { return encodeURIComponent(val). @@ -60149,13 +60283,13 @@ module.exports = function buildURL(url, params, paramsSerializer) { /***/ }), -/* 519 */ +/* 523 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); +var utils = __webpack_require__(519); function InterceptorManager() { this.handlers = []; @@ -60208,16 +60342,16 @@ module.exports = InterceptorManager; /***/ }), -/* 520 */ +/* 524 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); -var transformData = __webpack_require__(521); -var isCancel = __webpack_require__(522); -var defaults = __webpack_require__(523); +var utils = __webpack_require__(519); +var transformData = __webpack_require__(525); +var isCancel = __webpack_require__(526); +var defaults = __webpack_require__(527); /** * Throws a `Cancel` if cancellation has been requested. @@ -60294,13 +60428,13 @@ module.exports = function dispatchRequest(config) { /***/ }), -/* 521 */ +/* 525 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); +var utils = __webpack_require__(519); /** * Transform the data for a request or a response @@ -60321,7 +60455,7 @@ module.exports = function transformData(data, headers, fns) { /***/ }), -/* 522 */ +/* 526 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60333,14 +60467,14 @@ module.exports = function isCancel(value) { /***/ }), -/* 523 */ +/* 527 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); -var normalizeHeaderName = __webpack_require__(524); +var utils = __webpack_require__(519); +var normalizeHeaderName = __webpack_require__(528); var DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' @@ -60356,10 +60490,10 @@ function getDefaultAdapter() { var adapter; if (typeof XMLHttpRequest !== 'undefined') { // For browsers use XHR adapter - adapter = __webpack_require__(525); + adapter = __webpack_require__(529); } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { // For node use HTTP adapter - adapter = __webpack_require__(535); + adapter = __webpack_require__(539); } return adapter; } @@ -60438,13 +60572,13 @@ module.exports = defaults; /***/ }), -/* 524 */ +/* 528 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); +var utils = __webpack_require__(519); module.exports = function normalizeHeaderName(headers, normalizedName) { utils.forEach(headers, function processHeader(value, name) { @@ -60457,20 +60591,20 @@ module.exports = function normalizeHeaderName(headers, normalizedName) { /***/ }), -/* 525 */ +/* 529 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); -var settle = __webpack_require__(526); -var cookies = __webpack_require__(529); -var buildURL = __webpack_require__(518); -var buildFullPath = __webpack_require__(530); -var parseHeaders = __webpack_require__(533); -var isURLSameOrigin = __webpack_require__(534); -var createError = __webpack_require__(527); +var utils = __webpack_require__(519); +var settle = __webpack_require__(530); +var cookies = __webpack_require__(533); +var buildURL = __webpack_require__(522); +var buildFullPath = __webpack_require__(534); +var parseHeaders = __webpack_require__(537); +var isURLSameOrigin = __webpack_require__(538); +var createError = __webpack_require__(531); module.exports = function xhrAdapter(config) { return new Promise(function dispatchXhrRequest(resolve, reject) { @@ -60643,13 +60777,13 @@ module.exports = function xhrAdapter(config) { /***/ }), -/* 526 */ +/* 530 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var createError = __webpack_require__(527); +var createError = __webpack_require__(531); /** * Resolve or reject a Promise based on response status. @@ -60675,13 +60809,13 @@ module.exports = function settle(resolve, reject, response) { /***/ }), -/* 527 */ +/* 531 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var enhanceError = __webpack_require__(528); +var enhanceError = __webpack_require__(532); /** * Create an Error with the specified message, config, error code, request and response. @@ -60700,7 +60834,7 @@ module.exports = function createError(message, config, code, request, response) /***/ }), -/* 528 */ +/* 532 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60749,13 +60883,13 @@ module.exports = function enhanceError(error, config, code, request, response) { /***/ }), -/* 529 */ +/* 533 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); +var utils = __webpack_require__(519); module.exports = ( utils.isStandardBrowserEnv() ? @@ -60809,14 +60943,14 @@ module.exports = ( /***/ }), -/* 530 */ +/* 534 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isAbsoluteURL = __webpack_require__(531); -var combineURLs = __webpack_require__(532); +var isAbsoluteURL = __webpack_require__(535); +var combineURLs = __webpack_require__(536); /** * Creates a new URL by combining the baseURL with the requestedURL, @@ -60836,7 +60970,7 @@ module.exports = function buildFullPath(baseURL, requestedURL) { /***/ }), -/* 531 */ +/* 535 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60857,7 +60991,7 @@ module.exports = function isAbsoluteURL(url) { /***/ }), -/* 532 */ +/* 536 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -60878,13 +61012,13 @@ module.exports = function combineURLs(baseURL, relativeURL) { /***/ }), -/* 533 */ +/* 537 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); +var utils = __webpack_require__(519); // Headers whose duplicates are ignored by node // c.f. https://nodejs.org/api/http.html#http_message_headers @@ -60938,13 +61072,13 @@ module.exports = function parseHeaders(headers) { /***/ }), -/* 534 */ +/* 538 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); +var utils = __webpack_require__(519); module.exports = ( utils.isStandardBrowserEnv() ? @@ -61013,25 +61147,25 @@ module.exports = ( /***/ }), -/* 535 */ +/* 539 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); -var settle = __webpack_require__(526); -var buildFullPath = __webpack_require__(530); -var buildURL = __webpack_require__(518); -var http = __webpack_require__(536); -var https = __webpack_require__(537); -var httpFollow = __webpack_require__(538).http; -var httpsFollow = __webpack_require__(538).https; -var url = __webpack_require__(328); -var zlib = __webpack_require__(546); -var pkg = __webpack_require__(547); -var createError = __webpack_require__(527); -var enhanceError = __webpack_require__(528); +var utils = __webpack_require__(519); +var settle = __webpack_require__(530); +var buildFullPath = __webpack_require__(534); +var buildURL = __webpack_require__(522); +var http = __webpack_require__(540); +var https = __webpack_require__(541); +var httpFollow = __webpack_require__(542).http; +var httpsFollow = __webpack_require__(542).https; +var url = __webpack_require__(332); +var zlib = __webpack_require__(550); +var pkg = __webpack_require__(551); +var createError = __webpack_require__(531); +var enhanceError = __webpack_require__(532); var isHttps = /https:?/; @@ -61323,28 +61457,28 @@ module.exports = function httpAdapter(config) { /***/ }), -/* 536 */ +/* 540 */ /***/ (function(module, exports) { module.exports = require("http"); /***/ }), -/* 537 */ +/* 541 */ /***/ (function(module, exports) { module.exports = require("https"); /***/ }), -/* 538 */ +/* 542 */ /***/ (function(module, exports, __webpack_require__) { -var url = __webpack_require__(328); +var url = __webpack_require__(332); var URL = url.URL; -var http = __webpack_require__(536); -var https = __webpack_require__(537); -var Writable = __webpack_require__(130).Writable; -var assert = __webpack_require__(160); -var debug = __webpack_require__(539); +var http = __webpack_require__(540); +var https = __webpack_require__(541); +var Writable = __webpack_require__(134).Writable; +var assert = __webpack_require__(164); +var debug = __webpack_require__(543); // Create handlers that pass events from native requests var eventHandlers = Object.create(null); @@ -61839,13 +61973,13 @@ module.exports.wrap = wrap; /***/ }), -/* 539 */ +/* 543 */ /***/ (function(module, exports, __webpack_require__) { var debug; try { /* eslint global-require: off */ - debug = __webpack_require__(540)("follow-redirects"); + debug = __webpack_require__(544)("follow-redirects"); } catch (error) { debug = function () { /* */ }; @@ -61854,7 +61988,7 @@ module.exports = debug; /***/ }), -/* 540 */ +/* 544 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -61863,14 +61997,14 @@ module.exports = debug; */ if (typeof process !== 'undefined' && process.type === 'renderer') { - module.exports = __webpack_require__(541); + module.exports = __webpack_require__(545); } else { - module.exports = __webpack_require__(544); + module.exports = __webpack_require__(548); } /***/ }), -/* 541 */ +/* 545 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -61879,7 +62013,7 @@ if (typeof process !== 'undefined' && process.type === 'renderer') { * Expose `debug()` as the module. */ -exports = module.exports = __webpack_require__(542); +exports = module.exports = __webpack_require__(546); exports.log = log; exports.formatArgs = formatArgs; exports.save = save; @@ -62061,7 +62195,7 @@ function localstorage() { /***/ }), -/* 542 */ +/* 546 */ /***/ (function(module, exports, __webpack_require__) { @@ -62077,7 +62211,7 @@ exports.coerce = coerce; exports.disable = disable; exports.enable = enable; exports.enabled = enabled; -exports.humanize = __webpack_require__(543); +exports.humanize = __webpack_require__(547); /** * The currently active debug mode names, and names to skip. @@ -62269,7 +62403,7 @@ function coerce(val) { /***/ }), -/* 543 */ +/* 547 */ /***/ (function(module, exports) { /** @@ -62427,15 +62561,15 @@ function plural(ms, n, name) { /***/ }), -/* 544 */ +/* 548 */ /***/ (function(module, exports, __webpack_require__) { /** * Module dependencies. */ -var tty = __webpack_require__(121); -var util = __webpack_require__(111); +var tty = __webpack_require__(125); +var util = __webpack_require__(115); /** * This is the Node.js implementation of `debug()`. @@ -62443,7 +62577,7 @@ var util = __webpack_require__(111); * Expose `debug()` as the module. */ -exports = module.exports = __webpack_require__(542); +exports = module.exports = __webpack_require__(546); exports.init = init; exports.log = log; exports.formatArgs = formatArgs; @@ -62615,14 +62749,14 @@ function createWritableStdioStream (fd) { break; case 'FILE': - var fs = __webpack_require__(138); + var fs = __webpack_require__(142); stream = new fs.SyncWriteStream(fd, { autoClose: false }); stream._type = 'fs'; break; case 'PIPE': case 'TCP': - var net = __webpack_require__(545); + var net = __webpack_require__(549); stream = new net.Socket({ fd: fd, readable: false, @@ -62681,31 +62815,31 @@ exports.enable(load()); /***/ }), -/* 545 */ +/* 549 */ /***/ (function(module, exports) { module.exports = require("net"); /***/ }), -/* 546 */ +/* 550 */ /***/ (function(module, exports) { module.exports = require("zlib"); /***/ }), -/* 547 */ +/* 551 */ /***/ (function(module) { module.exports = JSON.parse("{\"name\":\"axios\",\"version\":\"0.21.1\",\"description\":\"Promise based HTTP client for the browser and node.js\",\"main\":\"index.js\",\"scripts\":{\"test\":\"grunt test && bundlesize\",\"start\":\"node ./sandbox/server.js\",\"build\":\"NODE_ENV=production grunt build\",\"preversion\":\"npm test\",\"version\":\"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\",\"postversion\":\"git push && git push --tags\",\"examples\":\"node ./examples/server.js\",\"coveralls\":\"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\"fix\":\"eslint --fix lib/**/*.js\"},\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/axios/axios.git\"},\"keywords\":[\"xhr\",\"http\",\"ajax\",\"promise\",\"node\"],\"author\":\"Matt Zabriskie\",\"license\":\"MIT\",\"bugs\":{\"url\":\"https://github.com/axios/axios/issues\"},\"homepage\":\"https://github.com/axios/axios\",\"devDependencies\":{\"bundlesize\":\"^0.17.0\",\"coveralls\":\"^3.0.0\",\"es6-promise\":\"^4.2.4\",\"grunt\":\"^1.0.2\",\"grunt-banner\":\"^0.6.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-clean\":\"^1.1.0\",\"grunt-contrib-watch\":\"^1.0.0\",\"grunt-eslint\":\"^20.1.0\",\"grunt-karma\":\"^2.0.0\",\"grunt-mocha-test\":\"^0.13.3\",\"grunt-ts\":\"^6.0.0-beta.19\",\"grunt-webpack\":\"^1.0.18\",\"istanbul-instrumenter-loader\":\"^1.0.0\",\"jasmine-core\":\"^2.4.1\",\"karma\":\"^1.3.0\",\"karma-chrome-launcher\":\"^2.2.0\",\"karma-coverage\":\"^1.1.1\",\"karma-firefox-launcher\":\"^1.1.0\",\"karma-jasmine\":\"^1.1.1\",\"karma-jasmine-ajax\":\"^0.1.13\",\"karma-opera-launcher\":\"^1.0.0\",\"karma-safari-launcher\":\"^1.0.0\",\"karma-sauce-launcher\":\"^1.2.0\",\"karma-sinon\":\"^1.0.5\",\"karma-sourcemap-loader\":\"^0.3.7\",\"karma-webpack\":\"^1.7.0\",\"load-grunt-tasks\":\"^3.5.2\",\"minimist\":\"^1.2.0\",\"mocha\":\"^5.2.0\",\"sinon\":\"^4.5.0\",\"typescript\":\"^2.8.1\",\"url-search-params\":\"^0.10.0\",\"webpack\":\"^1.13.1\",\"webpack-dev-server\":\"^1.14.1\"},\"browser\":{\"./lib/adapters/http.js\":\"./lib/adapters/xhr.js\"},\"jsdelivr\":\"dist/axios.min.js\",\"unpkg\":\"dist/axios.min.js\",\"typings\":\"./index.d.ts\",\"dependencies\":{\"follow-redirects\":\"^1.10.0\"},\"bundlesize\":[{\"path\":\"./dist/axios.min.js\",\"threshold\":\"5kB\"}]}"); /***/ }), -/* 548 */ +/* 552 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(515); +var utils = __webpack_require__(519); /** * Config-specific merge-function which creates a new config-object @@ -62793,7 +62927,7 @@ module.exports = function mergeConfig(config1, config2) { /***/ }), -/* 549 */ +/* 553 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62819,13 +62953,13 @@ module.exports = Cancel; /***/ }), -/* 550 */ +/* 554 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var Cancel = __webpack_require__(549); +var Cancel = __webpack_require__(553); /** * A `CancelToken` is an object that can be used to request cancellation of an operation. @@ -62883,7 +63017,7 @@ module.exports = CancelToken; /***/ }), -/* 551 */ +/* 555 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62917,7 +63051,7 @@ module.exports = function spread(callback) { /***/ }), -/* 552 */ +/* 556 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62935,7 +63069,7 @@ module.exports = function isAxiosError(payload) { /***/ }), -/* 553 */ +/* 557 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -62995,7 +63129,7 @@ function parseConfig(log) { } /***/ }), -/* 554 */ +/* 558 */ /***/ (function(module, exports) { function webpackEmptyContext(req) { @@ -63006,10 +63140,10 @@ function webpackEmptyContext(req) { webpackEmptyContext.keys = function() { return []; }; webpackEmptyContext.resolve = webpackEmptyContext; module.exports = webpackEmptyContext; -webpackEmptyContext.id = 554; +webpackEmptyContext.id = 558; /***/ }), -/* 555 */ +/* 559 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -63017,15 +63151,15 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Kibana", function() { return Kibana; }); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(138); +/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(142); /* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fs__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var multimatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(556); +/* harmony import */ var multimatch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(560); /* harmony import */ var multimatch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(multimatch__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var is_path_inside__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(286); +/* harmony import */ var is_path_inside__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(290); /* harmony import */ var is_path_inside__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(is_path_inside__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _yarn_lock__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(362); -/* harmony import */ var _projects__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(293); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(559); +/* harmony import */ var _yarn_lock__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(366); +/* harmony import */ var _projects__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(297); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(563); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } @@ -63189,15 +63323,15 @@ class Kibana { } /***/ }), -/* 556 */ +/* 560 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const minimatch = __webpack_require__(200); -const arrayUnion = __webpack_require__(195); -const arrayDiffer = __webpack_require__(557); -const arrify = __webpack_require__(558); +const minimatch = __webpack_require__(204); +const arrayUnion = __webpack_require__(199); +const arrayDiffer = __webpack_require__(561); +const arrify = __webpack_require__(562); module.exports = (list, patterns, options = {}) => { list = arrify(list); @@ -63221,7 +63355,7 @@ module.exports = (list, patterns, options = {}) => { /***/ }), -/* 557 */ +/* 561 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -63236,7 +63370,7 @@ module.exports = arrayDiffer; /***/ }), -/* 558 */ +/* 562 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -63266,7 +63400,7 @@ module.exports = arrify; /***/ }), -/* 559 */ +/* 563 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -63326,15 +63460,15 @@ function getProjectPaths({ } /***/ }), -/* 560 */ +/* 564 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _build_bazel_production_projects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(561); +/* harmony import */ var _build_bazel_production_projects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(565); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildBazelProductionProjects", function() { return _build_bazel_production_projects__WEBPACK_IMPORTED_MODULE_0__["buildBazelProductionProjects"]; }); -/* harmony import */ var _build_non_bazel_production_projects__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(809); +/* harmony import */ var _build_non_bazel_production_projects__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(813); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "buildNonBazelProductionProjects", function() { return _build_non_bazel_production_projects__WEBPACK_IMPORTED_MODULE_1__["buildNonBazelProductionProjects"]; }); /* @@ -63348,24 +63482,24 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 561 */ +/* 565 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildBazelProductionProjects", function() { return buildBazelProductionProjects; }); -/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(562); +/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(566); /* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cpy__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var globby__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(771); +/* harmony import */ var globby__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(775); /* harmony import */ var globby__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(globby__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _build_non_bazel_production_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(809); -/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(368); -/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(184); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(182); -/* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(296); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(293); +/* harmony import */ var _build_non_bazel_production_projects__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(813); +/* harmony import */ var _utils_bazel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(372); +/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(188); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(186); +/* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(300); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(297); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License @@ -63455,22 +63589,22 @@ async function applyCorrectPermissions(project, kibanaRoot, buildRoot) { } /***/ }), -/* 562 */ +/* 566 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const EventEmitter = __webpack_require__(162); +const EventEmitter = __webpack_require__(166); const path = __webpack_require__(4); -const os = __webpack_require__(120); -const pMap = __webpack_require__(563); -const arrify = __webpack_require__(558); -const globby = __webpack_require__(566); -const hasGlob = __webpack_require__(755); -const cpFile = __webpack_require__(757); -const junk = __webpack_require__(767); -const pFilter = __webpack_require__(768); -const CpyError = __webpack_require__(770); +const os = __webpack_require__(124); +const pMap = __webpack_require__(567); +const arrify = __webpack_require__(562); +const globby = __webpack_require__(570); +const hasGlob = __webpack_require__(759); +const cpFile = __webpack_require__(761); +const junk = __webpack_require__(771); +const pFilter = __webpack_require__(772); +const CpyError = __webpack_require__(774); const defaultOptions = { ignoreJunk: true @@ -63621,12 +63755,12 @@ module.exports = (source, destination, { /***/ }), -/* 563 */ +/* 567 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const AggregateError = __webpack_require__(564); +const AggregateError = __webpack_require__(568); module.exports = async ( iterable, @@ -63709,13 +63843,13 @@ module.exports = async ( /***/ }), -/* 564 */ +/* 568 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const indentString = __webpack_require__(565); -const cleanStack = __webpack_require__(291); +const indentString = __webpack_require__(569); +const cleanStack = __webpack_require__(295); const cleanInternalStack = stack => stack.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g, ''); @@ -63763,7 +63897,7 @@ module.exports = AggregateError; /***/ }), -/* 565 */ +/* 569 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -63805,17 +63939,17 @@ module.exports = (string, count = 1, options) => { /***/ }), -/* 566 */ +/* 570 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fs = __webpack_require__(138); -const arrayUnion = __webpack_require__(567); -const glob = __webpack_require__(197); -const fastGlob = __webpack_require__(569); -const dirGlob = __webpack_require__(748); -const gitignore = __webpack_require__(751); +const fs = __webpack_require__(142); +const arrayUnion = __webpack_require__(571); +const glob = __webpack_require__(201); +const fastGlob = __webpack_require__(573); +const dirGlob = __webpack_require__(752); +const gitignore = __webpack_require__(755); const DEFAULT_FILTER = () => false; @@ -63960,12 +64094,12 @@ module.exports.gitignore = gitignore; /***/ }), -/* 567 */ +/* 571 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var arrayUniq = __webpack_require__(568); +var arrayUniq = __webpack_require__(572); module.exports = function () { return arrayUniq([].concat.apply([], arguments)); @@ -63973,7 +64107,7 @@ module.exports = function () { /***/ }), -/* 568 */ +/* 572 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -64042,10 +64176,10 @@ if ('Set' in global) { /***/ }), -/* 569 */ +/* 573 */ /***/ (function(module, exports, __webpack_require__) { -const pkg = __webpack_require__(570); +const pkg = __webpack_require__(574); module.exports = pkg.async; module.exports.default = pkg.async; @@ -64058,19 +64192,19 @@ module.exports.generateTasks = pkg.generateTasks; /***/ }), -/* 570 */ +/* 574 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var optionsManager = __webpack_require__(571); -var taskManager = __webpack_require__(572); -var reader_async_1 = __webpack_require__(719); -var reader_stream_1 = __webpack_require__(743); -var reader_sync_1 = __webpack_require__(744); -var arrayUtils = __webpack_require__(746); -var streamUtils = __webpack_require__(747); +var optionsManager = __webpack_require__(575); +var taskManager = __webpack_require__(576); +var reader_async_1 = __webpack_require__(723); +var reader_stream_1 = __webpack_require__(747); +var reader_sync_1 = __webpack_require__(748); +var arrayUtils = __webpack_require__(750); +var streamUtils = __webpack_require__(751); /** * Synchronous API. */ @@ -64136,7 +64270,7 @@ function isString(source) { /***/ }), -/* 571 */ +/* 575 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -64174,13 +64308,13 @@ exports.prepare = prepare; /***/ }), -/* 572 */ +/* 576 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var patternUtils = __webpack_require__(573); +var patternUtils = __webpack_require__(577); /** * Generate tasks based on parent directory of each pattern. */ @@ -64271,16 +64405,16 @@ exports.convertPatternGroupToTask = convertPatternGroupToTask; /***/ }), -/* 573 */ +/* 577 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = __webpack_require__(4); -var globParent = __webpack_require__(574); -var isGlob = __webpack_require__(219); -var micromatch = __webpack_require__(577); +var globParent = __webpack_require__(578); +var isGlob = __webpack_require__(223); +var micromatch = __webpack_require__(581); var GLOBSTAR = '**'; /** * Return true for static pattern. @@ -64426,16 +64560,16 @@ exports.matchAny = matchAny; /***/ }), -/* 574 */ +/* 578 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var path = __webpack_require__(4); -var isglob = __webpack_require__(575); -var pathDirname = __webpack_require__(576); -var isWin32 = __webpack_require__(120).platform() === 'win32'; +var isglob = __webpack_require__(579); +var pathDirname = __webpack_require__(580); +var isWin32 = __webpack_require__(124).platform() === 'win32'; module.exports = function globParent(str) { // flip windows path separators @@ -64457,7 +64591,7 @@ module.exports = function globParent(str) { /***/ }), -/* 575 */ +/* 579 */ /***/ (function(module, exports, __webpack_require__) { /*! @@ -64467,7 +64601,7 @@ module.exports = function globParent(str) { * Licensed under the MIT License. */ -var isExtglob = __webpack_require__(220); +var isExtglob = __webpack_require__(224); module.exports = function isGlob(str) { if (typeof str !== 'string' || str === '') { @@ -64488,14 +64622,14 @@ module.exports = function isGlob(str) { /***/ }), -/* 576 */ +/* 580 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var path = __webpack_require__(4); -var inspect = __webpack_require__(111).inspect; +var inspect = __webpack_require__(115).inspect; function assertPath(path) { if (typeof path !== 'string') { @@ -64638,7 +64772,7 @@ module.exports.win32 = win32; /***/ }), -/* 577 */ +/* 581 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -64648,19 +64782,19 @@ module.exports.win32 = win32; * Module dependencies */ -var util = __webpack_require__(111); -var braces = __webpack_require__(578); -var toRegex = __webpack_require__(579); -var extend = __webpack_require__(687); +var util = __webpack_require__(115); +var braces = __webpack_require__(582); +var toRegex = __webpack_require__(583); +var extend = __webpack_require__(691); /** * Local dependencies */ -var compilers = __webpack_require__(689); -var parsers = __webpack_require__(715); -var cache = __webpack_require__(716); -var utils = __webpack_require__(717); +var compilers = __webpack_require__(693); +var parsers = __webpack_require__(719); +var cache = __webpack_require__(720); +var utils = __webpack_require__(721); var MAX_LENGTH = 1024 * 64; /** @@ -65522,7 +65656,7 @@ module.exports = micromatch; /***/ }), -/* 578 */ +/* 582 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -65532,18 +65666,18 @@ module.exports = micromatch; * Module dependencies */ -var toRegex = __webpack_require__(579); -var unique = __webpack_require__(599); -var extend = __webpack_require__(600); +var toRegex = __webpack_require__(583); +var unique = __webpack_require__(603); +var extend = __webpack_require__(604); /** * Local dependencies */ -var compilers = __webpack_require__(602); -var parsers = __webpack_require__(615); -var Braces = __webpack_require__(620); -var utils = __webpack_require__(603); +var compilers = __webpack_require__(606); +var parsers = __webpack_require__(619); +var Braces = __webpack_require__(624); +var utils = __webpack_require__(607); var MAX_LENGTH = 1024 * 64; var cache = {}; @@ -65847,16 +65981,16 @@ module.exports = braces; /***/ }), -/* 579 */ +/* 583 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var safe = __webpack_require__(580); -var define = __webpack_require__(586); -var extend = __webpack_require__(592); -var not = __webpack_require__(596); +var safe = __webpack_require__(584); +var define = __webpack_require__(590); +var extend = __webpack_require__(596); +var not = __webpack_require__(600); var MAX_LENGTH = 1024 * 64; /** @@ -66009,10 +66143,10 @@ module.exports.makeRe = makeRe; /***/ }), -/* 580 */ +/* 584 */ /***/ (function(module, exports, __webpack_require__) { -var parse = __webpack_require__(581); +var parse = __webpack_require__(585); var types = parse.types; module.exports = function (re, opts) { @@ -66058,13 +66192,13 @@ function isRegExp (x) { /***/ }), -/* 581 */ +/* 585 */ /***/ (function(module, exports, __webpack_require__) { -var util = __webpack_require__(582); -var types = __webpack_require__(583); -var sets = __webpack_require__(584); -var positions = __webpack_require__(585); +var util = __webpack_require__(586); +var types = __webpack_require__(587); +var sets = __webpack_require__(588); +var positions = __webpack_require__(589); module.exports = function(regexpStr) { @@ -66346,11 +66480,11 @@ module.exports.types = types; /***/ }), -/* 582 */ +/* 586 */ /***/ (function(module, exports, __webpack_require__) { -var types = __webpack_require__(583); -var sets = __webpack_require__(584); +var types = __webpack_require__(587); +var sets = __webpack_require__(588); // All of these are private and only used by randexp. @@ -66463,7 +66597,7 @@ exports.error = function(regexp, msg) { /***/ }), -/* 583 */ +/* 587 */ /***/ (function(module, exports) { module.exports = { @@ -66479,10 +66613,10 @@ module.exports = { /***/ }), -/* 584 */ +/* 588 */ /***/ (function(module, exports, __webpack_require__) { -var types = __webpack_require__(583); +var types = __webpack_require__(587); var INTS = function() { return [{ type: types.RANGE , from: 48, to: 57 }]; @@ -66567,10 +66701,10 @@ exports.anyChar = function() { /***/ }), -/* 585 */ +/* 589 */ /***/ (function(module, exports, __webpack_require__) { -var types = __webpack_require__(583); +var types = __webpack_require__(587); exports.wordBoundary = function() { return { type: types.POSITION, value: 'b' }; @@ -66590,7 +66724,7 @@ exports.end = function() { /***/ }), -/* 586 */ +/* 590 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -66603,8 +66737,8 @@ exports.end = function() { -var isobject = __webpack_require__(587); -var isDescriptor = __webpack_require__(588); +var isobject = __webpack_require__(591); +var isDescriptor = __webpack_require__(592); var define = (typeof Reflect !== 'undefined' && Reflect.defineProperty) ? Reflect.defineProperty : Object.defineProperty; @@ -66635,7 +66769,7 @@ module.exports = function defineProperty(obj, key, val) { /***/ }), -/* 587 */ +/* 591 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -66654,7 +66788,7 @@ module.exports = function isObject(val) { /***/ }), -/* 588 */ +/* 592 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -66667,9 +66801,9 @@ module.exports = function isObject(val) { -var typeOf = __webpack_require__(589); -var isAccessor = __webpack_require__(590); -var isData = __webpack_require__(591); +var typeOf = __webpack_require__(593); +var isAccessor = __webpack_require__(594); +var isData = __webpack_require__(595); module.exports = function isDescriptor(obj, key) { if (typeOf(obj) !== 'object') { @@ -66683,7 +66817,7 @@ module.exports = function isDescriptor(obj, key) { /***/ }), -/* 589 */ +/* 593 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -66818,7 +66952,7 @@ function isBuffer(val) { /***/ }), -/* 590 */ +/* 594 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -66831,7 +66965,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(589); +var typeOf = __webpack_require__(593); // accessor descriptor properties var accessor = { @@ -66894,7 +67028,7 @@ module.exports = isAccessorDescriptor; /***/ }), -/* 591 */ +/* 595 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -66907,7 +67041,7 @@ module.exports = isAccessorDescriptor; -var typeOf = __webpack_require__(589); +var typeOf = __webpack_require__(593); module.exports = function isDataDescriptor(obj, prop) { // data descriptor properties @@ -66950,14 +67084,14 @@ module.exports = function isDataDescriptor(obj, prop) { /***/ }), -/* 592 */ +/* 596 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(593); -var assignSymbols = __webpack_require__(595); +var isExtendable = __webpack_require__(597); +var assignSymbols = __webpack_require__(599); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -67017,7 +67151,7 @@ function isEnum(obj, key) { /***/ }), -/* 593 */ +/* 597 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67030,7 +67164,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(594); +var isPlainObject = __webpack_require__(598); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -67038,7 +67172,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 594 */ +/* 598 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67051,7 +67185,7 @@ module.exports = function isExtendable(val) { -var isObject = __webpack_require__(587); +var isObject = __webpack_require__(591); function isObjectObject(o) { return isObject(o) === true @@ -67082,7 +67216,7 @@ module.exports = function isPlainObject(o) { /***/ }), -/* 595 */ +/* 599 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67129,14 +67263,14 @@ module.exports = function(receiver, objects) { /***/ }), -/* 596 */ +/* 600 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extend = __webpack_require__(597); -var safe = __webpack_require__(580); +var extend = __webpack_require__(601); +var safe = __webpack_require__(584); /** * The main export is a function that takes a `pattern` string and an `options` object. @@ -67208,14 +67342,14 @@ module.exports = toRegex; /***/ }), -/* 597 */ +/* 601 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(598); -var assignSymbols = __webpack_require__(595); +var isExtendable = __webpack_require__(602); +var assignSymbols = __webpack_require__(599); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -67275,7 +67409,7 @@ function isEnum(obj, key) { /***/ }), -/* 598 */ +/* 602 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67288,7 +67422,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(594); +var isPlainObject = __webpack_require__(598); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -67296,7 +67430,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 599 */ +/* 603 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67346,13 +67480,13 @@ module.exports.immutable = function uniqueImmutable(arr) { /***/ }), -/* 600 */ +/* 604 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(601); +var isObject = __webpack_require__(605); module.exports = function extend(o/*, objects*/) { if (!isObject(o)) { o = {}; } @@ -67386,7 +67520,7 @@ function hasOwn(obj, key) { /***/ }), -/* 601 */ +/* 605 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -67406,13 +67540,13 @@ module.exports = function isExtendable(val) { /***/ }), -/* 602 */ +/* 606 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(603); +var utils = __webpack_require__(607); module.exports = function(braces, options) { braces.compiler @@ -67695,25 +67829,25 @@ function hasQueue(node) { /***/ }), -/* 603 */ +/* 607 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var splitString = __webpack_require__(604); +var splitString = __webpack_require__(608); var utils = module.exports; /** * Module dependencies */ -utils.extend = __webpack_require__(600); -utils.flatten = __webpack_require__(607); -utils.isObject = __webpack_require__(587); -utils.fillRange = __webpack_require__(608); -utils.repeat = __webpack_require__(614); -utils.unique = __webpack_require__(599); +utils.extend = __webpack_require__(604); +utils.flatten = __webpack_require__(611); +utils.isObject = __webpack_require__(591); +utils.fillRange = __webpack_require__(612); +utils.repeat = __webpack_require__(618); +utils.unique = __webpack_require__(603); utils.define = function(obj, key, val) { Object.defineProperty(obj, key, { @@ -68045,7 +68179,7 @@ utils.escapeRegex = function(str) { /***/ }), -/* 604 */ +/* 608 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68058,7 +68192,7 @@ utils.escapeRegex = function(str) { -var extend = __webpack_require__(605); +var extend = __webpack_require__(609); module.exports = function(str, options, fn) { if (typeof str !== 'string') { @@ -68223,14 +68357,14 @@ function keepEscaping(opts, str, idx) { /***/ }), -/* 605 */ +/* 609 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(606); -var assignSymbols = __webpack_require__(595); +var isExtendable = __webpack_require__(610); +var assignSymbols = __webpack_require__(599); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -68290,7 +68424,7 @@ function isEnum(obj, key) { /***/ }), -/* 606 */ +/* 610 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68303,7 +68437,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(594); +var isPlainObject = __webpack_require__(598); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -68311,7 +68445,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 607 */ +/* 611 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68340,7 +68474,7 @@ function flat(arr, res) { /***/ }), -/* 608 */ +/* 612 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68353,11 +68487,11 @@ function flat(arr, res) { -var util = __webpack_require__(111); -var isNumber = __webpack_require__(609); -var extend = __webpack_require__(600); -var repeat = __webpack_require__(612); -var toRegex = __webpack_require__(613); +var util = __webpack_require__(115); +var isNumber = __webpack_require__(613); +var extend = __webpack_require__(604); +var repeat = __webpack_require__(616); +var toRegex = __webpack_require__(617); /** * Return a range of numbers or letters. @@ -68555,7 +68689,7 @@ module.exports = fillRange; /***/ }), -/* 609 */ +/* 613 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68568,7 +68702,7 @@ module.exports = fillRange; -var typeOf = __webpack_require__(610); +var typeOf = __webpack_require__(614); module.exports = function isNumber(num) { var type = typeOf(num); @@ -68584,10 +68718,10 @@ module.exports = function isNumber(num) { /***/ }), -/* 610 */ +/* 614 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(611); +var isBuffer = __webpack_require__(615); var toString = Object.prototype.toString; /** @@ -68706,7 +68840,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 611 */ +/* 615 */ /***/ (function(module, exports) { /*! @@ -68733,7 +68867,7 @@ function isSlowBuffer (obj) { /***/ }), -/* 612 */ +/* 616 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68810,7 +68944,7 @@ function repeat(str, num) { /***/ }), -/* 613 */ +/* 617 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -68823,8 +68957,8 @@ function repeat(str, num) { -var repeat = __webpack_require__(612); -var isNumber = __webpack_require__(609); +var repeat = __webpack_require__(616); +var isNumber = __webpack_require__(613); var cache = {}; function toRegexRange(min, max, options) { @@ -69111,7 +69245,7 @@ module.exports = toRegexRange; /***/ }), -/* 614 */ +/* 618 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -69136,14 +69270,14 @@ module.exports = function repeat(ele, num) { /***/ }), -/* 615 */ +/* 619 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var Node = __webpack_require__(616); -var utils = __webpack_require__(603); +var Node = __webpack_require__(620); +var utils = __webpack_require__(607); /** * Braces parsers @@ -69503,15 +69637,15 @@ function concatNodes(pos, node, parent, options) { /***/ }), -/* 616 */ +/* 620 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(587); -var define = __webpack_require__(617); -var utils = __webpack_require__(618); +var isObject = __webpack_require__(591); +var define = __webpack_require__(621); +var utils = __webpack_require__(622); var ownNames; /** @@ -70002,7 +70136,7 @@ exports = module.exports = Node; /***/ }), -/* 617 */ +/* 621 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -70015,7 +70149,7 @@ exports = module.exports = Node; -var isDescriptor = __webpack_require__(588); +var isDescriptor = __webpack_require__(592); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -70040,13 +70174,13 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 618 */ +/* 622 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var typeOf = __webpack_require__(619); +var typeOf = __webpack_require__(623); var utils = module.exports; /** @@ -71066,10 +71200,10 @@ function assert(val, message) { /***/ }), -/* 619 */ +/* 623 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(611); +var isBuffer = __webpack_require__(615); var toString = Object.prototype.toString; /** @@ -71188,17 +71322,17 @@ module.exports = function kindOf(val) { /***/ }), -/* 620 */ +/* 624 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extend = __webpack_require__(600); -var Snapdragon = __webpack_require__(621); -var compilers = __webpack_require__(602); -var parsers = __webpack_require__(615); -var utils = __webpack_require__(603); +var extend = __webpack_require__(604); +var Snapdragon = __webpack_require__(625); +var compilers = __webpack_require__(606); +var parsers = __webpack_require__(619); +var utils = __webpack_require__(607); /** * Customize Snapdragon parser and renderer @@ -71299,17 +71433,17 @@ module.exports = Braces; /***/ }), -/* 621 */ +/* 625 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var Base = __webpack_require__(622); -var define = __webpack_require__(650); -var Compiler = __webpack_require__(661); -var Parser = __webpack_require__(684); -var utils = __webpack_require__(664); +var Base = __webpack_require__(626); +var define = __webpack_require__(654); +var Compiler = __webpack_require__(665); +var Parser = __webpack_require__(688); +var utils = __webpack_require__(668); var regexCache = {}; var cache = {}; @@ -71480,20 +71614,20 @@ module.exports.Parser = Parser; /***/ }), -/* 622 */ +/* 626 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var util = __webpack_require__(111); -var define = __webpack_require__(623); -var CacheBase = __webpack_require__(624); -var Emitter = __webpack_require__(625); -var isObject = __webpack_require__(587); -var merge = __webpack_require__(644); -var pascal = __webpack_require__(647); -var cu = __webpack_require__(648); +var util = __webpack_require__(115); +var define = __webpack_require__(627); +var CacheBase = __webpack_require__(628); +var Emitter = __webpack_require__(629); +var isObject = __webpack_require__(591); +var merge = __webpack_require__(648); +var pascal = __webpack_require__(651); +var cu = __webpack_require__(652); /** * Optionally define a custom `cache` namespace to use. @@ -71922,7 +72056,7 @@ module.exports.namespace = namespace; /***/ }), -/* 623 */ +/* 627 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -71935,7 +72069,7 @@ module.exports.namespace = namespace; -var isDescriptor = __webpack_require__(588); +var isDescriptor = __webpack_require__(592); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -71960,21 +72094,21 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 624 */ +/* 628 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(587); -var Emitter = __webpack_require__(625); -var visit = __webpack_require__(626); -var toPath = __webpack_require__(629); -var union = __webpack_require__(631); -var del = __webpack_require__(635); -var get = __webpack_require__(633); -var has = __webpack_require__(640); -var set = __webpack_require__(643); +var isObject = __webpack_require__(591); +var Emitter = __webpack_require__(629); +var visit = __webpack_require__(630); +var toPath = __webpack_require__(633); +var union = __webpack_require__(635); +var del = __webpack_require__(639); +var get = __webpack_require__(637); +var has = __webpack_require__(644); +var set = __webpack_require__(647); /** * Create a `Cache` constructor that when instantiated will @@ -72228,7 +72362,7 @@ module.exports.namespace = namespace; /***/ }), -/* 625 */ +/* 629 */ /***/ (function(module, exports, __webpack_require__) { @@ -72397,7 +72531,7 @@ Emitter.prototype.hasListeners = function(event){ /***/ }), -/* 626 */ +/* 630 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72410,8 +72544,8 @@ Emitter.prototype.hasListeners = function(event){ -var visit = __webpack_require__(627); -var mapVisit = __webpack_require__(628); +var visit = __webpack_require__(631); +var mapVisit = __webpack_require__(632); module.exports = function(collection, method, val) { var result; @@ -72434,7 +72568,7 @@ module.exports = function(collection, method, val) { /***/ }), -/* 627 */ +/* 631 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72447,7 +72581,7 @@ module.exports = function(collection, method, val) { -var isObject = __webpack_require__(587); +var isObject = __webpack_require__(591); module.exports = function visit(thisArg, method, target, val) { if (!isObject(thisArg) && typeof thisArg !== 'function') { @@ -72474,14 +72608,14 @@ module.exports = function visit(thisArg, method, target, val) { /***/ }), -/* 628 */ +/* 632 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var util = __webpack_require__(111); -var visit = __webpack_require__(627); +var util = __webpack_require__(115); +var visit = __webpack_require__(631); /** * Map `visit` over an array of objects. @@ -72518,7 +72652,7 @@ function isObject(val) { /***/ }), -/* 629 */ +/* 633 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72531,7 +72665,7 @@ function isObject(val) { -var typeOf = __webpack_require__(630); +var typeOf = __webpack_require__(634); module.exports = function toPath(args) { if (typeOf(args) !== 'arguments') { @@ -72558,10 +72692,10 @@ function filter(arr) { /***/ }), -/* 630 */ +/* 634 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(611); +var isBuffer = __webpack_require__(615); var toString = Object.prototype.toString; /** @@ -72680,16 +72814,16 @@ module.exports = function kindOf(val) { /***/ }), -/* 631 */ +/* 635 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isObject = __webpack_require__(601); -var union = __webpack_require__(632); -var get = __webpack_require__(633); -var set = __webpack_require__(634); +var isObject = __webpack_require__(605); +var union = __webpack_require__(636); +var get = __webpack_require__(637); +var set = __webpack_require__(638); module.exports = function unionValue(obj, prop, value) { if (!isObject(obj)) { @@ -72717,7 +72851,7 @@ function arrayify(val) { /***/ }), -/* 632 */ +/* 636 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72753,7 +72887,7 @@ module.exports = function union(init) { /***/ }), -/* 633 */ +/* 637 */ /***/ (function(module, exports) { /*! @@ -72809,7 +72943,7 @@ function toString(val) { /***/ }), -/* 634 */ +/* 638 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72822,10 +72956,10 @@ function toString(val) { -var split = __webpack_require__(604); -var extend = __webpack_require__(600); -var isPlainObject = __webpack_require__(594); -var isObject = __webpack_require__(601); +var split = __webpack_require__(608); +var extend = __webpack_require__(604); +var isPlainObject = __webpack_require__(598); +var isObject = __webpack_require__(605); module.exports = function(obj, prop, val) { if (!isObject(obj)) { @@ -72871,7 +73005,7 @@ function isValidKey(key) { /***/ }), -/* 635 */ +/* 639 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72884,8 +73018,8 @@ function isValidKey(key) { -var isObject = __webpack_require__(587); -var has = __webpack_require__(636); +var isObject = __webpack_require__(591); +var has = __webpack_require__(640); module.exports = function unset(obj, prop) { if (!isObject(obj)) { @@ -72910,7 +73044,7 @@ module.exports = function unset(obj, prop) { /***/ }), -/* 636 */ +/* 640 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72923,9 +73057,9 @@ module.exports = function unset(obj, prop) { -var isObject = __webpack_require__(637); -var hasValues = __webpack_require__(639); -var get = __webpack_require__(633); +var isObject = __webpack_require__(641); +var hasValues = __webpack_require__(643); +var get = __webpack_require__(637); module.exports = function(obj, prop, noZero) { if (isObject(obj)) { @@ -72936,7 +73070,7 @@ module.exports = function(obj, prop, noZero) { /***/ }), -/* 637 */ +/* 641 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -72949,7 +73083,7 @@ module.exports = function(obj, prop, noZero) { -var isArray = __webpack_require__(638); +var isArray = __webpack_require__(642); module.exports = function isObject(val) { return val != null && typeof val === 'object' && isArray(val) === false; @@ -72957,7 +73091,7 @@ module.exports = function isObject(val) { /***/ }), -/* 638 */ +/* 642 */ /***/ (function(module, exports) { var toString = {}.toString; @@ -72968,7 +73102,7 @@ module.exports = Array.isArray || function (arr) { /***/ }), -/* 639 */ +/* 643 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73011,7 +73145,7 @@ module.exports = function hasValue(o, noZero) { /***/ }), -/* 640 */ +/* 644 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73024,9 +73158,9 @@ module.exports = function hasValue(o, noZero) { -var isObject = __webpack_require__(587); -var hasValues = __webpack_require__(641); -var get = __webpack_require__(633); +var isObject = __webpack_require__(591); +var hasValues = __webpack_require__(645); +var get = __webpack_require__(637); module.exports = function(val, prop) { return hasValues(isObject(val) && prop ? get(val, prop) : val); @@ -73034,7 +73168,7 @@ module.exports = function(val, prop) { /***/ }), -/* 641 */ +/* 645 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73047,8 +73181,8 @@ module.exports = function(val, prop) { -var typeOf = __webpack_require__(642); -var isNumber = __webpack_require__(609); +var typeOf = __webpack_require__(646); +var isNumber = __webpack_require__(613); module.exports = function hasValue(val) { // is-number checks for NaN and other edge cases @@ -73101,10 +73235,10 @@ module.exports = function hasValue(val) { /***/ }), -/* 642 */ +/* 646 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(611); +var isBuffer = __webpack_require__(615); var toString = Object.prototype.toString; /** @@ -73226,7 +73360,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 643 */ +/* 647 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73239,10 +73373,10 @@ module.exports = function kindOf(val) { -var split = __webpack_require__(604); -var extend = __webpack_require__(600); -var isPlainObject = __webpack_require__(594); -var isObject = __webpack_require__(601); +var split = __webpack_require__(608); +var extend = __webpack_require__(604); +var isPlainObject = __webpack_require__(598); +var isObject = __webpack_require__(605); module.exports = function(obj, prop, val) { if (!isObject(obj)) { @@ -73288,14 +73422,14 @@ function isValidKey(key) { /***/ }), -/* 644 */ +/* 648 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(645); -var forIn = __webpack_require__(646); +var isExtendable = __webpack_require__(649); +var forIn = __webpack_require__(650); function mixinDeep(target, objects) { var len = arguments.length, i = 0; @@ -73359,7 +73493,7 @@ module.exports = mixinDeep; /***/ }), -/* 645 */ +/* 649 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73372,7 +73506,7 @@ module.exports = mixinDeep; -var isPlainObject = __webpack_require__(594); +var isPlainObject = __webpack_require__(598); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -73380,7 +73514,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 646 */ +/* 650 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73403,7 +73537,7 @@ module.exports = function forIn(obj, fn, thisArg) { /***/ }), -/* 647 */ +/* 651 */ /***/ (function(module, exports) { /*! @@ -73430,14 +73564,14 @@ module.exports = pascalcase; /***/ }), -/* 648 */ +/* 652 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var util = __webpack_require__(111); -var utils = __webpack_require__(649); +var util = __webpack_require__(115); +var utils = __webpack_require__(653); /** * Expose class utils @@ -73802,7 +73936,7 @@ cu.bubble = function(Parent, events) { /***/ }), -/* 649 */ +/* 653 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73816,10 +73950,10 @@ var utils = {}; * Lazily required module dependencies */ -utils.union = __webpack_require__(632); -utils.define = __webpack_require__(650); -utils.isObj = __webpack_require__(587); -utils.staticExtend = __webpack_require__(657); +utils.union = __webpack_require__(636); +utils.define = __webpack_require__(654); +utils.isObj = __webpack_require__(591); +utils.staticExtend = __webpack_require__(661); /** @@ -73830,7 +73964,7 @@ module.exports = utils; /***/ }), -/* 650 */ +/* 654 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73843,7 +73977,7 @@ module.exports = utils; -var isDescriptor = __webpack_require__(651); +var isDescriptor = __webpack_require__(655); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -73868,7 +74002,7 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 651 */ +/* 655 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -73881,9 +74015,9 @@ module.exports = function defineProperty(obj, prop, val) { -var typeOf = __webpack_require__(652); -var isAccessor = __webpack_require__(653); -var isData = __webpack_require__(655); +var typeOf = __webpack_require__(656); +var isAccessor = __webpack_require__(657); +var isData = __webpack_require__(659); module.exports = function isDescriptor(obj, key) { if (typeOf(obj) !== 'object') { @@ -73897,7 +74031,7 @@ module.exports = function isDescriptor(obj, key) { /***/ }), -/* 652 */ +/* 656 */ /***/ (function(module, exports) { var toString = Object.prototype.toString; @@ -74050,7 +74184,7 @@ function isBuffer(val) { /***/ }), -/* 653 */ +/* 657 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -74063,7 +74197,7 @@ function isBuffer(val) { -var typeOf = __webpack_require__(654); +var typeOf = __webpack_require__(658); // accessor descriptor properties var accessor = { @@ -74126,10 +74260,10 @@ module.exports = isAccessorDescriptor; /***/ }), -/* 654 */ +/* 658 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(611); +var isBuffer = __webpack_require__(615); var toString = Object.prototype.toString; /** @@ -74248,7 +74382,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 655 */ +/* 659 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -74261,7 +74395,7 @@ module.exports = function kindOf(val) { -var typeOf = __webpack_require__(656); +var typeOf = __webpack_require__(660); // data descriptor properties var data = { @@ -74310,10 +74444,10 @@ module.exports = isDataDescriptor; /***/ }), -/* 656 */ +/* 660 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(611); +var isBuffer = __webpack_require__(615); var toString = Object.prototype.toString; /** @@ -74432,7 +74566,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 657 */ +/* 661 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -74445,9 +74579,9 @@ module.exports = function kindOf(val) { -var copy = __webpack_require__(658); -var define = __webpack_require__(650); -var util = __webpack_require__(111); +var copy = __webpack_require__(662); +var define = __webpack_require__(654); +var util = __webpack_require__(115); /** * Returns a function for extending the static properties, @@ -74529,15 +74663,15 @@ module.exports = extend; /***/ }), -/* 658 */ +/* 662 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var typeOf = __webpack_require__(659); -var copyDescriptor = __webpack_require__(660); -var define = __webpack_require__(650); +var typeOf = __webpack_require__(663); +var copyDescriptor = __webpack_require__(664); +var define = __webpack_require__(654); /** * Copy static properties, prototype properties, and descriptors from one object to another. @@ -74710,10 +74844,10 @@ module.exports.has = has; /***/ }), -/* 659 */ +/* 663 */ /***/ (function(module, exports, __webpack_require__) { -var isBuffer = __webpack_require__(611); +var isBuffer = __webpack_require__(615); var toString = Object.prototype.toString; /** @@ -74832,7 +74966,7 @@ module.exports = function kindOf(val) { /***/ }), -/* 660 */ +/* 664 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -74920,16 +75054,16 @@ function isObject(val) { /***/ }), -/* 661 */ +/* 665 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var use = __webpack_require__(662); -var define = __webpack_require__(650); -var debug = __webpack_require__(540)('snapdragon:compiler'); -var utils = __webpack_require__(664); +var use = __webpack_require__(666); +var define = __webpack_require__(654); +var debug = __webpack_require__(544)('snapdragon:compiler'); +var utils = __webpack_require__(668); /** * Create a new `Compiler` with the given `options`. @@ -75083,7 +75217,7 @@ Compiler.prototype = { // source map support if (opts.sourcemap) { - var sourcemaps = __webpack_require__(683); + var sourcemaps = __webpack_require__(687); sourcemaps(this); this.mapVisit(this.ast.nodes); this.applySourceMaps(); @@ -75104,7 +75238,7 @@ module.exports = Compiler; /***/ }), -/* 662 */ +/* 666 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -75117,7 +75251,7 @@ module.exports = Compiler; -var utils = __webpack_require__(663); +var utils = __webpack_require__(667); module.exports = function base(app, opts) { if (!utils.isObject(app) && typeof app !== 'function') { @@ -75232,7 +75366,7 @@ module.exports = function base(app, opts) { /***/ }), -/* 663 */ +/* 667 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -75246,8 +75380,8 @@ var utils = {}; * Lazily required module dependencies */ -utils.define = __webpack_require__(650); -utils.isObject = __webpack_require__(587); +utils.define = __webpack_require__(654); +utils.isObject = __webpack_require__(591); utils.isString = function(val) { @@ -75262,7 +75396,7 @@ module.exports = utils; /***/ }), -/* 664 */ +/* 668 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -75272,9 +75406,9 @@ module.exports = utils; * Module dependencies */ -exports.extend = __webpack_require__(600); -exports.SourceMap = __webpack_require__(665); -exports.sourceMapResolve = __webpack_require__(676); +exports.extend = __webpack_require__(604); +exports.SourceMap = __webpack_require__(669); +exports.sourceMapResolve = __webpack_require__(680); /** * Convert backslash in the given string to forward slashes @@ -75317,7 +75451,7 @@ exports.last = function(arr, n) { /***/ }), -/* 665 */ +/* 669 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -75325,13 +75459,13 @@ exports.last = function(arr, n) { * Licensed under the New BSD license. See LICENSE.txt or: * http://opensource.org/licenses/BSD-3-Clause */ -exports.SourceMapGenerator = __webpack_require__(666).SourceMapGenerator; -exports.SourceMapConsumer = __webpack_require__(672).SourceMapConsumer; -exports.SourceNode = __webpack_require__(675).SourceNode; +exports.SourceMapGenerator = __webpack_require__(670).SourceMapGenerator; +exports.SourceMapConsumer = __webpack_require__(676).SourceMapConsumer; +exports.SourceNode = __webpack_require__(679).SourceNode; /***/ }), -/* 666 */ +/* 670 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -75341,10 +75475,10 @@ exports.SourceNode = __webpack_require__(675).SourceNode; * http://opensource.org/licenses/BSD-3-Clause */ -var base64VLQ = __webpack_require__(667); -var util = __webpack_require__(669); -var ArraySet = __webpack_require__(670).ArraySet; -var MappingList = __webpack_require__(671).MappingList; +var base64VLQ = __webpack_require__(671); +var util = __webpack_require__(673); +var ArraySet = __webpack_require__(674).ArraySet; +var MappingList = __webpack_require__(675).MappingList; /** * An instance of the SourceMapGenerator represents a source map which is @@ -75753,7 +75887,7 @@ exports.SourceMapGenerator = SourceMapGenerator; /***/ }), -/* 667 */ +/* 671 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -75793,7 +75927,7 @@ exports.SourceMapGenerator = SourceMapGenerator; * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -var base64 = __webpack_require__(668); +var base64 = __webpack_require__(672); // A single base 64 digit can contain 6 bits of data. For the base 64 variable // length quantities we use in the source map spec, the first bit is the sign, @@ -75899,7 +76033,7 @@ exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { /***/ }), -/* 668 */ +/* 672 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -75972,7 +76106,7 @@ exports.decode = function (charCode) { /***/ }), -/* 669 */ +/* 673 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -76395,7 +76529,7 @@ exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflate /***/ }), -/* 670 */ +/* 674 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -76405,7 +76539,7 @@ exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflate * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(669); +var util = __webpack_require__(673); var has = Object.prototype.hasOwnProperty; var hasNativeMap = typeof Map !== "undefined"; @@ -76522,7 +76656,7 @@ exports.ArraySet = ArraySet; /***/ }), -/* 671 */ +/* 675 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -76532,7 +76666,7 @@ exports.ArraySet = ArraySet; * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(669); +var util = __webpack_require__(673); /** * Determine whether mappingB is after mappingA with respect to generated @@ -76607,7 +76741,7 @@ exports.MappingList = MappingList; /***/ }), -/* 672 */ +/* 676 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -76617,11 +76751,11 @@ exports.MappingList = MappingList; * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(669); -var binarySearch = __webpack_require__(673); -var ArraySet = __webpack_require__(670).ArraySet; -var base64VLQ = __webpack_require__(667); -var quickSort = __webpack_require__(674).quickSort; +var util = __webpack_require__(673); +var binarySearch = __webpack_require__(677); +var ArraySet = __webpack_require__(674).ArraySet; +var base64VLQ = __webpack_require__(671); +var quickSort = __webpack_require__(678).quickSort; function SourceMapConsumer(aSourceMap) { var sourceMap = aSourceMap; @@ -77695,7 +77829,7 @@ exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; /***/ }), -/* 673 */ +/* 677 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -77812,7 +77946,7 @@ exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { /***/ }), -/* 674 */ +/* 678 */ /***/ (function(module, exports) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -77932,7 +78066,7 @@ exports.quickSort = function (ary, comparator) { /***/ }), -/* 675 */ +/* 679 */ /***/ (function(module, exports, __webpack_require__) { /* -*- Mode: js; js-indent-level: 2; -*- */ @@ -77942,8 +78076,8 @@ exports.quickSort = function (ary, comparator) { * http://opensource.org/licenses/BSD-3-Clause */ -var SourceMapGenerator = __webpack_require__(666).SourceMapGenerator; -var util = __webpack_require__(669); +var SourceMapGenerator = __webpack_require__(670).SourceMapGenerator; +var util = __webpack_require__(673); // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other // operating systems these days (capturing the result). @@ -78351,17 +78485,17 @@ exports.SourceNode = SourceNode; /***/ }), -/* 676 */ +/* 680 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014, 2015, 2016, 2017 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var sourceMappingURL = __webpack_require__(677) -var resolveUrl = __webpack_require__(678) -var decodeUriComponent = __webpack_require__(679) -var urix = __webpack_require__(681) -var atob = __webpack_require__(682) +var sourceMappingURL = __webpack_require__(681) +var resolveUrl = __webpack_require__(682) +var decodeUriComponent = __webpack_require__(683) +var urix = __webpack_require__(685) +var atob = __webpack_require__(686) @@ -78659,7 +78793,7 @@ module.exports = { /***/ }), -/* 677 */ +/* 681 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;// Copyright 2014 Simon Lydell @@ -78722,13 +78856,13 @@ void (function(root, factory) { /***/ }), -/* 678 */ +/* 682 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var url = __webpack_require__(328) +var url = __webpack_require__(332) function resolveUrl(/* ...urls */) { return Array.prototype.reduce.call(arguments, function(resolved, nextUrl) { @@ -78740,13 +78874,13 @@ module.exports = resolveUrl /***/ }), -/* 679 */ +/* 683 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2017 Simon Lydell // X11 (“MIT”) Licensed. (See LICENSE.) -var decodeUriComponent = __webpack_require__(680) +var decodeUriComponent = __webpack_require__(684) function customDecodeUriComponent(string) { // `decodeUriComponent` turns `+` into ` `, but that's not wanted. @@ -78757,7 +78891,7 @@ module.exports = customDecodeUriComponent /***/ }), -/* 680 */ +/* 684 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -78858,7 +78992,7 @@ module.exports = function (encodedURI) { /***/ }), -/* 681 */ +/* 685 */ /***/ (function(module, exports, __webpack_require__) { // Copyright 2014 Simon Lydell @@ -78881,7 +79015,7 @@ module.exports = urix /***/ }), -/* 682 */ +/* 686 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -78895,16 +79029,16 @@ module.exports = atob.atob = atob; /***/ }), -/* 683 */ +/* 687 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var fs = __webpack_require__(138); +var fs = __webpack_require__(142); var path = __webpack_require__(4); -var define = __webpack_require__(650); -var utils = __webpack_require__(664); +var define = __webpack_require__(654); +var utils = __webpack_require__(668); /** * Expose `mixin()`. @@ -79047,19 +79181,19 @@ exports.comment = function(node) { /***/ }), -/* 684 */ +/* 688 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var use = __webpack_require__(662); -var util = __webpack_require__(111); -var Cache = __webpack_require__(685); -var define = __webpack_require__(650); -var debug = __webpack_require__(540)('snapdragon:parser'); -var Position = __webpack_require__(686); -var utils = __webpack_require__(664); +var use = __webpack_require__(666); +var util = __webpack_require__(115); +var Cache = __webpack_require__(689); +var define = __webpack_require__(654); +var debug = __webpack_require__(544)('snapdragon:parser'); +var Position = __webpack_require__(690); +var utils = __webpack_require__(668); /** * Create a new `Parser` with the given `input` and `options`. @@ -79587,7 +79721,7 @@ module.exports = Parser; /***/ }), -/* 685 */ +/* 689 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -79694,13 +79828,13 @@ MapCache.prototype.del = function mapDelete(key) { /***/ }), -/* 686 */ +/* 690 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var define = __webpack_require__(650); +var define = __webpack_require__(654); /** * Store position for a node @@ -79715,14 +79849,14 @@ module.exports = function Position(start, parser) { /***/ }), -/* 687 */ +/* 691 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(688); -var assignSymbols = __webpack_require__(595); +var isExtendable = __webpack_require__(692); +var assignSymbols = __webpack_require__(599); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -79782,7 +79916,7 @@ function isEnum(obj, key) { /***/ }), -/* 688 */ +/* 692 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -79795,7 +79929,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(594); +var isPlainObject = __webpack_require__(598); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -79803,14 +79937,14 @@ module.exports = function isExtendable(val) { /***/ }), -/* 689 */ +/* 693 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var nanomatch = __webpack_require__(690); -var extglob = __webpack_require__(704); +var nanomatch = __webpack_require__(694); +var extglob = __webpack_require__(708); module.exports = function(snapdragon) { var compilers = snapdragon.compiler.compilers; @@ -79887,7 +80021,7 @@ function escapeExtglobs(compiler) { /***/ }), -/* 690 */ +/* 694 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -79897,18 +80031,18 @@ function escapeExtglobs(compiler) { * Module dependencies */ -var util = __webpack_require__(111); -var toRegex = __webpack_require__(579); -var extend = __webpack_require__(691); +var util = __webpack_require__(115); +var toRegex = __webpack_require__(583); +var extend = __webpack_require__(695); /** * Local dependencies */ -var compilers = __webpack_require__(693); -var parsers = __webpack_require__(694); -var cache = __webpack_require__(697); -var utils = __webpack_require__(699); +var compilers = __webpack_require__(697); +var parsers = __webpack_require__(698); +var cache = __webpack_require__(701); +var utils = __webpack_require__(703); var MAX_LENGTH = 1024 * 64; /** @@ -80732,14 +80866,14 @@ module.exports = nanomatch; /***/ }), -/* 691 */ +/* 695 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var isExtendable = __webpack_require__(692); -var assignSymbols = __webpack_require__(595); +var isExtendable = __webpack_require__(696); +var assignSymbols = __webpack_require__(599); module.exports = Object.assign || function(obj/*, objects*/) { if (obj === null || typeof obj === 'undefined') { @@ -80799,7 +80933,7 @@ function isEnum(obj, key) { /***/ }), -/* 692 */ +/* 696 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -80812,7 +80946,7 @@ function isEnum(obj, key) { -var isPlainObject = __webpack_require__(594); +var isPlainObject = __webpack_require__(598); module.exports = function isExtendable(val) { return isPlainObject(val) || typeof val === 'function' || Array.isArray(val); @@ -80820,7 +80954,7 @@ module.exports = function isExtendable(val) { /***/ }), -/* 693 */ +/* 697 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81166,15 +81300,15 @@ module.exports = function(nanomatch, options) { /***/ }), -/* 694 */ +/* 698 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var regexNot = __webpack_require__(596); -var toRegex = __webpack_require__(579); -var isOdd = __webpack_require__(695); +var regexNot = __webpack_require__(600); +var toRegex = __webpack_require__(583); +var isOdd = __webpack_require__(699); /** * Characters to use in negation regex (we want to "not" match @@ -81560,7 +81694,7 @@ module.exports.not = NOT_REGEX; /***/ }), -/* 695 */ +/* 699 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81573,7 +81707,7 @@ module.exports.not = NOT_REGEX; -var isNumber = __webpack_require__(696); +var isNumber = __webpack_require__(700); module.exports = function isOdd(i) { if (!isNumber(i)) { @@ -81587,7 +81721,7 @@ module.exports = function isOdd(i) { /***/ }), -/* 696 */ +/* 700 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81615,14 +81749,14 @@ module.exports = function isNumber(num) { /***/ }), -/* 697 */ +/* 701 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = new (__webpack_require__(698))(); +module.exports = new (__webpack_require__(702))(); /***/ }), -/* 698 */ +/* 702 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81635,7 +81769,7 @@ module.exports = new (__webpack_require__(698))(); -var MapCache = __webpack_require__(685); +var MapCache = __webpack_require__(689); /** * Create a new `FragmentCache` with an optional object to use for `caches`. @@ -81757,7 +81891,7 @@ exports = module.exports = FragmentCache; /***/ }), -/* 699 */ +/* 703 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -81770,14 +81904,14 @@ var path = __webpack_require__(4); * Module dependencies */ -var isWindows = __webpack_require__(700)(); -var Snapdragon = __webpack_require__(621); -utils.define = __webpack_require__(701); -utils.diff = __webpack_require__(702); -utils.extend = __webpack_require__(691); -utils.pick = __webpack_require__(703); -utils.typeOf = __webpack_require__(589); -utils.unique = __webpack_require__(599); +var isWindows = __webpack_require__(704)(); +var Snapdragon = __webpack_require__(625); +utils.define = __webpack_require__(705); +utils.diff = __webpack_require__(706); +utils.extend = __webpack_require__(695); +utils.pick = __webpack_require__(707); +utils.typeOf = __webpack_require__(593); +utils.unique = __webpack_require__(603); /** * Returns true if the given value is effectively an empty string @@ -82143,7 +82277,7 @@ utils.unixify = function(options) { /***/ }), -/* 700 */ +/* 704 */ /***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! @@ -82171,7 +82305,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 701 */ +/* 705 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82184,8 +82318,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ -var isobject = __webpack_require__(587); -var isDescriptor = __webpack_require__(588); +var isobject = __webpack_require__(591); +var isDescriptor = __webpack_require__(592); var define = (typeof Reflect !== 'undefined' && Reflect.defineProperty) ? Reflect.defineProperty : Object.defineProperty; @@ -82216,7 +82350,7 @@ module.exports = function defineProperty(obj, key, val) { /***/ }), -/* 702 */ +/* 706 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82270,7 +82404,7 @@ function diffArray(one, two) { /***/ }), -/* 703 */ +/* 707 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82283,7 +82417,7 @@ function diffArray(one, two) { -var isObject = __webpack_require__(587); +var isObject = __webpack_require__(591); module.exports = function pick(obj, keys) { if (!isObject(obj) && typeof obj !== 'function') { @@ -82312,7 +82446,7 @@ module.exports = function pick(obj, keys) { /***/ }), -/* 704 */ +/* 708 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82322,18 +82456,18 @@ module.exports = function pick(obj, keys) { * Module dependencies */ -var extend = __webpack_require__(600); -var unique = __webpack_require__(599); -var toRegex = __webpack_require__(579); +var extend = __webpack_require__(604); +var unique = __webpack_require__(603); +var toRegex = __webpack_require__(583); /** * Local dependencies */ -var compilers = __webpack_require__(705); -var parsers = __webpack_require__(711); -var Extglob = __webpack_require__(714); -var utils = __webpack_require__(713); +var compilers = __webpack_require__(709); +var parsers = __webpack_require__(715); +var Extglob = __webpack_require__(718); +var utils = __webpack_require__(717); var MAX_LENGTH = 1024 * 64; /** @@ -82650,13 +82784,13 @@ module.exports = extglob; /***/ }), -/* 705 */ +/* 709 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var brackets = __webpack_require__(706); +var brackets = __webpack_require__(710); /** * Extglob compilers @@ -82826,7 +82960,7 @@ module.exports = function(extglob) { /***/ }), -/* 706 */ +/* 710 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -82836,17 +82970,17 @@ module.exports = function(extglob) { * Local dependencies */ -var compilers = __webpack_require__(707); -var parsers = __webpack_require__(709); +var compilers = __webpack_require__(711); +var parsers = __webpack_require__(713); /** * Module dependencies */ -var debug = __webpack_require__(540)('expand-brackets'); -var extend = __webpack_require__(600); -var Snapdragon = __webpack_require__(621); -var toRegex = __webpack_require__(579); +var debug = __webpack_require__(544)('expand-brackets'); +var extend = __webpack_require__(604); +var Snapdragon = __webpack_require__(625); +var toRegex = __webpack_require__(583); /** * Parses the given POSIX character class `pattern` and returns a @@ -83044,13 +83178,13 @@ module.exports = brackets; /***/ }), -/* 707 */ +/* 711 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var posix = __webpack_require__(708); +var posix = __webpack_require__(712); module.exports = function(brackets) { brackets.compiler @@ -83138,7 +83272,7 @@ module.exports = function(brackets) { /***/ }), -/* 708 */ +/* 712 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83167,14 +83301,14 @@ module.exports = { /***/ }), -/* 709 */ +/* 713 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var utils = __webpack_require__(710); -var define = __webpack_require__(650); +var utils = __webpack_require__(714); +var define = __webpack_require__(654); /** * Text regex @@ -83393,14 +83527,14 @@ module.exports.TEXT_REGEX = TEXT_REGEX; /***/ }), -/* 710 */ +/* 714 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var toRegex = __webpack_require__(579); -var regexNot = __webpack_require__(596); +var toRegex = __webpack_require__(583); +var regexNot = __webpack_require__(600); var cached; /** @@ -83434,15 +83568,15 @@ exports.createRegex = function(pattern, include) { /***/ }), -/* 711 */ +/* 715 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var brackets = __webpack_require__(706); -var define = __webpack_require__(712); -var utils = __webpack_require__(713); +var brackets = __webpack_require__(710); +var define = __webpack_require__(716); +var utils = __webpack_require__(717); /** * Characters to use in text regex (we want to "not" match @@ -83597,7 +83731,7 @@ module.exports = parsers; /***/ }), -/* 712 */ +/* 716 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83610,7 +83744,7 @@ module.exports = parsers; -var isDescriptor = __webpack_require__(588); +var isDescriptor = __webpack_require__(592); module.exports = function defineProperty(obj, prop, val) { if (typeof obj !== 'object' && typeof obj !== 'function') { @@ -83635,14 +83769,14 @@ module.exports = function defineProperty(obj, prop, val) { /***/ }), -/* 713 */ +/* 717 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var regex = __webpack_require__(596); -var Cache = __webpack_require__(698); +var regex = __webpack_require__(600); +var Cache = __webpack_require__(702); /** * Utils @@ -83711,7 +83845,7 @@ utils.createRegex = function(str) { /***/ }), -/* 714 */ +/* 718 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83721,16 +83855,16 @@ utils.createRegex = function(str) { * Module dependencies */ -var Snapdragon = __webpack_require__(621); -var define = __webpack_require__(712); -var extend = __webpack_require__(600); +var Snapdragon = __webpack_require__(625); +var define = __webpack_require__(716); +var extend = __webpack_require__(604); /** * Local dependencies */ -var compilers = __webpack_require__(705); -var parsers = __webpack_require__(711); +var compilers = __webpack_require__(709); +var parsers = __webpack_require__(715); /** * Customize Snapdragon parser and renderer @@ -83796,16 +83930,16 @@ module.exports = Extglob; /***/ }), -/* 715 */ +/* 719 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var extglob = __webpack_require__(704); -var nanomatch = __webpack_require__(690); -var regexNot = __webpack_require__(596); -var toRegex = __webpack_require__(579); +var extglob = __webpack_require__(708); +var nanomatch = __webpack_require__(694); +var regexNot = __webpack_require__(600); +var toRegex = __webpack_require__(583); var not; /** @@ -83886,14 +84020,14 @@ function textRegex(pattern) { /***/ }), -/* 716 */ +/* 720 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = new (__webpack_require__(698))(); +module.exports = new (__webpack_require__(702))(); /***/ }), -/* 717 */ +/* 721 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -83906,13 +84040,13 @@ var path = __webpack_require__(4); * Module dependencies */ -var Snapdragon = __webpack_require__(621); -utils.define = __webpack_require__(718); -utils.diff = __webpack_require__(702); -utils.extend = __webpack_require__(687); -utils.pick = __webpack_require__(703); -utils.typeOf = __webpack_require__(589); -utils.unique = __webpack_require__(599); +var Snapdragon = __webpack_require__(625); +utils.define = __webpack_require__(722); +utils.diff = __webpack_require__(706); +utils.extend = __webpack_require__(691); +utils.pick = __webpack_require__(707); +utils.typeOf = __webpack_require__(593); +utils.unique = __webpack_require__(603); /** * Returns true if the platform is windows, or `path.sep` is `\\`. @@ -84209,7 +84343,7 @@ utils.unixify = function(options) { /***/ }), -/* 718 */ +/* 722 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84222,8 +84356,8 @@ utils.unixify = function(options) { -var isobject = __webpack_require__(587); -var isDescriptor = __webpack_require__(588); +var isobject = __webpack_require__(591); +var isDescriptor = __webpack_require__(592); var define = (typeof Reflect !== 'undefined' && Reflect.defineProperty) ? Reflect.defineProperty : Object.defineProperty; @@ -84254,7 +84388,7 @@ module.exports = function defineProperty(obj, key, val) { /***/ }), -/* 719 */ +/* 723 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84273,9 +84407,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var readdir = __webpack_require__(720); -var reader_1 = __webpack_require__(733); -var fs_stream_1 = __webpack_require__(737); +var readdir = __webpack_require__(724); +var reader_1 = __webpack_require__(737); +var fs_stream_1 = __webpack_require__(741); var ReaderAsync = /** @class */ (function (_super) { __extends(ReaderAsync, _super); function ReaderAsync() { @@ -84336,15 +84470,15 @@ exports.default = ReaderAsync; /***/ }), -/* 720 */ +/* 724 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const readdirSync = __webpack_require__(721); -const readdirAsync = __webpack_require__(729); -const readdirStream = __webpack_require__(732); +const readdirSync = __webpack_require__(725); +const readdirAsync = __webpack_require__(733); +const readdirStream = __webpack_require__(736); module.exports = exports = readdirAsyncPath; exports.readdir = exports.readdirAsync = exports.async = readdirAsyncPath; @@ -84428,7 +84562,7 @@ function readdirStreamStat (dir, options) { /***/ }), -/* 721 */ +/* 725 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -84436,11 +84570,11 @@ function readdirStreamStat (dir, options) { module.exports = readdirSync; -const DirectoryReader = __webpack_require__(722); +const DirectoryReader = __webpack_require__(726); let syncFacade = { - fs: __webpack_require__(727), - forEach: __webpack_require__(728), + fs: __webpack_require__(731), + forEach: __webpack_require__(732), sync: true }; @@ -84469,18 +84603,18 @@ function readdirSync (dir, options, internalOptions) { /***/ }), -/* 722 */ +/* 726 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const Readable = __webpack_require__(130).Readable; -const EventEmitter = __webpack_require__(162).EventEmitter; +const Readable = __webpack_require__(134).Readable; +const EventEmitter = __webpack_require__(166).EventEmitter; const path = __webpack_require__(4); -const normalizeOptions = __webpack_require__(723); -const stat = __webpack_require__(725); -const call = __webpack_require__(726); +const normalizeOptions = __webpack_require__(727); +const stat = __webpack_require__(729); +const call = __webpack_require__(730); /** * Asynchronously reads the contents of a directory and streams the results @@ -84856,14 +84990,14 @@ module.exports = DirectoryReader; /***/ }), -/* 723 */ +/* 727 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const globToRegExp = __webpack_require__(724); +const globToRegExp = __webpack_require__(728); module.exports = normalizeOptions; @@ -85040,7 +85174,7 @@ function normalizeOptions (options, internalOptions) { /***/ }), -/* 724 */ +/* 728 */ /***/ (function(module, exports) { module.exports = function (glob, opts) { @@ -85177,13 +85311,13 @@ module.exports = function (glob, opts) { /***/ }), -/* 725 */ +/* 729 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const call = __webpack_require__(726); +const call = __webpack_require__(730); module.exports = stat; @@ -85258,7 +85392,7 @@ function symlinkStat (fs, path, lstats, callback) { /***/ }), -/* 726 */ +/* 730 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85319,14 +85453,14 @@ function callOnce (fn) { /***/ }), -/* 727 */ +/* 731 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fs = __webpack_require__(138); -const call = __webpack_require__(726); +const fs = __webpack_require__(142); +const call = __webpack_require__(730); /** * A facade around {@link fs.readdirSync} that allows it to be called @@ -85390,7 +85524,7 @@ exports.lstat = function (path, callback) { /***/ }), -/* 728 */ +/* 732 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85419,7 +85553,7 @@ function syncForEach (array, iterator, done) { /***/ }), -/* 729 */ +/* 733 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85427,12 +85561,12 @@ function syncForEach (array, iterator, done) { module.exports = readdirAsync; -const maybe = __webpack_require__(730); -const DirectoryReader = __webpack_require__(722); +const maybe = __webpack_require__(734); +const DirectoryReader = __webpack_require__(726); let asyncFacade = { - fs: __webpack_require__(138), - forEach: __webpack_require__(731), + fs: __webpack_require__(142), + forEach: __webpack_require__(735), async: true }; @@ -85474,7 +85608,7 @@ function readdirAsync (dir, options, callback, internalOptions) { /***/ }), -/* 730 */ +/* 734 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85501,7 +85635,7 @@ module.exports = function maybe (cb, promise) { /***/ }), -/* 731 */ +/* 735 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85537,7 +85671,7 @@ function asyncForEach (array, iterator, done) { /***/ }), -/* 732 */ +/* 736 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85545,11 +85679,11 @@ function asyncForEach (array, iterator, done) { module.exports = readdirStream; -const DirectoryReader = __webpack_require__(722); +const DirectoryReader = __webpack_require__(726); let streamFacade = { - fs: __webpack_require__(138), - forEach: __webpack_require__(731), + fs: __webpack_require__(142), + forEach: __webpack_require__(735), async: true }; @@ -85569,16 +85703,16 @@ function readdirStream (dir, options, internalOptions) { /***/ }), -/* 733 */ +/* 737 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = __webpack_require__(4); -var deep_1 = __webpack_require__(734); -var entry_1 = __webpack_require__(736); -var pathUtil = __webpack_require__(735); +var deep_1 = __webpack_require__(738); +var entry_1 = __webpack_require__(740); +var pathUtil = __webpack_require__(739); var Reader = /** @class */ (function () { function Reader(options) { this.options = options; @@ -85644,14 +85778,14 @@ exports.default = Reader; /***/ }), -/* 734 */ +/* 738 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var pathUtils = __webpack_require__(735); -var patternUtils = __webpack_require__(573); +var pathUtils = __webpack_require__(739); +var patternUtils = __webpack_require__(577); var DeepFilter = /** @class */ (function () { function DeepFilter(options, micromatchOptions) { this.options = options; @@ -85734,7 +85868,7 @@ exports.default = DeepFilter; /***/ }), -/* 735 */ +/* 739 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85765,14 +85899,14 @@ exports.makeAbsolute = makeAbsolute; /***/ }), -/* 736 */ +/* 740 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var pathUtils = __webpack_require__(735); -var patternUtils = __webpack_require__(573); +var pathUtils = __webpack_require__(739); +var patternUtils = __webpack_require__(577); var EntryFilter = /** @class */ (function () { function EntryFilter(options, micromatchOptions) { this.options = options; @@ -85857,7 +85991,7 @@ exports.default = EntryFilter; /***/ }), -/* 737 */ +/* 741 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -85876,9 +86010,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var stream = __webpack_require__(130); -var fsStat = __webpack_require__(738); -var fs_1 = __webpack_require__(742); +var stream = __webpack_require__(134); +var fsStat = __webpack_require__(742); +var fs_1 = __webpack_require__(746); var FileSystemStream = /** @class */ (function (_super) { __extends(FileSystemStream, _super); function FileSystemStream() { @@ -85928,14 +86062,14 @@ exports.default = FileSystemStream; /***/ }), -/* 738 */ +/* 742 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const optionsManager = __webpack_require__(739); -const statProvider = __webpack_require__(741); +const optionsManager = __webpack_require__(743); +const statProvider = __webpack_require__(745); /** * Asynchronous API. */ @@ -85966,13 +86100,13 @@ exports.statSync = statSync; /***/ }), -/* 739 */ +/* 743 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fsAdapter = __webpack_require__(740); +const fsAdapter = __webpack_require__(744); function prepare(opts) { const options = Object.assign({ fs: fsAdapter.getFileSystemAdapter(opts ? opts.fs : undefined), @@ -85985,13 +86119,13 @@ exports.prepare = prepare; /***/ }), -/* 740 */ +/* 744 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fs = __webpack_require__(138); +const fs = __webpack_require__(142); exports.FILE_SYSTEM_ADAPTER = { lstat: fs.lstat, stat: fs.stat, @@ -86008,7 +86142,7 @@ exports.getFileSystemAdapter = getFileSystemAdapter; /***/ }), -/* 741 */ +/* 745 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -86060,7 +86194,7 @@ exports.isFollowedSymlink = isFollowedSymlink; /***/ }), -/* 742 */ +/* 746 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -86091,7 +86225,7 @@ exports.default = FileSystem; /***/ }), -/* 743 */ +/* 747 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -86110,10 +86244,10 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var stream = __webpack_require__(130); -var readdir = __webpack_require__(720); -var reader_1 = __webpack_require__(733); -var fs_stream_1 = __webpack_require__(737); +var stream = __webpack_require__(134); +var readdir = __webpack_require__(724); +var reader_1 = __webpack_require__(737); +var fs_stream_1 = __webpack_require__(741); var TransformStream = /** @class */ (function (_super) { __extends(TransformStream, _super); function TransformStream(reader) { @@ -86181,7 +86315,7 @@ exports.default = ReaderStream; /***/ }), -/* 744 */ +/* 748 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -86200,9 +86334,9 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var readdir = __webpack_require__(720); -var reader_1 = __webpack_require__(733); -var fs_sync_1 = __webpack_require__(745); +var readdir = __webpack_require__(724); +var reader_1 = __webpack_require__(737); +var fs_sync_1 = __webpack_require__(749); var ReaderSync = /** @class */ (function (_super) { __extends(ReaderSync, _super); function ReaderSync() { @@ -86262,7 +86396,7 @@ exports.default = ReaderSync; /***/ }), -/* 745 */ +/* 749 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -86281,8 +86415,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var fsStat = __webpack_require__(738); -var fs_1 = __webpack_require__(742); +var fsStat = __webpack_require__(742); +var fs_1 = __webpack_require__(746); var FileSystemSync = /** @class */ (function (_super) { __extends(FileSystemSync, _super); function FileSystemSync() { @@ -86328,7 +86462,7 @@ exports.default = FileSystemSync; /***/ }), -/* 746 */ +/* 750 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -86344,13 +86478,13 @@ exports.flatten = flatten; /***/ }), -/* 747 */ +/* 751 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var merge2 = __webpack_require__(196); +var merge2 = __webpack_require__(200); /** * Merge multiple streams and propagate their errors into one stream in parallel. */ @@ -86365,13 +86499,13 @@ exports.merge = merge; /***/ }), -/* 748 */ +/* 752 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const pathType = __webpack_require__(749); +const pathType = __webpack_require__(753); const getExtensions = extensions => extensions.length > 1 ? `{${extensions.join(',')}}` : extensions[0]; @@ -86437,13 +86571,13 @@ module.exports.sync = (input, opts) => { /***/ }), -/* 749 */ +/* 753 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fs = __webpack_require__(138); -const pify = __webpack_require__(750); +const fs = __webpack_require__(142); +const pify = __webpack_require__(754); function type(fn, fn2, fp) { if (typeof fp !== 'string') { @@ -86486,7 +86620,7 @@ exports.symlinkSync = typeSync.bind(null, 'lstatSync', 'isSymbolicLink'); /***/ }), -/* 750 */ +/* 754 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -86577,17 +86711,17 @@ module.exports = (obj, opts) => { /***/ }), -/* 751 */ +/* 755 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fs = __webpack_require__(138); +const fs = __webpack_require__(142); const path = __webpack_require__(4); -const fastGlob = __webpack_require__(569); -const gitIgnore = __webpack_require__(752); -const pify = __webpack_require__(753); -const slash = __webpack_require__(754); +const fastGlob = __webpack_require__(573); +const gitIgnore = __webpack_require__(756); +const pify = __webpack_require__(757); +const slash = __webpack_require__(758); const DEFAULT_IGNORE = [ '**/node_modules/**', @@ -86685,7 +86819,7 @@ module.exports.sync = options => { /***/ }), -/* 752 */ +/* 756 */ /***/ (function(module, exports) { // A simple implementation of make-array @@ -87154,7 +87288,7 @@ module.exports = options => new IgnoreBase(options) /***/ }), -/* 753 */ +/* 757 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -87229,7 +87363,7 @@ module.exports = (input, options) => { /***/ }), -/* 754 */ +/* 758 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -87247,7 +87381,7 @@ module.exports = input => { /***/ }), -/* 755 */ +/* 759 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -87260,7 +87394,7 @@ module.exports = input => { -var isGlob = __webpack_require__(756); +var isGlob = __webpack_require__(760); module.exports = function hasGlob(val) { if (val == null) return false; @@ -87280,7 +87414,7 @@ module.exports = function hasGlob(val) { /***/ }), -/* 756 */ +/* 760 */ /***/ (function(module, exports, __webpack_require__) { /*! @@ -87290,7 +87424,7 @@ module.exports = function hasGlob(val) { * Licensed under the MIT License. */ -var isExtglob = __webpack_require__(220); +var isExtglob = __webpack_require__(224); module.exports = function isGlob(str) { if (typeof str !== 'string' || str === '') { @@ -87311,17 +87445,17 @@ module.exports = function isGlob(str) { /***/ }), -/* 757 */ +/* 761 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; const path = __webpack_require__(4); -const {constants: fsConstants} = __webpack_require__(138); -const pEvent = __webpack_require__(758); -const CpFileError = __webpack_require__(761); -const fs = __webpack_require__(763); -const ProgressEmitter = __webpack_require__(766); +const {constants: fsConstants} = __webpack_require__(142); +const pEvent = __webpack_require__(762); +const CpFileError = __webpack_require__(765); +const fs = __webpack_require__(767); +const ProgressEmitter = __webpack_require__(770); const cpFileAsync = async (source, destination, options, progressEmitter) => { let readError; @@ -87435,12 +87569,12 @@ module.exports.sync = (source, destination, options) => { /***/ }), -/* 758 */ +/* 762 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pTimeout = __webpack_require__(759); +const pTimeout = __webpack_require__(763); const symbolAsyncIterator = Symbol.asyncIterator || '@@asyncIterator'; @@ -87731,12 +87865,12 @@ module.exports.iterator = (emitter, event, options) => { /***/ }), -/* 759 */ +/* 763 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pFinally = __webpack_require__(760); +const pFinally = __webpack_require__(764); class TimeoutError extends Error { constructor(message) { @@ -87782,7 +87916,7 @@ module.exports.TimeoutError = TimeoutError; /***/ }), -/* 760 */ +/* 764 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -87804,12 +87938,12 @@ module.exports = (promise, onFinally) => { /***/ }), -/* 761 */ +/* 765 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const NestedError = __webpack_require__(762); +const NestedError = __webpack_require__(766); class CpFileError extends NestedError { constructor(message, nested) { @@ -87823,10 +87957,10 @@ module.exports = CpFileError; /***/ }), -/* 762 */ +/* 766 */ /***/ (function(module, exports, __webpack_require__) { -var inherits = __webpack_require__(111).inherits; +var inherits = __webpack_require__(115).inherits; var NestedError = function (message, nested) { this.nested = nested; @@ -87879,16 +88013,16 @@ module.exports = NestedError; /***/ }), -/* 763 */ +/* 767 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const {promisify} = __webpack_require__(111); -const fs = __webpack_require__(186); -const makeDir = __webpack_require__(764); -const pEvent = __webpack_require__(758); -const CpFileError = __webpack_require__(761); +const {promisify} = __webpack_require__(115); +const fs = __webpack_require__(190); +const makeDir = __webpack_require__(768); +const pEvent = __webpack_require__(762); +const CpFileError = __webpack_require__(765); const stat = promisify(fs.stat); const lstat = promisify(fs.lstat); @@ -87985,15 +88119,15 @@ exports.copyFileSync = (source, destination, flags) => { /***/ }), -/* 764 */ +/* 768 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fs = __webpack_require__(138); +const fs = __webpack_require__(142); const path = __webpack_require__(4); -const {promisify} = __webpack_require__(111); -const semver = __webpack_require__(765); +const {promisify} = __webpack_require__(115); +const semver = __webpack_require__(769); const useNativeRecursiveOption = semver.satisfies(process.version, '>=10.12.0'); @@ -88148,7 +88282,7 @@ module.exports.sync = (input, options) => { /***/ }), -/* 765 */ +/* 769 */ /***/ (function(module, exports) { exports = module.exports = SemVer @@ -89750,12 +89884,12 @@ function coerce (version, options) { /***/ }), -/* 766 */ +/* 770 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const EventEmitter = __webpack_require__(162); +const EventEmitter = __webpack_require__(166); const written = new WeakMap(); @@ -89791,7 +89925,7 @@ module.exports = ProgressEmitter; /***/ }), -/* 767 */ +/* 771 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -89837,12 +89971,12 @@ exports.default = module.exports; /***/ }), -/* 768 */ +/* 772 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const pMap = __webpack_require__(769); +const pMap = __webpack_require__(773); const pFilter = async (iterable, filterer, options) => { const values = await pMap( @@ -89859,7 +89993,7 @@ module.exports.default = pFilter; /***/ }), -/* 769 */ +/* 773 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -89938,12 +90072,12 @@ module.exports.default = pMap; /***/ }), -/* 770 */ +/* 774 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const NestedError = __webpack_require__(762); +const NestedError = __webpack_require__(766); class CpyError extends NestedError { constructor(message, nested) { @@ -89957,18 +90091,18 @@ module.exports = CpyError; /***/ }), -/* 771 */ +/* 775 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fs = __webpack_require__(138); -const arrayUnion = __webpack_require__(195); -const merge2 = __webpack_require__(196); -const fastGlob = __webpack_require__(772); -const dirGlob = __webpack_require__(279); -const gitignore = __webpack_require__(807); -const {FilterStream, UniqueStream} = __webpack_require__(808); +const fs = __webpack_require__(142); +const arrayUnion = __webpack_require__(199); +const merge2 = __webpack_require__(200); +const fastGlob = __webpack_require__(776); +const dirGlob = __webpack_require__(283); +const gitignore = __webpack_require__(811); +const {FilterStream, UniqueStream} = __webpack_require__(812); const DEFAULT_FILTER = () => false; @@ -90145,17 +90279,17 @@ module.exports.gitignore = gitignore; /***/ }), -/* 772 */ +/* 776 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const taskManager = __webpack_require__(773); -const async_1 = __webpack_require__(793); -const stream_1 = __webpack_require__(803); -const sync_1 = __webpack_require__(804); -const settings_1 = __webpack_require__(806); -const utils = __webpack_require__(774); +const taskManager = __webpack_require__(777); +const async_1 = __webpack_require__(797); +const stream_1 = __webpack_require__(807); +const sync_1 = __webpack_require__(808); +const settings_1 = __webpack_require__(810); +const utils = __webpack_require__(778); async function FastGlob(source, options) { assertPatternsInput(source); const works = getWorks(source, async_1.default, options); @@ -90219,14 +90353,14 @@ module.exports = FastGlob; /***/ }), -/* 773 */ +/* 777 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertPatternGroupToTask = exports.convertPatternGroupsToTasks = exports.groupPatternsByBaseDirectory = exports.getNegativePatternsAsPositive = exports.getPositivePatterns = exports.convertPatternsToTasks = exports.generate = void 0; -const utils = __webpack_require__(774); +const utils = __webpack_require__(778); function generate(patterns, settings) { const positivePatterns = getPositivePatterns(patterns); const negativePatterns = getNegativePatternsAsPositive(patterns, settings.ignore); @@ -90291,31 +90425,31 @@ exports.convertPatternGroupToTask = convertPatternGroupToTask; /***/ }), -/* 774 */ +/* 778 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0; -const array = __webpack_require__(775); +const array = __webpack_require__(779); exports.array = array; -const errno = __webpack_require__(776); +const errno = __webpack_require__(780); exports.errno = errno; -const fs = __webpack_require__(777); +const fs = __webpack_require__(781); exports.fs = fs; -const path = __webpack_require__(778); +const path = __webpack_require__(782); exports.path = path; -const pattern = __webpack_require__(779); +const pattern = __webpack_require__(783); exports.pattern = pattern; -const stream = __webpack_require__(791); +const stream = __webpack_require__(795); exports.stream = stream; -const string = __webpack_require__(792); +const string = __webpack_require__(796); exports.string = string; /***/ }), -/* 775 */ +/* 779 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -90344,7 +90478,7 @@ exports.splitWhen = splitWhen; /***/ }), -/* 776 */ +/* 780 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -90358,7 +90492,7 @@ exports.isEnoentCodeError = isEnoentCodeError; /***/ }), -/* 777 */ +/* 781 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -90384,7 +90518,7 @@ exports.createDirentFromStats = createDirentFromStats; /***/ }), -/* 778 */ +/* 782 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -90424,7 +90558,7 @@ exports.removeLeadingDotSegment = removeLeadingDotSegment; /***/ }), -/* 779 */ +/* 783 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -90432,9 +90566,9 @@ exports.removeLeadingDotSegment = removeLeadingDotSegment; Object.defineProperty(exports, "__esModule", { value: true }); exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0; const path = __webpack_require__(4); -const globParent = __webpack_require__(218); -const micromatch = __webpack_require__(780); -const picomatch = __webpack_require__(232); +const globParent = __webpack_require__(222); +const micromatch = __webpack_require__(784); +const picomatch = __webpack_require__(236); const GLOBSTAR = '**'; const ESCAPE_SYMBOL = '\\'; const COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; @@ -90563,16 +90697,16 @@ exports.matchAny = matchAny; /***/ }), -/* 780 */ +/* 784 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const util = __webpack_require__(111); -const braces = __webpack_require__(781); -const picomatch = __webpack_require__(232); -const utils = __webpack_require__(235); +const util = __webpack_require__(115); +const braces = __webpack_require__(785); +const picomatch = __webpack_require__(236); +const utils = __webpack_require__(239); const isEmptyString = val => typeof val === 'string' && (val === '' || val === './'); /** @@ -91037,16 +91171,16 @@ module.exports = micromatch; /***/ }), -/* 781 */ +/* 785 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const stringify = __webpack_require__(782); -const compile = __webpack_require__(784); -const expand = __webpack_require__(788); -const parse = __webpack_require__(789); +const stringify = __webpack_require__(786); +const compile = __webpack_require__(788); +const expand = __webpack_require__(792); +const parse = __webpack_require__(793); /** * Expand the given pattern or create a regex-compatible string. @@ -91214,13 +91348,13 @@ module.exports = braces; /***/ }), -/* 782 */ +/* 786 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const utils = __webpack_require__(783); +const utils = __webpack_require__(787); module.exports = (ast, options = {}) => { let stringify = (node, parent = {}) => { @@ -91253,7 +91387,7 @@ module.exports = (ast, options = {}) => { /***/ }), -/* 783 */ +/* 787 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -91372,14 +91506,14 @@ exports.flatten = (...args) => { /***/ }), -/* 784 */ +/* 788 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fill = __webpack_require__(785); -const utils = __webpack_require__(783); +const fill = __webpack_require__(789); +const utils = __webpack_require__(787); const compile = (ast, options = {}) => { let walk = (node, parent = {}) => { @@ -91436,7 +91570,7 @@ module.exports = compile; /***/ }), -/* 785 */ +/* 789 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -91449,8 +91583,8 @@ module.exports = compile; -const util = __webpack_require__(111); -const toRegexRange = __webpack_require__(786); +const util = __webpack_require__(115); +const toRegexRange = __webpack_require__(790); const isObject = val => val !== null && typeof val === 'object' && !Array.isArray(val); @@ -91692,7 +91826,7 @@ module.exports = fill; /***/ }), -/* 786 */ +/* 790 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -91705,7 +91839,7 @@ module.exports = fill; -const isNumber = __webpack_require__(787); +const isNumber = __webpack_require__(791); const toRegexRange = (min, max, options) => { if (isNumber(min) === false) { @@ -91987,7 +92121,7 @@ module.exports = toRegexRange; /***/ }), -/* 787 */ +/* 791 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -92012,15 +92146,15 @@ module.exports = function(num) { /***/ }), -/* 788 */ +/* 792 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const fill = __webpack_require__(785); -const stringify = __webpack_require__(782); -const utils = __webpack_require__(783); +const fill = __webpack_require__(789); +const stringify = __webpack_require__(786); +const utils = __webpack_require__(787); const append = (queue = '', stash = '', enclose = false) => { let result = []; @@ -92132,13 +92266,13 @@ module.exports = expand; /***/ }), -/* 789 */ +/* 793 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const stringify = __webpack_require__(782); +const stringify = __webpack_require__(786); /** * Constants @@ -92160,7 +92294,7 @@ const { CHAR_SINGLE_QUOTE, /* ' */ CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_NOBREAK_SPACE -} = __webpack_require__(790); +} = __webpack_require__(794); /** * parse @@ -92472,7 +92606,7 @@ module.exports = parse; /***/ }), -/* 790 */ +/* 794 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -92536,14 +92670,14 @@ module.exports = { /***/ }), -/* 791 */ +/* 795 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.merge = void 0; -const merge2 = __webpack_require__(196); +const merge2 = __webpack_require__(200); function merge(streams) { const mergedStream = merge2(streams); streams.forEach((stream) => { @@ -92560,7 +92694,7 @@ function propagateCloseEventToSources(streams) { /***/ }), -/* 792 */ +/* 796 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -92578,14 +92712,14 @@ exports.isEmpty = isEmpty; /***/ }), -/* 793 */ +/* 797 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(794); -const provider_1 = __webpack_require__(796); +const stream_1 = __webpack_require__(798); +const provider_1 = __webpack_require__(800); class ProviderAsync extends provider_1.default { constructor() { super(...arguments); @@ -92613,16 +92747,16 @@ exports.default = ProviderAsync; /***/ }), -/* 794 */ +/* 798 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(130); -const fsStat = __webpack_require__(242); -const fsWalk = __webpack_require__(247); -const reader_1 = __webpack_require__(795); +const stream_1 = __webpack_require__(134); +const fsStat = __webpack_require__(246); +const fsWalk = __webpack_require__(251); +const reader_1 = __webpack_require__(799); class ReaderStream extends reader_1.default { constructor() { super(...arguments); @@ -92675,15 +92809,15 @@ exports.default = ReaderStream; /***/ }), -/* 795 */ +/* 799 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path = __webpack_require__(4); -const fsStat = __webpack_require__(242); -const utils = __webpack_require__(774); +const fsStat = __webpack_require__(246); +const utils = __webpack_require__(778); class Reader { constructor(_settings) { this._settings = _settings; @@ -92715,17 +92849,17 @@ exports.default = Reader; /***/ }), -/* 796 */ +/* 800 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const path = __webpack_require__(4); -const deep_1 = __webpack_require__(797); -const entry_1 = __webpack_require__(800); -const error_1 = __webpack_require__(801); -const entry_2 = __webpack_require__(802); +const deep_1 = __webpack_require__(801); +const entry_1 = __webpack_require__(804); +const error_1 = __webpack_require__(805); +const entry_2 = __webpack_require__(806); class Provider { constructor(_settings) { this._settings = _settings; @@ -92770,14 +92904,14 @@ exports.default = Provider; /***/ }), -/* 797 */ +/* 801 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(774); -const partial_1 = __webpack_require__(798); +const utils = __webpack_require__(778); +const partial_1 = __webpack_require__(802); class DeepFilter { constructor(_settings, _micromatchOptions) { this._settings = _settings; @@ -92839,13 +92973,13 @@ exports.default = DeepFilter; /***/ }), -/* 798 */ +/* 802 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const matcher_1 = __webpack_require__(799); +const matcher_1 = __webpack_require__(803); class PartialMatcher extends matcher_1.default { match(filepath) { const parts = filepath.split('/'); @@ -92884,13 +93018,13 @@ exports.default = PartialMatcher; /***/ }), -/* 799 */ +/* 803 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(774); +const utils = __webpack_require__(778); class Matcher { constructor(_patterns, _settings, _micromatchOptions) { this._patterns = _patterns; @@ -92941,13 +93075,13 @@ exports.default = Matcher; /***/ }), -/* 800 */ +/* 804 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(774); +const utils = __webpack_require__(778); class EntryFilter { constructor(_settings, _micromatchOptions) { this._settings = _settings; @@ -93004,13 +93138,13 @@ exports.default = EntryFilter; /***/ }), -/* 801 */ +/* 805 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(774); +const utils = __webpack_require__(778); class ErrorFilter { constructor(_settings) { this._settings = _settings; @@ -93026,13 +93160,13 @@ exports.default = ErrorFilter; /***/ }), -/* 802 */ +/* 806 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const utils = __webpack_require__(774); +const utils = __webpack_require__(778); class EntryTransformer { constructor(_settings) { this._settings = _settings; @@ -93059,15 +93193,15 @@ exports.default = EntryTransformer; /***/ }), -/* 803 */ +/* 807 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const stream_1 = __webpack_require__(130); -const stream_2 = __webpack_require__(794); -const provider_1 = __webpack_require__(796); +const stream_1 = __webpack_require__(134); +const stream_2 = __webpack_require__(798); +const provider_1 = __webpack_require__(800); class ProviderStream extends provider_1.default { constructor() { super(...arguments); @@ -93097,14 +93231,14 @@ exports.default = ProviderStream; /***/ }), -/* 804 */ +/* 808 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const sync_1 = __webpack_require__(805); -const provider_1 = __webpack_require__(796); +const sync_1 = __webpack_require__(809); +const provider_1 = __webpack_require__(800); class ProviderSync extends provider_1.default { constructor() { super(...arguments); @@ -93127,15 +93261,15 @@ exports.default = ProviderSync; /***/ }), -/* 805 */ +/* 809 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const fsStat = __webpack_require__(242); -const fsWalk = __webpack_require__(247); -const reader_1 = __webpack_require__(795); +const fsStat = __webpack_require__(246); +const fsWalk = __webpack_require__(251); +const reader_1 = __webpack_require__(799); class ReaderSync extends reader_1.default { constructor() { super(...arguments); @@ -93177,15 +93311,15 @@ exports.default = ReaderSync; /***/ }), -/* 806 */ +/* 810 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; -const fs = __webpack_require__(138); -const os = __webpack_require__(120); +const fs = __webpack_require__(142); +const os = __webpack_require__(124); /** * The `os.cpus` method can return zero. We expect the number of cores to be greater than zero. * https://github.com/nodejs/node/blob/7faeddf23a98c53896f8b574a6e66589e8fb1eb8/lib/os.js#L106-L107 @@ -93241,17 +93375,17 @@ exports.default = Settings; /***/ }), -/* 807 */ +/* 811 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const {promisify} = __webpack_require__(111); -const fs = __webpack_require__(138); +const {promisify} = __webpack_require__(115); +const fs = __webpack_require__(142); const path = __webpack_require__(4); -const fastGlob = __webpack_require__(772); -const gitIgnore = __webpack_require__(282); -const slash = __webpack_require__(283); +const fastGlob = __webpack_require__(776); +const gitIgnore = __webpack_require__(286); +const slash = __webpack_require__(287); const DEFAULT_IGNORE = [ '**/node_modules/**', @@ -93368,12 +93502,12 @@ module.exports.sync = options => { /***/ }), -/* 808 */ +/* 812 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -const {Transform} = __webpack_require__(130); +const {Transform} = __webpack_require__(134); class ObjectTransform extends Transform { constructor() { @@ -93421,7 +93555,7 @@ module.exports = { /***/ }), -/* 809 */ +/* 813 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -93429,17 +93563,17 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildNonBazelProductionProjects", function() { return buildNonBazelProductionProjects; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getProductionProjects", function() { return getProductionProjects; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildProject", function() { return buildProject; }); -/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(562); +/* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(566); /* harmony import */ var cpy__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(cpy__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(193); +/* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(197); /* harmony import */ var del__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(del__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); /* harmony import */ var path__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(559); -/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(184); -/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(182); -/* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(296); -/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(293); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(563); +/* harmony import */ var _utils_fs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(188); +/* harmony import */ var _utils_log__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(186); +/* harmony import */ var _utils_package_json__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(300); +/* harmony import */ var _utils_projects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(297); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/credential_item/credential_item.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/credential_item/credential_item.test.tsx index 13e2a229b3a76..26bbbc4bed9e8 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/credential_item/credential_item.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/credential_item/credential_item.test.tsx @@ -52,7 +52,7 @@ describe('CredentialItem', () => { expect(wrapper.find(EuiCopy)).toHaveLength(0); }); - it('handles credential visible toggle click', () => { + it.skip('handles credential visible toggle click', () => { const wrapper = shallow(); const button = wrapper.find(EuiButtonIcon).dive().find('button'); button.simulate('click'); @@ -61,7 +61,7 @@ describe('CredentialItem', () => { expect(wrapper.find(EuiFieldText)).toHaveLength(1); }); - it('handles select all button click', () => { + it.skip('handles select all button click', () => { const wrapper = shallow(); // Toggle isVisible before EuiFieldText is visible const button = wrapper.find(EuiButtonIcon).dive().find('button'); From 06c6168d3479f93f9fd3ce71f1e905ef66ef0439 Mon Sep 17 00:00:00 2001 From: Tim Sullivan Date: Wed, 25 Aug 2021 14:42:39 -0700 Subject: [PATCH 053/139] [Reporting] Fix ability to export CSV on searched data with frozen indices (#109976) * use include frozen setting in csv export * add api integration test * add fixes * Update x-pack/test/reporting_api_integration/reporting_and_security/search_frozen_indices.ts * test polish * update per feedback --- x-pack/plugins/reporting/common/constants.ts | 1 + .../generate_csv/generate_csv.test.ts | 10 +- .../generate_csv/generate_csv.ts | 7 +- .../generate_csv/get_export_settings.test.ts | 4 + .../generate_csv/get_export_settings.ts | 12 +- .../reporting_and_security/index.ts | 1 + .../search_frozen_indices.ts | 127 ++++++++++++++++++ 7 files changed, 150 insertions(+), 12 deletions(-) create mode 100644 x-pack/test/reporting_api_integration/reporting_and_security/search_frozen_indices.ts diff --git a/x-pack/plugins/reporting/common/constants.ts b/x-pack/plugins/reporting/common/constants.ts index 842d7d1eb4b8d..0e7d8f1ffe9ca 100644 --- a/x-pack/plugins/reporting/common/constants.ts +++ b/x-pack/plugins/reporting/common/constants.ts @@ -45,6 +45,7 @@ export const KBN_SCREENSHOT_HEADER_BLOCK_LIST = [ export const KBN_SCREENSHOT_HEADER_BLOCK_LIST_STARTS_WITH_PATTERN = ['proxy-']; +export const UI_SETTINGS_SEARCH_INCLUDE_FROZEN = 'search:includeFrozen'; export const UI_SETTINGS_CUSTOM_PDF_LOGO = 'xpackReporting:customPdfLogo'; export const UI_SETTINGS_CSV_SEPARATOR = 'csv:separator'; export const UI_SETTINGS_CSV_QUOTE_VALUES = 'csv:quoteValues'; diff --git a/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.test.ts b/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.test.ts index 3e4e663733e2c..cb5670f6eafd9 100644 --- a/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.test.ts +++ b/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.test.ts @@ -198,7 +198,7 @@ it('calculates the bytes of the content', async () => { Rx.of({ rawResponse: { hits: { - hits: range(0, HITS_TOTAL).map((hit, i) => ({ + hits: range(0, HITS_TOTAL).map(() => ({ fields: { message: ['this is a great message'], }, @@ -248,7 +248,7 @@ it('warns if max size was reached', async () => { Rx.of({ rawResponse: { hits: { - hits: range(0, HITS_TOTAL).map((hit, i) => ({ + hits: range(0, HITS_TOTAL).map(() => ({ fields: { date: ['2020-12-31T00:14:28.000Z'], ip: ['110.135.176.89'], @@ -289,7 +289,7 @@ it('uses the scrollId to page all the data', async () => { rawResponse: { _scroll_id: 'awesome-scroll-hero', hits: { - hits: range(0, HITS_TOTAL / 10).map((hit, i) => ({ + hits: range(0, HITS_TOTAL / 10).map(() => ({ fields: { date: ['2020-12-31T00:14:28.000Z'], ip: ['110.135.176.89'], @@ -304,7 +304,7 @@ it('uses the scrollId to page all the data', async () => { mockEsClient.asCurrentUser.scroll = jest.fn().mockResolvedValue({ body: { hits: { - hits: range(0, HITS_TOTAL / 10).map((hit, i) => ({ + hits: range(0, HITS_TOTAL / 10).map(() => ({ fields: { date: ['2020-12-31T00:14:28.000Z'], ip: ['110.135.176.89'], @@ -337,7 +337,7 @@ it('uses the scrollId to page all the data', async () => { expect(mockDataClient.search).toHaveBeenCalledTimes(1); expect(mockDataClient.search).toBeCalledWith( - { params: { scroll: '30s', size: 500 } }, + { params: { ignore_throttled: true, scroll: '30s', size: 500 } }, { strategy: 'es' } ); diff --git a/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.ts b/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.ts index b49dbc1043135..7f01f9fcb297c 100644 --- a/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.ts +++ b/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/generate_csv.ts @@ -83,8 +83,9 @@ export class CsvGenerator { private async scan( index: IndexPattern, searchSource: ISearchSource, - scrollSettings: CsvExportSettings['scroll'] + settings: CsvExportSettings ) { + const { scroll: scrollSettings, includeFrozen } = settings; const searchBody = searchSource.getSearchRequestBody(); this.logger.debug(`executing search request`); const searchParams = { @@ -93,8 +94,10 @@ export class CsvGenerator { index: index.title, scroll: scrollSettings.duration, size: scrollSettings.size, + ignore_throttled: !includeFrozen, }, }; + const results = ( await this.clients.data.search(searchParams, { strategy: ES_SEARCH_STRATEGY }).toPromise() ).rawResponse as estypes.SearchResponse; @@ -326,7 +329,7 @@ export class CsvGenerator { let results: estypes.SearchResponse | undefined; if (scrollId == null) { // open a scroll cursor in Elasticsearch - results = await this.scan(index, searchSource, scrollSettings); + results = await this.scan(index, searchSource, settings); scrollId = results?._scroll_id; if (results.hits?.total != null) { totalRecords = results.hits.total as number; diff --git a/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/get_export_settings.test.ts b/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/get_export_settings.test.ts index efdb583a89dc8..2ae3e5e712d31 100644 --- a/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/get_export_settings.test.ts +++ b/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/get_export_settings.test.ts @@ -9,6 +9,7 @@ import { UI_SETTINGS_DATEFORMAT_TZ, UI_SETTINGS_CSV_QUOTE_VALUES, UI_SETTINGS_CSV_SEPARATOR, + UI_SETTINGS_SEARCH_INCLUDE_FROZEN, } from '../../../../common/constants'; import { IUiSettingsClient } from 'kibana/server'; import { savedObjectsClientMock, uiSettingsServiceMock } from 'src/core/server/mocks'; @@ -36,6 +37,8 @@ describe('getExportSettings', () => { return ','; case UI_SETTINGS_DATEFORMAT_TZ: return 'Browser'; + case UI_SETTINGS_SEARCH_INCLUDE_FROZEN: + return false; } return 'helo world'; @@ -49,6 +52,7 @@ describe('getExportSettings', () => { "checkForFormulas": undefined, "escapeFormulaValues": undefined, "escapeValue": [Function], + "includeFrozen": false, "maxSizeBytes": undefined, "scroll": Object { "duration": undefined, diff --git a/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/get_export_settings.ts b/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/get_export_settings.ts index 0b8815836367f..7d4db38ef4aae 100644 --- a/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/get_export_settings.ts +++ b/x-pack/plugins/reporting/server/export_types/csv_searchsource/generate_csv/get_export_settings.ts @@ -12,9 +12,10 @@ import { createEscapeValue } from '../../../../../../../src/plugins/data/common' import { ReportingConfig } from '../../../'; import { CSV_BOM_CHARS, - UI_SETTINGS_DATEFORMAT_TZ, UI_SETTINGS_CSV_QUOTE_VALUES, UI_SETTINGS_CSV_SEPARATOR, + UI_SETTINGS_DATEFORMAT_TZ, + UI_SETTINGS_SEARCH_INCLUDE_FROZEN, } from '../../../../common/constants'; import { LevelLogger } from '../../../lib'; @@ -30,6 +31,7 @@ export interface CsvExportSettings { checkForFormulas: boolean; escapeFormulaValues: boolean; escapeValue: (value: string) => string; + includeFrozen: boolean; } export const getExportSettings = async ( @@ -38,9 +40,7 @@ export const getExportSettings = async ( timezone: string | undefined, logger: LevelLogger ): Promise => { - // Timezone let setTimezone: string; - // timezone in job params? if (timezone) { setTimezone = timezone; } else { @@ -59,8 +59,9 @@ export const getExportSettings = async ( } } - // Separator, QuoteValues - const [separator, quoteValues] = await Promise.all([ + // Advanced Settings that affect search export + CSV + const [includeFrozen, separator, quoteValues] = await Promise.all([ + client.get(UI_SETTINGS_SEARCH_INCLUDE_FROZEN), client.get(UI_SETTINGS_CSV_SEPARATOR), client.get(UI_SETTINGS_CSV_QUOTE_VALUES), ]); @@ -76,6 +77,7 @@ export const getExportSettings = async ( duration: config.get('csv', 'scroll', 'duration'), }, bom, + includeFrozen, separator, maxSizeBytes: config.get('csv', 'maxSizeBytes'), checkForFormulas: config.get('csv', 'checkForFormulas'), diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/index.ts b/x-pack/test/reporting_api_integration/reporting_and_security/index.ts index e6fd534274df4..266fee37b288d 100644 --- a/x-pack/test/reporting_api_integration/reporting_and_security/index.ts +++ b/x-pack/test/reporting_api_integration/reporting_and_security/index.ts @@ -29,5 +29,6 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./spaces')); loadTestFile(require.resolve('./usage')); loadTestFile(require.resolve('./ilm_migration_apis')); + loadTestFile(require.resolve('./search_frozen_indices')); }); } diff --git a/x-pack/test/reporting_api_integration/reporting_and_security/search_frozen_indices.ts b/x-pack/test/reporting_api_integration/reporting_and_security/search_frozen_indices.ts new file mode 100644 index 0000000000000..daa749649e250 --- /dev/null +++ b/x-pack/test/reporting_api_integration/reporting_and_security/search_frozen_indices.ts @@ -0,0 +1,127 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; +import { FtrProviderContext } from '../ftr_provider_context'; + +// eslint-disable-next-line import/no-default-export +export default function ({ getService }: FtrProviderContext) { + const kibanaServer = getService('kibanaServer'); + const supertestSvc = getService('supertest'); + const esSupertest = getService('esSupertest'); + const indexPatternId = 'cool-test-index-pattern'; + + async function callExportAPI() { + const job = { + browserTimezone: 'UTC', + columns: ['@timestamp', 'ip', 'utilization'], + searchSource: { + fields: [{ field: '*', include_unmapped: 'true' }], + filter: [ + { + meta: { field: '@timestamp', index: indexPatternId, params: {} }, + range: { + '@timestamp': { + format: 'strict_date_optional_time', + gte: '2020-08-24T00:00:00.000Z', + lte: '2022-08-24T21:40:48.346Z', + }, + }, + }, + ], + index: indexPatternId, + parent: { filter: [], index: indexPatternId, query: { language: 'kuery', query: '' } }, + sort: [{ '@timestamp': 'desc' }], + trackTotalHits: true, + }, + title: 'Test search', + }; + + return await supertestSvc + .post(`/api/reporting/v1/generate/immediate/csv_searchsource`) + .set('kbn-xsrf', 'xxx') + .send(job); + } + + describe('Frozen indices search', () => { + const reset = async () => { + await kibanaServer.uiSettings.replace({ 'search:includeFrozen': false }); + try { + await esSupertest.delete('/test1,test2,test3'); + await kibanaServer.savedObjects.delete({ type: 'index-pattern', id: indexPatternId }); + } catch (err) { + // ignore 404 error + } + }; + + before(reset); + after(reset); + + it('Search includes frozen indices based on Advanced Setting', async () => { + await kibanaServer.uiSettings.update({ 'csv:quoteValues': true }); + + // setup: add multiple indices of test data + await Promise.all([ + esSupertest + .post('/test1/_doc') + .send({ '@timestamp': '2021-08-24T21:36:40Z', ip: '43.98.8.183', utilization: 18725 }), + esSupertest + .post('/test2/_doc') + .send({ '@timestamp': '2021-08-21T09:36:40Z', ip: '63.91.103.79', utilization: 8480 }), + esSupertest + .post('/test3/_doc') + .send({ '@timestamp': '2021-08-17T21:36:40Z', ip: '139.108.162.171', utilization: 3078 }), + ]); + await esSupertest.post('/test*/_refresh'); + + // setup: create index pattern + const indexPatternCreateResponse = await kibanaServer.savedObjects.create({ + type: 'index-pattern', + id: indexPatternId, + overwrite: true, + attributes: { title: 'test*', timeFieldName: '@timestamp' }, + }); + expect(indexPatternCreateResponse.id).to.be(indexPatternId); + + // 1. check the initial data with a CSV export + const initialSearch = await callExportAPI(); + expectSnapshot(initialSearch.text).toMatchInline(` + "\\"@timestamp\\",ip,utilization + \\"Aug 24, 2021 @ 21:36:40.000\\",\\"43.98.8.183\\",\\"18,725\\" + \\"Aug 21, 2021 @ 09:36:40.000\\",\\"63.91.103.79\\",\\"8,480\\" + \\"Aug 17, 2021 @ 21:36:40.000\\",\\"139.108.162.171\\",\\"3,078\\" + " + `); + + // 2. freeze an index in the pattern + await esSupertest.post('/test3/_freeze').expect(200); + await esSupertest.post('/test*/_refresh').expect(200); + + // 3. recheck the search results + const afterFreezeSearch = await callExportAPI(); + expectSnapshot(afterFreezeSearch.text).toMatchInline(` + "\\"@timestamp\\",ip,utilization + \\"Aug 24, 2021 @ 21:36:40.000\\",\\"43.98.8.183\\",\\"18,725\\" + \\"Aug 21, 2021 @ 09:36:40.000\\",\\"63.91.103.79\\",\\"8,480\\" + " + `); + + // 4. update setting to allow searching frozen data + await kibanaServer.uiSettings.update({ 'search:includeFrozen': true }); + + // 5. recheck the search results + const afterAllowSearch = await callExportAPI(); + expectSnapshot(afterAllowSearch.text).toMatchInline(` + "\\"@timestamp\\",ip,utilization + \\"Aug 24, 2021 @ 21:36:40.000\\",\\"43.98.8.183\\",\\"18,725\\" + \\"Aug 21, 2021 @ 09:36:40.000\\",\\"63.91.103.79\\",\\"8,480\\" + \\"Aug 17, 2021 @ 21:36:40.000\\",\\"139.108.162.171\\",\\"3,078\\" + " + `); + }); + }); +} From 562c3cc67c99993664711817cd9ac86d748ed245 Mon Sep 17 00:00:00 2001 From: spalger Date: Wed, 25 Aug 2021 14:44:30 -0700 Subject: [PATCH 054/139] skip failing suite (#110153) --- .../security_and_spaces/tests/trial/get_alerts.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts b/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts index a97e9182c9b49..c9073930ffda3 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts @@ -44,7 +44,8 @@ export default ({ getService }: FtrProviderContext) => { return observabilityIndex; }; - describe('rbac with subfeatures', () => { + // FAILING: https://github.com/elastic/kibana/issues/110153 + describe.skip('rbac with subfeatures', () => { before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/rule_registry/alerts'); }); From 90152edeaaf0dbfe62cbd66d9681ab5ce36a41c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patryk=20Kopyci=C5=84ski?= Date: Thu, 26 Aug 2021 01:46:31 +0300 Subject: [PATCH 055/139] [Osquery] Fix scheduled query status (#106600) --- package.json | 2 +- .../agent_policies/agents_policy_link.tsx | 12 +- .../public/agent_policies/use_agent_policy.ts | 4 + .../agents/use_agent_policy_agent_ids.ts | 58 ++ .../common/hooks/use_osquery_integration.tsx | 4 + .../plugins/osquery/public/editor/index.tsx | 20 +- .../public/live_queries/form/index.tsx | 13 +- .../osquery/public/results/results_table.tsx | 2 +- .../routes/saved_queries/list/index.tsx | 2 +- .../scheduled_query_groups/add/index.tsx | 3 +- .../scheduled_query_groups/details/index.tsx | 15 +- .../scheduled_query_groups/form/index.tsx | 7 +- .../form/pack_uploader.tsx | 11 +- .../form/queries_field.tsx | 19 +- .../queries/ecs_mapping_editor_field.tsx | 75 +- .../queries/query_flyout.tsx | 262 +++---- .../use_scheduled_query_group_query_form.tsx | 18 +- .../scheduled_query_errors_table.tsx | 146 ++++ ...duled_query_group_queries_status_table.tsx | 644 ++++++++++++++++++ .../scheduled_query_group_queries_table.tsx | 343 +--------- .../scheduled_query_groups_table.tsx | 2 +- .../use_scheduled_query_group.ts | 4 + .../use_scheduled_query_group_query_errors.ts | 91 +++ ...cheduled_query_group_query_last_results.ts | 88 +++ .../routes/action/create_action_route.ts | 2 +- yarn.lock | 8 +- 26 files changed, 1323 insertions(+), 532 deletions(-) create mode 100644 x-pack/plugins/osquery/public/agents/use_agent_policy_agent_ids.ts create mode 100644 x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_errors_table.tsx create mode 100644 x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx create mode 100644 x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts create mode 100644 x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts diff --git a/package.json b/package.json index fe2ca4a3e5c9d..9a084a614ee0b 100644 --- a/package.json +++ b/package.json @@ -348,7 +348,7 @@ "react-moment-proptypes": "^1.7.0", "react-monaco-editor": "^0.41.2", "react-popper-tooltip": "^2.10.1", - "react-query": "^3.18.1", + "react-query": "^3.21.0", "react-redux": "^7.2.0", "react-resizable": "^1.7.5", "react-resize-detector": "^4.2.0", diff --git a/x-pack/plugins/osquery/public/agent_policies/agents_policy_link.tsx b/x-pack/plugins/osquery/public/agent_policies/agents_policy_link.tsx index 81953135b5321..0207963852a5e 100644 --- a/x-pack/plugins/osquery/public/agent_policies/agents_policy_link.tsx +++ b/x-pack/plugins/osquery/public/agent_policies/agents_policy_link.tsx @@ -7,12 +7,19 @@ import { EuiLink } from '@elastic/eui'; import React, { useCallback, useMemo } from 'react'; +import styled from 'styled-components'; import { PLUGIN_ID } from '../../../fleet/common'; import { pagePathGetters } from '../../../fleet/public'; import { useKibana, isModifiedEvent, isLeftClickEvent } from '../common/lib/kibana'; import { useAgentPolicy } from './use_agent_policy'; +const StyledEuiLink = styled(EuiLink)` + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +`; + interface AgentsPolicyLinkProps { policyId: string; } @@ -46,10 +53,9 @@ const AgentsPolicyLinkComponent: React.FC = ({ policyId } ); return ( - // eslint-disable-next-line @elastic/eui/href-or-on-click - + {data?.name ?? policyId} - + ); }; diff --git a/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts b/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts index 0446b6b2f8187..ecd7828cb828b 100644 --- a/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts +++ b/x-pack/plugins/osquery/public/agent_policies/use_agent_policy.ts @@ -36,6 +36,10 @@ export const useAgentPolicy = ({ policyId, skip, silent }: UseAgentPolicy) => { defaultMessage: 'Error while fetching agent policy details', }), }), + refetchOnMount: false, + refetchOnReconnect: false, + refetchOnWindowFocus: false, + staleTime: Infinity, } ); }; diff --git a/x-pack/plugins/osquery/public/agents/use_agent_policy_agent_ids.ts b/x-pack/plugins/osquery/public/agents/use_agent_policy_agent_ids.ts new file mode 100644 index 0000000000000..42790e46e0a97 --- /dev/null +++ b/x-pack/plugins/osquery/public/agents/use_agent_policy_agent_ids.ts @@ -0,0 +1,58 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { map } from 'lodash'; +import { i18n } from '@kbn/i18n'; +import { useQuery } from 'react-query'; + +import { AGENT_SAVED_OBJECT_TYPE, Agent } from '../../../fleet/common'; +import { useErrorToast } from '../common/hooks/use_error_toast'; +import { useKibana } from '../common/lib/kibana'; + +interface UseAgentPolicyAgentIdsProps { + agentPolicyId: string | undefined; + silent?: boolean; + skip?: boolean; +} + +export const useAgentPolicyAgentIds = ({ + agentPolicyId, + silent, + skip, +}: UseAgentPolicyAgentIdsProps) => { + const { http } = useKibana().services; + const setErrorToast = useErrorToast(); + + return useQuery<{ agents: Agent[] }, unknown, string[]>( + ['agentPolicyAgentIds', agentPolicyId], + () => { + const kuery = `${AGENT_SAVED_OBJECT_TYPE}.policy_id:${agentPolicyId}`; + + return http.get(`/internal/osquery/fleet_wrapper/agents`, { + query: { + kuery, + perPage: 10000, + }, + }); + }, + { + select: (data) => map(data?.agents, 'id') || ([] as string[]), + enabled: !skip || !agentPolicyId, + onSuccess: () => setErrorToast(), + onError: (error) => + !silent && + setErrorToast(error as Error, { + title: i18n.translate('xpack.osquery.agents.fetchError', { + defaultMessage: 'Error while fetching agents', + }), + }), + refetchOnMount: false, + refetchOnReconnect: false, + refetchOnWindowFocus: false, + } + ); +}; diff --git a/x-pack/plugins/osquery/public/common/hooks/use_osquery_integration.tsx b/x-pack/plugins/osquery/public/common/hooks/use_osquery_integration.tsx index 8bf8ed80eb049..7cc561ff7a73a 100644 --- a/x-pack/plugins/osquery/public/common/hooks/use_osquery_integration.tsx +++ b/x-pack/plugins/osquery/public/common/hooks/use_osquery_integration.tsx @@ -22,5 +22,9 @@ export const useOsqueryIntegrationStatus = () => { defaultMessage: 'Error while fetching osquery integration', }), }), + refetchOnMount: false, + refetchOnReconnect: false, + refetchOnWindowFocus: false, + staleTime: Infinity, }); }; diff --git a/x-pack/plugins/osquery/public/editor/index.tsx b/x-pack/plugins/osquery/public/editor/index.tsx index a8079c58e8cb9..09e0ccbf7a45c 100644 --- a/x-pack/plugins/osquery/public/editor/index.tsx +++ b/x-pack/plugins/osquery/public/editor/index.tsx @@ -5,8 +5,9 @@ * 2.0. */ -import React, { useCallback, useRef } from 'react'; +import React, { useEffect, useState } from 'react'; import { EuiCodeEditor } from '@elastic/eui'; +import useDebounce from 'react-use/lib/useDebounce'; import 'brace/theme/tomorrow'; import './osquery_mode.ts'; @@ -26,22 +27,19 @@ interface OsqueryEditorProps { } const OsqueryEditorComponent: React.FC = ({ defaultValue, onChange }) => { - const editorValue = useRef(defaultValue ?? ''); + const [editorValue, setEditorValue] = useState(defaultValue ?? ''); - const handleChange = useCallback((newValue: string) => { - editorValue.current = newValue; - }, []); + useDebounce(() => onChange(editorValue.replaceAll('\n', ' ').replaceAll(' ', ' ')), 500, [ + editorValue, + ]); - const onBlur = useCallback(() => { - onChange(editorValue.current.replaceAll('\n', ' ').replaceAll(' ', ' ')); - }, [onChange]); + useEffect(() => setEditorValue(defaultValue), [defaultValue]); return ( = ({ ), }); - const { submit } = form; + const { setFieldValue, submit } = form; const actionId = useMemo(() => data?.actions[0].action_id, [data?.actions]); const agentIds = useMemo(() => data?.actions[0].agents, [data?.actions]); @@ -253,6 +253,15 @@ const LiveQueryFormComponent: React.FC = ({ [queryFieldStepContent, resultsStepContent] ); + useEffect(() => { + if (defaultValue?.agentSelection) { + setFieldValue('agentSelection', defaultValue?.agentSelection); + } + if (defaultValue?.query) { + setFieldValue('query', defaultValue?.query); + } + }, [defaultValue, setFieldValue]); + return ( <>
{singleAgentMode ? singleAgentForm : } diff --git a/x-pack/plugins/osquery/public/results/results_table.tsx b/x-pack/plugins/osquery/public/results/results_table.tsx index 42ac76f2dcf7f..c0760b9399ba1 100644 --- a/x-pack/plugins/osquery/public/results/results_table.tsx +++ b/x-pack/plugins/osquery/public/results/results_table.tsx @@ -31,7 +31,7 @@ import { ViewResultsInDiscoverAction, ViewResultsInLensAction, ViewResultsActionButtonType, -} from '../scheduled_query_groups/scheduled_query_group_queries_table'; +} from '../scheduled_query_groups/scheduled_query_group_queries_status_table'; import { useActionResultsPrivileges } from '../action_results/use_action_privileges'; import { OSQUERY_INTEGRATION_NAME } from '../../common'; diff --git a/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx b/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx index e82dcf85780e1..205099bb68618 100644 --- a/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx +++ b/x-pack/plugins/osquery/public/routes/saved_queries/list/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import moment from 'moment'; +import moment from 'moment-timezone'; import { EuiInMemoryTable, EuiButton, diff --git a/x-pack/plugins/osquery/public/routes/scheduled_query_groups/add/index.tsx b/x-pack/plugins/osquery/public/routes/scheduled_query_groups/add/index.tsx index 90522b537db48..6a4753e7aac95 100644 --- a/x-pack/plugins/osquery/public/routes/scheduled_query_groups/add/index.tsx +++ b/x-pack/plugins/osquery/public/routes/scheduled_query_groups/add/index.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import { startCase } from 'lodash'; import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import React, { useMemo } from 'react'; @@ -26,7 +27,7 @@ const AddScheduledQueryGroupPageComponent = () => { return { name: osqueryIntegration.name, - title: osqueryIntegration.title, + title: osqueryIntegration.title ?? startCase(osqueryIntegration.name), version: osqueryIntegration.version, }; }, [osqueryIntegration]); diff --git a/x-pack/plugins/osquery/public/routes/scheduled_query_groups/details/index.tsx b/x-pack/plugins/osquery/public/routes/scheduled_query_groups/details/index.tsx index dc6df49615093..35184ec4bcbc8 100644 --- a/x-pack/plugins/osquery/public/routes/scheduled_query_groups/details/index.tsx +++ b/x-pack/plugins/osquery/public/routes/scheduled_query_groups/details/index.tsx @@ -24,10 +24,11 @@ import styled from 'styled-components'; import { useKibana, useRouterNavigate } from '../../../common/lib/kibana'; import { WithHeaderLayout } from '../../../components/layouts'; import { useScheduledQueryGroup } from '../../../scheduled_query_groups/use_scheduled_query_group'; -import { ScheduledQueryGroupQueriesTable } from '../../../scheduled_query_groups/scheduled_query_group_queries_table'; +import { ScheduledQueryGroupQueriesStatusTable } from '../../../scheduled_query_groups/scheduled_query_group_queries_status_table'; import { useBreadcrumbs } from '../../../common/hooks/use_breadcrumbs'; import { AgentsPolicyLink } from '../../../agent_policies/agents_policy_link'; import { BetaBadge, BetaBadgeRowWrapper } from '../../../components/beta_badge'; +import { useAgentPolicyAgentIds } from '../../../agents/use_agent_policy_agent_ids'; const Divider = styled.div` width: 0; @@ -44,6 +45,10 @@ const ScheduledQueryGroupDetailsPageComponent = () => { ); const { data } = useScheduledQueryGroup({ scheduledQueryGroupId }); + const { data: agentIds } = useAgentPolicyAgentIds({ + agentPolicyId: data?.policy_id, + skip: !data, + }); useBreadcrumbs('scheduled_query_group_details', { scheduledQueryGroupName: data?.name ?? '' }); @@ -131,7 +136,13 @@ const ScheduledQueryGroupDetailsPageComponent = () => { return ( - {data && } + {data && ( + + )} ); }; diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/form/index.tsx b/x-pack/plugins/osquery/public/scheduled_query_groups/form/index.tsx index c940b1f8527b5..5bc4bf32bcefd 100644 --- a/x-pack/plugins/osquery/public/scheduled_query_groups/form/index.tsx +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/form/index.tsx @@ -244,7 +244,7 @@ const ScheduledQueryGroupFormComponent: React.FC = ), }); - const { submit } = form; + const { setFieldValue, submit } = form; const policyIdEuiFieldProps = useMemo( () => ({ isDisabled: !!defaultValue, options: agentPolicyOptions }), @@ -276,6 +276,10 @@ const ScheduledQueryGroupFormComponent: React.FC = }; }, [agentPoliciesById, policyId]); + const handleNameChange = useCallback((newName: string) => setFieldValue('name', newName), [ + setFieldValue, + ]); + const handleSaveClick = useCallback(() => { if (currentPolicy.agentCount) { setShowConfirmationModal(true); @@ -343,6 +347,7 @@ const ScheduledQueryGroupFormComponent: React.FC = component={QueriesField} scheduledQueryGroupId={defaultValue?.id ?? null} integrationPackageVersion={integrationPackageVersion} + handleNameChange={handleNameChange} /> diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/form/pack_uploader.tsx b/x-pack/plugins/osquery/public/scheduled_query_groups/form/pack_uploader.tsx index 3cd1b96f12fa4..83e64ed6e6f3d 100644 --- a/x-pack/plugins/osquery/public/scheduled_query_groups/form/pack_uploader.tsx +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/form/pack_uploader.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { mapKeys, kebabCase } from 'lodash'; +import { kebabCase } from 'lodash'; import { EuiLink, EuiFormRow, EuiFilePicker, EuiSpacer } from '@elastic/eui'; import React, { useCallback, useState, useRef } from 'react'; import { i18n } from '@kbn/i18n'; @@ -25,7 +25,7 @@ const ExamplePackLink = React.memo(() => ( ExamplePackLink.displayName = 'ExamplePackLink'; interface OsqueryPackUploaderProps { - onChange: (payload: Record) => void; + onChange: (payload: Record, packName: string) => void; } const OsqueryPackUploaderComponent: React.FC = ({ onChange }) => { @@ -61,12 +61,7 @@ const OsqueryPackUploaderComponent: React.FC = ({ onCh return; } - const queriesJSON = mapKeys( - parsedContent?.queries, - (value, key) => `pack_${packName.current}_${key}` - ); - - onChange(queriesJSON); + onChange(parsedContent?.queries, packName.current); // @ts-expect-error update types filePickerRef.current?.removeFiles(new Event('fake')); }; diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/form/queries_field.tsx b/x-pack/plugins/osquery/public/scheduled_query_groups/form/queries_field.tsx index 28628f5ebd9aa..079b9ddacc9d0 100644 --- a/x-pack/plugins/osquery/public/scheduled_query_groups/form/queries_field.tsx +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/form/queries_field.tsx @@ -10,6 +10,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiButton, EuiSpacer } from '@elastic/eui'; import { produce } from 'immer'; import React, { useCallback, useMemo, useState } from 'react'; import { FormattedMessage } from '@kbn/i18n/react'; +import { satisfies } from 'semver'; import { OsqueryManagerPackagePolicyInputStream, @@ -23,6 +24,7 @@ import { OsqueryPackUploader } from './pack_uploader'; import { getSupportedPlatforms } from '../queries/platforms/helpers'; interface QueriesFieldProps { + handleNameChange: (name: string) => void; field: FieldHook; integrationPackageVersion?: string | undefined; scheduledQueryGroupId: string; @@ -82,6 +84,7 @@ const getNewStream = (payload: GetNewStreamProps) => const QueriesFieldComponent: React.FC = ({ field, + handleNameChange, integrationPackageVersion, scheduledQueryGroupId, }) => { @@ -208,13 +211,18 @@ const QueriesFieldComponent: React.FC = ({ }, [setValue, tableSelectedItems]); const handlePackUpload = useCallback( - (newQueries) => { + (newQueries, packName) => { + /* Osquery scheduled packs are supported since osquery_manager@0.5.0 */ + const isOsqueryPackSupported = integrationPackageVersion + ? satisfies(integrationPackageVersion, '>=0.5.0') + : false; + setValue( produce((draft) => { forEach(newQueries, (newQuery, newQueryId) => { draft[0].streams.push( getNewStream({ - id: newQueryId, + id: isOsqueryPackSupported ? newQueryId : `pack_${packName}_${newQueryId}`, interval: newQuery.interval, query: newQuery.query, version: newQuery.version, @@ -227,8 +235,12 @@ const QueriesFieldComponent: React.FC = ({ return draft; }) ); + + if (isOsqueryPackSupported) { + handleNameChange(packName); + } }, - [scheduledQueryGroupId, setValue] + [handleNameChange, integrationPackageVersion, scheduledQueryGroupId, setValue] ); const tableData = useMemo(() => (field.value.length ? field.value[0].streams : []), [ @@ -277,7 +289,6 @@ const QueriesFieldComponent: React.FC = ({ {field.value && field.value[0].streams?.length ? ( svg { + padding: 0 6px !important; + } `; const StyledFieldSpan = styled.span` @@ -88,7 +91,15 @@ const StyledFieldSpan = styled.span` // align the icon to the inputs const StyledButtonWrapper = styled.div` - margin-top: 32px; + margin-top: 30px; +`; + +const ECSFieldColumn = styled(EuiFlexGroup)` + max-width: 100%; +`; + +const ECSFieldWrapper = styled(EuiFlexItem)` + max-width: calc(100% - 66px); `; const singleSelection = { asPlainText: true }; @@ -163,7 +174,7 @@ export const ECSComboboxField: React.FC = ({ size="l" type={ // @ts-expect-error update types - selectedOptions[0]?.value?.type === 'keyword' ? 'string' : selectedOptions[0]?.value?.type + typeMap[selectedOptions[0]?.value?.type] ?? selectedOptions[0]?.value?.type } /> ), @@ -220,7 +231,7 @@ export const OsqueryColumnField: React.FC = ({ idAria, ...rest }) => { - const { setErrors, setValue } = field; + const { setValue } = field; const { isInvalid, errorMessage } = getFieldValidityAndErrorMessage(field); const describedByIds = useMemo(() => (idAria ? [idAria] : []), [idAria]); const [selectedOptions, setSelected] = useState< @@ -250,25 +261,6 @@ export const OsqueryColumnField: React.FC = ({ [] ); - const onCreateOsqueryOption = useCallback( - (searchValue = []) => { - const normalizedSearchValue = searchValue.trim().toLowerCase(); - - if (!normalizedSearchValue) { - return; - } - - const newOption = { - label: searchValue, - }; - - // Select the option. - setSelected([newOption]); - setValue(newOption.label); - }, - [setValue, setSelected] - ); - const handleChange = useCallback( (newSelectedOptions) => { setSelected(newSelectedOptions); @@ -285,7 +277,7 @@ export const OsqueryColumnField: React.FC = ({ return selectedOption ? [selectedOption] : [{ label: field.value }]; }); - }, [euiFieldProps?.options, setSelected, field.value, setErrors]); + }, [euiFieldProps?.options, setSelected, field.value]); return ( = ({ singleSelection={singleSelection} selectedOptions={selectedOptions} onChange={handleChange} - onCreateOption={onCreateOsqueryOption} renderOption={renderOsqueryOption} rowHeight={32} isClearable @@ -513,7 +504,7 @@ export const ECSMappingEditorForm = forwardRef - + - + - + - + {defaultValue ? ( @@ -564,7 +555,7 @@ export const ECSMappingEditorForm = forwardRef - + @@ -634,6 +625,11 @@ export const ECSMappingEditorField = ({ field, query, fieldRef }: ECSMappingEdit return currentValue; } + const tablesOrderMap = ast?.from?.reduce((acc, table, index) => { + acc[table.as ?? table.table] = index; + return acc; + }, {}); + const astOsqueryTables: Record = ast?.from?.reduce((acc, table) => { const osqueryTable = find(osquerySchema, ['name', table.table]); @@ -665,6 +661,7 @@ export const ECSMappingEditorField = ({ field, query, fieldRef }: ECSMappingEdit name: osqueryColumn.name, description: osqueryColumn.description, table: tableName, + tableOrder: tablesOrderMap[tableName], suggestion_label: osqueryColumn.name, }, })); @@ -678,13 +675,14 @@ export const ECSMappingEditorField = ({ field, query, fieldRef }: ECSMappingEdit isArray(ast?.columns) && ast?.columns ?.map((column) => { - if (column.expr.column === '*') { + if (column.expr.column === '*' && astOsqueryTables[column.expr.table]) { return astOsqueryTables[column.expr.table].map((osqueryColumn) => ({ label: osqueryColumn.name, value: { name: osqueryColumn.name, description: osqueryColumn.description, table: column.expr.table, + tableOrder: tablesOrderMap[column.expr.table], suggestion_label: `${osqueryColumn.name}`, }, })); @@ -706,6 +704,7 @@ export const ECSMappingEditorField = ({ field, query, fieldRef }: ECSMappingEdit name: osqueryColumn.name, description: osqueryColumn.description, table: column.expr.table, + tableOrder: tablesOrderMap[column.expr.table], suggestion_label: `${label}`, }, }, @@ -717,8 +716,12 @@ export const ECSMappingEditorField = ({ field, query, fieldRef }: ECSMappingEdit }) .flat(); - // @ts-expect-error update types - return sortBy(suggestions, 'value.suggestion_label'); + // Remove column duplicates by keeping the column from the table that appears last in the query + return sortedUniqBy( + // @ts-expect-error update types + orderBy(suggestions, ['value.suggestion_label', 'value.tableOrder'], ['asc', 'desc']), + 'label' + ); }); }, [query]); @@ -766,6 +769,10 @@ export const ECSMappingEditorField = ({ field, query, fieldRef }: ECSMappingEdit return draft; }) ); + + if (formRefs.current[key]) { + delete formRefs.current[key]; + } } }, [setValue] diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/queries/query_flyout.tsx b/x-pack/plugins/osquery/public/scheduled_query_groups/queries/query_flyout.tsx index f0211b049f570..cae9711694f29 100644 --- a/x-pack/plugins/osquery/public/scheduled_query_groups/queries/query_flyout.tsx +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/queries/query_flyout.tsx @@ -13,7 +13,6 @@ import { EuiFlyoutBody, EuiFlyoutHeader, EuiFlyoutFooter, - EuiPortal, EuiFlexGroup, EuiFlexItem, EuiButtonEmpty, @@ -117,138 +116,145 @@ const QueryFlyoutComponent: React.FC = ({ [isFieldSupported, setFieldValue, reset] ); + /* Avoids accidental closing of the flyout when the user clicks outside of the flyout */ + const maskProps = useMemo(() => ({ onClick: () => ({}) }), []); + return ( - - - - -

- {isEditMode ? ( - - ) : ( - - )} -

-
-
- -
- {!isEditMode ? ( - <> - - - - ) : null} - - - - - - - - - - - - - - } - // eslint-disable-next-line react-perf/jsx-no-new-object-as-prop - euiFieldProps={{ - isDisabled: !isFieldSupported, - noSuggestions: false, - singleSelection: { asPlainText: true }, - placeholder: i18n.translate( - 'xpack.osquery.scheduledQueryGroup.queriesTable.osqueryVersionAllLabel', - { - defaultMessage: 'ALL', - } - ), - options: ALL_OSQUERY_VERSIONS_OPTIONS, - onCreateOption: undefined, - }} - /> - - - - - - - - - - - - - {!isFieldSupported ? ( - - } - iconType="pin" - > - - - - - - + + + +

+ {isEditMode ? ( + + ) : ( + + )} +

+
+
+ +
+ {!isEditMode ? ( + <> + + + ) : null} - - - - - - - + + + + + + + + + + + + + + } + // eslint-disable-next-line react-perf/jsx-no-new-object-as-prop + euiFieldProps={{ + isDisabled: !isFieldSupported, + noSuggestions: false, + singleSelection: { asPlainText: true }, + placeholder: i18n.translate( + 'xpack.osquery.scheduledQueryGroup.queriesTable.osqueryVersionAllLabel', + { + defaultMessage: 'ALL', + } + ), + options: ALL_OSQUERY_VERSIONS_OPTIONS, + onCreateOption: undefined, + }} + /> + + + - - - - + + + + + - - - + + {!isFieldSupported ? ( + + } + iconType="pin" + > + + + + + + + ) : null} +
+ + + + + + + + + + + + + + +
); }; diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/queries/use_scheduled_query_group_query_form.tsx b/x-pack/plugins/osquery/public/scheduled_query_groups/queries/use_scheduled_query_group_query_form.tsx index 8337d0f91fbfd..dc206a6b104d3 100644 --- a/x-pack/plugins/osquery/public/scheduled_query_groups/queries/use_scheduled_query_group_query_form.tsx +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/queries/use_scheduled_query_group_query_form.tsx @@ -63,7 +63,23 @@ export const useScheduledQueryGroupQueryForm = ({ options: { stripEmptyFields: false, }, - defaultValue, + defaultValue: defaultValue || { + id: { + type: 'text', + value: '', + }, + query: { + type: 'text', + value: '', + }, + interval: { + type: 'integer', + value: '3600', + }, + ecs_mapping: { + value: {}, + }, + }, // @ts-expect-error update types serializer: (payload) => produce(payload, (draft) => { diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_errors_table.tsx b/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_errors_table.tsx new file mode 100644 index 0000000000000..71ae346603229 --- /dev/null +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_errors_table.tsx @@ -0,0 +1,146 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; +import { EuiInMemoryTable, EuiCodeBlock, EuiToolTip, EuiButtonIcon } from '@elastic/eui'; +import React, { useCallback, useMemo } from 'react'; +import { encode } from 'rison-node'; +import { stringify } from 'querystring'; + +import { useKibana, isModifiedEvent, isLeftClickEvent } from '../common/lib/kibana'; +import { AgentIdToName } from '../agents/agent_id_to_name'; +import { useScheduledQueryGroupQueryErrors } from './use_scheduled_query_group_query_errors'; + +const VIEW_IN_LOGS = i18n.translate( + 'xpack.osquery.scheduledQueryGroup.queriesTable.viewLogsErrorsActionAriaLabel', + { + defaultMessage: 'View in Logs', + } +); + +interface ViewErrorsInLogsActionProps { + actionId: string; + agentId: string; + timestamp?: string; +} + +const ViewErrorsInLogsActionComponent: React.FC = ({ + actionId, + agentId, + timestamp, +}) => { + const navigateToApp = useKibana().services.application.navigateToApp; + + const handleClick = useCallback( + (event) => { + const openInNewTab = !(!isModifiedEvent(event) && isLeftClickEvent(event)); + + event.preventDefault(); + const queryString = stringify({ + logPosition: encode({ + end: timestamp, + streamLive: false, + }), + logFilter: encode({ + expression: `elastic_agent.id:${agentId} and (data_stream.dataset:elastic_agent or data_stream.dataset:elastic_agent.osquerybeat) and "${actionId}"`, + kind: 'kuery', + }), + }); + + navigateToApp('logs', { + path: `stream?${queryString}`, + openInNewTab, + }); + }, + [actionId, agentId, navigateToApp, timestamp] + ); + + return ( + + + + ); +}; + +export const ViewErrorsInLogsAction = React.memo(ViewErrorsInLogsActionComponent); + +interface ScheduledQueryErrorsTableProps { + actionId: string; + agentIds?: string[]; + interval: number; +} + +const renderErrorMessage = (error: string) => ( + + {error} + +); + +const ScheduledQueryErrorsTableComponent: React.FC = ({ + actionId, + agentIds, + interval, +}) => { + const { data: lastErrorsData } = useScheduledQueryGroupQueryErrors({ + actionId, + agentIds, + interval, + }); + + const renderAgentIdColumn = useCallback((agentId) => , []); + + const renderLogsErrorsAction = useCallback( + (item) => ( + + ), + [actionId] + ); + + const columns = useMemo( + () => [ + { + field: 'fields.@timestamp', + name: '@timestamp', + width: '220px', + }, + { + field: 'fields["elastic_agent.id"][0]', + name: i18n.translate('xpack.osquery.scheduledQueryErrorsTable.agentIdColumnTitle', { + defaultMessage: 'Agent Id', + }), + truncateText: true, + render: renderAgentIdColumn, + width: '15%', + }, + { + field: 'fields.message[0]', + name: i18n.translate('xpack.osquery.scheduledQueryErrorsTable.errorColumnTitle', { + defaultMessage: 'Error', + }), + render: renderErrorMessage, + }, + { + width: '50px', + actions: [ + { + render: renderLogsErrorsAction, + }, + ], + }, + ], + [renderAgentIdColumn, renderLogsErrorsAction] + ); + + // @ts-expect-error update types + return ; +}; + +export const ScheduledQueryErrorsTable = React.memo(ScheduledQueryErrorsTableComponent); diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx b/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx new file mode 100644 index 0000000000000..fe54a46df8c05 --- /dev/null +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_status_table.tsx @@ -0,0 +1,644 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { get } from 'lodash/fp'; +import React, { useCallback, useEffect, useState, useMemo } from 'react'; +import { + EuiBasicTable, + EuiButtonEmpty, + EuiCodeBlock, + EuiButtonIcon, + EuiToolTip, + EuiLoadingSpinner, + EuiFlexGroup, + EuiFlexItem, + EuiNotificationBadge, + EuiSpacer, + EuiPanel, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import moment from 'moment-timezone'; +import { + TypedLensByValueInput, + PersistedIndexPatternLayer, + PieVisualizationState, +} from '../../../lens/public'; +import { FilterStateStore } from '../../../../../src/plugins/data/common'; +import { useKibana, isModifiedEvent, isLeftClickEvent } from '../common/lib/kibana'; +import { OsqueryManagerPackagePolicyInputStream } from '../../common/types'; +import { ScheduledQueryErrorsTable } from './scheduled_query_errors_table'; +import { useScheduledQueryGroupQueryLastResults } from './use_scheduled_query_group_query_last_results'; +import { useScheduledQueryGroupQueryErrors } from './use_scheduled_query_group_query_errors'; + +const VIEW_IN_DISCOVER = i18n.translate( + 'xpack.osquery.scheduledQueryGroup.queriesTable.viewDiscoverResultsActionAriaLabel', + { + defaultMessage: 'View in Discover', + } +); + +const VIEW_IN_LENS = i18n.translate( + 'xpack.osquery.scheduledQueryGroup.queriesTable.viewLensResultsActionAriaLabel', + { + defaultMessage: 'View in Lens', + } +); + +export enum ViewResultsActionButtonType { + icon = 'icon', + button = 'button', +} + +interface ViewResultsInDiscoverActionProps { + actionId: string; + agentIds?: string[]; + buttonType: ViewResultsActionButtonType; + endDate?: string; + startDate?: string; +} + +function getLensAttributes( + actionId: string, + agentIds?: string[] +): TypedLensByValueInput['attributes'] { + const dataLayer: PersistedIndexPatternLayer = { + columnOrder: ['8690befd-fd69-4246-af4a-dd485d2a3b38', 'ed999e9d-204c-465b-897f-fe1a125b39ed'], + columns: { + '8690befd-fd69-4246-af4a-dd485d2a3b38': { + sourceField: 'type', + isBucketed: true, + dataType: 'string', + scale: 'ordinal', + operationType: 'terms', + label: 'Top values of type', + params: { + otherBucket: true, + size: 5, + missingBucket: false, + orderBy: { + columnId: 'ed999e9d-204c-465b-897f-fe1a125b39ed', + type: 'column', + }, + orderDirection: 'desc', + }, + }, + 'ed999e9d-204c-465b-897f-fe1a125b39ed': { + sourceField: 'Records', + isBucketed: false, + dataType: 'number', + scale: 'ratio', + operationType: 'count', + label: 'Count of records', + }, + }, + incompleteColumns: {}, + }; + + const xyConfig: PieVisualizationState = { + shape: 'pie', + layers: [ + { + layerType: 'data', + legendDisplay: 'default', + nestedLegend: false, + layerId: 'layer1', + metric: 'ed999e9d-204c-465b-897f-fe1a125b39ed', + numberDisplay: 'percent', + groups: ['8690befd-fd69-4246-af4a-dd485d2a3b38'], + categoryDisplay: 'default', + }, + ], + }; + + const agentIdsQuery = { + bool: { + minimum_should_match: 1, + should: agentIds?.map((agentId) => ({ match_phrase: { 'agent.id': agentId } })), + }, + }; + + return { + visualizationType: 'lnsPie', + title: `Action ${actionId} results`, + references: [ + { + id: 'logs-*', + name: 'indexpattern-datasource-current-indexpattern', + type: 'index-pattern', + }, + { + id: 'logs-*', + name: 'indexpattern-datasource-layer-layer1', + type: 'index-pattern', + }, + { + name: 'filter-index-pattern-0', + id: 'logs-*', + type: 'index-pattern', + }, + ], + state: { + datasourceStates: { + indexpattern: { + layers: { + layer1: dataLayer, + }, + }, + }, + filters: [ + { + $state: { store: FilterStateStore.APP_STATE }, + meta: { + indexRefName: 'filter-index-pattern-0', + negate: false, + alias: null, + disabled: false, + params: { + query: actionId, + }, + type: 'phrase', + key: 'action_id', + }, + query: { + match_phrase: { + action_id: actionId, + }, + }, + }, + ...(agentIdsQuery + ? [ + { + $state: { store: FilterStateStore.APP_STATE }, + meta: { + alias: 'agent IDs', + disabled: false, + indexRefName: 'filter-index-pattern-0', + key: 'query', + negate: false, + type: 'custom', + value: JSON.stringify(agentIdsQuery), + }, + query: agentIdsQuery, + }, + ] + : []), + ], + query: { language: 'kuery', query: '' }, + visualization: xyConfig, + }, + }; +} + +const ViewResultsInLensActionComponent: React.FC = ({ + actionId, + agentIds, + buttonType, + endDate, + startDate, +}) => { + const lensService = useKibana().services.lens; + + const handleClick = useCallback( + (event) => { + const openInNewTab = !(!isModifiedEvent(event) && isLeftClickEvent(event)); + + event.preventDefault(); + + lensService?.navigateToPrefilledEditor( + { + id: '', + timeRange: { + from: startDate ?? 'now-1d', + to: endDate ?? 'now', + mode: startDate || endDate ? 'absolute' : 'relative', + }, + attributes: getLensAttributes(actionId, agentIds), + }, + { + openInNewTab, + } + ); + }, + [actionId, agentIds, endDate, lensService, startDate] + ); + + if (buttonType === ViewResultsActionButtonType.button) { + return ( + + {VIEW_IN_LENS} + + ); + } + + return ( + + + + ); +}; + +export const ViewResultsInLensAction = React.memo(ViewResultsInLensActionComponent); + +const ViewResultsInDiscoverActionComponent: React.FC = ({ + actionId, + agentIds, + buttonType, + endDate, + startDate, +}) => { + const urlGenerator = useKibana().services.discover?.urlGenerator; + const [discoverUrl, setDiscoverUrl] = useState(''); + + useEffect(() => { + const getDiscoverUrl = async () => { + if (!urlGenerator?.createUrl) return; + + const agentIdsQuery = agentIds?.length + ? { + bool: { + minimum_should_match: 1, + should: agentIds.map((agentId) => ({ match_phrase: { 'agent.id': agentId } })), + }, + } + : null; + + const newUrl = await urlGenerator.createUrl({ + indexPatternId: 'logs-*', + filters: [ + { + meta: { + index: 'logs-*', + alias: null, + negate: false, + disabled: false, + type: 'phrase', + key: 'action_id', + params: { query: actionId }, + }, + query: { match_phrase: { action_id: actionId } }, + $state: { store: FilterStateStore.APP_STATE }, + }, + ...(agentIdsQuery + ? [ + { + $state: { store: FilterStateStore.APP_STATE }, + meta: { + alias: 'agent IDs', + disabled: false, + index: 'logs-*', + key: 'query', + negate: false, + type: 'custom', + value: JSON.stringify(agentIdsQuery), + }, + query: agentIdsQuery, + }, + ] + : []), + ], + refreshInterval: { + pause: true, + value: 0, + }, + timeRange: + startDate && endDate + ? { + to: endDate, + from: startDate, + mode: 'absolute', + } + : { + to: 'now', + from: 'now-1d', + mode: 'relative', + }, + }); + setDiscoverUrl(newUrl); + }; + getDiscoverUrl(); + }, [actionId, agentIds, endDate, startDate, urlGenerator]); + + if (buttonType === ViewResultsActionButtonType.button) { + return ( + + {VIEW_IN_DISCOVER} + + ); + } + + return ( + + + + ); +}; + +export const ViewResultsInDiscoverAction = React.memo(ViewResultsInDiscoverActionComponent); + +interface ScheduledQueryExpandedContentProps { + actionId: string; + agentIds?: string[]; + interval: number; +} + +const ScheduledQueryExpandedContent = React.memo( + ({ actionId, agentIds, interval }) => ( + + + + + + + + + + ) +); + +ScheduledQueryExpandedContent.displayName = 'ScheduledQueryExpandedContent'; + +interface ScheduledQueryLastResultsProps { + actionId: string; + agentIds: string[]; + queryId: string; + interval: number; + toggleErrors: (payload: { queryId: string; interval: number }) => void; + expanded: boolean; +} + +const ScheduledQueryLastResults: React.FC = ({ + actionId, + agentIds, + queryId, + interval, + toggleErrors, + expanded, +}) => { + const { data: lastResultsData, isFetched } = useScheduledQueryGroupQueryLastResults({ + actionId, + agentIds, + interval, + }); + + const { data: errorsData, isFetched: errorsFetched } = useScheduledQueryGroupQueryErrors({ + actionId, + agentIds, + interval, + }); + + const handleErrorsToggle = useCallback(() => toggleErrors({ queryId, interval }), [ + queryId, + interval, + toggleErrors, + ]); + + if (!isFetched || !errorsFetched) { + return ; + } + + if (!lastResultsData) { + return <>{'-'}; + } + + return ( + + + {lastResultsData.first_event_ingested_time?.value ? ( + + <>{moment(lastResultsData.first_event_ingested_time?.value).fromNow()} + + ) : ( + '-' + )} + + + + + + {lastResultsData?.doc_count ?? 0} + + + {'Documents'} + + + + + + + + {lastResultsData?.unique_agents?.value ?? 0} + + + {'Agents'} + + + + + + + + {errorsData?.total ?? 0} + + + + {'Errors'} + + + + + + + + ); +}; + +const getPackActionId = (actionId: string, packName: string) => `pack_${packName}_${actionId}`; + +interface ScheduledQueryGroupQueriesStatusTableProps { + agentIds?: string[]; + data: OsqueryManagerPackagePolicyInputStream[]; + scheduledQueryGroupName: string; +} + +const ScheduledQueryGroupQueriesStatusTableComponent: React.FC = ({ + agentIds, + data, + scheduledQueryGroupName, +}) => { + const [itemIdToExpandedRowMap, setItemIdToExpandedRowMap] = useState< + Record> + >({}); + + const renderQueryColumn = useCallback( + (query: string) => ( + + {query} + + ), + [] + ); + + const toggleErrors = useCallback( + ({ queryId, interval }: { queryId: string; interval: number }) => { + const itemIdToExpandedRowMapValues = { ...itemIdToExpandedRowMap }; + if (itemIdToExpandedRowMapValues[queryId]) { + delete itemIdToExpandedRowMapValues[queryId]; + } else { + itemIdToExpandedRowMapValues[queryId] = ( + + ); + } + setItemIdToExpandedRowMap(itemIdToExpandedRowMapValues); + }, + [agentIds, itemIdToExpandedRowMap, scheduledQueryGroupName] + ); + + const renderLastResultsColumn = useCallback( + (item) => ( + + ), + [agentIds, itemIdToExpandedRowMap, scheduledQueryGroupName, toggleErrors] + ); + + const renderDiscoverResultsAction = useCallback( + (item) => ( + + ), + [agentIds, scheduledQueryGroupName] + ); + + const renderLensResultsAction = useCallback( + (item) => ( + + ), + [agentIds] + ); + + const getItemId = useCallback( + (item: OsqueryManagerPackagePolicyInputStream) => get('vars.id.value', item), + [] + ); + + const columns = useMemo( + () => [ + { + field: 'vars.id.value', + name: i18n.translate('xpack.osquery.scheduledQueryGroup.queriesTable.idColumnTitle', { + defaultMessage: 'ID', + }), + width: '15%', + }, + { + field: 'vars.interval.value', + name: i18n.translate('xpack.osquery.scheduledQueryGroup.queriesTable.intervalColumnTitle', { + defaultMessage: 'Interval (s)', + }), + width: '80px', + }, + { + field: 'vars.query.value', + name: i18n.translate('xpack.osquery.scheduledQueryGroup.queriesTable.queryColumnTitle', { + defaultMessage: 'Query', + }), + render: renderQueryColumn, + width: '20%', + }, + { + name: i18n.translate( + 'xpack.osquery.scheduledQueryGroup.queriesTable.lastResultsColumnTitle', + { + defaultMessage: 'Last results', + } + ), + render: renderLastResultsColumn, + }, + { + name: i18n.translate( + 'xpack.osquery.scheduledQueryGroup.queriesTable.viewResultsColumnTitle', + { + defaultMessage: 'View results', + } + ), + width: '90px', + actions: [ + { + render: renderDiscoverResultsAction, + }, + { + render: renderLensResultsAction, + }, + ], + }, + ], + [ + renderQueryColumn, + renderLastResultsColumn, + renderDiscoverResultsAction, + renderLensResultsAction, + ] + ); + + const sorting = useMemo( + () => ({ + sort: { + field: 'vars.id.value' as keyof OsqueryManagerPackagePolicyInputStream, + direction: 'asc' as const, + }, + }), + [] + ); + + return ( + + items={data} + itemId={getItemId} + columns={columns} + sorting={sorting} + itemIdToExpandedRowMap={itemIdToExpandedRowMap} + isExpandable + /> + ); +}; + +export const ScheduledQueryGroupQueriesStatusTable = React.memo( + ScheduledQueryGroupQueriesStatusTableComponent +); diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_table.tsx b/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_table.tsx index 1ab87949e3493..fb3839a716720 100644 --- a/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_table.tsx +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_group_queries_table.tsx @@ -6,288 +6,15 @@ */ import { get } from 'lodash/fp'; -import React, { useCallback, useEffect, useState, useMemo } from 'react'; -import { - EuiBasicTable, - EuiButtonEmpty, - EuiCodeBlock, - EuiButtonIcon, - EuiToolTip, -} from '@elastic/eui'; +import React, { useCallback, useMemo } from 'react'; +import { EuiBasicTable, EuiCodeBlock, EuiButtonIcon } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { - TypedLensByValueInput, - PersistedIndexPatternLayer, - PieVisualizationState, -} from '../../../lens/public'; -import { FilterStateStore } from '../../../../../src/plugins/data/common'; -import { useKibana, isModifiedEvent, isLeftClickEvent } from '../common/lib/kibana'; import { PlatformIcons } from './queries/platforms'; import { OsqueryManagerPackagePolicyInputStream } from '../../common/types'; -const VIEW_IN_DISCOVER = i18n.translate( - 'xpack.osquery.scheduledQueryGroup.queriesTable.viewDiscoverResultsActionAriaLabel', - { - defaultMessage: 'View in Discover', - } -); - -const VIEW_IN_LENS = i18n.translate( - 'xpack.osquery.scheduledQueryGroup.queriesTable.viewLensResultsActionAriaLabel', - { - defaultMessage: 'View in Lens', - } -); - -export enum ViewResultsActionButtonType { - icon = 'icon', - button = 'button', -} - -interface ViewResultsInDiscoverActionProps { - actionId: string; - buttonType: ViewResultsActionButtonType; - endDate?: string; - startDate?: string; -} - -function getLensAttributes(actionId: string): TypedLensByValueInput['attributes'] { - const dataLayer: PersistedIndexPatternLayer = { - columnOrder: ['8690befd-fd69-4246-af4a-dd485d2a3b38', 'ed999e9d-204c-465b-897f-fe1a125b39ed'], - columns: { - '8690befd-fd69-4246-af4a-dd485d2a3b38': { - sourceField: 'type', - isBucketed: true, - dataType: 'string', - scale: 'ordinal', - operationType: 'terms', - label: 'Top values of type', - params: { - otherBucket: true, - size: 5, - missingBucket: false, - orderBy: { - columnId: 'ed999e9d-204c-465b-897f-fe1a125b39ed', - type: 'column', - }, - orderDirection: 'desc', - }, - }, - 'ed999e9d-204c-465b-897f-fe1a125b39ed': { - sourceField: 'Records', - isBucketed: false, - dataType: 'number', - scale: 'ratio', - operationType: 'count', - label: 'Count of records', - }, - }, - incompleteColumns: {}, - }; - - const xyConfig: PieVisualizationState = { - shape: 'pie', - layers: [ - { - legendDisplay: 'default', - nestedLegend: false, - layerId: 'layer1', - layerType: 'data', - metric: 'ed999e9d-204c-465b-897f-fe1a125b39ed', - numberDisplay: 'percent', - groups: ['8690befd-fd69-4246-af4a-dd485d2a3b38'], - categoryDisplay: 'default', - }, - ], - }; - - return { - visualizationType: 'lnsPie', - title: `Action ${actionId} results`, - references: [ - { - id: 'logs-*', - name: 'indexpattern-datasource-current-indexpattern', - type: 'index-pattern', - }, - { - id: 'logs-*', - name: 'indexpattern-datasource-layer-layer1', - type: 'index-pattern', - }, - { - name: 'filter-index-pattern-0', - id: 'logs-*', - type: 'index-pattern', - }, - ], - state: { - datasourceStates: { - indexpattern: { - layers: { - layer1: dataLayer, - }, - }, - }, - filters: [ - { - $state: { store: FilterStateStore.APP_STATE }, - meta: { - indexRefName: 'filter-index-pattern-0', - negate: false, - alias: null, - disabled: false, - params: { - query: actionId, - }, - type: 'phrase', - key: 'action_id', - }, - query: { - match_phrase: { - action_id: actionId, - }, - }, - }, - ], - query: { language: 'kuery', query: '' }, - visualization: xyConfig, - }, - }; -} - -const ViewResultsInLensActionComponent: React.FC = ({ - actionId, - buttonType, - endDate, - startDate, -}) => { - const lensService = useKibana().services.lens; - - const handleClick = useCallback( - (event) => { - const openInNewTab = !(!isModifiedEvent(event) && isLeftClickEvent(event)); - - event.preventDefault(); - - lensService?.navigateToPrefilledEditor( - { - id: '', - timeRange: { - from: startDate ?? 'now-1d', - to: endDate ?? 'now', - mode: startDate || endDate ? 'absolute' : 'relative', - }, - attributes: getLensAttributes(actionId), - }, - { - openInNewTab, - } - ); - }, - [actionId, endDate, lensService, startDate] - ); - - if (buttonType === ViewResultsActionButtonType.button) { - return ( - - {VIEW_IN_LENS} - - ); - } - - return ( - - - - ); -}; - -export const ViewResultsInLensAction = React.memo(ViewResultsInLensActionComponent); - -const ViewResultsInDiscoverActionComponent: React.FC = ({ - actionId, - buttonType, - endDate, - startDate, -}) => { - const urlGenerator = useKibana().services.discover?.urlGenerator; - const [discoverUrl, setDiscoverUrl] = useState(''); - - useEffect(() => { - const getDiscoverUrl = async () => { - if (!urlGenerator?.createUrl) return; - - const newUrl = await urlGenerator.createUrl({ - indexPatternId: 'logs-*', - filters: [ - { - meta: { - index: 'logs-*', - alias: null, - negate: false, - disabled: false, - type: 'phrase', - key: 'action_id', - params: { query: actionId }, - }, - query: { match_phrase: { action_id: actionId } }, - $state: { store: FilterStateStore.APP_STATE }, - }, - ], - refreshInterval: { - pause: true, - value: 0, - }, - timeRange: - startDate && endDate - ? { - to: endDate, - from: startDate, - mode: 'absolute', - } - : { - to: 'now', - from: 'now-1d', - mode: 'relative', - }, - }); - setDiscoverUrl(newUrl); - }; - getDiscoverUrl(); - }, [actionId, endDate, startDate, urlGenerator]); - - if (buttonType === ViewResultsActionButtonType.button) { - return ( - - {VIEW_IN_DISCOVER} - - ); - } - - return ( - - - - ); -}; - -export const ViewResultsInDiscoverAction = React.memo(ViewResultsInDiscoverActionComponent); - interface ScheduledQueryGroupQueriesTableProps { data: OsqueryManagerPackagePolicyInputStream[]; - editMode?: boolean; onDeleteClick?: (item: OsqueryManagerPackagePolicyInputStream) => void; onEditClick?: (item: OsqueryManagerPackagePolicyInputStream) => void; selectedItems?: OsqueryManagerPackagePolicyInputStream[]; @@ -296,7 +23,6 @@ interface ScheduledQueryGroupQueriesTableProps { const ScheduledQueryGroupQueriesTableComponent: React.FC = ({ data, - editMode = false, onDeleteClick, onEditClick, selectedItems, @@ -370,26 +96,6 @@ const ScheduledQueryGroupQueriesTableComponent: React.FC ( - - ), - [] - ); - - const renderLensResultsAction = useCallback( - (item) => ( - - ), - [] - ); - const columns = useMemo( () => [ { @@ -428,42 +134,23 @@ const ScheduledQueryGroupQueriesTableComponent: React.FC ); }; diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_groups_table.tsx b/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_groups_table.tsx index 391e20c63653f..82fca0020d2bc 100644 --- a/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_groups_table.tsx +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/scheduled_query_groups_table.tsx @@ -6,7 +6,7 @@ */ import { EuiInMemoryTable, EuiBasicTableColumn, EuiLink } from '@elastic/eui'; -import moment from 'moment'; +import moment from 'moment-timezone'; import React, { useCallback, useMemo } from 'react'; import { i18n } from '@kbn/i18n'; diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group.ts b/x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group.ts index d6bad026a53d2..6b6acc30036cc 100644 --- a/x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group.ts +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group.ts @@ -33,6 +33,10 @@ export const useScheduledQueryGroup = ({ keepPreviousData: true, enabled: !skip || !scheduledQueryGroupId, select: (response) => response.item, + refetchOnMount: false, + refetchOnReconnect: false, + refetchOnWindowFocus: false, + staleTime: Infinity, } ); }; diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts b/x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts new file mode 100644 index 0000000000000..31d98ee6204e9 --- /dev/null +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_errors.ts @@ -0,0 +1,91 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useQuery } from 'react-query'; +import { SortDirection } from '../../../../../src/plugins/data/common'; + +import { useKibana } from '../common/lib/kibana'; + +interface UseScheduledQueryGroupQueryErrorsProps { + actionId: string; + agentIds?: string[]; + interval: number; + skip?: boolean; +} + +export const useScheduledQueryGroupQueryErrors = ({ + actionId, + agentIds, + interval, + skip = false, +}: UseScheduledQueryGroupQueryErrorsProps) => { + const data = useKibana().services.data; + + return useQuery( + ['scheduledQueryErrors', { actionId, interval }], + async () => { + const indexPattern = await data.indexPatterns.find('logs-*'); + const searchSource = await data.search.searchSource.create({ + index: indexPattern[0], + fields: ['*'], + sort: [ + { + '@timestamp': SortDirection.desc, + }, + ], + query: { + // @ts-expect-error update types + bool: { + should: agentIds?.map((agentId) => ({ + match_phrase: { + 'elastic_agent.id': agentId, + }, + })), + minimum_should_match: 1, + filter: [ + { + match_phrase: { + message: 'Error', + }, + }, + { + match_phrase: { + 'data_stream.dataset': 'elastic_agent.osquerybeat', + }, + }, + { + match_phrase: { + message: actionId, + }, + }, + { + range: { + '@timestamp': { + gte: `now-${interval * 2}s`, + lte: 'now', + }, + }, + }, + ], + }, + }, + size: 1000, + }); + + return searchSource.fetch$().toPromise(); + }, + { + keepPreviousData: true, + enabled: !!(!skip && actionId && interval && agentIds?.length), + select: (response) => response.rawResponse.hits ?? [], + refetchOnMount: false, + refetchOnReconnect: false, + refetchOnWindowFocus: false, + staleTime: Infinity, + } + ); +}; diff --git a/x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts b/x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts new file mode 100644 index 0000000000000..21117a4a0f83d --- /dev/null +++ b/x-pack/plugins/osquery/public/scheduled_query_groups/use_scheduled_query_group_query_last_results.ts @@ -0,0 +1,88 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useQuery } from 'react-query'; + +import { useKibana } from '../common/lib/kibana'; + +interface UseScheduledQueryGroupQueryLastResultsProps { + actionId: string; + agentIds?: string[]; + interval: number; + skip?: boolean; +} + +export const useScheduledQueryGroupQueryLastResults = ({ + actionId, + agentIds, + interval, + skip = false, +}: UseScheduledQueryGroupQueryLastResultsProps) => { + const data = useKibana().services.data; + + return useQuery( + ['scheduledQueryLastResults', { actionId }], + async () => { + const indexPattern = await data.indexPatterns.find('logs-*'); + const searchSource = await data.search.searchSource.create({ + index: indexPattern[0], + size: 0, + aggs: { + runs: { + terms: { + field: 'response_id', + order: { first_event_ingested_time: 'desc' }, + size: 1, + }, + aggs: { + first_event_ingested_time: { min: { field: '@timestamp' } }, + unique_agents: { cardinality: { field: 'agent.id' } }, + }, + }, + }, + query: { + // @ts-expect-error update types + bool: { + should: agentIds?.map((agentId) => ({ + match_phrase: { + 'agent.id': agentId, + }, + })), + minimum_should_match: 1, + filter: [ + { + match_phrase: { + action_id: actionId, + }, + }, + { + range: { + '@timestamp': { + gte: `now-${interval * 2}s`, + lte: 'now', + }, + }, + }, + ], + }, + }, + }); + + return searchSource.fetch$().toPromise(); + }, + { + keepPreviousData: true, + enabled: !!(!skip && actionId && interval && agentIds?.length), + // @ts-expect-error update types + select: (response) => response.rawResponse.aggregations?.runs?.buckets[0] ?? [], + refetchOnMount: false, + refetchOnReconnect: false, + refetchOnWindowFocus: false, + staleTime: Infinity, + } + ); +}; diff --git a/x-pack/plugins/osquery/server/routes/action/create_action_route.ts b/x-pack/plugins/osquery/server/routes/action/create_action_route.ts index 79c1149675b0d..aed6c34d33f94 100644 --- a/x-pack/plugins/osquery/server/routes/action/create_action_route.ts +++ b/x-pack/plugins/osquery/server/routes/action/create_action_route.ts @@ -6,7 +6,7 @@ */ import uuid from 'uuid'; -import moment from 'moment'; +import moment from 'moment-timezone'; import { PLUGIN_ID } from '../../../common'; import { IRouter } from '../../../../../../src/core/server'; diff --git a/yarn.lock b/yarn.lock index 93410848f708b..fd917bdccfd1f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23271,10 +23271,10 @@ react-popper@^2.2.4: react-fast-compare "^3.0.1" warning "^4.0.2" -react-query@^3.18.1: - version "3.18.1" - resolved "https://registry.yarnpkg.com/react-query/-/react-query-3.18.1.tgz#893b5475a7b4add099e007105317446f7a2cd310" - integrity sha512-17lv3pQxU9n+cB5acUv0/cxNTjo9q8G+RsedC6Ax4V9D8xEM7Q5xf9xAbCPdEhDrrnzPjTls9fQEABKRSi7OJA== +react-query@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/react-query/-/react-query-3.21.0.tgz#2e099a7906c38eeeb750e8b9b12121a21fa8d9ef" + integrity sha512-5rY5J8OD9f4EdkytjSsdCO+pqbJWKwSIMETfh/UyxqyjLURHE0IhlB+IPNPrzzu/dzK0rRxi5p0IkcCdSfizDQ== dependencies: "@babel/runtime" "^7.5.5" broadcast-channel "^3.4.1" From c43429c13b6994a091b69651009dd6bc5ece5709 Mon Sep 17 00:00:00 2001 From: spalger Date: Wed, 25 Aug 2021 17:21:56 -0700 Subject: [PATCH 056/139] skip all tests in failure config (#110153) --- .../rule_registry/security_and_spaces/tests/basic/index.ts | 3 ++- .../security_and_spaces/tests/trial/get_alerts.ts | 3 +-- .../rule_registry/security_and_spaces/tests/trial/index.ts | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/basic/index.ts b/x-pack/test/rule_registry/security_and_spaces/tests/basic/index.ts index 756a2ffb4a598..e4512798db7d3 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/basic/index.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/basic/index.ts @@ -10,7 +10,8 @@ import { createSpacesAndUsers, deleteSpacesAndUsers } from '../../../common/lib/ // eslint-disable-next-line import/no-default-export export default ({ loadTestFile, getService }: FtrProviderContext): void => { - describe('rules security and spaces enabled: basic', function () { + // FAILING: https://github.com/elastic/kibana/issues/110153 + describe.skip('rules security and spaces enabled: basic', function () { // Fastest ciGroup for the moment. this.tags('ciGroup5'); diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts b/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts index c9073930ffda3..a97e9182c9b49 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/trial/get_alerts.ts @@ -44,8 +44,7 @@ export default ({ getService }: FtrProviderContext) => { return observabilityIndex; }; - // FAILING: https://github.com/elastic/kibana/issues/110153 - describe.skip('rbac with subfeatures', () => { + describe('rbac with subfeatures', () => { before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/rule_registry/alerts'); }); diff --git a/x-pack/test/rule_registry/security_and_spaces/tests/trial/index.ts b/x-pack/test/rule_registry/security_and_spaces/tests/trial/index.ts index 5e89f99200f2d..3e13d64b936a4 100644 --- a/x-pack/test/rule_registry/security_and_spaces/tests/trial/index.ts +++ b/x-pack/test/rule_registry/security_and_spaces/tests/trial/index.ts @@ -37,7 +37,8 @@ import { // eslint-disable-next-line import/no-default-export export default ({ loadTestFile, getService }: FtrProviderContext): void => { - describe('rules security and spaces enabled: trial', function () { + // FAILING: https://github.com/elastic/kibana/issues/110153 + describe.skip('rules security and spaces enabled: trial', function () { // Fastest ciGroup for the moment. this.tags('ciGroup5'); From a50a87955cb433961bd72d0e662e1e53f09b49c5 Mon Sep 17 00:00:00 2001 From: Scotty Bollinger Date: Thu, 26 Aug 2021 00:32:13 -0500 Subject: [PATCH 057/139] Fix flakey test (#110154) --- .../credential_item/credential_item.test.tsx | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/credential_item/credential_item.test.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/credential_item/credential_item.test.tsx index 26bbbc4bed9e8..101d1e0eb2239 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/credential_item/credential_item.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/credential_item/credential_item.test.tsx @@ -20,18 +20,6 @@ const value = 'foo'; const props = { label, testSubj, value }; describe('CredentialItem', () => { - const setState = jest.fn(); - const useStateMock: any = (initState: any) => [initState, setState]; - - beforeEach(() => { - jest.spyOn(React, 'useState').mockImplementation(useStateMock); - setState(false); - }); - - afterEach(() => { - jest.clearAllMocks(); - }); - it('renders', () => { const wrapper = shallow(); @@ -52,16 +40,15 @@ describe('CredentialItem', () => { expect(wrapper.find(EuiCopy)).toHaveLength(0); }); - it.skip('handles credential visible toggle click', () => { + it('handles credential visible toggle click', () => { const wrapper = shallow(); const button = wrapper.find(EuiButtonIcon).dive().find('button'); button.simulate('click'); - expect(setState).toHaveBeenCalled(); expect(wrapper.find(EuiFieldText)).toHaveLength(1); }); - it.skip('handles select all button click', () => { + it('handles select all button click', () => { const wrapper = shallow(); // Toggle isVisible before EuiFieldText is visible const button = wrapper.find(EuiButtonIcon).dive().find('button'); From de7ae4138d23d95662d7c286c73cff155d395f85 Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Thu, 26 Aug 2021 08:43:46 +0200 Subject: [PATCH 058/139] fixes 'Marking alerts as acknowledged' test (#110032) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../integration/detection_alerts/acknowledged.spec.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/x-pack/plugins/security_solution/cypress/integration/detection_alerts/acknowledged.spec.ts b/x-pack/plugins/security_solution/cypress/integration/detection_alerts/acknowledged.spec.ts index d81c444824a2a..5d72105178b69 100644 --- a/x-pack/plugins/security_solution/cypress/integration/detection_alerts/acknowledged.spec.ts +++ b/x-pack/plugins/security_solution/cypress/integration/detection_alerts/acknowledged.spec.ts @@ -12,11 +12,9 @@ import { selectNumberOfAlerts, waitForAlertsPanelToBeLoaded, waitForAlerts, - waitForAlertsToBeLoaded, markAcknowledgedFirstAlert, goToAcknowledgedAlerts, waitForAlertsIndexToBeCreated, - goToOpenedAlerts, } from '../../tasks/alerts'; import { createCustomRuleActivated } from '../../tasks/api_calls/rules'; import { cleanKibana } from '../../tasks/common'; @@ -26,7 +24,7 @@ import { refreshPage } from '../../tasks/security_header'; import { ALERTS_URL } from '../../urls/navigation'; -describe.skip('Marking alerts as acknowledged', () => { +describe('Marking alerts as acknowledged', () => { beforeEach(() => { cleanKibana(); loginAndWaitForPage(ALERTS_URL); @@ -50,10 +48,6 @@ describe.skip('Marking alerts as acknowledged', () => { cy.get(TAKE_ACTION_POPOVER_BTN).should('exist'); markAcknowledgedFirstAlert(); - refreshPage(); - waitForAlertsToBeLoaded(); - goToOpenedAlerts(); - waitForAlertsToBeLoaded(); const expectedNumberOfAlerts = +numberOfAlerts - numberOfAlertsToBeMarkedAcknowledged; cy.get(ALERTS_COUNT).should('have.text', `${expectedNumberOfAlerts} alerts`); From 9e04d2c5c7b2139b7e23743b133ea79bf93f5ba3 Mon Sep 17 00:00:00 2001 From: Jean-Louis Leysens Date: Thu, 26 Aug 2021 09:53:28 +0200 Subject: [PATCH 059/139] [Reporting/Dashboard] Update integration to use v2 reports (#108553) * very wip, updating dashboard integration to use v2 reports. at the moment time filters are not working correctly * added missing dependency to hook * added tests and refined ForwadedAppState interface * remove unused import * updated test because generating a report from an unsaved report is possible * migrated locator to forward state on history only, reordered methods on react component * remove unused import * update locator test and use panel index number if panelIndex does not exist * ensure locator params are serializable * - moved getSerializableRecord to locator.ts to ensure that the values we get from it will never contain something that cannot be passed to history.push - updated types to remove some `& SerializableRecord` instances - fixed embeddable drilldown Jest tests given that we no longer expect state to be in the URL * update generated api docs * remove unused variable * - removed SerializedRecord extension from dashboard locator params interface - factored out state conversion logic from the locator getLocation * updated locator jest tests and SerializableRecord types * explicitly map values to dashboardlocatorparams and export serializable params type * use serializable params type in embeddable * factored out logic for converting panels to dashboard panels map * use "type =" instead of "interface" * big update to locator params: type fixes and added options key * added comment about why we are using "type" alias instead of "interface" declaration * simplify is v2 job param check Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../kibana-plugin-plugins-data-public.md | 2 +- ...gin-plugins-data-public.refreshinterval.md | 15 +- ...ugins-data-public.refreshinterval.pause.md | 11 - ...ugins-data-public.refreshinterval.value.md | 11 - src/plugins/dashboard/common/bwc/types.ts | 3 +- .../dashboard/common/embeddable/types.ts | 5 +- .../dashboard/common/migrate_to_730_panels.ts | 7 +- .../hooks/use_dashboard_app_state.ts | 9 + .../lib/convert_dashboard_state.ts | 14 +- .../lib/convert_saved_panels_to_panel_map.ts | 18 ++ .../dashboard/public/application/lib/index.ts | 1 + .../load_dashboard_history_location_state.ts | 29 +++ .../lib/load_dashboard_url_state.ts | 11 +- .../application/lib/migrate_app_state.ts | 3 +- .../application/top_nav/dashboard_top_nav.tsx | 4 +- .../application/top_nav/show_share_modal.tsx | 49 ++++- src/plugins/dashboard/public/locator.test.ts | 190 +++++++++++++++--- src/plugins/dashboard/public/locator.ts | 60 ++++-- src/plugins/dashboard/public/types.ts | 8 +- .../data/common/query/timefilter/types.ts | 9 +- src/plugins/data/public/public.api.md | 6 +- ...embeddable_to_dashboard_drilldown.test.tsx | 46 ++++- x-pack/plugins/reporting/common/job_utils.ts | 2 +- .../register_pdf_png_reporting.tsx | 5 +- .../reporting_panel_content.tsx | 8 +- .../apps/dashboard/reporting/screenshots.ts | 12 +- 26 files changed, 388 insertions(+), 150 deletions(-) delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.pause.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.value.md create mode 100644 src/plugins/dashboard/public/application/lib/convert_saved_panels_to_panel_map.ts create mode 100644 src/plugins/dashboard/public/application/lib/load_dashboard_history_location_state.ts diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md index 185dd771c4ace..7548aa62eb313 100644 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md @@ -80,7 +80,6 @@ | [QuerySuggestionField](./kibana-plugin-plugins-data-public.querysuggestionfield.md) | \* | | [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) | \* | | [Reason](./kibana-plugin-plugins-data-public.reason.md) | | -| [RefreshInterval](./kibana-plugin-plugins-data-public.refreshinterval.md) | | | [SavedQuery](./kibana-plugin-plugins-data-public.savedquery.md) | | | [SavedQueryService](./kibana-plugin-plugins-data-public.savedqueryservice.md) | | | [SearchSessionInfoProvider](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.md) | Provide info about current search session to be stored in the Search Session saved object | @@ -176,6 +175,7 @@ | [RangeFilter](./kibana-plugin-plugins-data-public.rangefilter.md) | | | [RangeFilterMeta](./kibana-plugin-plugins-data-public.rangefiltermeta.md) | | | [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) | | +| [RefreshInterval](./kibana-plugin-plugins-data-public.refreshinterval.md) | | | [SavedQueryTimeFilter](./kibana-plugin-plugins-data-public.savedquerytimefilter.md) | | | [SearchBarProps](./kibana-plugin-plugins-data-public.searchbarprops.md) | | | [StatefulSearchBarProps](./kibana-plugin-plugins-data-public.statefulsearchbarprops.md) | | diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.md index 6a6350d8ba4f6..b6067e081b943 100644 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.md +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.md @@ -2,18 +2,13 @@ [Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RefreshInterval](./kibana-plugin-plugins-data-public.refreshinterval.md) -## RefreshInterval interface +## RefreshInterval type Signature: ```typescript -export interface RefreshInterval +export declare type RefreshInterval = { + pause: boolean; + value: number; +}; ``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [pause](./kibana-plugin-plugins-data-public.refreshinterval.pause.md) | boolean | | -| [value](./kibana-plugin-plugins-data-public.refreshinterval.value.md) | number | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.pause.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.pause.md deleted file mode 100644 index fb854fcbbc277..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.pause.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RefreshInterval](./kibana-plugin-plugins-data-public.refreshinterval.md) > [pause](./kibana-plugin-plugins-data-public.refreshinterval.pause.md) - -## RefreshInterval.pause property - -Signature: - -```typescript -pause: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.value.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.value.md deleted file mode 100644 index 021a01391b71e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.value.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RefreshInterval](./kibana-plugin-plugins-data-public.refreshinterval.md) > [value](./kibana-plugin-plugins-data-public.refreshinterval.value.md) - -## RefreshInterval.value property - -Signature: - -```typescript -value: number; -``` diff --git a/src/plugins/dashboard/common/bwc/types.ts b/src/plugins/dashboard/common/bwc/types.ts index f3c384a76c391..ba479210cb009 100644 --- a/src/plugins/dashboard/common/bwc/types.ts +++ b/src/plugins/dashboard/common/bwc/types.ts @@ -7,6 +7,7 @@ */ import { SavedObjectReference } from 'kibana/public'; +import type { Serializable } from '@kbn/utility-types'; import { GridData } from '../'; @@ -110,7 +111,7 @@ export type RawSavedDashboardPanel630 = RawSavedDashboardPanel620; // In 6.2 we added an inplace migration, moving uiState into each panel's new embeddableConfig property. // Source: https://github.com/elastic/kibana/pull/14949 export type RawSavedDashboardPanel620 = RawSavedDashboardPanel610 & { - embeddableConfig: { [key: string]: unknown }; + embeddableConfig: { [key: string]: Serializable }; version: string; }; diff --git a/src/plugins/dashboard/common/embeddable/types.ts b/src/plugins/dashboard/common/embeddable/types.ts index 83507d21665d9..d786078766f78 100644 --- a/src/plugins/dashboard/common/embeddable/types.ts +++ b/src/plugins/dashboard/common/embeddable/types.ts @@ -6,10 +6,11 @@ * Side Public License, v 1. */ -export interface GridData { +// eslint-disable-next-line @typescript-eslint/consistent-type-definitions +export type GridData = { w: number; h: number; x: number; y: number; i: string; -} +}; diff --git a/src/plugins/dashboard/common/migrate_to_730_panels.ts b/src/plugins/dashboard/common/migrate_to_730_panels.ts index 48c3ddb463ed8..ad0fa7658b6fa 100644 --- a/src/plugins/dashboard/common/migrate_to_730_panels.ts +++ b/src/plugins/dashboard/common/migrate_to_730_panels.ts @@ -7,6 +7,7 @@ */ import { i18n } from '@kbn/i18n'; +import type { SerializableRecord } from '@kbn/utility-types'; import semverSatisfies from 'semver/functions/satisfies'; import uuid from 'uuid'; import { @@ -80,7 +81,7 @@ function migratePre61PanelToLatest( panel: RawSavedDashboardPanelTo60, version: string, useMargins: boolean, - uiState?: { [key: string]: { [key: string]: unknown } } + uiState?: { [key: string]: SerializableRecord } ): RawSavedDashboardPanel730ToLatest { if (panel.col === undefined || panel.row === undefined) { throw new Error( @@ -138,7 +139,7 @@ function migrate610PanelToLatest( panel: RawSavedDashboardPanel610, version: string, useMargins: boolean, - uiState?: { [key: string]: { [key: string]: unknown } } + uiState?: { [key: string]: SerializableRecord } ): RawSavedDashboardPanel730ToLatest { (['w', 'x', 'h', 'y'] as Array).forEach((key) => { if (panel.gridData[key] === undefined) { @@ -273,7 +274,7 @@ export function migratePanelsTo730( >, version: string, useMargins: boolean, - uiState?: { [key: string]: { [key: string]: unknown } } + uiState?: { [key: string]: SerializableRecord } ): RawSavedDashboardPanel730ToLatest[] { return panels.map((panel) => { if (isPre61Panel(panel)) { diff --git a/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts b/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts index 9df486c677dda..c01cd43b1f1e3 100644 --- a/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts +++ b/src/plugins/dashboard/public/application/hooks/use_dashboard_app_state.ts @@ -25,7 +25,9 @@ import { DashboardRedirect, DashboardState, } from '../../types'; +import { DashboardAppLocatorParams } from '../../locator'; import { + loadDashboardHistoryLocationState, tryDestroyDashboardContainer, syncDashboardContainerInput, savedObjectToDashboardState, @@ -88,6 +90,7 @@ export const useDashboardAppState = ({ savedObjectsTagging, dashboardCapabilities, dashboardSessionStorage, + scopedHistory, } = services; const { docTitle } = chrome; const { notifications } = core; @@ -149,10 +152,15 @@ export const useDashboardAppState = ({ */ const dashboardSessionStorageState = dashboardSessionStorage.getState(savedDashboardId) || {}; const dashboardURLState = loadDashboardUrlState(dashboardBuildContext); + const forwardedAppState = loadDashboardHistoryLocationState( + scopedHistory()?.location?.state as undefined | DashboardAppLocatorParams + ); + const initialDashboardState = { ...savedDashboardState, ...dashboardSessionStorageState, ...dashboardURLState, + ...forwardedAppState, // if there is an incoming embeddable, dashboard always needs to be in edit mode to receive it. ...(incomingEmbeddable ? { viewMode: ViewMode.EDIT } : {}), @@ -312,6 +320,7 @@ export const useDashboardAppState = ({ getStateTransfer, savedDashboards, usageCollection, + scopedHistory, notifications, indexPatterns, kibanaVersion, diff --git a/src/plugins/dashboard/public/application/lib/convert_dashboard_state.ts b/src/plugins/dashboard/public/application/lib/convert_dashboard_state.ts index d17f8405d734f..ad84b794a2379 100644 --- a/src/plugins/dashboard/public/application/lib/convert_dashboard_state.ts +++ b/src/plugins/dashboard/public/application/lib/convert_dashboard_state.ts @@ -11,19 +11,15 @@ import type { KibanaExecutionContext } from 'src/core/public'; import { DashboardSavedObject } from '../../saved_dashboards'; import { getTagsFromSavedDashboard, migrateAppState } from '.'; import { EmbeddablePackageState, ViewMode } from '../../services/embeddable'; -import { - convertPanelStateToSavedDashboardPanel, - convertSavedDashboardPanelToPanelState, -} from '../../../common/embeddable/embeddable_saved_object_converters'; +import { convertPanelStateToSavedDashboardPanel } from '../../../common/embeddable/embeddable_saved_object_converters'; import { DashboardState, RawDashboardState, - DashboardPanelMap, - SavedDashboardPanel, DashboardAppServices, DashboardContainerInput, DashboardBuildContext, } from '../../types'; +import { convertSavedPanelsToPanelMap } from './convert_saved_panels_to_panel_map'; interface SavedObjectToDashboardStateProps { version: string; @@ -77,11 +73,7 @@ export const savedObjectToDashboardState = ({ usageCollection ); - const panels: DashboardPanelMap = {}; - rawState.panels?.forEach((panel: SavedDashboardPanel) => { - panels[panel.panelIndex] = convertSavedDashboardPanelToPanelState(panel); - }); - return { ...rawState, panels }; + return { ...rawState, panels: convertSavedPanelsToPanelMap(rawState.panels) }; }; /** diff --git a/src/plugins/dashboard/public/application/lib/convert_saved_panels_to_panel_map.ts b/src/plugins/dashboard/public/application/lib/convert_saved_panels_to_panel_map.ts new file mode 100644 index 0000000000000..b91940f45081b --- /dev/null +++ b/src/plugins/dashboard/public/application/lib/convert_saved_panels_to_panel_map.ts @@ -0,0 +1,18 @@ +/* + * 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. + */ + +import { convertSavedDashboardPanelToPanelState } from '../../../common/embeddable/embeddable_saved_object_converters'; +import type { SavedDashboardPanel, DashboardPanelMap } from '../../types'; + +export const convertSavedPanelsToPanelMap = (panels?: SavedDashboardPanel[]): DashboardPanelMap => { + const panelsMap: DashboardPanelMap = {}; + panels?.forEach((panel, idx) => { + panelsMap![panel.panelIndex ?? String(idx)] = convertSavedDashboardPanelToPanelState(panel); + }); + return panelsMap; +}; diff --git a/src/plugins/dashboard/public/application/lib/index.ts b/src/plugins/dashboard/public/application/lib/index.ts index 937c1d2a77c06..9aba481c3fb86 100644 --- a/src/plugins/dashboard/public/application/lib/index.ts +++ b/src/plugins/dashboard/public/application/lib/index.ts @@ -20,6 +20,7 @@ export { syncDashboardFilterState } from './sync_dashboard_filter_state'; export { syncDashboardIndexPatterns } from './sync_dashboard_index_patterns'; export { syncDashboardContainerInput } from './sync_dashboard_container_input'; export { diffDashboardContainerInput, diffDashboardState } from './diff_dashboard_state'; +export { loadDashboardHistoryLocationState } from './load_dashboard_history_location_state'; export { buildDashboardContainer, tryDestroyDashboardContainer } from './build_dashboard_container'; export { stateToDashboardContainerInput, diff --git a/src/plugins/dashboard/public/application/lib/load_dashboard_history_location_state.ts b/src/plugins/dashboard/public/application/lib/load_dashboard_history_location_state.ts new file mode 100644 index 0000000000000..d20e14cea74b5 --- /dev/null +++ b/src/plugins/dashboard/public/application/lib/load_dashboard_history_location_state.ts @@ -0,0 +1,29 @@ +/* + * 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. + */ + +import { ForwardedDashboardState } from '../../locator'; +import { DashboardState } from '../../types'; +import { convertSavedPanelsToPanelMap } from './convert_saved_panels_to_panel_map'; + +export const loadDashboardHistoryLocationState = ( + state?: ForwardedDashboardState +): Partial => { + if (!state) { + return {}; + } + + const { panels, ...restOfState } = state; + if (!panels?.length) { + return restOfState; + } + + return { + ...restOfState, + ...{ panels: convertSavedPanelsToPanelMap(panels) }, + }; +}; diff --git a/src/plugins/dashboard/public/application/lib/load_dashboard_url_state.ts b/src/plugins/dashboard/public/application/lib/load_dashboard_url_state.ts index efff2ba6bc087..f76382c1fbbdd 100644 --- a/src/plugins/dashboard/public/application/lib/load_dashboard_url_state.ts +++ b/src/plugins/dashboard/public/application/lib/load_dashboard_url_state.ts @@ -11,15 +11,14 @@ import _ from 'lodash'; import { migrateAppState } from '.'; import { replaceUrlHashQuery } from '../../../../kibana_utils/public'; import { DASHBOARD_STATE_STORAGE_KEY } from '../../dashboard_constants'; -import { convertSavedDashboardPanelToPanelState } from '../../../common/embeddable/embeddable_saved_object_converters'; -import { +import type { DashboardBuildContext, DashboardPanelMap, DashboardState, RawDashboardState, - SavedDashboardPanel, } from '../../types'; import { migrateLegacyQuery } from './migrate_legacy_query'; +import { convertSavedPanelsToPanelMap } from './convert_saved_panels_to_panel_map'; /** * Loads any dashboard state from the URL, and removes the state from the URL. @@ -32,12 +31,10 @@ export const loadDashboardUrlState = ({ const rawAppStateInUrl = kbnUrlStateStorage.get(DASHBOARD_STATE_STORAGE_KEY); if (!rawAppStateInUrl) return {}; - const panelsMap: DashboardPanelMap = {}; + let panelsMap: DashboardPanelMap = {}; if (rawAppStateInUrl.panels && rawAppStateInUrl.panels.length > 0) { const rawState = migrateAppState(rawAppStateInUrl, kibanaVersion, usageCollection); - rawState.panels?.forEach((panel: SavedDashboardPanel) => { - panelsMap[panel.panelIndex] = convertSavedDashboardPanelToPanelState(panel); - }); + panelsMap = convertSavedPanelsToPanelMap(rawState.panels); } const migratedQuery = rawAppStateInUrl.query diff --git a/src/plugins/dashboard/public/application/lib/migrate_app_state.ts b/src/plugins/dashboard/public/application/lib/migrate_app_state.ts index fb8ef1b9ba2da..06290205d65df 100644 --- a/src/plugins/dashboard/public/application/lib/migrate_app_state.ts +++ b/src/plugins/dashboard/public/application/lib/migrate_app_state.ts @@ -7,6 +7,7 @@ */ import semverSatisfies from 'semver/functions/satisfies'; +import type { SerializableRecord } from '@kbn/utility-types'; import { i18n } from '@kbn/i18n'; import { METRIC_TYPE } from '@kbn/analytics'; @@ -75,7 +76,7 @@ export function migrateAppState( >, kibanaVersion, appState.useMargins as boolean, - appState.uiState as Record> + appState.uiState as { [key: string]: SerializableRecord } ) as SavedDashboardPanel[]; delete appState.uiState; } diff --git a/src/plugins/dashboard/public/application/top_nav/dashboard_top_nav.tsx b/src/plugins/dashboard/public/application/top_nav/dashboard_top_nav.tsx index 80368d52cb110..e6a2c41fd4ecb 100644 --- a/src/plugins/dashboard/public/application/top_nav/dashboard_top_nav.tsx +++ b/src/plugins/dashboard/public/application/top_nav/dashboard_top_nav.tsx @@ -404,6 +404,7 @@ export function DashboardTopNav({ (anchorElement: HTMLElement) => { if (!share) return; const currentState = dashboardAppState.getLatestDashboardState(); + const timeRange = timefilter.getTime(); ShowShareModal({ share, kibanaVersion, @@ -412,9 +413,10 @@ export function DashboardTopNav({ currentDashboardState: currentState, savedDashboard: dashboardAppState.savedDashboard, isDirty: Boolean(dashboardAppState.hasUnsavedChanges), + timeRange, }); }, - [dashboardAppState, dashboardCapabilities, share, kibanaVersion] + [dashboardAppState, dashboardCapabilities, share, kibanaVersion, timefilter] ); const dashboardTopNavActions = useMemo(() => { diff --git a/src/plugins/dashboard/public/application/top_nav/show_share_modal.tsx b/src/plugins/dashboard/public/application/top_nav/show_share_modal.tsx index 239d2bf72b9c1..b9c77dec87b66 100644 --- a/src/plugins/dashboard/public/application/top_nav/show_share_modal.tsx +++ b/src/plugins/dashboard/public/application/top_nav/show_share_modal.tsx @@ -6,16 +6,20 @@ * Side Public License, v 1. */ -import { Capabilities } from 'src/core/public'; import { EuiCheckboxGroup } from '@elastic/eui'; -import React from 'react'; -import { ReactElement, useState } from 'react'; +import { i18n } from '@kbn/i18n'; +import moment from 'moment'; +import React, { ReactElement, useState } from 'react'; +import type { Capabilities } from 'src/core/public'; import { DashboardSavedObject } from '../..'; +import { shareModalStrings } from '../../dashboard_strings'; +import { DashboardAppLocatorParams, DASHBOARD_APP_LOCATOR } from '../../locator'; +import { TimeRange } from '../../services/data'; +import { ViewMode } from '../../services/embeddable'; import { setStateToKbnUrl, unhashUrl } from '../../services/kibana_utils'; import { SharePluginStart } from '../../services/share'; -import { dashboardUrlParams } from '../dashboard_router'; -import { shareModalStrings } from '../../dashboard_strings'; import { DashboardAppCapabilities, DashboardState } from '../../types'; +import { dashboardUrlParams } from '../dashboard_router'; import { stateToRawDashboardState } from '../lib/convert_dashboard_state'; const showFilterBarId = 'showFilterBar'; @@ -28,6 +32,7 @@ interface ShowShareModalProps { savedDashboard: DashboardSavedObject; currentDashboardState: DashboardState; dashboardCapabilities: DashboardAppCapabilities; + timeRange: TimeRange; } export const showPublicUrlSwitch = (anonymousUserCapabilities: Capabilities) => { @@ -46,6 +51,7 @@ export function ShowShareModal({ savedDashboard, dashboardCapabilities, currentDashboardState, + timeRange, }: ShowShareModalProps) { const EmbedUrlParamExtension = ({ setParamValue, @@ -104,6 +110,25 @@ export function ShowShareModal({ ); }; + const rawDashboardState = stateToRawDashboardState({ + state: currentDashboardState, + version: kibanaVersion, + }); + + const locatorParams: DashboardAppLocatorParams = { + dashboardId: savedDashboard.id, + filters: rawDashboardState.filters, + preserveSavedFilters: true, + query: rawDashboardState.query, + savedQuery: rawDashboardState.savedQuery, + useHash: false, + panels: rawDashboardState.panels, + timeRange, + viewMode: ViewMode.VIEW, // For share locators we always load the dashboard in view mode + refreshInterval: undefined, // We don't share refresh interval externally + options: rawDashboardState.options, + }; + share.toggleShareContextMenu({ isDirty, anchorElement, @@ -111,14 +136,24 @@ export function ShowShareModal({ allowShortUrl: dashboardCapabilities.createShortUrl, shareableUrl: setStateToKbnUrl( '_a', - stateToRawDashboardState({ state: currentDashboardState, version: kibanaVersion }), + rawDashboardState, { useHash: false, storeInHashQuery: true }, unhashUrl(window.location.href) ), objectId: savedDashboard.id, objectType: 'dashboard', sharingData: { - title: savedDashboard.title, + title: + savedDashboard.title || + i18n.translate('dashboard.share.defaultDashboardTitle', { + defaultMessage: 'Dashboard [{date}]', + values: { date: moment().toISOString(true) }, + }), + locatorParams: { + id: DASHBOARD_APP_LOCATOR, + version: kibanaVersion, + params: locatorParams, + }, }, embedUrlParamExtensions: [ { diff --git a/src/plugins/dashboard/public/locator.test.ts b/src/plugins/dashboard/public/locator.test.ts index 0b647ac00ce31..f3f5aec9f478c 100644 --- a/src/plugins/dashboard/public/locator.test.ts +++ b/src/plugins/dashboard/public/locator.test.ts @@ -17,7 +17,7 @@ describe('dashboard locator', () => { hashedItemStore.storage = mockStorage; }); - test('creates a link to a saved dashboard', async () => { + test('creates a link to an unsaved dashboard', async () => { const definition = new DashboardAppLocatorDefinition({ useHashedUrl: false, getDashboardFilterFields: async (dashboardId: string) => [], @@ -26,7 +26,7 @@ describe('dashboard locator', () => { expect(location).toMatchObject({ app: 'dashboards', - path: '#/create?_a=()&_g=()', + path: '#/create?_g=()', state: {}, }); }); @@ -42,8 +42,14 @@ describe('dashboard locator', () => { expect(location).toMatchObject({ app: 'dashboards', - path: '#/create?_a=()&_g=(time:(from:now-15m,mode:relative,to:now))', - state: {}, + path: '#/create?_g=(time:(from:now-15m,mode:relative,to:now))', + state: { + timeRange: { + from: 'now-15m', + mode: 'relative', + to: 'now', + }, + }, }); }); @@ -82,8 +88,47 @@ describe('dashboard locator', () => { expect(location).toMatchObject({ app: 'dashboards', - path: `#/view/123?_a=(filters:!((meta:(alias:!n,disabled:!f,negate:!f),query:(query:hi))),query:(language:kuery,query:bye))&_g=(filters:!(('$state':(store:globalState),meta:(alias:!n,disabled:!f,negate:!f),query:(query:hi))),refreshInterval:(pause:!f,value:300),time:(from:now-15m,mode:relative,to:now))`, - state: {}, + path: `#/view/123?_g=(filters:!(('$state':(store:globalState),meta:(alias:!n,disabled:!f,negate:!f),query:(query:hi))),refreshInterval:(pause:!f,value:300),time:(from:now-15m,mode:relative,to:now))`, + state: { + filters: [ + { + meta: { + alias: null, + disabled: false, + negate: false, + }, + query: { + query: 'hi', + }, + }, + { + $state: { + store: 'globalState', + }, + meta: { + alias: null, + disabled: false, + negate: false, + }, + query: { + query: 'hi', + }, + }, + ], + query: { + language: 'kuery', + query: 'bye', + }, + refreshInterval: { + pause: false, + value: 300, + }, + timeRange: { + from: 'now-15m', + mode: 'relative', + to: 'now', + }, + }, }); }); @@ -103,8 +148,23 @@ describe('dashboard locator', () => { expect(location).toMatchObject({ app: 'dashboards', - path: `#/view/123?_a=(filters:!(),query:(language:kuery,query:bye))&_g=(filters:!(),refreshInterval:(pause:!f,value:300),time:(from:now-15m,mode:relative,to:now))&searchSessionId=__sessionSearchId__`, - state: {}, + path: `#/view/123?_g=(filters:!(),refreshInterval:(pause:!f,value:300),time:(from:now-15m,mode:relative,to:now))&searchSessionId=__sessionSearchId__`, + state: { + filters: [], + query: { + language: 'kuery', + query: 'bye', + }, + refreshInterval: { + pause: false, + value: 300, + }, + timeRange: { + from: 'now-15m', + mode: 'relative', + to: 'now', + }, + }, }); }); @@ -119,10 +179,11 @@ describe('dashboard locator', () => { expect(location).toMatchObject({ app: 'dashboards', - path: `#/create?_a=(savedQuery:__savedQueryId__)&_g=()`, - state: {}, + path: `#/create?_g=()`, + state: { + savedQuery: '__savedQueryId__', + }, }); - expect(location.path).toContain('__savedQueryId__'); }); test('panels', async () => { @@ -136,8 +197,10 @@ describe('dashboard locator', () => { expect(location).toMatchObject({ app: 'dashboards', - path: `#/create?_a=(panels:!((fakePanelContent:fakePanelContent)))&_g=()`, - state: {}, + path: `#/create?_g=()`, + state: { + panels: [{ fakePanelContent: 'fakePanelContent' }], + }, }); }); @@ -224,16 +287,62 @@ describe('dashboard locator', () => { filters: [appliedFilter], }); - expect(location1.path).toEqual(expect.stringContaining('query:savedfilter1')); - expect(location1.path).toEqual(expect.stringContaining('query:appliedfilter')); + expect(location1.path).toMatchInlineSnapshot(`"#/view/dashboard1?_g=(filters:!())"`); + expect(location1.state).toMatchObject({ + filters: [ + { + meta: { + alias: null, + disabled: false, + negate: false, + }, + query: { + query: 'savedfilter1', + }, + }, + { + meta: { + alias: null, + disabled: false, + negate: false, + }, + query: { + query: 'appliedfilter', + }, + }, + ], + }); const location2 = await definition.getLocation({ dashboardId: 'dashboard2', filters: [appliedFilter], }); - expect(location2.path).toEqual(expect.stringContaining('query:savedfilter2')); - expect(location2.path).toEqual(expect.stringContaining('query:appliedfilter')); + expect(location2.path).toMatchInlineSnapshot(`"#/view/dashboard2?_g=(filters:!())"`); + expect(location2.state).toMatchObject({ + filters: [ + { + meta: { + alias: null, + disabled: false, + negate: false, + }, + query: { + query: 'savedfilter2', + }, + }, + { + meta: { + alias: null, + disabled: false, + negate: false, + }, + query: { + query: 'appliedfilter', + }, + }, + ], + }); }); test("doesn't fail if can't retrieve filters from destination dashboard", async () => { @@ -252,8 +361,21 @@ describe('dashboard locator', () => { filters: [appliedFilter], }); - expect(location.path).not.toEqual(expect.stringContaining('query:savedfilter1')); - expect(location.path).toEqual(expect.stringContaining('query:appliedfilter')); + expect(location.path).toMatchInlineSnapshot(`"#/view/dashboard1?_g=(filters:!())"`); + expect(location.state).toMatchObject({ + filters: [ + { + meta: { + alias: null, + disabled: false, + negate: false, + }, + query: { + query: 'appliedfilter', + }, + }, + ], + }); }); test('can enforce empty filters', async () => { @@ -273,11 +395,10 @@ describe('dashboard locator', () => { preserveSavedFilters: false, }); - expect(location.path).not.toEqual(expect.stringContaining('query:savedfilter1')); - expect(location.path).not.toEqual(expect.stringContaining('query:appliedfilter')); - expect(location.path).toMatchInlineSnapshot( - `"#/view/dashboard1?_a=(filters:!())&_g=(filters:!())"` - ); + expect(location.path).toMatchInlineSnapshot(`"#/view/dashboard1?_g=(filters:!())"`); + expect(location.state).toMatchObject({ + filters: [], + }); }); test('no filters in result url if no filters applied', async () => { @@ -295,8 +416,8 @@ describe('dashboard locator', () => { dashboardId: 'dashboard1', }); - expect(location.path).not.toEqual(expect.stringContaining('filters')); - expect(location.path).toMatchInlineSnapshot(`"#/view/dashboard1?_a=()&_g=()"`); + expect(location.path).toMatchInlineSnapshot(`"#/view/dashboard1?_g=()"`); + expect(location.state).toMatchObject({}); }); test('can turn off preserving filters', async () => { @@ -316,8 +437,21 @@ describe('dashboard locator', () => { preserveSavedFilters: false, }); - expect(location.path).not.toEqual(expect.stringContaining('query:savedfilter1')); - expect(location.path).toEqual(expect.stringContaining('query:appliedfilter')); + expect(location.path).toMatchInlineSnapshot(`"#/view/dashboard1?_g=(filters:!())"`); + expect(location.state).toMatchObject({ + filters: [ + { + meta: { + alias: null, + disabled: false, + negate: false, + }, + query: { + query: 'appliedfilter', + }, + }, + ], + }); }); }); }); diff --git a/src/plugins/dashboard/public/locator.ts b/src/plugins/dashboard/public/locator.ts index ed4e7a5dd4d4c..a256a65a5d7f4 100644 --- a/src/plugins/dashboard/public/locator.ts +++ b/src/plugins/dashboard/public/locator.ts @@ -7,14 +7,21 @@ */ import type { SerializableRecord } from '@kbn/utility-types'; +import { flow } from 'lodash'; import type { TimeRange, Filter, Query, QueryState, RefreshInterval } from '../../data/public'; import type { LocatorDefinition, LocatorPublic } from '../../share/public'; import type { SavedDashboardPanel } from '../common/types'; +import type { RawDashboardState } from './types'; import { esFilters } from '../../data/public'; import { setStateToKbnUrl } from '../../kibana_utils/public'; import { ViewMode } from '../../embeddable/public'; import { DashboardConstants } from './dashboard_constants'; +/** + * Useful for ensuring that we don't pass any non-serializable values to history.push (for example, functions). + */ +const getSerializableRecord: (o: O) => O & SerializableRecord = flow(JSON.stringify, JSON.parse); + const cleanEmptyKeys = (stateObj: Record) => { Object.keys(stateObj).forEach((key) => { if (stateObj[key] === undefined) { @@ -26,7 +33,12 @@ const cleanEmptyKeys = (stateObj: Record) => { export const DASHBOARD_APP_LOCATOR = 'DASHBOARD_APP_LOCATOR'; -export interface DashboardAppLocatorParams extends SerializableRecord { +/** + * We use `type` instead of `interface` to avoid having to extend this type with + * `SerializableRecord`. See https://github.com/microsoft/TypeScript/issues/15300. + */ +// eslint-disable-next-line @typescript-eslint/consistent-type-definitions +export type DashboardAppLocatorParams = { /** * If given, the dashboard saved object with this id will be loaded. If not given, * a new, unsaved dashboard will be loaded up. @@ -40,7 +52,7 @@ export interface DashboardAppLocatorParams extends SerializableRecord { /** * Optionally set the refresh interval. */ - refreshInterval?: RefreshInterval & SerializableRecord; + refreshInterval?: RefreshInterval; /** * Optionally apply filers. NOTE: if given and used in conjunction with `dashboardId`, and the @@ -80,13 +92,15 @@ export interface DashboardAppLocatorParams extends SerializableRecord { /** * List of dashboard panels */ - panels?: SavedDashboardPanel[] & SerializableRecord; + panels?: SavedDashboardPanel[]; /** * Saved query ID */ savedQuery?: string; -} + + options?: RawDashboardState['options']; +}; export type DashboardAppLocator = LocatorPublic; @@ -95,17 +109,29 @@ export interface DashboardAppLocatorDependencies { getDashboardFilterFields: (dashboardId: string) => Promise; } +export type ForwardedDashboardState = Omit< + DashboardAppLocatorParams, + 'dashboardId' | 'preserveSavedFilters' | 'useHash' | 'searchSessionId' +>; + export class DashboardAppLocatorDefinition implements LocatorDefinition { public readonly id = DASHBOARD_APP_LOCATOR; constructor(protected readonly deps: DashboardAppLocatorDependencies) {} public readonly getLocation = async (params: DashboardAppLocatorParams) => { - const useHash = params.useHash ?? this.deps.useHashedUrl; - const hash = params.dashboardId ? `view/${params.dashboardId}` : `create`; + const { + filters, + useHash: paramsUseHash, + preserveSavedFilters, + dashboardId, + ...restParams + } = params; + const useHash = paramsUseHash ?? this.deps.useHashedUrl; + const hash = dashboardId ? `view/${dashboardId}` : `create`; const getSavedFiltersFromDestinationDashboardIfNeeded = async (): Promise => { - if (params.preserveSavedFilters === false) return []; + if (preserveSavedFilters === false) return []; if (!params.dashboardId) return []; try { return await this.deps.getDashboardFilterFields(params.dashboardId); @@ -116,26 +142,16 @@ export class DashboardAppLocatorDefinition implements LocatorDefinition !esFilters.isFilterPinned(f)), - viewMode: params.viewMode, - panels: params.panels, - savedQuery: params.savedQuery, - }), - { useHash }, - `#/${hash}` - ); - + let path = `#/${hash}`; path = setStateToKbnUrl( '_g', cleanEmptyKeys({ @@ -154,7 +170,7 @@ export class DashboardAppLocatorDefinition implements LocatorDefinition void; export type RedirectToProps = diff --git a/src/plugins/data/common/query/timefilter/types.ts b/src/plugins/data/common/query/timefilter/types.ts index 0f468a8f6b586..51558183c3db3 100644 --- a/src/plugins/data/common/query/timefilter/types.ts +++ b/src/plugins/data/common/query/timefilter/types.ts @@ -6,14 +6,15 @@ * Side Public License, v 1. */ -import { Moment } from 'moment'; +import type { Moment } from 'moment'; -export interface RefreshInterval { +// eslint-disable-next-line @typescript-eslint/consistent-type-definitions +export type RefreshInterval = { pause: boolean; value: number; -} +}; -// eslint-disable-next-line +// eslint-disable-next-line @typescript-eslint/consistent-type-definitions export type TimeRange = { from: string; to: string; diff --git a/src/plugins/data/public/public.api.md b/src/plugins/data/public/public.api.md index 05743f40a7b68..d5a39e3108325 100644 --- a/src/plugins/data/public/public.api.md +++ b/src/plugins/data/public/public.api.md @@ -1955,12 +1955,10 @@ export interface Reason { // Warning: (ae-missing-release-tag) "RefreshInterval" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) -export interface RefreshInterval { - // (undocumented) +export type RefreshInterval = { pause: boolean; - // (undocumented) value: number; -} +}; // Warning: (ae-missing-release-tag) "SavedQuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // diff --git a/x-pack/plugins/dashboard_enhanced/public/services/drilldowns/embeddable_to_dashboard_drilldown/embeddable_to_dashboard_drilldown.test.tsx b/x-pack/plugins/dashboard_enhanced/public/services/drilldowns/embeddable_to_dashboard_drilldown/embeddable_to_dashboard_drilldown.test.tsx index a817d9f65c916..3272a6e27de23 100644 --- a/x-pack/plugins/dashboard_enhanced/public/services/drilldowns/embeddable_to_dashboard_drilldown/embeddable_to_dashboard_drilldown.test.tsx +++ b/x-pack/plugins/dashboard_enhanced/public/services/drilldowns/embeddable_to_dashboard_drilldown/embeddable_to_dashboard_drilldown.test.tsx @@ -88,6 +88,7 @@ describe('.execute() & getHref', () => { useHashedUrl: false, getDashboardFilterFields: async () => [], }); + const getLocationSpy = jest.spyOn(definition, 'getLocation'); const drilldown = new EmbeddableToDashboardDrilldown({ start: ((() => ({ core: { @@ -147,9 +148,14 @@ describe('.execute() & getHref', () => { return { href, + getLocationSpy, }; } + afterEach(() => { + jest.clearAllMocks(); + }); + test('navigates to correct dashboard', async () => { const testDashboardId = 'dashboardId'; const { href } = await setupTestBed( @@ -183,7 +189,7 @@ describe('.execute() & getHref', () => { test('navigates with query if filters are enabled', async () => { const queryString = 'querystring'; const queryLanguage = 'kuery'; - const { href } = await setupTestBed( + const { getLocationSpy } = await setupTestBed( { useCurrentFilters: true, }, @@ -193,8 +199,12 @@ describe('.execute() & getHref', () => { [] ); - expect(href).toEqual(expect.stringContaining(queryString)); - expect(href).toEqual(expect.stringContaining(queryLanguage)); + const { + state: { query }, + } = await getLocationSpy.mock.results[0].value; + + expect(query.query).toBe(queryString); + expect(query.language).toBe(queryLanguage); }); test('when user chooses to keep current filters, current filters are set on destination dashboard', async () => { @@ -202,7 +212,7 @@ describe('.execute() & getHref', () => { const existingGlobalFilterKey = 'existingGlobalFilter'; const newAppliedFilterKey = 'newAppliedFilter'; - const { href } = await setupTestBed( + const { getLocationSpy } = await setupTestBed( { useCurrentFilters: true, }, @@ -212,9 +222,16 @@ describe('.execute() & getHref', () => { [getFilter(false, newAppliedFilterKey)] ); - expect(href).toEqual(expect.stringContaining(existingAppFilterKey)); - expect(href).toEqual(expect.stringContaining(existingGlobalFilterKey)); - expect(href).toEqual(expect.stringContaining(newAppliedFilterKey)); + const { + state: { filters }, + } = await getLocationSpy.mock.results[0].value; + + expect(filters.length).toBe(3); + + const filtersString = JSON.stringify(filters); + expect(filtersString).toEqual(expect.stringContaining(existingAppFilterKey)); + expect(filtersString).toEqual(expect.stringContaining(existingGlobalFilterKey)); + expect(filtersString).toEqual(expect.stringContaining(newAppliedFilterKey)); }); test('when user chooses to remove current filters, current app filters are remove on destination dashboard', async () => { @@ -222,7 +239,7 @@ describe('.execute() & getHref', () => { const existingGlobalFilterKey = 'existingGlobalFilter'; const newAppliedFilterKey = 'newAppliedFilter'; - const { href } = await setupTestBed( + const { getLocationSpy } = await setupTestBed( { useCurrentFilters: false, }, @@ -232,9 +249,16 @@ describe('.execute() & getHref', () => { [getFilter(false, newAppliedFilterKey)] ); - expect(href).not.toEqual(expect.stringContaining(existingAppFilterKey)); - expect(href).toEqual(expect.stringContaining(existingGlobalFilterKey)); - expect(href).toEqual(expect.stringContaining(newAppliedFilterKey)); + const { + state: { filters }, + } = await getLocationSpy.mock.results[0].value; + + expect(filters.length).toBe(2); + + const filtersString = JSON.stringify(filters); + expect(filtersString).not.toEqual(expect.stringContaining(existingAppFilterKey)); + expect(filtersString).toEqual(expect.stringContaining(existingGlobalFilterKey)); + expect(filtersString).toEqual(expect.stringContaining(newAppliedFilterKey)); }); test('when user chooses to keep current time range, current time range is passed in url', async () => { diff --git a/x-pack/plugins/reporting/common/job_utils.ts b/x-pack/plugins/reporting/common/job_utils.ts index 1a8699eeca025..d8b4503cfefba 100644 --- a/x-pack/plugins/reporting/common/job_utils.ts +++ b/x-pack/plugins/reporting/common/job_utils.ts @@ -8,4 +8,4 @@ // TODO: Remove this code once everyone is using the new PDF format, then we can also remove the legacy // export type entirely export const isJobV2Params = ({ sharingData }: { sharingData: Record }): boolean => - Array.isArray(sharingData.locatorParams); + sharingData.locatorParams != null; diff --git a/x-pack/plugins/reporting/public/share_context_menu/register_pdf_png_reporting.tsx b/x-pack/plugins/reporting/public/share_context_menu/register_pdf_png_reporting.tsx index 811d5803895db..0b31083a0fe8d 100644 --- a/x-pack/plugins/reporting/public/share_context_menu/register_pdf_png_reporting.tsx +++ b/x-pack/plugins/reporting/public/share_context_menu/register_pdf_png_reporting.tsx @@ -127,6 +127,7 @@ export const reportingScreenshotShareProvider = ({ }; const isV2Job = isJobV2Params(jobProviderOptions); + const requiresSavedState = !isV2Job; const pngReportType = isV2Job ? 'pngV2' : 'png'; @@ -149,7 +150,7 @@ export const reportingScreenshotShareProvider = ({ uiSettings={uiSettings} reportType={pngReportType} objectId={objectId} - requiresSavedState={true} + requiresSavedState={requiresSavedState} getJobParams={getJobParams(apiClient, jobProviderOptions, pngReportType)} isDirty={isDirty} onClose={onClose} @@ -183,7 +184,7 @@ export const reportingScreenshotShareProvider = ({ uiSettings={uiSettings} reportType={pdfReportType} objectId={objectId} - requiresSavedState={true} + requiresSavedState={requiresSavedState} layoutOption={objectType === 'dashboard' ? 'print' : undefined} getJobParams={getJobParams(apiClient, jobProviderOptions, pdfReportType)} isDirty={isDirty} diff --git a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content.tsx b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content.tsx index 11169dd2d2fb7..64f1ecddcbb41 100644 --- a/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content.tsx +++ b/x-pack/plugins/reporting/public/share_context_menu/reporting_panel_content.tsx @@ -104,6 +104,10 @@ class ReportingPanelContentUi extends Component { window.addEventListener('resize', this.setAbsoluteReportGenerationUrl); } + private isNotSaved = () => { + return this.props.objectId === undefined || this.props.objectId === ''; + }; + public render() { if ( this.props.requiresSavedState && @@ -226,10 +230,6 @@ class ReportingPanelContentUi extends Component { this.setState({ isStale: true }); }; - private isNotSaved = () => { - return this.props.objectId === undefined || this.props.objectId === ''; - }; - private setAbsoluteReportGenerationUrl = () => { if (!this.mounted) { return; diff --git a/x-pack/test/functional/apps/dashboard/reporting/screenshots.ts b/x-pack/test/functional/apps/dashboard/reporting/screenshots.ts index 881b847f1180b..312eba7bd6380 100644 --- a/x-pack/test/functional/apps/dashboard/reporting/screenshots.ts +++ b/x-pack/test/functional/apps/dashboard/reporting/screenshots.ts @@ -74,15 +74,15 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); describe('Print PDF button', () => { - it('is not available if new', async () => { + it('is available if new', async () => { await PageObjects.common.navigateToApp('dashboard'); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.reporting.openPdfReportingPanel(); - expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be('true'); + expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be(null); await (await testSubjects.find('kibanaChrome')).clickMouseButton(); // close popover }); - it('becomes available when saved', async () => { + it('is available when saved', async () => { await PageObjects.dashboard.saveDashboard('My PDF Dashboard'); await PageObjects.reporting.openPdfReportingPanel(); expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be(null); @@ -109,15 +109,15 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); describe('Print PNG button', () => { - it('is not available if new', async () => { + it('is available if new', async () => { await PageObjects.common.navigateToApp('dashboard'); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.reporting.openPngReportingPanel(); - expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be('true'); + expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be(null); await (await testSubjects.find('kibanaChrome')).clickMouseButton(); // close popover }); - it('becomes available when saved', async () => { + it('is available when saved', async () => { await PageObjects.dashboard.saveDashboard('My PNG Dash'); await PageObjects.reporting.openPngReportingPanel(); expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be(null); From 9c922a078c79390692a8787ba60d15e6fb02269b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ester=20Mart=C3=AD=20Vilaseca?= Date: Thu, 26 Aug 2021 11:03:21 +0200 Subject: [PATCH 060/139] [Stack monitoring] Add global state context and routeInit component (#109790) * Add global state to stack monitoring react app * Add type for state * Add some todos * Add route_init migration Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../application/global_state_context.tsx | 66 +++++++++++++++++ .../public/application/hooks/use_clusters.ts | 5 +- .../monitoring/public/application/index.tsx | 51 +++++++++---- .../public/application/pages/loading_page.tsx | 2 +- .../application/preserve_query_history.ts | 38 ++++++++++ .../public/application/route_init.tsx | 71 +++++++++++++++++++ .../plugins/monitoring/public/legacy_shims.ts | 4 ++ .../public/lib/get_cluster_from_clusters.d.ts | 12 ++++ x-pack/plugins/monitoring/public/url_state.ts | 27 ++++--- 9 files changed, 249 insertions(+), 27 deletions(-) create mode 100644 x-pack/plugins/monitoring/public/application/global_state_context.tsx create mode 100644 x-pack/plugins/monitoring/public/application/preserve_query_history.ts create mode 100644 x-pack/plugins/monitoring/public/application/route_init.tsx create mode 100644 x-pack/plugins/monitoring/public/lib/get_cluster_from_clusters.d.ts diff --git a/x-pack/plugins/monitoring/public/application/global_state_context.tsx b/x-pack/plugins/monitoring/public/application/global_state_context.tsx new file mode 100644 index 0000000000000..e6e18e279bbad --- /dev/null +++ b/x-pack/plugins/monitoring/public/application/global_state_context.tsx @@ -0,0 +1,66 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React, { createContext } from 'react'; +import { GlobalState } from '../url_state'; +import { MonitoringStartPluginDependencies } from '../types'; + +interface GlobalStateProviderProps { + query: MonitoringStartPluginDependencies['data']['query']; + toasts: MonitoringStartPluginDependencies['core']['notifications']['toasts']; + children: React.ReactNode; +} + +interface State { + cluster_uuid?: string; +} + +export const GlobalStateContext = createContext({} as State); + +export const GlobalStateProvider = ({ query, toasts, children }: GlobalStateProviderProps) => { + // TODO: remove fakeAngularRootScope and fakeAngularLocation when angular is removed + const fakeAngularRootScope: Partial = { + $on: ( + name: string, + listener: (event: ng.IAngularEvent, ...args: any[]) => any + ): (() => void) => () => {}, + $applyAsync: () => {}, + }; + + const fakeAngularLocation: Partial = { + search: () => { + return {} as any; + }, + replace: () => { + return {} as any; + }, + }; + + const localState: { [key: string]: unknown } = {}; + const state = new GlobalState( + query, + toasts, + fakeAngularRootScope, + fakeAngularLocation, + localState + ); + + const initialState: any = state.getState(); + for (const key in initialState) { + if (!initialState.hasOwnProperty(key)) { + continue; + } + localState[key] = initialState[key]; + } + + localState.save = () => { + const newState = { ...localState }; + delete newState.save; + state.setState(newState); + }; + + return {children}; +}; diff --git a/x-pack/plugins/monitoring/public/application/hooks/use_clusters.ts b/x-pack/plugins/monitoring/public/application/hooks/use_clusters.ts index 49f6464b2ce3e..b970d8c84b5b9 100644 --- a/x-pack/plugins/monitoring/public/application/hooks/use_clusters.ts +++ b/x-pack/plugins/monitoring/public/application/hooks/use_clusters.ts @@ -8,8 +8,7 @@ import { useState, useEffect } from 'react'; import { useKibana } from '../../../../../../src/plugins/kibana_react/public'; import { STANDALONE_CLUSTER_CLUSTER_UUID } from '../../../common/constants'; -export function useClusters(codePaths?: string[], fetchAllClusters?: boolean, ccs?: any) { - const clusterUuid = fetchAllClusters ? null : ''; +export function useClusters(clusterUuid?: string | null, ccs?: any, codePaths?: string[]) { const { services } = useKibana<{ data: any }>(); const bounds = services.data?.query.timefilter.timefilter.getBounds(); @@ -43,7 +42,7 @@ export function useClusters(codePaths?: string[], fetchAllClusters?: boolean, cc } catch (err) { // TODO: handle errors } finally { - setLoaded(null); + setLoaded(true); } }; diff --git a/x-pack/plugins/monitoring/public/application/index.tsx b/x-pack/plugins/monitoring/public/application/index.tsx index a0c9afd73f0ce..ed74d342f7a8f 100644 --- a/x-pack/plugins/monitoring/public/application/index.tsx +++ b/x-pack/plugins/monitoring/public/application/index.tsx @@ -8,10 +8,13 @@ import { CoreStart, AppMountParameters } from 'kibana/public'; import React from 'react'; import ReactDOM from 'react-dom'; -import { Route, Switch, Redirect, HashRouter } from 'react-router-dom'; +import { Route, Switch, Redirect, Router } from 'react-router-dom'; import { KibanaContextProvider } from '../../../../../src/plugins/kibana_react/public'; import { LoadingPage } from './pages/loading_page'; import { MonitoringStartPluginDependencies } from '../types'; +import { GlobalStateProvider } from './global_state_context'; +import { createPreserveQueryHistory } from './preserve_query_history'; +import { RouteInit } from './route_init'; export const renderApp = ( core: CoreStart, @@ -29,21 +32,37 @@ const MonitoringApp: React.FC<{ core: CoreStart; plugins: MonitoringStartPluginDependencies; }> = ({ core, plugins }) => { + const history = createPreserveQueryHistory(); + return ( - - - - - - - - - + + + + + + + + + + + + ); }; @@ -59,3 +78,7 @@ const Home: React.FC<{}> = () => { const ClusterOverview: React.FC<{}> = () => { return
Cluster overview page
; }; + +const License: React.FC<{}> = () => { + return
License page
; +}; diff --git a/x-pack/plugins/monitoring/public/application/pages/loading_page.tsx b/x-pack/plugins/monitoring/public/application/pages/loading_page.tsx index 4bd09f73ac75a..d5c1bcf80c23e 100644 --- a/x-pack/plugins/monitoring/public/application/pages/loading_page.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/loading_page.tsx @@ -16,7 +16,7 @@ import { CODE_PATH_ELASTICSEARCH } from '../../../common/constants'; const CODE_PATHS = [CODE_PATH_ELASTICSEARCH]; export const LoadingPage = () => { - const { clusters, loaded } = useClusters(CODE_PATHS, true); + const { clusters, loaded } = useClusters(null, undefined, CODE_PATHS); const title = i18n.translate('xpack.monitoring.loading.pageTitle', { defaultMessage: 'Loading', }); diff --git a/x-pack/plugins/monitoring/public/application/preserve_query_history.ts b/x-pack/plugins/monitoring/public/application/preserve_query_history.ts new file mode 100644 index 0000000000000..9e7858cf6e849 --- /dev/null +++ b/x-pack/plugins/monitoring/public/application/preserve_query_history.ts @@ -0,0 +1,38 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { History, createHashHistory, LocationDescriptor, LocationDescriptorObject } from 'history'; + +function preserveQueryParameters( + history: History, + location: LocationDescriptorObject +): LocationDescriptorObject { + location.search = history.location.search; + return location; +} + +function createLocationDescriptorObject( + location: LocationDescriptor, + state?: History.LocationState +): LocationDescriptorObject { + return typeof location === 'string' ? { pathname: location, state } : location; +} + +export function createPreserveQueryHistory() { + const history = createHashHistory({ hashType: 'slash' }); + const oldPush = history.push; + const oldReplace = history.replace; + history.push = (path: LocationDescriptor, state?: History.LocationState) => + oldPush.apply(history, [ + preserveQueryParameters(history, createLocationDescriptorObject(path, state)), + ]); + history.replace = (path: LocationDescriptor, state?: History.LocationState) => + oldReplace.apply(history, [ + preserveQueryParameters(history, createLocationDescriptorObject(path, state)), + ]); + return history; +} diff --git a/x-pack/plugins/monitoring/public/application/route_init.tsx b/x-pack/plugins/monitoring/public/application/route_init.tsx new file mode 100644 index 0000000000000..cf3b0c6646d0f --- /dev/null +++ b/x-pack/plugins/monitoring/public/application/route_init.tsx @@ -0,0 +1,71 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React, { useContext } from 'react'; +import { Route, Redirect, useLocation } from 'react-router-dom'; +import { useClusters } from './hooks/use_clusters'; +import { GlobalStateContext } from './global_state_context'; +import { getClusterFromClusters } from '../lib/get_cluster_from_clusters'; + +interface RouteInitProps { + path: string; + component: React.ComponentType; + codePaths: string[]; + fetchAllClusters: boolean; + unsetGlobalState?: boolean; +} + +export const RouteInit: React.FC = ({ + path, + component, + codePaths, + fetchAllClusters, + unsetGlobalState = false, +}) => { + const globalState = useContext(GlobalStateContext); + const clusterUuid = fetchAllClusters ? null : globalState.cluster_uuid; + const location = useLocation(); + + const { clusters, loaded } = useClusters(clusterUuid, undefined, codePaths); + + // TODO: we will need this when setup mode is migrated + // const inSetupMode = isInSetupMode(); + + const cluster = getClusterFromClusters(clusters, globalState, unsetGlobalState); + + // TODO: check for setupMode too when the setup mode is migrated + if (loaded && !cluster) { + return ; + } + + if (loaded && cluster) { + // check if we need to redirect because of license problems + if ( + location.pathname !== 'license' && + location.pathname !== 'home' && + isExpired(cluster.license) + ) { + return ; + } + + // check if we need to redirect because of attempt at unsupported multi-cluster monitoring + const clusterSupported = cluster.isSupported || clusters.length === 1; + if (location.pathname !== 'home' && !clusterSupported) { + return ; + } + } + + return loaded ? : null; +}; + +const isExpired = (license: any): boolean => { + const { expiry_date_in_millis: expiryDateInMillis } = license; + + if (expiryDateInMillis !== undefined) { + return new Date().getTime() >= expiryDateInMillis; + } + return false; +}; diff --git a/x-pack/plugins/monitoring/public/legacy_shims.ts b/x-pack/plugins/monitoring/public/legacy_shims.ts index 1d897b710d7fa..fe754a965e3f1 100644 --- a/x-pack/plugins/monitoring/public/legacy_shims.ts +++ b/x-pack/plugins/monitoring/public/legacy_shims.ts @@ -147,4 +147,8 @@ export class Legacy { } return Legacy._shims; } + + public static isInitializated(): boolean { + return Boolean(Legacy._shims); + } } diff --git a/x-pack/plugins/monitoring/public/lib/get_cluster_from_clusters.d.ts b/x-pack/plugins/monitoring/public/lib/get_cluster_from_clusters.d.ts new file mode 100644 index 0000000000000..5a310c977efae --- /dev/null +++ b/x-pack/plugins/monitoring/public/lib/get_cluster_from_clusters.d.ts @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const getClusterFromClusters: ( + clusters: any, + globalState: State, + unsetGlobalState: boolean +) => any; diff --git a/x-pack/plugins/monitoring/public/url_state.ts b/x-pack/plugins/monitoring/public/url_state.ts index f490654d579ae..25086411c65a3 100644 --- a/x-pack/plugins/monitoring/public/url_state.ts +++ b/x-pack/plugins/monitoring/public/url_state.ts @@ -57,6 +57,7 @@ export interface MonitoringAppStateTransitions { const GLOBAL_STATE_KEY = '_g'; const objectEquals = (objA: any, objB: any) => JSON.stringify(objA) === JSON.stringify(objB); +// TODO: clean all angular references after angular is removed export class GlobalState { private readonly stateSyncRef: ISyncStateRef; private readonly stateContainer: StateContainer< @@ -74,8 +75,8 @@ export class GlobalState { constructor( queryService: MonitoringStartPluginDependencies['data']['query'], toasts: MonitoringStartPluginDependencies['core']['notifications']['toasts'], - rootScope: ng.IRootScopeService, - ngLocation: ng.ILocationService, + rootScope: Partial, + ngLocation: Partial, externalState: RawObject ) { this.timefilterRef = queryService.timefilter.timefilter; @@ -102,11 +103,16 @@ export class GlobalState { this.stateContainerChangeSub = this.stateContainer.state$.subscribe(() => { this.lastAssignedState = this.getState(); if (!this.stateContainer.get() && this.lastKnownGlobalState) { - ngLocation.search(`${GLOBAL_STATE_KEY}=${this.lastKnownGlobalState}`).replace(); + ngLocation.search?.(`${GLOBAL_STATE_KEY}=${this.lastKnownGlobalState}`).replace(); } - Legacy.shims.breadcrumbs.update(); + + // TODO: check if this is not needed after https://github.com/elastic/kibana/pull/109132 is merged + if (Legacy.isInitializated()) { + Legacy.shims.breadcrumbs.update(); + } + this.syncExternalState(externalState); - rootScope.$applyAsync(); + rootScope.$applyAsync?.(); }); this.syncQueryStateWithUrlManager = syncQueryStateWithUrl(queryService, this.stateStorage); @@ -114,7 +120,7 @@ export class GlobalState { this.startHashSync(rootScope, ngLocation); this.lastAssignedState = this.getState(); - rootScope.$on('$destroy', () => this.destroy()); + rootScope.$on?.('$destroy', () => this.destroy()); } private syncExternalState(externalState: { [key: string]: unknown }) { @@ -131,15 +137,18 @@ export class GlobalState { } } - private startHashSync(rootScope: ng.IRootScopeService, ngLocation: ng.ILocationService) { - rootScope.$on( + private startHashSync( + rootScope: Partial, + ngLocation: Partial + ) { + rootScope.$on?.( '$routeChangeStart', (_: { preventDefault: () => void }, newState: Route, oldState: Route) => { const currentGlobalState = oldState?.params?._g; const nextGlobalState = newState?.params?._g; if (!nextGlobalState && currentGlobalState && typeof currentGlobalState === 'string') { newState.params._g = currentGlobalState; - ngLocation.search(`${GLOBAL_STATE_KEY}=${currentGlobalState}`).replace(); + ngLocation.search?.(`${GLOBAL_STATE_KEY}=${currentGlobalState}`).replace(); } this.lastKnownGlobalState = (nextGlobalState || currentGlobalState) as string; } From 652470b9005b306e11dfd93f7bb4ebd402be2ab6 Mon Sep 17 00:00:00 2001 From: Miriam <31922082+MiriamAparicio@users.noreply.github.com> Date: Thu, 26 Aug 2021 10:21:15 +0100 Subject: [PATCH 061/139] [APM] Show hostname in JVM view (#109651) * [APM] Show hostname in JVM view * [APM] delete no needed param * [APM] fix linting * [APM] changes after review * [APM] changes after review part deux * [APM] fix snapshot * [APM] improve guard on api response --- .../app/service_node_overview/index.tsx | 20 ++++++++++++++++++- .../__snapshots__/queries.test.ts.snap | 12 +++++++++++ .../apm/server/lib/service_nodes/index.ts | 14 +++++++++++++ 3 files changed, 45 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/apm/public/components/app/service_node_overview/index.tsx b/x-pack/plugins/apm/public/components/app/service_node_overview/index.tsx index f2f1e983471b9..1158a671bfe0a 100644 --- a/x-pack/plugins/apm/public/components/app/service_node_overview/index.tsx +++ b/x-pack/plugins/apm/public/components/app/service_node_overview/index.tsx @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { EuiToolTip } from '@elastic/eui'; +import { EuiToolTip, EuiIcon } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import React from 'react'; import { euiStyled } from '../../../../../../../src/plugins/kibana_react/common'; @@ -78,6 +78,12 @@ function ServiceNodeOverview() { {i18n.translate('xpack.apm.jvmsTable.nameColumnLabel', { defaultMessage: 'Name', })} + ), @@ -110,11 +116,20 @@ function ServiceNodeOverview() { ); }, }, + { + name: i18n.translate('xpack.apm.jvmsTable.hostName', { + defaultMessage: 'Host name', + }), + field: 'hostName', + sortable: true, + render: (_, { hostName }) => hostName ?? '', + }, { name: i18n.translate('xpack.apm.jvmsTable.cpuColumnLabel', { defaultMessage: 'CPU avg', }), field: 'cpu', + dataType: 'number', sortable: true, render: (_, { cpu }) => asPercent(cpu, 1), }, @@ -123,6 +138,7 @@ function ServiceNodeOverview() { defaultMessage: 'Heap memory avg', }), field: 'heapMemory', + dataType: 'number', sortable: true, render: asDynamicBytes, }, @@ -131,6 +147,7 @@ function ServiceNodeOverview() { defaultMessage: 'Non-heap memory avg', }), field: 'nonHeapMemory', + dataType: 'number', sortable: true, render: asDynamicBytes, }, @@ -139,6 +156,7 @@ function ServiceNodeOverview() { defaultMessage: 'Thread count max', }), field: 'threadCount', + dataType: 'number', sortable: true, render: asInteger, }, diff --git a/x-pack/plugins/apm/server/lib/service_nodes/__snapshots__/queries.test.ts.snap b/x-pack/plugins/apm/server/lib/service_nodes/__snapshots__/queries.test.ts.snap index 8e47b7298cc33..3550b9a602eda 100644 --- a/x-pack/plugins/apm/server/lib/service_nodes/__snapshots__/queries.test.ts.snap +++ b/x-pack/plugins/apm/server/lib/service_nodes/__snapshots__/queries.test.ts.snap @@ -141,6 +141,18 @@ Object { "field": "jvm.memory.heap.used", }, }, + "latest": Object { + "top_metrics": Object { + "metrics": Array [ + Object { + "field": "host.hostname", + }, + ], + "sort": Object { + "@timestamp": "desc", + }, + }, + }, "nonHeapMemory": Object { "avg": Object { "field": "jvm.memory.non_heap.used", diff --git a/x-pack/plugins/apm/server/lib/service_nodes/index.ts b/x-pack/plugins/apm/server/lib/service_nodes/index.ts index 4eb6abddd81a6..77bd646f4da60 100644 --- a/x-pack/plugins/apm/server/lib/service_nodes/index.ts +++ b/x-pack/plugins/apm/server/lib/service_nodes/index.ts @@ -10,8 +10,10 @@ import { METRIC_JAVA_NON_HEAP_MEMORY_USED, METRIC_JAVA_THREAD_COUNT, METRIC_PROCESS_CPU_PERCENT, + HOST_NAME, } from '../../../common/elasticsearch_fieldnames'; import { SERVICE_NODE_NAME_MISSING } from '../../../common/service_nodes'; +import { asMutableArray } from '../../../common/utils/as_mutable_array'; import { getServiceNodesProjection } from '../../projections/service_nodes'; import { mergeProjection } from '../../projections/util/merge_projection'; import { Setup, SetupTimeRange } from '../helpers/setup_request'; @@ -46,6 +48,14 @@ const getServiceNodes = async ({ missing: SERVICE_NODE_NAME_MISSING, }, aggs: { + latest: { + top_metrics: { + metrics: asMutableArray([{ field: HOST_NAME }] as const), + sort: { + '@timestamp': 'desc', + }, + }, + }, cpu: { avg: { field: METRIC_PROCESS_CPU_PERCENT, @@ -83,6 +93,10 @@ const getServiceNodes = async ({ name: bucket.key as string, cpu: bucket.cpu.value, heapMemory: bucket.heapMemory.value, + hostName: bucket.latest.top?.[0]?.metrics?.['host.hostname'] as + | string + | null + | undefined, nonHeapMemory: bucket.nonHeapMemory.value, threadCount: bucket.threadCount.value, })) From dc07f4d00aee2c11f7bd3c7a87f9507acd586a0c Mon Sep 17 00:00:00 2001 From: Matthias Wilhelm Date: Thu, 26 Aug 2021 11:30:01 +0200 Subject: [PATCH 062/139] [Discover] Fix performance regression in sidebar (#109999) --- .../sidebar/discover_field.test.tsx | 14 +++++ .../components/sidebar/discover_field.tsx | 59 ++++++++++--------- .../discover_sidebar_responsive.test.tsx | 32 ++++++++++ .../sidebar/discover_sidebar_responsive.tsx | 13 ++-- 4 files changed, 86 insertions(+), 32 deletions(-) diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.test.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.test.tsx index d0f343a641717..1dfc14d6c20b9 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.test.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.test.tsx @@ -15,6 +15,11 @@ import { IndexPatternField } from '../../../../../../../data/public'; import { stubIndexPattern } from '../../../../../../../data/common/stubs'; jest.mock('../../../../../kibana_services', () => ({ + getUiActions: jest.fn(() => { + return { + getTriggerCompatibleActions: jest.fn(() => []), + }; + }), getServices: () => ({ history: () => ({ location: { @@ -120,4 +125,13 @@ describe('discover sidebar field', function () { const dscField = findTestSubject(comp, 'field-troubled_field-showDetails'); expect(dscField.find('.kbnFieldButton__infoIcon').length).toEqual(1); }); + it('should not execute getDetails when rendered, since it can be expensive', function () { + const { props } = getComponent({}); + expect(props.getDetails.mock.calls.length).toEqual(0); + }); + it('should execute getDetails when show details is requested', function () { + const { props, comp } = getComponent({}); + findTestSubject(comp, 'field-bytes-showDetails').simulate('click'); + expect(props.getDetails.mock.calls.length).toEqual(1); + }); }); diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.tsx index 301866c762fbd..707514073e23e 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_field.tsx @@ -358,7 +358,36 @@ function DiscoverFieldComponent({ ); - const details = getDetails(field); + const renderPopover = () => { + const details = getDetails(field); + return ( + <> + + {multiFields && ( + <> + + + + )} + + + ); + }; return ( - {infoIsOpen && ( - <> - - {multiFields && ( - <> - - - - )} - - - )} + {infoIsOpen && renderPopover()} ); } diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx index c7395c42bb2f1..fc1c09ec8c829 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.test.tsx @@ -12,6 +12,7 @@ import { ReactWrapper } from 'enzyme'; import { findTestSubject } from '@elastic/eui/lib/test'; // @ts-expect-error import realHits from '../../../../../__fixtures__/real_hits.js'; +import { act } from 'react-dom/test-utils'; import { mountWithIntl } from '@kbn/test/jest'; import React from 'react'; import { IndexPatternAttributes } from '../../../../../../../data/common'; @@ -49,10 +50,24 @@ const mockServices = ({ }, } as unknown) as DiscoverServices; +const mockfieldCounts: Record = {}; +const mockCalcFieldCounts = jest.fn(() => { + return mockfieldCounts; +}); + jest.mock('../../../../../kibana_services', () => ({ + getUiActions: jest.fn(() => { + return { + getTriggerCompatibleActions: jest.fn(() => []), + }; + }), getServices: () => mockServices, })); +jest.mock('../../utils/calc_field_counts', () => ({ + calcFieldCounts: () => mockCalcFieldCounts(), +})); + function getCompProps(): DiscoverSidebarResponsiveProps { const indexPattern = stubLogstashIndexPattern; @@ -67,6 +82,11 @@ function getCompProps(): DiscoverSidebarResponsiveProps { { id: '2', attributes: { title: 'c' } } as SavedObject, ]; + for (const hit of hits) { + for (const key of Object.keys(indexPattern.flattenHit(hit))) { + mockfieldCounts[key] = (mockfieldCounts[key] || 0) + 1; + } + } return { columns: ['extension'], documents$: new BehaviorSubject({ @@ -102,6 +122,7 @@ describe('discover responsive sidebar', function () { expect(popular.children().length).toBe(1); expect(unpopular.children().length).toBe(7); expect(selected.children().length).toBe(1); + expect(mockCalcFieldCounts.mock.calls.length).toBe(1); }); it('should allow selecting fields', function () { findTestSubject(comp, 'fieldToggle-bytes').simulate('click'); @@ -116,4 +137,15 @@ describe('discover responsive sidebar', function () { findTestSubject(comp, 'plus-extension-gif').simulate('click'); expect(props.onAddFilter).toHaveBeenCalled(); }); + it('should allow filtering by string, and calcFieldCount should just be executed once', function () { + expect(findTestSubject(comp, 'fieldList-unpopular').children().length).toBe(7); + act(() => { + findTestSubject(comp, 'fieldFilterSearchInput').simulate('change', { + target: { value: 'abc' }, + }); + }); + comp.update(); + expect(findTestSubject(comp, 'fieldList-unpopular').children().length).toBe(4); + expect(mockCalcFieldCounts.mock.calls.length).toBe(1); + }); }); diff --git a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.tsx b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.tsx index bbc2328e057d3..7533a54ade405 100644 --- a/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.tsx +++ b/src/plugins/discover/public/application/apps/main/components/sidebar/discover_sidebar_responsive.tsx @@ -120,9 +120,14 @@ export function DiscoverSidebarResponsive(props: DiscoverSidebarResponsiveProps) * needed for merging new with old field counts, high likely legacy, but kept this behavior * because not 100% sure in this case */ - const fieldCounts = useRef>( - calcFieldCounts({}, props.documents$.getValue().result, props.selectedIndexPattern) - ); + const fieldCounts = useRef | null>(null); + if (fieldCounts.current === null) { + fieldCounts.current = calcFieldCounts( + {}, + props.documents$.getValue().result, + props.selectedIndexPattern + ); + } const [documentState, setDocumentState] = useState(props.documents$.getValue()); useEffect(() => { @@ -130,7 +135,7 @@ export function DiscoverSidebarResponsive(props: DiscoverSidebarResponsiveProps) if (next.fetchStatus !== documentState.fetchStatus) { if (next.result) { fieldCounts.current = calcFieldCounts( - next.result.length ? fieldCounts.current : {}, + next.result.length && fieldCounts.current ? fieldCounts.current : {}, next.result, props.selectedIndexPattern! ); From ae17fe69ddd528697f87c215f1fb72cc73722446 Mon Sep 17 00:00:00 2001 From: Anton Dosov Date: Thu, 26 Aug 2021 11:41:37 +0200 Subject: [PATCH 063/139] Update app services code owners (#110084) --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 61b383f4e1ca5..74a206ea98e05 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -57,6 +57,8 @@ /src/plugins/data/ @elastic/kibana-app-services /src/plugins/embeddable/ @elastic/kibana-app-services /src/plugins/expressions/ @elastic/kibana-app-services +/src/plugins/field_formats/ @elastic/kibana-app-services +/src/plugins/index_pattern_editor/ @elastic/kibana-app-services /src/plugins/inspector/ @elastic/kibana-app-services /src/plugins/kibana_react/ @elastic/kibana-app-services /src/plugins/kibana_react/public/code_editor @elastic/kibana-presentation From c433893473b872b06ad52dc24cad229783769a0f Mon Sep 17 00:00:00 2001 From: Ashokaditya Date: Thu, 26 Aug 2021 12:03:39 +0200 Subject: [PATCH 064/139] Remove onClear on date range picker inputs (#110035) fixes elastic/kibana/issues/108864 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../activity_log_date_range_picker/index.tsx | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/activity_log_date_range_picker/index.tsx b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/activity_log_date_range_picker/index.tsx index 60adbf3060f2d..e921078539303 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/activity_log_date_range_picker/index.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/view/details/components/activity_log_date_range_picker/index.tsx @@ -33,22 +33,6 @@ export const DateRangePicker = memo(() => { getActivityLogDataPaging ); - const onClear = useCallback( - ({ clearStart = false, clearEnd = false }: { clearStart?: boolean; clearEnd?: boolean }) => { - dispatch({ - type: 'endpointDetailsActivityLogUpdatePaging', - payload: { - disabled: false, - page, - pageSize, - startDate: clearStart ? undefined : startDate, - endDate: clearEnd ? undefined : endDate, - }, - }); - }, - [dispatch, endDate, startDate, page, pageSize] - ); - const onChangeStartDate = useCallback( (date) => { dispatch({ @@ -95,7 +79,6 @@ export const DateRangePicker = memo(() => { endDate={endDate ? moment(endDate) : undefined} isInvalid={isInvalidDateRange} onChange={onChangeStartDate} - onClear={() => onClear({ clearStart: true })} placeholderText={i18.ACTIVITY_LOG.datePicker.startDate} selected={startDate ? moment(startDate) : undefined} showTimeSelect @@ -108,7 +91,6 @@ export const DateRangePicker = memo(() => { endDate={endDate ? moment(endDate) : undefined} isInvalid={isInvalidDateRange} onChange={onChangeEndDate} - onClear={() => onClear({ clearEnd: true })} placeholderText={i18.ACTIVITY_LOG.datePicker.endDate} selected={endDate ? moment(endDate) : undefined} showTimeSelect From 1af200b5e04125c4ccb3eab621c625534f14618d Mon Sep 17 00:00:00 2001 From: Anton Dosov Date: Thu, 26 Aug 2021 12:26:02 +0200 Subject: [PATCH 065/139] [DataViews] Fix checking remote clusters in empty state (#110054) --- .../empty_prompts/empty_prompts.tsx | 21 ++++++------ .../index_pattern_editor_flyout_content.tsx | 32 ++++--------------- 2 files changed, 17 insertions(+), 36 deletions(-) diff --git a/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.tsx b/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.tsx index 2f1631694e952..696194d8113c7 100644 --- a/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.tsx +++ b/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { useState, useCallback, FC } from 'react'; +import React, { useState, FC, useEffect } from 'react'; import useAsync from 'react-use/lib/useAsync'; import { useKibana } from '../../shared_imports'; @@ -47,6 +47,8 @@ export const EmptyPrompts: FC = ({ allSources, onCancel, children, loadSo } = useKibana(); const [remoteClustersExist, setRemoteClustersExist] = useState(false); + const [hasCheckedRemoteClusters, setHasCheckedRemoteClusters] = useState(false); + const [goToForm, setGoToForm] = useState(false); const hasDataIndices = allSources.some(isUserDataIndex); @@ -54,9 +56,10 @@ export const EmptyPrompts: FC = ({ allSources, onCancel, children, loadSo indexPatternService.hasUserIndexPattern().catch(() => true) ); - useCallback(() => { - let isMounted = true; - if (!hasDataIndices) + useEffect(() => { + if (!hasDataIndices && !hasCheckedRemoteClusters) { + setHasCheckedRemoteClusters(true); + getIndices({ http, isRollupIndex: () => false, @@ -64,14 +67,10 @@ export const EmptyPrompts: FC = ({ allSources, onCancel, children, loadSo showAllIndices: false, searchClient, }).then((dataSources) => { - if (isMounted) { - setRemoteClustersExist(!!dataSources.filter(removeAliases).length); - } + setRemoteClustersExist(!!dataSources.filter(removeAliases).length); }); - return () => { - isMounted = false; - }; - }, [http, hasDataIndices, searchClient]); + } + }, [http, hasDataIndices, searchClient, hasCheckedRemoteClusters]); if (hasUserIndexPattern.loading) return null; // return null to prevent UI flickering while loading diff --git a/src/plugins/index_pattern_editor/public/components/index_pattern_editor_flyout_content.tsx b/src/plugins/index_pattern_editor/public/components/index_pattern_editor_flyout_content.tsx index 0eed74053f667..c4d8ed11fe7c2 100644 --- a/src/plugins/index_pattern_editor/public/components/index_pattern_editor_flyout_content.tsx +++ b/src/plugins/index_pattern_editor/public/components/index_pattern_editor_flyout_content.tsx @@ -69,7 +69,6 @@ const IndexPatternEditorFlyoutContentComponent = ({ defaultTypeIsRollup, requireTimestampField = false, }: Props) => { - const isMounted = useRef(false); const { services: { http, indexPatternService, uiSettings, searchClient }, } = useKibana(); @@ -156,19 +155,14 @@ const IndexPatternEditorFlyoutContentComponent = ({ // loading list of index patterns useEffect(() => { - isMounted.current = true; loadSources(); const getTitles = async () => { const indexPatternTitles = await indexPatternService.getTitles(); - if (isMounted.current) { - setExistingIndexPatterns(indexPatternTitles); - setIsLoadingIndexPatterns(false); - } + + setExistingIndexPatterns(indexPatternTitles); + setIsLoadingIndexPatterns(false); }; getTitles(); - return () => { - isMounted.current = false; - }; }, [http, indexPatternService, loadSources]); // loading rollup info @@ -176,10 +170,8 @@ const IndexPatternEditorFlyoutContentComponent = ({ const getRollups = async () => { try { const response = await http.get('/api/rollup/indices'); - if (isMounted.current) { - if (response) { - setRollupIndicesCapabilities(response); - } + if (response) { + setRollupIndicesCapabilities(response); } } catch (e) { // Silently swallow failure responses such as expired trials @@ -214,10 +206,7 @@ const IndexPatternEditorFlyoutContentComponent = ({ ); timestampOptions = extractTimeFields(fields, requireTimestampField); } - if ( - isMounted.current && - currentLoadingTimestampFieldsIdx === currentLoadingTimestampFieldsRef.current - ) { + if (currentLoadingTimestampFieldsIdx === currentLoadingTimestampFieldsRef.current) { setIsLoadingTimestampFields(false); setTimestampFieldOptions(timestampOptions); } @@ -266,10 +255,7 @@ const IndexPatternEditorFlyoutContentComponent = ({ exactMatched: [], }; - if ( - currentLoadingMatchedIndicesIdx === currentLoadingMatchedIndicesRef.current && - isMounted.current - ) { + if (currentLoadingMatchedIndicesIdx === currentLoadingMatchedIndicesRef.current) { // we are still interested in this result if (type === INDEX_PATTERN_TYPE.ROLLUP) { const rollupIndices = exactMatched.filter((index) => isRollupIndex(index.name)); @@ -291,10 +277,6 @@ const IndexPatternEditorFlyoutContentComponent = ({ [http, allowHidden, allSources, type, rollupIndicesCapabilities, searchClient, isLoadingSources] ); - useEffect(() => { - reloadMatchedIndices(title); - }, [allowHidden, reloadMatchedIndices, title]); - const onTypeChange = useCallback( (newType) => { form.setFieldValue('title', ''); From 44faefb71517584f5bf2e19f45192a31eaa6bdd1 Mon Sep 17 00:00:00 2001 From: Anton Dosov Date: Thu, 26 Aug 2021 12:33:16 +0200 Subject: [PATCH 066/139] [DataViews] filter apm- sources when deciding which empty state to show(#110094) --- .../empty_prompts/empty_prompts.test.tsx | 166 ++++++++++++++++++ .../empty_prompts/empty_prompts.tsx | 3 + 2 files changed, 169 insertions(+) diff --git a/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.test.tsx b/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.test.tsx index 03902792371e7..ae395d7e2d335 100644 --- a/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.test.tsx +++ b/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.test.tsx @@ -95,4 +95,170 @@ describe('isUserDataIndex', () => { }; expect(isUserDataIndex(fleetAssetIndex)).toBe(false); }); + + test('apm sources are not user sources', () => { + const apmSources: MatchedItem[] = [ + { + name: 'apm-7.14.1-error', + tags: [ + { + key: 'alias', + name: 'Alias', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-error', + indices: ['apm-7.14.1-error-000001'], + }, + }, + { + name: 'apm-7.14.1-error-000001', + tags: [ + { + key: 'index', + name: 'Index', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-error-000001', + aliases: ['apm-7.14.1-error'], + attributes: [ResolveIndexResponseItemIndexAttrs.OPEN], + }, + }, + { + name: 'apm-7.14.1-metric', + tags: [ + { + key: 'alias', + name: 'Alias', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-metric', + indices: ['apm-7.14.1-metric-000001'], + }, + }, + { + name: 'apm-7.14.1-metric-000001', + tags: [ + { + key: 'index', + name: 'Index', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-metric-000001', + aliases: ['apm-7.14.1-metric'], + attributes: [ResolveIndexResponseItemIndexAttrs.OPEN], + }, + }, + { + name: 'apm-7.14.1-onboarding-2021.08.25', + tags: [ + { + key: 'index', + name: 'Index', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-onboarding-2021.08.25', + attributes: [ResolveIndexResponseItemIndexAttrs.OPEN], + }, + }, + { + name: 'apm-7.14.1-profile', + tags: [ + { + key: 'alias', + name: 'Alias', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-profile', + indices: ['apm-7.14.1-profile-000001'], + }, + }, + { + name: 'apm-7.14.1-profile-000001', + tags: [ + { + key: 'index', + name: 'Index', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-profile-000001', + aliases: ['apm-7.14.1-profile'], + attributes: [ResolveIndexResponseItemIndexAttrs.OPEN], + }, + }, + { + name: 'apm-7.14.1-span', + tags: [ + { + key: 'alias', + name: 'Alias', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-span', + indices: ['apm-7.14.1-span-000001'], + }, + }, + { + name: 'apm-7.14.1-span-000001', + tags: [ + { + key: 'index', + name: 'Index', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-span-000001', + aliases: ['apm-7.14.1-span'], + attributes: [ResolveIndexResponseItemIndexAttrs.OPEN], + }, + }, + { + name: 'apm-7.14.1-transaction', + tags: [ + { + key: 'alias', + name: 'Alias', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-transaction', + indices: ['apm-7.14.1-transaction-000001'], + }, + }, + { + name: 'apm-7.14.1-transaction-000001', + tags: [ + { + key: 'index', + name: 'Index', + color: 'default', + }, + ], + item: { + name: 'apm-7.14.1-transaction-000001', + aliases: ['apm-7.14.1-transaction'], + attributes: [ResolveIndexResponseItemIndexAttrs.OPEN], + }, + }, + ]; + + expect(apmSources.some(isUserDataIndex)).toBe(false); + }); }); diff --git a/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.tsx b/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.tsx index 696194d8113c7..246466680c86e 100644 --- a/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.tsx +++ b/src/plugins/index_pattern_editor/public/components/empty_prompts/empty_prompts.tsx @@ -38,6 +38,9 @@ export function isUserDataIndex(source: MatchedItem) { if (source.name === FLEET_ASSETS_TO_IGNORE.METRICS_DATA_STREAM_TO_IGNORE) return false; if (source.name === FLEET_ASSETS_TO_IGNORE.METRICS_ENDPOINT_INDEX_TO_IGNORE) return false; + // filter out empty sources created by apm server + if (source.name.startsWith('apm-')) return false; + return true; } From c113c237f8868c78ddc15ce35525cdba0658222c Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Thu, 26 Aug 2021 13:44:36 +0200 Subject: [PATCH 067/139] [Security solution] Correct memory protections label to memory manipulation protection (#110179) --- .../pages/policy/view/policy_forms/protections/memory.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_forms/protections/memory.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_forms/protections/memory.tsx index 905fef43db5a7..0c50446f255c0 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_forms/protections/memory.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_forms/protections/memory.tsx @@ -28,13 +28,13 @@ export const MemoryProtection = React.memo(() => { const protectionLabel = i18n.translate( 'xpack.securitySolution.endpoint.policy.protections.memory', { - defaultMessage: 'Memory protections', + defaultMessage: 'Memory Manipulation Protection', } ); return ( Date: Thu, 26 Aug 2021 09:19:20 -0400 Subject: [PATCH 068/139] [Security Solution][RAC] Hide filters on case view (#110090) --- .../common/components/hover_actions/index.tsx | 9 ++++--- .../use_hover_action_items.test.tsx | 26 +++++++++++++++++++ .../hover_actions/use_hover_action_items.tsx | 9 ++++--- 3 files changed, 37 insertions(+), 7 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/components/hover_actions/index.tsx b/x-pack/plugins/security_solution/public/common/components/hover_actions/index.tsx index 926a0c763f610..81ecec7bdc535 100644 --- a/x-pack/plugins/security_solution/public/common/components/hover_actions/index.tsx +++ b/x-pack/plugins/security_solution/public/common/components/hover_actions/index.tsx @@ -11,7 +11,7 @@ import { DraggableId } from 'react-beautiful-dnd'; import styled from 'styled-components'; import { i18n } from '@kbn/i18n'; -import { ColumnHeaderOptions, DataProvider } from '../../../../common/types/timeline'; +import { ColumnHeaderOptions, DataProvider, TimelineId } from '../../../../common/types/timeline'; import { stopPropagationAndPreventDefault } from '../../../../../timelines/public'; import { SHOW_TOP_N_KEYBOARD_SHORTCUT } from './keyboard_shortcut_constants'; import { useHoverActionItems } from './use_hover_action_items'; @@ -202,15 +202,18 @@ export const HoverActions: React.FC = React.memo( [ownFocus, toggleTopN] ); + const isCaseView = timelineId === TimelineId.casePage; + const { overflowActionItems, allActionItems } = useHoverActionItems({ dataProvider, dataType, defaultFocusedButtonRef, draggableId, - enableOverflowButton, + enableOverflowButton: enableOverflowButton && !isCaseView, field, handleHoverActionClicked, hideTopN, + isCaseView, isObjectArray, isOverflowPopoverOpen, onFilterAdded, @@ -245,7 +248,7 @@ export const HoverActions: React.FC = React.memo( {additionalContent != null && {additionalContent}} - {enableOverflowButton ? overflowActionItems : allActionItems} + {enableOverflowButton && !isCaseView ? overflowActionItems : allActionItems} ); diff --git a/x-pack/plugins/security_solution/public/common/components/hover_actions/use_hover_action_items.test.tsx b/x-pack/plugins/security_solution/public/common/components/hover_actions/use_hover_action_items.test.tsx index 3a9217ce05c51..f37f801982d2b 100644 --- a/x-pack/plugins/security_solution/public/common/components/hover_actions/use_hover_action_items.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/hover_actions/use_hover_action_items.test.tsx @@ -23,6 +23,7 @@ describe('useHoverActionItems', () => { field: 'signal.rule.name', handleHoverActionClicked: jest.fn(), hideTopN: false, + isCaseView: false, isObjectArray: false, ownFocus: false, showTopN: false, @@ -158,4 +159,29 @@ describe('useHoverActionItems', () => { }); }); }); + + test('should not have filter in, filter out, or toggle column', async () => { + await act(async () => { + const { result, waitForNextUpdate } = renderHook(() => { + const testProps = { + ...defaultProps, + isCaseView: true, + enableOverflowButton: false, + }; + return useHoverActionItems(testProps); + }); + await waitForNextUpdate(); + + expect(result.current.allActionItems).toHaveLength(3); + expect(result.current.allActionItems[0].props['data-test-subj']).toEqual( + 'hover-actions-add-timeline' + ); + expect(result.current.allActionItems[1].props['data-test-subj']).toEqual( + 'hover-actions-show-top-n' + ); + expect(result.current.allActionItems[2].props['data-test-subj']).toEqual( + 'hover-actions-copy-button' + ); + }); + }); }); diff --git a/x-pack/plugins/security_solution/public/common/components/hover_actions/use_hover_action_items.tsx b/x-pack/plugins/security_solution/public/common/components/hover_actions/use_hover_action_items.tsx index a4f1304bc679f..9ff844c608dd9 100644 --- a/x-pack/plugins/security_solution/public/common/components/hover_actions/use_hover_action_items.tsx +++ b/x-pack/plugins/security_solution/public/common/components/hover_actions/use_hover_action_items.tsx @@ -32,6 +32,7 @@ export interface UseHoverActionItemsProps { field: string; handleHoverActionClicked: () => void; hideTopN: boolean; + isCaseView: boolean; isObjectArray: boolean; isOverflowPopoverOpen?: boolean; itemsToShow?: number; @@ -60,6 +61,7 @@ export const useHoverActionItems = ({ field, handleHoverActionClicked, hideTopN, + isCaseView, isObjectArray, isOverflowPopoverOpen, itemsToShow = 2, @@ -119,9 +121,8 @@ export const useHoverActionItems = ({ * in the case of `EnableOverflowButton`, we only need to hide all the items in the overflow popover as the chart's panel opens in the overflow popover, so non-overflowed actions are not affected. */ const showFilters = - values != null && (enableOverflowButton || (!showTopN && !enableOverflowButton)); - - const shouldDisableColumnToggle = isObjectArray && field !== 'geo_point'; + values != null && (enableOverflowButton || (!showTopN && !enableOverflowButton)) && !isCaseView; + const shouldDisableColumnToggle = (isObjectArray && field !== 'geo_point') || isCaseView; const allItems = useMemo( () => @@ -275,7 +276,7 @@ export const useHoverActionItems = ({ () => [ ...allItems.slice(0, itemsToShow), - ...(enableOverflowButton && itemsToShow > 0 + ...(enableOverflowButton && itemsToShow > 0 && itemsToShow < allItems.length ? [ getOverflowButton({ closePopOver: handleHoverActionClicked, From 137c1827618233593911d364ea3d0b72305c85c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20St=C3=BCrmer?= Date: Thu, 26 Aug 2021 15:19:51 +0200 Subject: [PATCH 069/139] [RAC] Populate common rule fields in alert helpers (#108679) Co-authored-by: mgiota --- .../src/alerts_as_data_status.ts | 12 ++ packages/kbn-rule-data-utils/src/index.ts | 1 + .../public/pages/alerts/index.tsx | 7 +- .../public/pages/alerts/parse_alert.ts | 3 +- .../public/pages/alerts/render_cell_value.tsx | 6 +- .../field_maps/technical_rule_field_map.ts | 14 +-- x-pack/plugins/rule_registry/server/index.ts | 1 - .../server/routes/get_alert_by_id.test.ts | 26 +++-- .../utils/create_lifecycle_executor.test.ts | 109 +++++------------- .../server/utils/create_lifecycle_executor.ts | 108 +++++++---------- .../utils/create_lifecycle_rule_type.test.ts | 24 ++-- .../create_persistence_rule_type_factory.ts | 6 +- .../server/utils/get_common_alert_fields.ts | 57 +++++++++ .../server/utils/get_rule_executor_data.ts | 36 ------ .../server/utils/rule_executor_test_utils.ts | 77 +++++++++++++ .../parse_rule_execution_log.ts | 5 +- .../rule_types/__mocks__/rule_type.ts | 11 +- .../tests/alerts/rule_registry.ts | 6 +- 18 files changed, 288 insertions(+), 221 deletions(-) create mode 100644 packages/kbn-rule-data-utils/src/alerts_as_data_status.ts create mode 100644 x-pack/plugins/rule_registry/server/utils/get_common_alert_fields.ts delete mode 100644 x-pack/plugins/rule_registry/server/utils/get_rule_executor_data.ts create mode 100644 x-pack/plugins/rule_registry/server/utils/rule_executor_test_utils.ts diff --git a/packages/kbn-rule-data-utils/src/alerts_as_data_status.ts b/packages/kbn-rule-data-utils/src/alerts_as_data_status.ts new file mode 100644 index 0000000000000..cb36ce339e79a --- /dev/null +++ b/packages/kbn-rule-data-utils/src/alerts_as_data_status.ts @@ -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 const ALERT_STATUS_ACTIVE = 'active'; +export const ALERT_STATUS_RECOVERED = 'recovered'; + +export type AlertStatus = typeof ALERT_STATUS_ACTIVE | typeof ALERT_STATUS_RECOVERED; diff --git a/packages/kbn-rule-data-utils/src/index.ts b/packages/kbn-rule-data-utils/src/index.ts index ef06d5777b5ab..a08216e59401c 100644 --- a/packages/kbn-rule-data-utils/src/index.ts +++ b/packages/kbn-rule-data-utils/src/index.ts @@ -9,3 +9,4 @@ export * from './technical_field_names'; export * from './alerts_as_data_rbac'; export * from './alerts_as_data_severity'; +export * from './alerts_as_data_status'; diff --git a/x-pack/plugins/observability/public/pages/alerts/index.tsx b/x-pack/plugins/observability/public/pages/alerts/index.tsx index 6e2323bb4c54b..45a8dd842ee27 100644 --- a/x-pack/plugins/observability/public/pages/alerts/index.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/index.tsx @@ -6,11 +6,12 @@ */ import { EuiButtonEmpty, EuiCallOut, EuiFlexGroup, EuiFlexItem, EuiLink } from '@elastic/eui'; +import { IndexPatternBase } from '@kbn/es-query'; import { i18n } from '@kbn/i18n'; +import { ALERT_STATUS, ALERT_STATUS_ACTIVE } from '@kbn/rule-data-utils'; import React, { useCallback, useRef } from 'react'; import { useHistory } from 'react-router-dom'; import useAsync from 'react-use/lib/useAsync'; -import { IndexPatternBase } from '@kbn/es-query'; import { ParsedTechnicalFields } from '../../../../rule_registry/common/parse_technical_fields'; import type { AlertWorkflowStatus } from '../../../common/typings'; import { ExperimentalBadge } from '../../components/shared/experimental_badge'; @@ -21,8 +22,8 @@ import { RouteParams } from '../../routes'; import { callObservabilityApi } from '../../services/call_observability_api'; import { AlertsSearchBar } from './alerts_search_bar'; import { AlertsTableTGrid } from './alerts_table_t_grid'; -import { WorkflowStatusFilter } from './workflow_status_filter'; import './styles.scss'; +import { WorkflowStatusFilter } from './workflow_status_filter'; export interface TopAlert { fields: ParsedTechnicalFields; @@ -45,7 +46,7 @@ export function AlertsPage({ routeParams }: AlertsPageProps) { query: { rangeFrom = 'now-15m', rangeTo = 'now', - kuery = 'kibana.alert.status: "open"', // TODO change hardcoded values as part of another PR + kuery = `${ALERT_STATUS}: "${ALERT_STATUS_ACTIVE}"`, workflowStatus = 'open', }, } = routeParams; diff --git a/x-pack/plugins/observability/public/pages/alerts/parse_alert.ts b/x-pack/plugins/observability/public/pages/alerts/parse_alert.ts index 4e99bdb0ee32d..6b4240c9ad346 100644 --- a/x-pack/plugins/observability/public/pages/alerts/parse_alert.ts +++ b/x-pack/plugins/observability/public/pages/alerts/parse_alert.ts @@ -18,6 +18,7 @@ import { ALERT_RULE_NAME as ALERT_RULE_NAME_NON_TYPED, // @ts-expect-error } from '@kbn/rule-data-utils/target_node/technical_field_names'; +import { ALERT_STATUS_ACTIVE } from '@kbn/rule-data-utils'; import type { TopAlert } from '.'; import { parseTechnicalFields } from '../../../../rule_registry/common/parse_technical_fields'; import { asDuration, asPercent } from '../../../common/utils/formatters'; @@ -42,7 +43,7 @@ export const parseAlert = (observabilityRuleTypeRegistry: ObservabilityRuleTypeR return { ...formatted, fields: parsedFields, - active: parsedFields[ALERT_STATUS] !== 'closed', + active: parsedFields[ALERT_STATUS] === ALERT_STATUS_ACTIVE, start: new Date(parsedFields[ALERT_START] ?? 0).getTime(), }; }; diff --git a/x-pack/plugins/observability/public/pages/alerts/render_cell_value.tsx b/x-pack/plugins/observability/public/pages/alerts/render_cell_value.tsx index 691bfc984b9cb..0430c750c8862 100644 --- a/x-pack/plugins/observability/public/pages/alerts/render_cell_value.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/render_cell_value.tsx @@ -26,7 +26,7 @@ import { TIMESTAMP, // @ts-expect-error importing from a place other than root because we want to limit what we import from this package } from '@kbn/rule-data-utils/target_node/technical_field_names'; - +import { ALERT_STATUS_ACTIVE, ALERT_STATUS_RECOVERED } from '@kbn/rule-data-utils'; import type { CellValueElementProps, TimelineNonEcsData } from '../../../../timelines/common'; import { TimestampTooltip } from '../../components/shared/timestamp_tooltip'; import { asDuration } from '../../../common/utils/formatters'; @@ -82,7 +82,7 @@ export const getRenderCellValue = ({ switch (columnId) { case ALERT_STATUS: switch (value) { - case 'open': + case ALERT_STATUS_ACTIVE: return ( {i18n.translate('xpack.observability.alertsTGrid.statusActiveDescription', { @@ -90,7 +90,7 @@ export const getRenderCellValue = ({ })} ); - case 'closed': + case ALERT_STATUS_RECOVERED: return ( diff --git a/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts b/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts index 29f03024b79f5..03d96a24bedd3 100644 --- a/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts +++ b/x-pack/plugins/rule_registry/common/assets/field_maps/technical_rule_field_map.ts @@ -18,15 +18,15 @@ export const technicalRuleFieldMap = { ), [Fields.ALERT_RULE_TYPE_ID]: { type: 'keyword', required: true }, [Fields.ALERT_RULE_CONSUMER]: { type: 'keyword', required: true }, - [Fields.ALERT_RULE_PRODUCER]: { type: 'keyword' }, + [Fields.ALERT_RULE_PRODUCER]: { type: 'keyword', required: true }, [Fields.SPACE_IDS]: { type: 'keyword', array: true, required: true }, - [Fields.ALERT_UUID]: { type: 'keyword' }, - [Fields.ALERT_ID]: { type: 'keyword' }, + [Fields.ALERT_UUID]: { type: 'keyword', required: true }, + [Fields.ALERT_ID]: { type: 'keyword', required: true }, [Fields.ALERT_START]: { type: 'date' }, [Fields.ALERT_END]: { type: 'date' }, [Fields.ALERT_DURATION]: { type: 'long' }, [Fields.ALERT_SEVERITY]: { type: 'keyword' }, - [Fields.ALERT_STATUS]: { type: 'keyword' }, + [Fields.ALERT_STATUS]: { type: 'keyword', required: true }, [Fields.ALERT_EVALUATION_THRESHOLD]: { type: 'scaled_float', scaling_factor: 100 }, [Fields.ALERT_EVALUATION_VALUE]: { type: 'scaled_float', scaling_factor: 100 }, [Fields.VERSION]: { @@ -87,12 +87,12 @@ export const technicalRuleFieldMap = { [Fields.ALERT_RULE_CATEGORY]: { type: 'keyword', array: false, - required: false, + required: true, }, [Fields.ALERT_RULE_UUID]: { type: 'keyword', array: false, - required: false, + required: true, }, [Fields.ALERT_RULE_CREATED_AT]: { type: 'date', @@ -132,7 +132,7 @@ export const technicalRuleFieldMap = { [Fields.ALERT_RULE_NAME]: { type: 'keyword', array: false, - required: false, + required: true, }, [Fields.ALERT_RULE_NOTE]: { type: 'keyword', diff --git a/x-pack/plugins/rule_registry/server/index.ts b/x-pack/plugins/rule_registry/server/index.ts index 2a609aa3bef7e..e49b2a4d5abed 100644 --- a/x-pack/plugins/rule_registry/server/index.ts +++ b/x-pack/plugins/rule_registry/server/index.ts @@ -19,7 +19,6 @@ export * from './config'; export * from './rule_data_plugin_service'; export * from './rule_data_client'; -export { getRuleData, RuleExecutorData } from './utils/get_rule_executor_data'; export { createLifecycleRuleTypeFactory } from './utils/create_lifecycle_rule_type_factory'; export { LifecycleRuleExecutor, diff --git a/x-pack/plugins/rule_registry/server/routes/get_alert_by_id.test.ts b/x-pack/plugins/rule_registry/server/routes/get_alert_by_id.test.ts index 372fb09661259..d8640cf5dfe82 100644 --- a/x-pack/plugins/rule_registry/server/routes/get_alert_by_id.test.ts +++ b/x-pack/plugins/rule_registry/server/routes/get_alert_by_id.test.ts @@ -6,16 +6,22 @@ */ import { + ALERT_ID, + ALERT_RULE_CATEGORY, ALERT_RULE_CONSUMER, + ALERT_RULE_NAME, + ALERT_RULE_PRODUCER, ALERT_RULE_RISK_SCORE, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UUID, ALERT_STATUS, + ALERT_STATUS_ACTIVE, + ALERT_UUID, ECS_VERSION, - ALERT_RULE_TYPE_ID, SPACE_IDS, TIMESTAMP, VERSION, } from '@kbn/rule-data-utils'; - import { BASE_RAC_ALERTS_API_PATH } from '../../common/constants'; import { ParsedTechnicalFields } from '../../common/parse_technical_fields'; import { getAlertByIdRoute } from './get_alert_by_id'; @@ -24,14 +30,20 @@ import { getReadRequest } from './__mocks__/request_responses'; import { requestMock, serverMock } from './__mocks__/server'; const getMockAlert = (): ParsedTechnicalFields => ({ - [TIMESTAMP]: '2021-06-21T21:33:05.713Z', - [ECS_VERSION]: '1.0.0', - [VERSION]: '7.13.0', - [ALERT_RULE_TYPE_ID]: 'apm.error_rate', + [ALERT_ID]: 'fake-alert-id', + [ALERT_RULE_CATEGORY]: 'apm.error_rate', [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_RULE_NAME]: 'Check error rate', + [ALERT_RULE_PRODUCER]: 'apm', [ALERT_RULE_RISK_SCORE]: 20, + [ALERT_RULE_TYPE_ID]: 'fake-rule-type-id', + [ALERT_RULE_UUID]: 'fake-rule-uuid', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, + [ALERT_UUID]: 'fake-alert-uuid', + [ECS_VERSION]: '1.0.0', [SPACE_IDS]: ['fake-space-id'], + [TIMESTAMP]: '2021-06-21T21:33:05.713Z', + [VERSION]: '7.13.0', }); describe('getAlertByIdRoute', () => { diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts index 2d0ca3e328a13..c1a4fccaf205b 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.test.ts @@ -6,29 +6,25 @@ */ import { loggerMock } from '@kbn/logging/mocks'; -import { - elasticsearchServiceMock, - savedObjectsClientMock, -} from '../../../../../src/core/server/mocks'; -import { - AlertExecutorOptions, - AlertInstanceContext, - AlertInstanceState, - AlertTypeParams, - AlertTypeState, -} from '../../../alerting/server'; -import { alertsMock } from '../../../alerting/server/mocks'; import { ALERT_ID, + ALERT_RULE_CATEGORY, + ALERT_RULE_CONSUMER, + ALERT_RULE_NAME, + ALERT_RULE_PRODUCER, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UUID, ALERT_STATUS, + ALERT_STATUS_ACTIVE, + ALERT_STATUS_RECOVERED, + ALERT_UUID, EVENT_ACTION, EVENT_KIND, - ALERT_RULE_TYPE_ID, - ALERT_RULE_CONSUMER, SPACE_IDS, } from '../../common/technical_rule_data_field_names'; import { createRuleDataClientMock } from '../rule_data_client/rule_data_client.mock'; import { createLifecycleExecutor } from './create_lifecycle_executor'; +import { createDefaultAlertExecutorOptions } from './rule_executor_test_utils'; describe('createLifecycleExecutor', () => { it('wraps and unwraps the original executor state', async () => { @@ -95,14 +91,14 @@ describe('createLifecycleExecutor', () => { { index: { _id: expect.any(String) } }, expect.objectContaining({ [ALERT_ID]: 'TEST_ALERT_0', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [EVENT_ACTION]: 'open', [EVENT_KIND]: 'signal', }), { index: { _id: expect.any(String) } }, expect.objectContaining({ [ALERT_ID]: 'TEST_ALERT_1', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [EVENT_ACTION]: 'open', [EVENT_KIND]: 'signal', }), @@ -192,14 +188,14 @@ describe('createLifecycleExecutor', () => { { index: { _id: 'TEST_ALERT_0_UUID' } }, expect.objectContaining({ [ALERT_ID]: 'TEST_ALERT_0', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [EVENT_ACTION]: 'active', [EVENT_KIND]: 'signal', }), { index: { _id: 'TEST_ALERT_1_UUID' } }, expect.objectContaining({ [ALERT_ID]: 'TEST_ALERT_1', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [EVENT_ACTION]: 'active', [EVENT_KIND]: 'signal', }), @@ -220,6 +216,8 @@ describe('createLifecycleExecutor', () => { }); it('updates existing documents for recovered alerts', async () => { + // NOTE: the documents should actually also be updated for recurring, + // active alerts (see elastic/kibana#108670) const logger = loggerMock.create(); const ruleDataClientMock = createRuleDataClientMock(); ruleDataClientMock.getReader().search.mockResolvedValue({ @@ -229,8 +227,14 @@ describe('createLifecycleExecutor', () => { fields: { '@timestamp': '', [ALERT_ID]: 'TEST_ALERT_0', + [ALERT_UUID]: 'ALERT_0_UUID', + [ALERT_RULE_CATEGORY]: 'RULE_TYPE_NAME', [ALERT_RULE_CONSUMER]: 'CONSUMER', + [ALERT_RULE_NAME]: 'NAME', + [ALERT_RULE_PRODUCER]: 'PRODUCER', [ALERT_RULE_TYPE_ID]: 'RULE_TYPE_ID', + [ALERT_RULE_UUID]: 'RULE_UUID', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must show up in the written doc }, @@ -239,8 +243,14 @@ describe('createLifecycleExecutor', () => { fields: { '@timestamp': '', [ALERT_ID]: 'TEST_ALERT_1', + [ALERT_UUID]: 'ALERT_1_UUID', + [ALERT_RULE_CATEGORY]: 'RULE_TYPE_NAME', [ALERT_RULE_CONSUMER]: 'CONSUMER', + [ALERT_RULE_NAME]: 'NAME', + [ALERT_RULE_PRODUCER]: 'PRODUCER', [ALERT_RULE_TYPE_ID]: 'RULE_TYPE_ID', + [ALERT_RULE_UUID]: 'RULE_UUID', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: ['fake-space-id'], labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, // this must not show up in the written doc }, @@ -290,7 +300,7 @@ describe('createLifecycleExecutor', () => { { index: { _id: 'TEST_ALERT_0_UUID' } }, expect.objectContaining({ [ALERT_ID]: 'TEST_ALERT_0', - [ALERT_STATUS]: 'closed', + [ALERT_STATUS]: ALERT_STATUS_RECOVERED, labels: { LABEL_0_KEY: 'LABEL_0_VALUE' }, [EVENT_ACTION]: 'close', [EVENT_KIND]: 'signal', @@ -298,7 +308,7 @@ describe('createLifecycleExecutor', () => { { index: { _id: 'TEST_ALERT_1_UUID' } }, expect.objectContaining({ [ALERT_ID]: 'TEST_ALERT_1', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [EVENT_ACTION]: 'active', [EVENT_KIND]: 'signal', }), @@ -326,62 +336,3 @@ type TestRuleState = Record & { const initialRuleState: TestRuleState = { aRuleStateKey: 'INITIAL_RULE_STATE_VALUE', }; - -const createDefaultAlertExecutorOptions = < - Params extends AlertTypeParams = never, - State extends AlertTypeState = never, - InstanceState extends AlertInstanceState = {}, - InstanceContext extends AlertInstanceContext = {}, - ActionGroupIds extends string = '' ->({ - alertId = 'ALERT_ID', - ruleName = 'ALERT_RULE_NAME', - params, - state, - createdAt = new Date(), - startedAt = new Date(), - updatedAt = new Date(), -}: { - alertId?: string; - ruleName?: string; - params: Params; - state: State; - createdAt?: Date; - startedAt?: Date; - updatedAt?: Date; -}): AlertExecutorOptions => ({ - alertId, - createdBy: 'CREATED_BY', - startedAt, - name: ruleName, - rule: { - updatedBy: null, - tags: [], - name: ruleName, - createdBy: null, - actions: [], - enabled: true, - consumer: 'CONSUMER', - producer: 'ALERT_PRODUCER', - schedule: { interval: '1m' }, - throttle: null, - createdAt, - updatedAt, - notifyWhen: null, - ruleTypeId: 'RULE_TYPE_ID', - ruleTypeName: 'RULE_TYPE_NAME', - }, - tags: [], - params, - spaceId: 'SPACE_ID', - services: { - alertInstanceFactory: alertsMock.createAlertServices() - .alertInstanceFactory, - savedObjectsClient: savedObjectsClientMock.create(), - scopedClusterClient: elasticsearchServiceMock.createScopedClusterClient(), - }, - state, - updatedBy: null, - previousStartedAt: null, - namespace: undefined, -}); diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts index a3e830d6e0b2f..97337e3a5e09e 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_executor.ts @@ -9,7 +9,6 @@ import type { Logger } from '@kbn/logging'; import type { PublicContract } from '@kbn/utility-types'; import { getOrElse } from 'fp-ts/lib/Either'; import * as rt from 'io-ts'; -import { Mutable } from 'utility-types'; import { v4 } from 'uuid'; import { AlertExecutorOptions, @@ -24,22 +23,34 @@ import { ALERT_DURATION, ALERT_END, ALERT_ID, - ALERT_RULE_CONSUMER, - ALERT_RULE_TYPE_ID, ALERT_RULE_UUID, ALERT_START, ALERT_STATUS, + ALERT_STATUS_ACTIVE, + ALERT_STATUS_RECOVERED, ALERT_UUID, ALERT_WORKFLOW_STATUS, EVENT_ACTION, EVENT_KIND, - SPACE_IDS, TIMESTAMP, VERSION, } from '../../common/technical_rule_data_field_names'; import { IRuleDataClient } from '../rule_data_client'; import { AlertExecutorOptionsWithExtraServices } from '../types'; -import { getRuleData } from './get_rule_executor_data'; +import { + CommonAlertFieldName, + CommonAlertIdFieldName, + getCommonAlertFields, +} from './get_common_alert_fields'; + +type ImplicitTechnicalFieldName = CommonAlertFieldName | CommonAlertIdFieldName; + +type ExplicitTechnicalAlertFields = Partial< + Omit +>; + +type ExplicitAlertFields = Record & // every field can have values of arbitrary types + ExplicitTechnicalAlertFields; // but technical fields must obey their respective type export type LifecycleAlertService< InstanceState extends AlertInstanceState = never, @@ -47,7 +58,7 @@ export type LifecycleAlertService< ActionGroupIds extends string = never > = (alert: { id: string; - fields: Record & Partial>; + fields: ExplicitAlertFields; }) => AlertInstance; export interface LifecycleAlertServices< @@ -129,14 +140,10 @@ export const createLifecycleExecutor = ( > ): Promise> => { const { - rule, services: { alertInstanceFactory }, state: previousState, - spaceId, } = options; - const ruleExecutorData = getRuleData(options); - const state = getOrElse( (): WrappedLifecycleRuleState => ({ wrapped: previousState as State, @@ -144,9 +151,9 @@ export const createLifecycleExecutor = ( }) )(wrappedStateRt().decode(previousState)); - const currentAlerts: Record> = {}; + const commonRuleFields = getCommonAlertFields(options); - const timestamp = options.startedAt.toISOString(); + const currentAlerts: Record = {}; const lifecycleAlertServices: LifecycleAlertServices< InstanceState, @@ -154,12 +161,8 @@ export const createLifecycleExecutor = ( ActionGroupIds > = { alertWithLifecycle: ({ id, fields }) => { - currentAlerts[id] = { - ...fields, - [ALERT_ID]: id, - [ALERT_RULE_TYPE_ID]: rule.ruleTypeId, - [ALERT_RULE_CONSUMER]: rule.consumer, - }; + currentAlerts[id] = fields; + return alertInstanceFactory(id); }, }; @@ -199,7 +202,7 @@ export const createLifecycleExecutor = ( filter: [ { term: { - [ALERT_RULE_UUID]: ruleExecutorData[ALERT_RULE_UUID], + [ALERT_RULE_UUID]: commonRuleFields[ALERT_RULE_UUID], }, }, { @@ -227,12 +230,10 @@ export const createLifecycleExecutor = ( hits.hits.forEach((hit) => { const fields = parseTechnicalFields(hit.fields); - const alertId = fields[ALERT_ID]!; + const alertId = fields[ALERT_ID]; alertsDataMap[alertId] = { + ...commonRuleFields, ...fields, - [ALERT_ID]: alertId, - [ALERT_RULE_TYPE_ID]: rule.ruleTypeId, - [ALERT_RULE_CONSUMER]: rule.consumer, }; }); } @@ -244,59 +245,28 @@ export const createLifecycleExecutor = ( logger.warn(`Could not find alert data for ${alertId}`); } - const event: Mutable = { - ...alertData, - ...ruleExecutorData, - [TIMESTAMP]: timestamp, - [EVENT_KIND]: 'signal', - [ALERT_RULE_CONSUMER]: rule.consumer, - [ALERT_ID]: alertId, - [VERSION]: ruleDataClient.kibanaVersion, - } as ParsedTechnicalFields; - const isNew = !state.trackedAlerts[alertId]; const isRecovered = !currentAlerts[alertId]; - const isActiveButNotNew = !isNew && !isRecovered; const isActive = !isRecovered; const { alertUuid, started } = state.trackedAlerts[alertId] ?? { alertUuid: v4(), - started: timestamp, + started: commonRuleFields[TIMESTAMP], + }; + const event: ParsedTechnicalFields = { + ...alertData, + ...commonRuleFields, + [ALERT_DURATION]: (options.startedAt.getTime() - new Date(started).getTime()) * 1000, + [ALERT_ID]: alertId, + [ALERT_START]: started, + [ALERT_STATUS]: isActive ? ALERT_STATUS_ACTIVE : ALERT_STATUS_RECOVERED, + [ALERT_WORKFLOW_STATUS]: alertData[ALERT_WORKFLOW_STATUS] ?? 'open', + [ALERT_UUID]: alertUuid, + [EVENT_KIND]: 'signal', + [EVENT_ACTION]: isNew ? 'open' : isActive ? 'active' : 'close', + [VERSION]: ruleDataClient.kibanaVersion, + ...(isRecovered ? { [ALERT_END]: commonRuleFields[TIMESTAMP] } : {}), }; - - event[ALERT_START] = started; - event[ALERT_UUID] = alertUuid; - event[ALERT_WORKFLOW_STATUS] = event[ALERT_WORKFLOW_STATUS] ?? 'open'; - - // not sure why typescript needs the non-null assertion here - // we already assert the value is not undefined with the ternary - // still getting an error with the ternary.. strange. - - event[SPACE_IDS] = - event[SPACE_IDS] == null - ? [spaceId] - : [spaceId, ...event[SPACE_IDS]!.filter((sid) => sid !== spaceId)]; - - if (isNew) { - event[EVENT_ACTION] = 'open'; - } - - if (isRecovered) { - event[ALERT_END] = timestamp; - event[EVENT_ACTION] = 'close'; - event[ALERT_STATUS] = 'closed'; - } - - if (isActiveButNotNew) { - event[EVENT_ACTION] = 'active'; - } - - if (isActive) { - event[ALERT_STATUS] = 'open'; - } - - event[ALERT_DURATION] = - (options.startedAt.getTime() - new Date(event[ALERT_START]!).getTime()) * 1000; return event; }); diff --git a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts index 71a0dee5deac7..2b138ae723305 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_lifecycle_rule_type.test.ts @@ -6,7 +6,13 @@ */ import { schema } from '@kbn/config-schema'; -import { ALERT_DURATION, ALERT_STATUS, ALERT_UUID } from '@kbn/rule-data-utils'; +import { + ALERT_DURATION, + ALERT_STATUS, + ALERT_STATUS_ACTIVE, + ALERT_STATUS_RECOVERED, + ALERT_UUID, +} from '@kbn/rule-data-utils'; import { loggerMock } from '@kbn/logging/mocks'; import { castArray, omit, mapValues } from 'lodash'; import { RuleDataClient } from '../rule_data_client'; @@ -177,7 +183,9 @@ describe('createLifecycleRuleTypeFactory', () => { expect(evaluationDocuments.length).toBe(0); expect(alertDocuments.length).toBe(2); - expect(alertDocuments.every((doc) => doc[ALERT_STATUS] === 'open')).toBeTruthy(); + expect( + alertDocuments.every((doc) => doc[ALERT_STATUS] === ALERT_STATUS_ACTIVE) + ).toBeTruthy(); expect(alertDocuments.every((doc) => doc[ALERT_DURATION] === 0)).toBeTruthy(); @@ -198,7 +206,7 @@ describe('createLifecycleRuleTypeFactory', () => { "kibana.alert.rule.rule_type_id": "ruleTypeId", "kibana.alert.rule.uuid": "alertId", "kibana.alert.start": "2021-06-16T09:01:00.000Z", - "kibana.alert.status": "open", + "kibana.alert.status": "active", "kibana.alert.workflow_status": "open", "kibana.space_ids": Array [ "spaceId", @@ -222,7 +230,7 @@ describe('createLifecycleRuleTypeFactory', () => { "kibana.alert.rule.rule_type_id": "ruleTypeId", "kibana.alert.rule.uuid": "alertId", "kibana.alert.start": "2021-06-16T09:01:00.000Z", - "kibana.alert.status": "open", + "kibana.alert.status": "active", "kibana.alert.workflow_status": "open", "kibana.space_ids": Array [ "spaceId", @@ -284,7 +292,9 @@ describe('createLifecycleRuleTypeFactory', () => { expect(evaluationDocuments.length).toBe(0); expect(alertDocuments.length).toBe(2); - expect(alertDocuments.every((doc) => doc[ALERT_STATUS] === 'open')).toBeTruthy(); + expect( + alertDocuments.every((doc) => doc[ALERT_STATUS] === ALERT_STATUS_ACTIVE) + ).toBeTruthy(); expect(alertDocuments.every((doc) => doc['event.action'] === 'active')).toBeTruthy(); expect(alertDocuments.every((doc) => doc[ALERT_DURATION] > 0)).toBeTruthy(); @@ -362,10 +372,10 @@ describe('createLifecycleRuleTypeFactory', () => { ); expect(opbeansJavaAlertDoc['event.action']).toBe('active'); - expect(opbeansJavaAlertDoc[ALERT_STATUS]).toBe('open'); + expect(opbeansJavaAlertDoc[ALERT_STATUS]).toBe(ALERT_STATUS_ACTIVE); expect(opbeansNodeAlertDoc['event.action']).toBe('close'); - expect(opbeansNodeAlertDoc[ALERT_STATUS]).toBe('closed'); + expect(opbeansNodeAlertDoc[ALERT_STATUS]).toBe(ALERT_STATUS_RECOVERED); }); }); }); diff --git a/x-pack/plugins/rule_registry/server/utils/create_persistence_rule_type_factory.ts b/x-pack/plugins/rule_registry/server/utils/create_persistence_rule_type_factory.ts index 30e17f1afca54..1fa51d98c8ab5 100644 --- a/x-pack/plugins/rule_registry/server/utils/create_persistence_rule_type_factory.ts +++ b/x-pack/plugins/rule_registry/server/utils/create_persistence_rule_type_factory.ts @@ -6,6 +6,7 @@ */ import { ALERT_ID, VERSION } from '@kbn/rule-data-utils'; +import { getCommonAlertFields } from './get_common_alert_fields'; import { CreatePersistenceRuleTypeFactory } from './persistence_types'; export const createPersistenceRuleTypeFactory: CreatePersistenceRuleTypeFactory = ({ @@ -24,13 +25,16 @@ export const createPersistenceRuleTypeFactory: CreatePersistenceRuleTypeFactory logger.debug(`Found ${numAlerts} alerts.`); if (ruleDataClient.isWriteEnabled() && numAlerts) { + const commonRuleFields = getCommonAlertFields(options); + const response = await ruleDataClient.getWriter().bulk({ body: alerts.flatMap((event) => [ { index: {} }, { - ...event.fields, [ALERT_ID]: event.id, [VERSION]: ruleDataClient.kibanaVersion, + ...commonRuleFields, + ...event.fields, }, ]), refresh, diff --git a/x-pack/plugins/rule_registry/server/utils/get_common_alert_fields.ts b/x-pack/plugins/rule_registry/server/utils/get_common_alert_fields.ts new file mode 100644 index 0000000000000..8bba639636ba6 --- /dev/null +++ b/x-pack/plugins/rule_registry/server/utils/get_common_alert_fields.ts @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { Values } from '@kbn/utility-types'; +import { AlertExecutorOptions } from '../../../alerting/server'; +import { ParsedTechnicalFields } from '../../common/parse_technical_fields'; +import { + ALERT_ID, + ALERT_UUID, + ALERT_RULE_CATEGORY, + ALERT_RULE_CONSUMER, + ALERT_RULE_NAME, + ALERT_RULE_PRODUCER, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UUID, + SPACE_IDS, + TAGS, + TIMESTAMP, +} from '../../common/technical_rule_data_field_names'; + +const commonAlertFieldNames = [ + ALERT_RULE_CATEGORY, + ALERT_RULE_CONSUMER, + ALERT_RULE_NAME, + ALERT_RULE_PRODUCER, + ALERT_RULE_TYPE_ID, + ALERT_RULE_UUID, + SPACE_IDS, + TAGS, + TIMESTAMP, +]; +export type CommonAlertFieldName = Values; + +const commonAlertIdFieldNames = [ALERT_ID, ALERT_UUID]; +export type CommonAlertIdFieldName = Values; + +export type CommonAlertFields = Pick; + +export const getCommonAlertFields = ( + options: AlertExecutorOptions +): CommonAlertFields => { + return { + [ALERT_RULE_CATEGORY]: options.rule.ruleTypeName, + [ALERT_RULE_CONSUMER]: options.rule.consumer, + [ALERT_RULE_NAME]: options.rule.name, + [ALERT_RULE_PRODUCER]: options.rule.producer, + [ALERT_RULE_TYPE_ID]: options.rule.ruleTypeId, + [ALERT_RULE_UUID]: options.alertId, + [SPACE_IDS]: [options.spaceId], + [TAGS]: options.tags, + [TIMESTAMP]: options.startedAt.toISOString(), + }; +}; diff --git a/x-pack/plugins/rule_registry/server/utils/get_rule_executor_data.ts b/x-pack/plugins/rule_registry/server/utils/get_rule_executor_data.ts deleted file mode 100644 index 13f0b27e85c3b..0000000000000 --- a/x-pack/plugins/rule_registry/server/utils/get_rule_executor_data.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { AlertExecutorOptions } from '../../../alerting/server'; -import { - ALERT_RULE_PRODUCER, - ALERT_RULE_CATEGORY, - ALERT_RULE_TYPE_ID, - ALERT_RULE_NAME, - ALERT_RULE_UUID, - TAGS, -} from '../../common/technical_rule_data_field_names'; - -export interface RuleExecutorData { - [ALERT_RULE_CATEGORY]: string; - [ALERT_RULE_TYPE_ID]: string; - [ALERT_RULE_UUID]: string; - [ALERT_RULE_NAME]: string; - [ALERT_RULE_PRODUCER]: string; - [TAGS]: string[]; -} - -export function getRuleData(options: AlertExecutorOptions) { - return { - [ALERT_RULE_TYPE_ID]: options.rule.ruleTypeId, - [ALERT_RULE_UUID]: options.alertId, - [ALERT_RULE_CATEGORY]: options.rule.ruleTypeName, - [ALERT_RULE_NAME]: options.rule.name, - [TAGS]: options.tags, - [ALERT_RULE_PRODUCER]: options.rule.producer, - }; -} diff --git a/x-pack/plugins/rule_registry/server/utils/rule_executor_test_utils.ts b/x-pack/plugins/rule_registry/server/utils/rule_executor_test_utils.ts new file mode 100644 index 0000000000000..b74fa27879f3d --- /dev/null +++ b/x-pack/plugins/rule_registry/server/utils/rule_executor_test_utils.ts @@ -0,0 +1,77 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { + elasticsearchServiceMock, + savedObjectsClientMock, +} from '../../../../../src/core/server/mocks'; +import { + AlertExecutorOptions, + AlertInstanceContext, + AlertInstanceState, + AlertTypeParams, + AlertTypeState, +} from '../../../alerting/server'; +import { alertsMock } from '../../../alerting/server/mocks'; + +export const createDefaultAlertExecutorOptions = < + Params extends AlertTypeParams = never, + State extends AlertTypeState = never, + InstanceState extends AlertInstanceState = {}, + InstanceContext extends AlertInstanceContext = {}, + ActionGroupIds extends string = '' +>({ + alertId = 'ALERT_ID', + ruleName = 'ALERT_RULE_NAME', + params, + state, + createdAt = new Date(), + startedAt = new Date(), + updatedAt = new Date(), +}: { + alertId?: string; + ruleName?: string; + params: Params; + state: State; + createdAt?: Date; + startedAt?: Date; + updatedAt?: Date; +}): AlertExecutorOptions => ({ + alertId, + createdBy: 'CREATED_BY', + startedAt, + name: ruleName, + rule: { + updatedBy: null, + tags: [], + name: ruleName, + createdBy: null, + actions: [], + enabled: true, + consumer: 'CONSUMER', + producer: 'ALERT_PRODUCER', + schedule: { interval: '1m' }, + throttle: null, + createdAt, + updatedAt, + notifyWhen: null, + ruleTypeId: 'RULE_TYPE_ID', + ruleTypeName: 'RULE_TYPE_NAME', + }, + tags: [], + params, + spaceId: 'SPACE_ID', + services: { + alertInstanceFactory: alertsMock.createAlertServices() + .alertInstanceFactory, + savedObjectsClient: savedObjectsClientMock.create(), + scopedClusterClient: elasticsearchServiceMock.createScopedClusterClient(), + }, + state, + updatedBy: null, + previousStartedAt: null, + namespace: undefined, +}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_registry_adapter/rule_registry_log_client/parse_rule_execution_log.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_registry_adapter/rule_registry_log_client/parse_rule_execution_log.ts index 0c533ed026901..cbc6e570e936f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_registry_adapter/rule_registry_log_client/parse_rule_execution_log.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_execution_log/rule_registry_adapter/rule_registry_log_client/parse_rule_execution_log.ts @@ -33,5 +33,8 @@ export const parseRuleExecutionLog = (input: unknown) => { /** * @deprecated RuleExecutionEvent is kept here only as a reference. It will be superseded with EventLog implementation + * + * It's marked as `Partial` because the field map is not yet appropriate for + * execution log events. */ -export type RuleExecutionEvent = ReturnType; +export type RuleExecutionEvent = Partial>; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/__mocks__/rule_type.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/__mocks__/rule_type.ts index 1a8389d450ab3..d56344b7707db 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/__mocks__/rule_type.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/__mocks__/rule_type.ts @@ -19,6 +19,9 @@ import { AlertAttributes } from '../../signals/types'; import { createRuleMock } from './rule'; import { listMock } from '../../../../../../lists/server/mocks'; import { RuleParams } from '../../schemas/rule_schemas'; +// this is only used in tests +// eslint-disable-next-line @kbn/eslint/no-restricted-paths +import { createDefaultAlertExecutorOptions } from '../../../../../../rule_registry/server/utils/rule_executor_test_utils'; export const createRuleTypeMocks = ( ruleType: string = 'query', @@ -90,10 +93,12 @@ export const createRuleTypeMocks = ( scheduleActions, executor: async ({ params }: { params: Record }) => { return alertExecutor({ + ...createDefaultAlertExecutorOptions({ + params, + alertId: v4(), + state: {}, + }), services, - params, - alertId: v4(), - startedAt: new Date(), }); }, }; diff --git a/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts b/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts index 3390ef23f993f..23bd70de770ad 100644 --- a/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts +++ b/x-pack/test/apm_api_integration/tests/alerts/rule_registry.ts @@ -420,7 +420,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { "apm.transaction_error_rate", ], "kibana.alert.status": Array [ - "open", + "active", ], "kibana.alert.workflow_status": Array [ "open", @@ -489,7 +489,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { any >; - expect(recoveredAlertEvent[ALERT_STATUS]?.[0]).to.eql('closed'); + expect(recoveredAlertEvent[ALERT_STATUS]?.[0]).to.eql('recovered'); expect(recoveredAlertEvent[ALERT_DURATION]?.[0]).to.be.greaterThan(0); expect(new Date(recoveredAlertEvent[ALERT_END]?.[0]).getTime()).to.be.greaterThan(0); @@ -530,7 +530,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { "apm.transaction_error_rate", ], "kibana.alert.status": Array [ - "closed", + "recovered", ], "kibana.alert.workflow_status": Array [ "open", From 9a8d40ffad0d8c0c988c39d530244a5953a93a3f Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Thu, 26 Aug 2021 15:41:28 +0200 Subject: [PATCH 070/139] [Seciurity Solutions] Add additional tests for endpoint middleware (#109792) --- .../endpoint_hosts/store/middleware.test.ts | 80 ++++++++++++++++++- 1 file changed, 78 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts index 96314ca154d1f..17d836695bcf7 100644 --- a/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts +++ b/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.test.ts @@ -28,6 +28,7 @@ import { EndpointState, TransformStats } from '../types'; import { endpointListReducer } from './reducer'; import { endpointMiddlewareFactory } from './middleware'; import { getEndpointListPath, getEndpointDetailsPath } from '../../../common/routing'; +import { resolvePathVariables } from '../../../../common/utils/resolve_path_variables'; import { createUninitialisedResourceState, createLoadingResourceState, @@ -44,11 +45,16 @@ import { hostIsolationResponseMock, } from '../../../../common/lib/endpoint_isolation/mocks'; import { endpointPageHttpMock, failedTransformStateMock } from '../mocks'; +import { + HOST_METADATA_GET_ROUTE, + HOST_METADATA_LIST_ROUTE, +} from '../../../../../common/endpoint/constants'; jest.mock('../../policy/store/services/ingest', () => ({ sendGetAgentConfigList: () => Promise.resolve({ items: [] }), sendGetAgentPolicyList: () => Promise.resolve({ items: [] }), sendGetEndpointSecurityPackage: () => Promise.resolve({}), + sendGetFleetAgentsWithEndpoint: () => Promise.resolve({ total: 0 }), })); jest.mock('../../../../common/lib/kibana'); @@ -128,8 +134,18 @@ describe('endpoint list middleware', () => { dispatch({ type: 'appRequestedEndpointList', }); - await waitForAction('serverReturnedEndpointList'); - expect(fakeHttpServices.post).toHaveBeenCalledWith('/api/endpoint/metadata', { + + await Promise.all([ + waitForAction('serverReturnedEndpointList'), + waitForAction('endpointPendingActionsStateChanged'), + waitForAction('serverReturnedEndpointsTotal'), + waitForAction('serverReturnedMetadataPatterns'), + waitForAction('serverCancelledPolicyItemsLoading'), + waitForAction('serverReturnedEndpointExistValue'), + waitForAction('serverReturnedAgenstWithEndpointsTotal'), + ]); + + expect(fakeHttpServices.post).toHaveBeenCalledWith(HOST_METADATA_LIST_ROUTE, { body: JSON.stringify({ paging_properties: [{ page_index: '0' }, { page_size: '10' }], filters: { kql: '' }, @@ -477,4 +493,64 @@ describe('endpoint list middleware', () => { expect(failedAction.error).toBe(apiError); }); }); + + describe('loads selected endpoint details', () => { + beforeEach(() => { + endpointPageHttpMock(fakeHttpServices); + }); + + const endpointList = getEndpointListApiResponse(); + const agentId = endpointList.hosts[0].metadata.agent.id; + const search = getEndpointDetailsPath({ + name: 'endpointDetails', + selected_endpoint: agentId, + }); + const dispatchUserChangedUrl = () => { + dispatchUserChangedUrlToEndpointList({ search: `?${search.split('?').pop()}` }); + }; + + it('triggers the endpoint details related actions when the url is changed', async () => { + dispatchUserChangedUrl(); + + // Note: these are left intenationally in sequence + // to test specific race conditions that currently exist in the middleware + await waitForAction('serverCancelledPolicyItemsLoading'); + + // loads the endpoints list + await waitForAction('serverReturnedEndpointList'); + + // loads the specific endpoint details + await waitForAction('serverReturnedEndpointDetails'); + + // loads the specific endpoint pending actions + await waitForAction('endpointPendingActionsStateChanged'); + + expect(fakeHttpServices.get).toHaveBeenCalledWith( + resolvePathVariables(HOST_METADATA_GET_ROUTE, { id: agentId }) + ); + }); + + it('handles the endpointDetailsLoad action', async () => { + const endpointId = agentId; + dispatch({ + type: 'endpointDetailsLoad', + payload: { + endpointId, + }, + }); + + // note: this action does not load the endpoints list + + // loads the specific endpoint details + await waitForAction('serverReturnedEndpointDetails'); + await waitForAction('serverReturnedEndpointNonExistingPolicies'); + + // loads the specific endpoint pending actions + await waitForAction('endpointPendingActionsStateChanged'); + + expect(fakeHttpServices.get).toHaveBeenCalledWith( + resolvePathVariables(HOST_METADATA_GET_ROUTE, { id: endpointId }) + ); + }); + }); }); From 85e030249fb5a26c8d65b8beafade5abc51bad0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Casper=20H=C3=BCbertz?= Date: Thu, 26 Aug 2021 15:59:46 +0200 Subject: [PATCH 071/139] [APM] Traces list: Decrease link size and impact indication (#110188) * [APM] Decrease link size on Traces list * [APM] Change impact column size to fixed --- .../apm/public/components/app/trace_overview/trace_list.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/apm/public/components/app/trace_overview/trace_list.tsx b/x-pack/plugins/apm/public/components/app/trace_overview/trace_list.tsx index 231c49a9a2197..1da7a56a096c7 100644 --- a/x-pack/plugins/apm/public/components/app/trace_overview/trace_list.tsx +++ b/x-pack/plugins/apm/public/components/app/trace_overview/trace_list.tsx @@ -14,7 +14,7 @@ import { asTransactionRate, } from '../../../../common/utils/formatters'; import { APIReturnType } from '../../../services/rest/createCallApmApi'; -import { truncate } from '../../../utils/style'; +import { truncate, unit } from '../../../utils/style'; import { EmptyMessage } from '../../shared/EmptyMessage'; import { ImpactBar } from '../../shared/ImpactBar'; import { TransactionDetailLink } from '../../shared/Links/apm/transaction_detail_link'; @@ -24,7 +24,7 @@ import { ITableColumn, ManagedTable } from '../../shared/managed_table'; type TraceGroup = APIReturnType<'GET /api/apm/traces'>['items'][0]; const StyledTransactionLink = euiStyled(TransactionDetailLink)` - font-size: ${({ theme }) => theme.eui.euiFontSizeM}; + font-size: ${({ theme }) => theme.eui.euiFontSizeS}; ${truncate('100%')}; `; @@ -111,7 +111,7 @@ const traceListColumns: Array> = [ ), - width: '20%', + width: `${unit * 6}px`, align: 'left', sortable: true, render: (_, { impact }) => , From 3cc7da84358cceb2f1b25fe09ebd7f68ee589378 Mon Sep 17 00:00:00 2001 From: Alexey Antonov Date: Thu, 26 Aug 2021 17:18:09 +0300 Subject: [PATCH 072/139] [Lens] Inspect flyout should be available in editor mode. (#109656) * [Lens] Inspect flyout should be available in editor mode. * fix typo * add test * add functional tests for inspector * toMatchInlineSnapshot -> toMatchSnapshot Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- ...s-public.createdefaultinspectoradapters.md | 11 +++ ...ibana-plugin-plugins-expressions-public.md | 1 + .../expressions/common/execution/execution.ts | 11 +-- .../util/create_default_inspector_adapters.ts | 19 +++++ src/plugins/expressions/common/util/index.ts | 1 + src/plugins/expressions/public/index.ts | 1 + src/plugins/expressions/public/public.api.md | 7 +- test/functional/services/inspector.ts | 4 +- .../__snapshots__/app.test.tsx.snap | 70 +++++++++++++++++++ .../lens/public/app_plugin/app.test.tsx | 42 ++++++++--- x-pack/plugins/lens/public/app_plugin/app.tsx | 14 +++- .../lens/public/app_plugin/lens_top_nav.tsx | 15 ++++ .../lens/public/app_plugin/mounter.tsx | 3 +- .../plugins/lens/public/app_plugin/types.ts | 6 +- .../editor_frame/editor_frame.test.tsx | 3 + .../editor_frame/editor_frame.tsx | 3 + .../workspace_panel/workspace_panel.test.tsx | 3 + .../workspace_panel/workspace_panel.tsx | 26 +++---- .../public/editor_frame_service/service.tsx | 3 +- .../public/embeddable/embeddable.test.tsx | 19 +++++ .../lens/public/embeddable/embeddable.tsx | 24 +++---- .../public/embeddable/embeddable_factory.ts | 4 ++ .../public/embeddable/expression_wrapper.tsx | 4 ++ .../lens/public/lens_inspector_service.ts | 23 ++++++ x-pack/plugins/lens/public/mocks.tsx | 2 + x-pack/plugins/lens/public/plugin.ts | 1 + x-pack/plugins/lens/public/types.ts | 39 ++++++----- x-pack/test/functional/apps/lens/index.ts | 1 + x-pack/test/functional/apps/lens/inspector.ts | 59 ++++++++++++++++ 29 files changed, 351 insertions(+), 68 deletions(-) create mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.createdefaultinspectoradapters.md create mode 100644 src/plugins/expressions/common/util/create_default_inspector_adapters.ts create mode 100644 x-pack/plugins/lens/public/app_plugin/__snapshots__/app.test.tsx.snap create mode 100644 x-pack/plugins/lens/public/lens_inspector_service.ts create mode 100644 x-pack/test/functional/apps/lens/inspector.ts diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.createdefaultinspectoradapters.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.createdefaultinspectoradapters.md new file mode 100644 index 0000000000000..b4f7fa197f82c --- /dev/null +++ b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.createdefaultinspectoradapters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [createDefaultInspectorAdapters](./kibana-plugin-plugins-expressions-public.createdefaultinspectoradapters.md) + +## createDefaultInspectorAdapters variable + +Signature: + +```typescript +createDefaultInspectorAdapters: () => DefaultInspectorAdapters +``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.md index e3eb7a34175ee..42990930d0bdf 100644 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.md +++ b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.md @@ -84,6 +84,7 @@ | Variable | Description | | --- | --- | +| [createDefaultInspectorAdapters](./kibana-plugin-plugins-expressions-public.createdefaultinspectoradapters.md) | | | [ReactExpressionRenderer](./kibana-plugin-plugins-expressions-public.reactexpressionrenderer.md) | | ## Type Aliases diff --git a/src/plugins/expressions/common/execution/execution.ts b/src/plugins/expressions/common/execution/execution.ts index 68efc15b2ed50..75b6c9e606139 100644 --- a/src/plugins/expressions/common/execution/execution.ts +++ b/src/plugins/expressions/common/execution/execution.ts @@ -25,7 +25,7 @@ import { Executor } from '../executor'; import { createExecutionContainer, ExecutionContainer } from './container'; import { createError } from '../util'; import { abortSignalToPromise, now } from '../../../kibana_utils/common'; -import { RequestAdapter, Adapters } from '../../../inspector/common'; +import { Adapters } from '../../../inspector/common'; import { isExpressionValueError, ExpressionValueError } from '../expression_types/specs/error'; import { ExpressionAstArgument, @@ -42,8 +42,7 @@ import { ExpressionFunction } from '../expression_functions'; import { getByAlias } from '../util/get_by_alias'; import { ExecutionContract } from './execution_contract'; import { ExpressionExecutionParams } from '../service'; -import { TablesAdapter } from '../util/tables_adapter'; -import { ExpressionsInspectorAdapter } from '../util/expressions_inspector_adapter'; +import { createDefaultInspectorAdapters } from '../util/create_default_inspector_adapters'; /** * The result returned after an expression function execution. @@ -90,12 +89,6 @@ export interface ExecutionParams { params: ExpressionExecutionParams; } -const createDefaultInspectorAdapters = (): DefaultInspectorAdapters => ({ - requests: new RequestAdapter(), - tables: new TablesAdapter(), - expression: new ExpressionsInspectorAdapter(), -}); - export class Execution< Input = unknown, Output = unknown, diff --git a/src/plugins/expressions/common/util/create_default_inspector_adapters.ts b/src/plugins/expressions/common/util/create_default_inspector_adapters.ts new file mode 100644 index 0000000000000..693a9d6e8cf70 --- /dev/null +++ b/src/plugins/expressions/common/util/create_default_inspector_adapters.ts @@ -0,0 +1,19 @@ +/* + * 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. + */ + +import { RequestAdapter } from '../../../inspector/common'; +import { TablesAdapter } from './tables_adapter'; +import { ExpressionsInspectorAdapter } from './expressions_inspector_adapter'; + +import type { DefaultInspectorAdapters } from '../execution'; + +export const createDefaultInspectorAdapters = (): DefaultInspectorAdapters => ({ + requests: new RequestAdapter(), + tables: new TablesAdapter(), + expression: new ExpressionsInspectorAdapter(), +}); diff --git a/src/plugins/expressions/common/util/index.ts b/src/plugins/expressions/common/util/index.ts index 470dfc3c2d436..110dcaec282f7 100644 --- a/src/plugins/expressions/common/util/index.ts +++ b/src/plugins/expressions/common/util/index.ts @@ -11,3 +11,4 @@ export * from './get_by_alias'; export * from './tables_adapter'; export * from './expressions_inspector_adapter'; export * from './test_utils'; +export * from './create_default_inspector_adapters'; diff --git a/src/plugins/expressions/public/index.ts b/src/plugins/expressions/public/index.ts index b73406e51676c..79319f1f6f4c6 100644 --- a/src/plugins/expressions/public/index.ts +++ b/src/plugins/expressions/public/index.ts @@ -108,4 +108,5 @@ export { ExpressionsServiceStart, TablesAdapter, ExpressionsInspectorAdapter, + createDefaultInspectorAdapters, } from '../common'; diff --git a/src/plugins/expressions/public/public.api.md b/src/plugins/expressions/public/public.api.md index 3126af02286c9..1a5846f71acb0 100644 --- a/src/plugins/expressions/public/public.api.md +++ b/src/plugins/expressions/public/public.api.md @@ -55,6 +55,12 @@ initialArgs: { [K in keyof FunctionArgs]: FunctionArgs[K] | ExpressionAstExpressionBuilder | ExpressionAstExpressionBuilder[] | ExpressionAstExpression | ExpressionAstExpression[]; }): ExpressionAstFunctionBuilder; +// Warning: (ae-forgotten-export) The symbol "DefaultInspectorAdapters" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "createDefaultInspectorAdapters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const createDefaultInspectorAdapters: () => DefaultInspectorAdapters; + // Warning: (ae-missing-release-tag) "Datatable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public @@ -95,7 +101,6 @@ export type DatatableRow = Record; // Warning: (ae-forgotten-export) The symbol "Adapters" needs to be exported by the entry point index.d.ts // Warning: (ae-forgotten-export) The symbol "ExpressionExecutionParams" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "DefaultInspectorAdapters" needs to be exported by the entry point index.d.ts // Warning: (ae-missing-release-tag) "Execution" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) // // @public (undocumented) diff --git a/test/functional/services/inspector.ts b/test/functional/services/inspector.ts index dc46db458501b..5364dbebe904c 100644 --- a/test/functional/services/inspector.ts +++ b/test/functional/services/inspector.ts @@ -45,12 +45,12 @@ export class InspectorService extends FtrService { /** * Opens inspector panel */ - public async open(): Promise { + public async open(openButton: string = 'openInspectorButton'): Promise { this.log.debug('Inspector.open'); const isOpen = await this.testSubjects.exists('inspectorPanel'); if (!isOpen) { await this.retry.try(async () => { - await this.testSubjects.click('openInspectorButton'); + await this.testSubjects.click(openButton); await this.testSubjects.exists('inspectorPanel'); }); } diff --git a/x-pack/plugins/lens/public/app_plugin/__snapshots__/app.test.tsx.snap b/x-pack/plugins/lens/public/app_plugin/__snapshots__/app.test.tsx.snap new file mode 100644 index 0000000000000..51adf7737fd4b --- /dev/null +++ b/x-pack/plugins/lens/public/app_plugin/__snapshots__/app.test.tsx.snap @@ -0,0 +1,70 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Lens App renders the editor frame 1`] = ` +Array [ + Array [ + Object { + "lensInspector": Object { + "adapters": Object { + "expression": ExpressionsInspectorAdapter { + "_ast": Object {}, + "_events": Object {}, + "_eventsCount": 0, + "_maxListeners": undefined, + Symbol(kCapture): false, + }, + "requests": RequestAdapter { + "_events": Object {}, + "_eventsCount": 0, + "_maxListeners": undefined, + "requests": Map {}, + Symbol(kCapture): false, + }, + "tables": TablesAdapter { + "_events": Object {}, + "_eventsCount": 0, + "_maxListeners": undefined, + "_tables": Object {}, + Symbol(kCapture): false, + }, + }, + "inspect": [Function], + }, + "showNoDataPopover": [Function], + }, + Object {}, + ], + Array [ + Object { + "lensInspector": Object { + "adapters": Object { + "expression": ExpressionsInspectorAdapter { + "_ast": Object {}, + "_events": Object {}, + "_eventsCount": 0, + "_maxListeners": undefined, + Symbol(kCapture): false, + }, + "requests": RequestAdapter { + "_events": Object {}, + "_eventsCount": 0, + "_maxListeners": undefined, + "requests": Map {}, + Symbol(kCapture): false, + }, + "tables": TablesAdapter { + "_events": Object {}, + "_eventsCount": 0, + "_maxListeners": undefined, + "_tables": Object {}, + Symbol(kCapture): false, + }, + }, + "inspect": [Function], + }, + "showNoDataPopover": [Function], + }, + Object {}, + ], +] +`; diff --git a/x-pack/plugins/lens/public/app_plugin/app.test.tsx b/x-pack/plugins/lens/public/app_plugin/app.test.tsx index a10b0f436010f..22da62c616c4b 100644 --- a/x-pack/plugins/lens/public/app_plugin/app.test.tsx +++ b/x-pack/plugins/lens/public/app_plugin/app.test.tsx @@ -140,16 +140,7 @@ describe('Lens App', () => { it('renders the editor frame', async () => { const { frame } = await mountWith({}); - expect(frame.EditorFrameContainer.mock.calls).toMatchInlineSnapshot(` - Array [ - Array [ - Object { - "showNoDataPopover": [Function], - }, - Object {}, - ], - ] - `); + expect(frame.EditorFrameContainer.mock.calls).toMatchSnapshot(); }); it('updates global filters with store state', async () => { @@ -772,6 +763,37 @@ describe('Lens App', () => { }); }); + describe('inspector', () => { + function getButton(inst: ReactWrapper): TopNavMenuData { + return (inst + .find('[data-test-subj="lnsApp_topNav"]') + .prop('config') as TopNavMenuData[]).find( + (button) => button.testId === 'lnsApp_inspectButton' + )!; + } + + async function runInspect(inst: ReactWrapper) { + await getButton(inst).run(inst.getDOMNode()); + await inst.update(); + } + + it('inspector button should be available', async () => { + const { instance } = await mountWith({ preloadedState: { isSaveable: true } }); + const button = getButton(instance); + + expect(button.disableButton).toEqual(false); + }); + + it('should open inspect panel', async () => { + const services = makeDefaultServices(sessionIdSubject); + const { instance } = await mountWith({ services, preloadedState: { isSaveable: true } }); + + await runInspect(instance); + + expect(services.inspector.open).toHaveBeenCalledTimes(1); + }); + }); + describe('query bar state management', () => { it('uses the default time and query language settings', async () => { const { lensStore, services } = await mountWith({}); diff --git a/x-pack/plugins/lens/public/app_plugin/app.tsx b/x-pack/plugins/lens/public/app_plugin/app.tsx index 4b956768265e8..63cb7d3002542 100644 --- a/x-pack/plugins/lens/public/app_plugin/app.tsx +++ b/x-pack/plugins/lens/public/app_plugin/app.tsx @@ -23,6 +23,7 @@ import { LensTopNavMenu } from './lens_top_nav'; import { LensByReferenceInput } from '../embeddable'; import { EditorFrameInstance } from '../types'; import { Document } from '../persistence/saved_object_store'; + import { setState, useLensSelector, @@ -36,6 +37,7 @@ import { getLastKnownDocWithoutPinnedFilters, runSaveLensVisualization, } from './save_modal_container'; +import { getLensInspectorService, LensInspector } from '../lens_inspector_service'; export type SaveProps = Omit & { returnToOrigin: boolean; @@ -63,11 +65,11 @@ export function App({ data, chrome, uiSettings, + inspector, application, notifications, savedObjectsTagging, getOriginatingAppName, - // Temporarily required until the 'by value' paradigm is default. dashboardFeatureFlag, } = lensAppServices; @@ -95,6 +97,8 @@ export function App({ const [isSaveModalVisible, setIsSaveModalVisible] = useState(false); const [lastKnownDoc, setLastKnownDoc] = useState(undefined); + const lensInspector = getLensInspectorService(inspector); + useEffect(() => { if (currentDoc) { setLastKnownDoc(currentDoc); @@ -267,11 +271,13 @@ export function App({ indicateNoData={indicateNoData} datasourceMap={datasourceMap} title={persistedDoc?.title} + lensInspector={lensInspector} /> {(!isLoading || persistedDoc) && ( )}
@@ -308,10 +314,14 @@ export function App({ const MemoizedEditorFrameWrapper = React.memo(function EditorFrameWrapper({ editorFrame, showNoDataPopover, + lensInspector, }: { editorFrame: EditorFrameInstance; + lensInspector: LensInspector; showNoDataPopover: () => void; }) { const { EditorFrameContainer } = editorFrame; - return ; + return ( + + ); }); diff --git a/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx b/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx index c4c2a7523e589..332d404c6375f 100644 --- a/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx +++ b/x-pack/plugins/lens/public/app_plugin/lens_top_nav.tsx @@ -71,6 +71,18 @@ function getLensTopNavConfig(options: { defaultMessage: 'Save', }); + topNavMenu.push({ + label: i18n.translate('xpack.lens.app.inspect', { + defaultMessage: 'Inspect', + }), + run: actions.inspect, + testId: 'lnsApp_inspectButton', + description: i18n.translate('xpack.lens.app.inspectAriaLabel', { + defaultMessage: 'inspect', + }), + disableButton: false, + }); + topNavMenu.push({ label: i18n.translate('xpack.lens.app.downloadCSV', { defaultMessage: 'Download as CSV', @@ -131,6 +143,7 @@ export const LensTopNavMenu = ({ setHeaderActionMenu, initialInput, indicateNoData, + lensInspector, setIsSaveModalVisible, getIsByValueMode, runSave, @@ -242,6 +255,7 @@ export const LensTopNavMenu = ({ }, }, actions: { + inspect: lensInspector.inspect, exportToCSV: () => { if (!activeData) { return; @@ -321,6 +335,7 @@ export const LensTopNavMenu = ({ setIsSaveModalVisible, uiSettings, unsavedTitle, + lensInspector.inspect, ] ); diff --git a/x-pack/plugins/lens/public/app_plugin/mounter.tsx b/x-pack/plugins/lens/public/app_plugin/mounter.tsx index 6bbc1284a0f1e..15f72bed582ee 100644 --- a/x-pack/plugins/lens/public/app_plugin/mounter.tsx +++ b/x-pack/plugins/lens/public/app_plugin/mounter.tsx @@ -48,6 +48,7 @@ export async function getLensServices( ): Promise { const { data, + inspector, navigation, embeddable, savedObjectsTagging, @@ -62,6 +63,7 @@ export async function getLensServices( return { data, storage, + inspector, navigation, fieldFormats, stateTransfer, @@ -82,7 +84,6 @@ export async function getLensServices( ? stateTransfer?.getAppNameFromId(embeddableEditorIncomingState.originatingApp) : undefined; }, - // Temporarily required until the 'by value' paradigm is default. dashboardFeatureFlag: startDependencies.dashboard.dashboardFeatureFlagConfig, }; diff --git a/x-pack/plugins/lens/public/app_plugin/types.ts b/x-pack/plugins/lens/public/app_plugin/types.ts index b6530b90ac3f5..4ccf441799b1c 100644 --- a/x-pack/plugins/lens/public/app_plugin/types.ts +++ b/x-pack/plugins/lens/public/app_plugin/types.ts @@ -20,6 +20,7 @@ import type { import type { DataPublicPluginStart } from '../../../../../src/plugins/data/public'; import type { UsageCollectionStart } from '../../../../../src/plugins/usage_collection/public'; import type { DashboardStart } from '../../../../../src/plugins/dashboard/public'; +import type { Start as InspectorStart } from '../../../../../src/plugins/inspector/public'; import type { LensEmbeddableInput } from '../embeddable/embeddable'; import type { NavigationPublicPluginStart } from '../../../../../src/plugins/navigation/public'; import type { LensAttributeService } from '../lens_attribute_service'; @@ -37,6 +38,7 @@ import type { import type { DatasourceMap, EditorFrameInstance, VisualizationMap } from '../types'; import type { PresentationUtilPluginStart } from '../../../../../src/plugins/presentation_util/public'; import type { FieldFormatsStart } from '../../../../../src/plugins/field_formats/public'; +import type { LensInspector } from '../lens_inspector_service'; export interface RedirectToOriginProps { input?: LensEmbeddableInput; @@ -86,6 +88,7 @@ export interface LensTopNavMenuProps { runSave: RunSave; datasourceMap: DatasourceMap; title?: string; + lensInspector: LensInspector; } export interface HistoryLocationState { @@ -101,6 +104,7 @@ export interface LensAppServices { dashboard: DashboardStart; fieldFormats: FieldFormatsStart; data: DataPublicPluginStart; + inspector: InspectorStart; uiSettings: IUiSettingsClient; application: ApplicationStart; notifications: NotificationsStart; @@ -112,7 +116,6 @@ export interface LensAppServices { savedObjectsTagging?: SavedObjectTaggingPluginStart; getOriginatingAppName: () => string | undefined; presentationUtil: PresentationUtilPluginStart; - // Temporarily required until the 'by value' paradigm is default. dashboardFeatureFlag: DashboardFeatureFlagConfig; } @@ -122,6 +125,7 @@ export interface LensTopNavTooltips { } export interface LensTopNavActions { + inspect: () => void; saveAndReturn: () => void; showSaveModal: () => void; cancel: () => void; diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.test.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.test.tsx index 5d1652b8e1f7a..fff9fe1372a28 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.test.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.test.tsx @@ -39,6 +39,7 @@ import { DatasourceMock, createExpressionRendererMock, } from '../../mocks'; +import { inspectorPluginMock } from 'src/plugins/inspector/public/mocks'; import { ReactExpressionRendererType } from 'src/plugins/expressions/public'; import { DragDrop } from '../../drag_drop'; import { uiActionsPluginMock } from '../../../../../../src/plugins/ui_actions/public/mocks'; @@ -46,6 +47,7 @@ import { chartPluginMock } from '../../../../../../src/plugins/charts/public/moc import { expressionsPluginMock } from '../../../../../../src/plugins/expressions/public/mocks'; import { mockDataPlugin, mountWithProvider } from '../../mocks'; import { setState } from '../../state_management'; +import { getLensInspectorService } from '../../lens_inspector_service'; function generateSuggestion(state = {}): DatasourceSuggestion { return { @@ -79,6 +81,7 @@ function getDefaultProps() { charts: chartPluginMock.createStartContract(), }, palettes: chartPluginMock.createPaletteRegistry(), + lensInspector: getLensInspectorService(inspectorPluginMock.createStartContract()), showNoDataPopover: jest.fn(), }; return defaultProps; diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.tsx index 0813d0deef02f..7700bc708fc16 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/editor_frame.tsx @@ -27,6 +27,7 @@ import { selectDatasourceStates, selectVisualization, } from '../../state_management'; +import type { LensInspector } from '../../lens_inspector_service'; export interface EditorFrameProps { datasourceMap: DatasourceMap; @@ -35,6 +36,7 @@ export interface EditorFrameProps { core: CoreStart; plugins: EditorFrameStartPlugins; showNoDataPopover: () => void; + lensInspector: LensInspector; } export function EditorFrame(props: EditorFrameProps) { @@ -108,6 +110,7 @@ export function EditorFrame(props: EditorFrameProps) { core={props.core} plugins={props.plugins} ExpressionRenderer={props.ExpressionRenderer} + lensInspector={props.lensInspector} datasourceMap={datasourceMap} visualizationMap={visualizationMap} framePublicAPI={framePublicAPI} diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx index e687c3ea44422..3c88e92afd448 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx @@ -34,6 +34,8 @@ import { uiActionsPluginMock } from '../../../../../../../src/plugins/ui_actions import { TriggerContract } from '../../../../../../../src/plugins/ui_actions/public/triggers'; import { VIS_EVENT_TO_TRIGGER } from '../../../../../../../src/plugins/visualizations/public/embeddable'; import { LensRootStore, setState } from '../../../state_management'; +import { getLensInspectorService } from '../../../lens_inspector_service'; +import { inspectorPluginMock } from '../../../../../../../src/plugins/inspector/public/mocks'; const defaultPermissions: Record>> = { navLinks: { management: true }, @@ -59,6 +61,7 @@ const defaultProps = { data: mockDataPlugin(), }, getSuggestionForField: () => undefined, + lensInspector: getLensInspectorService(inspectorPluginMock.createStartContract()), toggleFullscreen: jest.fn(), }; diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.tsx index 8b49c72b3cffa..31705d6b92933 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.tsx @@ -21,14 +21,10 @@ import { EuiButton, EuiSpacer, } from '@elastic/eui'; -import { CoreStart, ApplicationStart } from 'kibana/public'; -import { - DataPublicPluginStart, - ExecutionContextSearch, - TimefilterContract, -} from 'src/plugins/data/public'; +import type { CoreStart, ApplicationStart } from 'kibana/public'; +import type { DataPublicPluginStart, ExecutionContextSearch } from 'src/plugins/data/public'; import { RedirectAppLinks } from '../../../../../../../src/plugins/kibana_react/public'; -import { +import type { ExpressionRendererEvent, ExpressionRenderError, ReactExpressionRendererType, @@ -67,6 +63,7 @@ import { selectActiveDatasourceId, selectSearchSessionId, } from '../../../state_management'; +import type { LensInspector } from '../../../lens_inspector_service'; export interface WorkspacePanelProps { visualizationMap: VisualizationMap; @@ -76,6 +73,7 @@ export interface WorkspacePanelProps { core: CoreStart; plugins: { uiActions?: UiActionsStart; data: DataPublicPluginStart }; getSuggestionForField: (field: DragDropIdentifier) => Suggestion | undefined; + lensInspector: LensInspector; } interface WorkspaceState { @@ -124,6 +122,7 @@ export const InnerWorkspacePanel = React.memo(function InnerWorkspacePanel({ plugins, ExpressionRenderer: ExpressionRendererComponent, suggestionForDraggedField, + lensInspector, }: Omit & { suggestionForDraggedField: Suggestion | undefined; }) { @@ -335,7 +334,7 @@ export const InnerWorkspacePanel = React.memo(function InnerWorkspacePanel({ void; setLocalState: (dispatch: (prevState: WorkspaceState) => WorkspaceState) => void; localState: WorkspaceState & { @@ -443,9 +442,9 @@ export const VisualizationWrapper = ({ const dispatchLens = useLensDispatch(); const onData$ = useCallback( - (data: unknown, inspectorAdapters?: Partial) => { - if (inspectorAdapters && inspectorAdapters.tables) { - dispatchLens(onActiveDataChange({ ...inspectorAdapters.tables.tables })); + (data: unknown, adapters?: Partial) => { + if (adapters && adapters.tables) { + dispatchLens(onActiveDataChange({ ...adapters.tables.tables })); } }, [dispatchLens] @@ -634,6 +633,7 @@ export const VisualizationWrapper = ({ searchSessionId={searchSessionId} onEvent={onEvent} onData$={onData$} + inspectorAdapters={lensInspector.adapters} renderMode="edit" renderError={(errorMessage?: string | null, error?: ExpressionRenderError | null) => { const errorsFromRequest = getOriginalRequestErrorMessages(error); diff --git a/x-pack/plugins/lens/public/editor_frame_service/service.tsx b/x-pack/plugins/lens/public/editor_frame_service/service.tsx index b3574f19b5caf..e1b1c637fa24b 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/service.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/service.tsx @@ -107,13 +107,14 @@ export class EditorFrameService { const { EditorFrame } = await import('../async_services'); return { - EditorFrameContainer: ({ showNoDataPopover }) => { + EditorFrameContainer: ({ showNoDataPopover, lensInspector }) => { return (
({ isAvailable: false, @@ -116,6 +117,7 @@ describe('embeddable', () => { canSaveDashboards: true, canSaveVisualizations: true, }, + inspector: inspectorPluginMock.createStartContract(), getTrigger, documentToExpression: () => Promise.resolve({ @@ -154,6 +156,7 @@ describe('embeddable', () => { expressionRenderer, basePath, indexPatternService: {} as IndexPatternsContract, + inspector: inspectorPluginMock.createStartContract(), capabilities: { canSaveDashboards: true, canSaveVisualizations: true }, getTrigger, documentToExpression: () => @@ -193,6 +196,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -234,6 +238,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: ({ get: (id: string) => Promise.resolve({ id }), } as unknown) as IndexPatternsContract, @@ -274,6 +279,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -318,6 +324,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, canSaveVisualizations: true }, getTrigger, @@ -363,6 +370,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -409,6 +417,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -462,6 +471,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -515,6 +525,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -567,6 +578,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: ({ get: jest.fn() } as unknown) as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -608,6 +620,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -649,6 +662,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -690,6 +704,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -746,6 +761,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -818,6 +834,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -865,6 +882,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, @@ -912,6 +930,7 @@ describe('embeddable', () => { attributeService, expressionRenderer, basePath, + inspector: inspectorPluginMock.createStartContract(), indexPatternService: {} as IndexPatternsContract, capabilities: { canSaveDashboards: true, diff --git a/x-pack/plugins/lens/public/embeddable/embeddable.tsx b/x-pack/plugins/lens/public/embeddable/embeddable.tsx index cae071a61c17f..172274b1f90bc 100644 --- a/x-pack/plugins/lens/public/embeddable/embeddable.tsx +++ b/x-pack/plugins/lens/public/embeddable/embeddable.tsx @@ -8,7 +8,7 @@ import { isEqual, uniqBy } from 'lodash'; import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { +import type { ExecutionContextSearch, Filter, Query, @@ -16,11 +16,12 @@ import { TimeRange, IndexPattern, } from 'src/plugins/data/public'; -import { PaletteOutput } from 'src/plugins/charts/public'; +import type { PaletteOutput } from 'src/plugins/charts/public'; +import type { Start as InspectorStart } from 'src/plugins/inspector/public'; import { Subscription } from 'rxjs'; import { toExpression, Ast } from '@kbn/interpreter/common'; -import { DefaultInspectorAdapters, RenderMode } from 'src/plugins/expressions'; +import { RenderMode } from 'src/plugins/expressions'; import { map, distinctUntilChanged, skip } from 'rxjs/operators'; import fastIsEqual from 'fast-deep-equal'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/public'; @@ -40,7 +41,7 @@ import { ReferenceOrValueEmbeddable, } from '../../../../../src/plugins/embeddable/public'; import { Document, injectFilterReferences } from '../persistence'; -import { ExpressionWrapper } from './expression_wrapper'; +import { ExpressionWrapper, ExpressionWrapperProps } from './expression_wrapper'; import { UiActionsStart } from '../../../../../src/plugins/ui_actions/public'; import { isLensBrushEvent, @@ -56,6 +57,7 @@ import { getEditPath, DOC_TYPE, PLUGIN_ID } from '../../common'; import { IBasePath } from '../../../../../src/core/public'; import { LensAttributeService } from '../lens_attribute_service'; import type { ErrorMessage } from '../editor_frame_service/types'; +import { getLensInspectorService, LensInspector } from '../lens_inspector_service'; export type LensSavedObjectAttributes = Omit; @@ -93,6 +95,7 @@ export interface LensEmbeddableDeps { expressionRenderer: ReactExpressionRendererType; timefilter: TimefilterContract; basePath: IBasePath; + inspector: InspectorStart; getTrigger?: UiActionsStart['getTrigger'] | undefined; getTriggerCompatibleActions?: UiActionsStart['getTriggerCompatibleActions']; capabilities: { canSaveVisualizations: boolean; canSaveDashboards: boolean }; @@ -112,10 +115,10 @@ export class Embeddable private domNode: HTMLElement | Element | undefined; private subscription: Subscription; private isInitialized = false; - private activeData: Partial | undefined; private errors: ErrorMessage[] | undefined; private inputReloadSubscriptions: Subscription[]; private isDestroyed?: boolean; + private lensInspector: LensInspector; private logError(type: 'runtime' | 'validation') { this.deps.usageCollection?.reportUiCounter( @@ -144,7 +147,7 @@ export class Embeddable }, parent ); - + this.lensInspector = getLensInspectorService(deps.inspector); this.expressionRenderer = deps.expressionRenderer; this.initializeSavedVis(initialInput).then(() => this.onContainerStateChanged(initialInput)); this.subscription = this.getUpdated$().subscribe(() => @@ -246,7 +249,7 @@ export class Embeddable } public getInspectorAdapters() { - return this.activeData; + return this.lensInspector.adapters; } async initializeSavedVis(input: LensEmbeddableInput) { @@ -300,11 +303,7 @@ export class Embeddable return isDirty; } - private updateActiveData = ( - data: unknown, - inspectorAdapters?: Partial | undefined - ) => { - this.activeData = inspectorAdapters; + private updateActiveData: ExpressionWrapperProps['onData$'] = () => { if (this.input.onLoad) { // once onData$ is get's called from expression renderer, loading becomes false this.input.onLoad(false); @@ -341,6 +340,7 @@ export class Embeddable ExpressionRenderer={this.expressionRenderer} expression={this.expression || null} errors={this.errors} + lensInspector={this.lensInspector} searchContext={this.getMergedSearchContext()} variables={input.palette ? { theme: { palette: input.palette } } : {}} searchSessionId={this.externalSearchContext.searchSessionId} diff --git a/x-pack/plugins/lens/public/embeddable/embeddable_factory.ts b/x-pack/plugins/lens/public/embeddable/embeddable_factory.ts index ca9d830816dbc..5620f053cebf2 100644 --- a/x-pack/plugins/lens/public/embeddable/embeddable_factory.ts +++ b/x-pack/plugins/lens/public/embeddable/embeddable_factory.ts @@ -18,6 +18,7 @@ import { } from '../../../../../src/plugins/embeddable/public'; import { LensByReferenceInput, LensEmbeddableInput } from './embeddable'; import { UiActionsStart } from '../../../../../src/plugins/ui_actions/public'; +import { Start as InspectorStart } from '../../../../../src/plugins/inspector/public'; import { Document } from '../persistence/saved_object_store'; import { LensAttributeService } from '../lens_attribute_service'; import { DOC_TYPE } from '../../common'; @@ -27,6 +28,7 @@ import { extract, inject } from '../../common/embeddable_factory'; export interface LensEmbeddableStartServices { timefilter: TimefilterContract; coreHttp: HttpSetup; + inspector: InspectorStart; attributeService: LensAttributeService; capabilities: RecursiveReadonly; expressionRenderer: ReactExpressionRendererType; @@ -87,6 +89,7 @@ export class EmbeddableFactory implements EmbeddableFactoryDefinition { indexPatternService, capabilities, usageCollection, + inspector, } = await this.getStartServices(); const { Embeddable } = await import('../async_services'); @@ -96,6 +99,7 @@ export class EmbeddableFactory implements EmbeddableFactoryDefinition { attributeService, indexPatternService, timefilter, + inspector, expressionRenderer, basePath: coreHttp.basePath, getTrigger: uiActions?.getTrigger, diff --git a/x-pack/plugins/lens/public/embeddable/expression_wrapper.tsx b/x-pack/plugins/lens/public/embeddable/expression_wrapper.tsx index fc6fcee9428b0..d57e1c450fea2 100644 --- a/x-pack/plugins/lens/public/embeddable/expression_wrapper.tsx +++ b/x-pack/plugins/lens/public/embeddable/expression_wrapper.tsx @@ -20,6 +20,7 @@ import { DefaultInspectorAdapters, RenderMode } from 'src/plugins/expressions'; import classNames from 'classnames'; import { getOriginalRequestErrorMessages } from '../editor_frame_service/error_helper'; import { ErrorMessage } from '../editor_frame_service/types'; +import { LensInspector } from '../lens_inspector_service'; export interface ExpressionWrapperProps { ExpressionRenderer: ReactExpressionRendererType; @@ -41,6 +42,7 @@ export interface ExpressionWrapperProps { canEdit: boolean; onRuntimeError: () => void; executionContext?: KibanaExecutionContext; + lensInspector: LensInspector; } interface VisualizationErrorProps { @@ -111,6 +113,7 @@ export function ExpressionWrapper({ canEdit, onRuntimeError, executionContext, + lensInspector, }: ExpressionWrapperProps) { return ( @@ -126,6 +129,7 @@ export function ExpressionWrapper({ searchContext={searchContext} searchSessionId={searchSessionId} onData$={onData$} + inspectorAdapters={lensInspector.adapters} renderMode={renderMode} syncColors={syncColors} executionContext={executionContext} diff --git a/x-pack/plugins/lens/public/lens_inspector_service.ts b/x-pack/plugins/lens/public/lens_inspector_service.ts new file mode 100644 index 0000000000000..6266e7c21f792 --- /dev/null +++ b/x-pack/plugins/lens/public/lens_inspector_service.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { + Adapters, + Start as InspectorStartContract, +} from '../../../../src/plugins/inspector/public'; + +import { createDefaultInspectorAdapters } from '../../../../src/plugins/expressions/public'; + +export const getLensInspectorService = (inspector: InspectorStartContract) => { + const adapters: Adapters = createDefaultInspectorAdapters(); + return { + adapters, + inspect: () => inspector.open(adapters), + }; +}; + +export type LensInspector = ReturnType; diff --git a/x-pack/plugins/lens/public/mocks.tsx b/x-pack/plugins/lens/public/mocks.tsx index d4c058c124639..a88831dda7ba9 100644 --- a/x-pack/plugins/lens/public/mocks.tsx +++ b/x-pack/plugins/lens/public/mocks.tsx @@ -23,6 +23,7 @@ import { navigationPluginMock } from '../../../../src/plugins/navigation/public/ import { LensAppServices } from './app_plugin/types'; import { DOC_TYPE, layerTypes } from '../common'; import { DataPublicPluginStart, esFilters, UI_SETTINGS } from '../../../../src/plugins/data/public'; +import { inspectorPluginMock } from '../../../../src/plugins/inspector/public/mocks'; import { dashboardPluginMock } from '../../../../src/plugins/dashboard/public/mocks'; import type { LensByValueInput, @@ -378,6 +379,7 @@ export function makeDefaultServices( navigation: navigationStartMock, notifications: core.notifications, attributeService: makeAttributeService(), + inspector: inspectorPluginMock.createStartContract(), dashboard: dashboardPluginMock.createStartContract(), presentationUtil: presentationUtilPluginMock.createStartContract(core), savedObjectsClient: core.savedObjects.client, diff --git a/x-pack/plugins/lens/public/plugin.ts b/x-pack/plugins/lens/public/plugin.ts index 6e8b7d35b0cb9..95f2e13cbc464 100644 --- a/x-pack/plugins/lens/public/plugin.ts +++ b/x-pack/plugins/lens/public/plugin.ts @@ -206,6 +206,7 @@ export class LensPlugin { indexPatternService: deps.data.indexPatterns, uiActions: deps.uiActions, usageCollection, + inspector: deps.inspector, }; }; diff --git a/x-pack/plugins/lens/public/types.ts b/x-pack/plugins/lens/public/types.ts index 0a04e4fea932d..399e226a711db 100644 --- a/x-pack/plugins/lens/public/types.ts +++ b/x-pack/plugins/lens/public/types.ts @@ -5,13 +5,11 @@ * 2.0. */ -import { IconType } from '@elastic/eui/src/components/icon/icon'; -import { CoreSetup } from 'kibana/public'; -import { PaletteOutput } from 'src/plugins/charts/public'; -import { SavedObjectReference } from 'kibana/public'; -import { MutableRefObject } from 'react'; -import { RowClickContext } from '../../../../src/plugins/ui_actions/public'; -import { +import type { IconType } from '@elastic/eui/src/components/icon/icon'; +import type { CoreSetup, SavedObjectReference } from 'kibana/public'; +import type { PaletteOutput } from 'src/plugins/charts/public'; +import type { MutableRefObject } from 'react'; +import type { ExpressionAstExpression, ExpressionRendererEvent, IInterpreterRenderHandlers, @@ -19,20 +17,28 @@ import { } from '../../../../src/plugins/expressions/public'; import { DraggingIdentifier, DragDropIdentifier, DragContextState } from './drag_drop'; import type { DateRange, LayerType } from '../common'; -import { Query, Filter } from '../../../../src/plugins/data/public'; -import { VisualizeFieldContext } from '../../../../src/plugins/ui_actions/public'; -import { RangeSelectContext, ValueClickContext } from '../../../../src/plugins/embeddable/public'; -import { - LENS_EDIT_SORT_ACTION, - LENS_EDIT_RESIZE_ACTION, - LENS_TOGGLE_ACTION, -} from './datatable_visualization/components/constants'; +import type { Query, Filter } from '../../../../src/plugins/data/public'; +import type { + RangeSelectContext, + ValueClickContext, +} from '../../../../src/plugins/embeddable/public'; import type { LensSortActionData, LensResizeActionData, LensToggleActionData, } from './datatable_visualization/components/types'; -import { UiActionsStart } from '../../../../src/plugins/ui_actions/public'; +import type { + UiActionsStart, + RowClickContext, + VisualizeFieldContext, +} from '../../../../src/plugins/ui_actions/public'; + +import { + LENS_EDIT_SORT_ACTION, + LENS_EDIT_RESIZE_ACTION, + LENS_TOGGLE_ACTION, +} from './datatable_visualization/components/constants'; +import type { LensInspector } from './lens_inspector_service'; export type ErrorCallback = (e: { message: string }) => void; @@ -43,6 +49,7 @@ export interface PublicAPIProps { export interface EditorFrameProps { showNoDataPopover: () => void; + lensInspector: LensInspector; } export type VisualizationMap = Record; diff --git a/x-pack/test/functional/apps/lens/index.ts b/x-pack/test/functional/apps/lens/index.ts index 19ecc017c5073..09bbda595d55c 100644 --- a/x-pack/test/functional/apps/lens/index.ts +++ b/x-pack/test/functional/apps/lens/index.ts @@ -43,6 +43,7 @@ export default function ({ getService, loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./lens_tagging')); loadTestFile(require.resolve('./formula')); loadTestFile(require.resolve('./heatmap')); + loadTestFile(require.resolve('./inspector')); // has to be last one in the suite because it overrides saved objects loadTestFile(require.resolve('./rollup')); diff --git a/x-pack/test/functional/apps/lens/inspector.ts b/x-pack/test/functional/apps/lens/inspector.ts new file mode 100644 index 0000000000000..0783124079d4c --- /dev/null +++ b/x-pack/test/functional/apps/lens/inspector.ts @@ -0,0 +1,59 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import expect from '@kbn/expect'; +import type { FtrProviderContext } from '../../ftr_provider_context'; + +export default function ({ getService, getPageObjects }: FtrProviderContext) { + const PageObjects = getPageObjects(['visualize', 'lens', 'common', 'header']); + const elasticChart = getService('elasticChart'); + const inspector = getService('inspector'); + + describe('lens inspector', () => { + before(async () => { + await PageObjects.visualize.navigateToNewVisualization(); + await PageObjects.visualize.clickVisType('lens'); + await elasticChart.setNewChartUiDebugFlag(true); + await PageObjects.lens.goToTimeRange(); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_xDimensionPanel > lns-empty-dimension', + operation: 'terms', + field: 'clientip', + }); + + await PageObjects.lens.configureDimension({ + dimension: 'lnsXY_yDimensionPanel > lns-empty-dimension', + operation: 'max', + field: 'bytes', + }); + + await PageObjects.lens.waitForVisualization(); + + await inspector.open('lnsApp_inspectButton'); + }); + + after(async () => { + await inspector.close(); + }); + + it('should inspect table data', async () => { + await inspector.expectTableData([ + ['232.44.243.247', '19,986'], + ['252.59.37.77', '19,985'], + ['239.180.70.74', '19,984'], + ['206.22.226.5', '19,952'], + ['80.252.219.9', '19,950'], + ['Other', '19,941'], + ]); + }); + + it('should inspect request data', async () => { + await inspector.openInspectorRequestsView(); + expect(await inspector.getRequestNames()).to.be('Data,Other bucket'); + }); + }); +} From 7cfdd000eea5db0ade3382b1751e4c8e91f8b7d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Thu, 26 Aug 2021 15:18:39 +0100 Subject: [PATCH 073/139] [Home app] Fix `this` references (#110207) * [Home app] Fix `this` references * More readable if --- src/plugins/home/public/application/components/home.tsx | 4 ++-- test/functional/apps/home/_welcome.ts | 6 ++++++ test/functional/page_objects/common_page.ts | 7 +++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/plugins/home/public/application/components/home.tsx b/src/plugins/home/public/application/components/home.tsx index 30439e5fa87e2..0572d7b80f986 100644 --- a/src/plugins/home/public/application/components/home.tsx +++ b/src/plugins/home/public/application/components/home.tsx @@ -117,7 +117,7 @@ export class Home extends Component { return this.props.directories.find((directory) => directory.id === id); } - getFeaturesByCategory(category: FeatureCatalogueCategory) { + private getFeaturesByCategory(category: FeatureCatalogueCategory) { return this.props.directories .filter((directory) => directory.showOnHomePage && directory.category === category) .sort((directoryA, directoryB) => (directoryA.order ?? -1) - (directoryB.order ?? -1)); @@ -177,7 +177,7 @@ export class Home extends Component { private renderWelcome() { return ( this.skipWelcome()} urlBasePath={this.props.urlBasePath} telemetry={this.props.telemetry} /> diff --git a/test/functional/apps/home/_welcome.ts b/test/functional/apps/home/_welcome.ts index ec7e9759558df..e0fd1b5619dc1 100644 --- a/test/functional/apps/home/_welcome.ts +++ b/test/functional/apps/home/_welcome.ts @@ -26,5 +26,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.common.navigateToUrl('home', undefined, { disableWelcomePrompt: false }); expect(await PageObjects.home.isWelcomeInterstitialDisplayed()).to.be(true); }); + + it('clicking on "Explore on my own" redirects to the "home" page', async () => { + await PageObjects.common.navigateToUrl('home', undefined, { disableWelcomePrompt: false }); + expect(await PageObjects.home.isWelcomeInterstitialDisplayed()).to.be(true); + await PageObjects.common.clickAndValidate('skipWelcomeScreen', 'homeApp'); + }); }); } diff --git a/test/functional/page_objects/common_page.ts b/test/functional/page_objects/common_page.ts index 70589b9d9505e..853a926f4f6e8 100644 --- a/test/functional/page_objects/common_page.ts +++ b/test/functional/page_objects/common_page.ts @@ -487,7 +487,10 @@ export class CommonPageObject extends FtrService { topOffset?: number ) { await this.testSubjects.click(clickTarget, undefined, topOffset); - const validate = isValidatorCssString ? this.find.byCssSelector : this.testSubjects.exists; - await validate(validator); + if (isValidatorCssString) { + await this.find.byCssSelector(validator); + } else { + await this.testSubjects.exists(validator); + } } } From f806fa2eda0da2ab219175b858bf0f00f9810082 Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Thu, 26 Aug 2021 16:30:58 +0200 Subject: [PATCH 074/139] fixes opening alerts test (#110198) --- x-pack/plugins/security_solution/cypress/tasks/alerts.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/security_solution/cypress/tasks/alerts.ts b/x-pack/plugins/security_solution/cypress/tasks/alerts.ts index abc3eed4e1418..1520a88ec31bc 100644 --- a/x-pack/plugins/security_solution/cypress/tasks/alerts.ts +++ b/x-pack/plugins/security_solution/cypress/tasks/alerts.ts @@ -25,7 +25,7 @@ import { TIMELINE_CONTEXT_MENU_BTN, SELECT_EVENT_CHECKBOX, } from '../screens/alerts'; -import { REFRESH_BUTTON } from '../screens/security_header'; +import { LOADING_INDICATOR, REFRESH_BUTTON } from '../screens/security_header'; import { TIMELINE_COLUMN_SPINNER } from '../screens/timeline'; import { UPDATE_ENRICHMENT_RANGE_BUTTON, @@ -99,7 +99,8 @@ export const goToOpenedAlerts = () => { cy.get(OPENED_ALERTS_FILTER_BTN).click({ force: true }); cy.get(REFRESH_BUTTON).should('not.have.text', 'Updating'); cy.get(REFRESH_BUTTON).should('have.text', 'Refresh'); - cy.get(TIMELINE_COLUMN_SPINNER).should('not.exist'); + cy.get(LOADING_INDICATOR).should('exist'); + cy.get(LOADING_INDICATOR).should('not.exist'); }; export const openFirstAlert = () => { From bb8ee0ce05f8b5606bd35b63645a47140578931e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= Date: Thu, 26 Aug 2021 15:36:46 +0100 Subject: [PATCH 075/139] Enable Product check from @elastic/elasticsearch-js (#107663) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../integration_tests/__fixtures__/es_bin.js | 29 ++++++- packages/kbn-es/src/utils/native_realm.js | 19 ----- .../reload_logging_config/kibana.test.yml | 2 + .../kibana_log_console.test.yml | 2 + .../kibana_log_file.test.yml | 2 + .../integration_tests/core_app_routes.test.ts | 1 + .../integration_tests/static_assets.test.ts | 5 +- .../elasticsearch/client/configure_client.ts | 24 ------ .../elasticsearch_config.test.ts | 31 +++++++ .../elasticsearch/elasticsearch_config.ts | 27 ++++++ .../elasticsearch_service.test.ts | 83 ++++++++++++++++++- .../elasticsearch/elasticsearch_service.ts | 21 ++++- .../integration_tests/client.test.ts | 53 ++++++++++++ .../elasticsearch/is_valid_connection.test.ts | 71 ++++++++++++++++ .../elasticsearch/is_valid_connection.ts | 42 ++++++++++ .../integration_tests/core_services.test.ts | 10 ++- .../http/integration_tests/http_auth.test.ts | 5 +- .../http/integration_tests/logging.test.ts | 9 +- .../http_resources_service.test.ts | 1 + .../legacy/integration_tests/logging.test.ts | 1 + .../routes/integration_tests/migrate.test.ts | 6 +- .../saved_objects/saved_objects_service.ts | 20 ++--- src/core/server/server.api.md | 3 + .../integration_tests/routes.test.ts | 5 +- .../plugins/monitoring/server/config.test.ts | 1 + 25 files changed, 406 insertions(+), 67 deletions(-) create mode 100644 src/core/server/elasticsearch/is_valid_connection.test.ts create mode 100644 src/core/server/elasticsearch/is_valid_connection.ts diff --git a/packages/kbn-es/src/integration_tests/__fixtures__/es_bin.js b/packages/kbn-es/src/integration_tests/__fixtures__/es_bin.js index 431c949cd72de..7ec57b65d6d98 100644 --- a/packages/kbn-es/src/integration_tests/__fixtures__/es_bin.js +++ b/packages/kbn-es/src/integration_tests/__fixtures__/es_bin.js @@ -31,11 +31,36 @@ const { ES_KEY_PATH, ES_CERT_PATH } = require('@kbn/dev-utils'); }, (req, res) => { const url = new URL(req.url, serverUrl); - const send = (code, body) => { - res.writeHead(code, { 'content-type': 'application/json' }); + const send = (code, body, headers = {}) => { + res.writeHead(code, { 'content-type': 'application/json', ...headers }); res.end(JSON.stringify(body)); }; + // ES client's Product check request: it checks some fields in the body and the header + if (url.pathname === '/') { + return send( + 200, + { + name: 'es-bin', + cluster_name: 'elasticsearch', + cluster_uuid: 'k0sr2gr9S4OBtygmu9ndzA', + version: { + number: '8.0.0-SNAPSHOT', + build_flavor: 'default', + build_type: 'tar', + build_hash: 'b11c15b7e0af64f90c3eb9c52c2534b4f143a070', + build_date: '2021-08-03T19:32:39.781056185Z', + build_snapshot: true, + lucene_version: '8.9.0', + minimum_wire_compatibility_version: '7.15.0', + minimum_index_compatibility_version: '7.0.0', + }, + tagline: 'You Know, for Search', + }, + { 'x-elastic-product': 'Elasticsearch' } + ); + } + if (url.pathname === '/_xpack') { return send(400, { error: { diff --git a/packages/kbn-es/src/utils/native_realm.js b/packages/kbn-es/src/utils/native_realm.js index f7ee9da290dc6..a5051cdb0d89a 100644 --- a/packages/kbn-es/src/utils/native_realm.js +++ b/packages/kbn-es/src/utils/native_realm.js @@ -11,23 +11,6 @@ const chalk = require('chalk'); const { log: defaultLog } = require('./log'); -/** - * Hack to skip the Product Check performed by the Elasticsearch-js client. - * We noticed a couple of bugs that may need to be fixed before taking full - * advantage of this feature. - * - * The bugs are detailed in this issue: https://github.com/elastic/kibana/issues/105557 - * - * The hack is copied from the test/utils in the elasticsearch-js repo - * (https://github.com/elastic/elasticsearch-js/blob/master/test/utils/index.js#L45-L56) - */ -function skipProductCheck(client) { - const tSymbol = Object.getOwnPropertySymbols(client.transport || client).filter( - (symbol) => symbol.description === 'product check' - )[0]; - (client.transport || client)[tSymbol] = 2; -} - exports.NativeRealm = class NativeRealm { constructor({ elasticPassword, port, log = defaultLog, ssl = false, caCert }) { this._client = new Client({ @@ -39,8 +22,6 @@ exports.NativeRealm = class NativeRealm { } : undefined, }); - // TODO: @elastic/es-clients I had to disable the product check here because the client is getting 404 while ES is initializing, but the requests here auto retry them. - skipProductCheck(this._client); this._elasticPassword = elasticPassword; this._log = log; } diff --git a/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana.test.yml b/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana.test.yml index 594c2efc8adc9..1761a7984e0e7 100644 --- a/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana.test.yml +++ b/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana.test.yml @@ -9,3 +9,5 @@ plugins: initialize: false migrations: skip: true +elasticsearch: + skipStartupConnectionCheck: true diff --git a/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana_log_console.test.yml b/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana_log_console.test.yml index 33dd4787efad9..9e6b4eb5026af 100644 --- a/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana_log_console.test.yml +++ b/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana_log_console.test.yml @@ -20,3 +20,5 @@ plugins: initialize: false migrations: skip: true +elasticsearch: + skipStartupConnectionCheck: true diff --git a/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana_log_file.test.yml b/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana_log_file.test.yml index f5148899ff854..93135bed8e088 100644 --- a/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana_log_file.test.yml +++ b/src/cli/serve/integration_tests/__fixtures__/reload_logging_config/kibana_log_file.test.yml @@ -20,3 +20,5 @@ plugins: initialize: false migrations: skip: true +elasticsearch: + skipStartupConnectionCheck: true diff --git a/src/core/server/core_app/integration_tests/core_app_routes.test.ts b/src/core/server/core_app/integration_tests/core_app_routes.test.ts index a12e9e7d55188..77bb1cca9d93d 100644 --- a/src/core/server/core_app/integration_tests/core_app_routes.test.ts +++ b/src/core/server/core_app/integration_tests/core_app_routes.test.ts @@ -15,6 +15,7 @@ describe('Core app routes', () => { beforeAll(async function () { root = kbnTestServer.createRoot({ plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, server: { basePath: '/base-path', }, diff --git a/src/core/server/core_app/integration_tests/static_assets.test.ts b/src/core/server/core_app/integration_tests/static_assets.test.ts index 86da1d94d3fc6..a921d62397cb8 100644 --- a/src/core/server/core_app/integration_tests/static_assets.test.ts +++ b/src/core/server/core_app/integration_tests/static_assets.test.ts @@ -13,7 +13,10 @@ describe('Platform assets', function () { let root: Root; beforeAll(async function () { - root = kbnTestServer.createRoot({ plugins: { initialize: false } }); + root = kbnTestServer.createRoot({ + plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, + }); await root.preboot(); await root.setup(); diff --git a/src/core/server/elasticsearch/client/configure_client.ts b/src/core/server/elasticsearch/client/configure_client.ts index 631e20ac238f1..35825ef765dbf 100644 --- a/src/core/server/elasticsearch/client/configure_client.ts +++ b/src/core/server/elasticsearch/client/configure_client.ts @@ -49,12 +49,6 @@ export const configureClient = ( const client = new Client({ ...clientOptions, Transport: KibanaTransport }); addLogging(client, logger.get('query', type)); - // ------------------------------------------------------------------------ // - // Hack to disable the "Product check" while the bugs in // - // https://github.com/elastic/kibana/issues/105557 are handled. // - skipProductCheck(client); - // ------------------------------------------------------------------------ // - return client; }; @@ -137,21 +131,3 @@ const addLogging = (client: Client, logger: Logger) => { } }); }; - -/** - * Hack to skip the Product Check performed by the Elasticsearch-js client. - * We noticed a couple of bugs that may need to be fixed before taking full - * advantage of this feature. - * - * The bugs are detailed in this issue: https://github.com/elastic/kibana/issues/105557 - * - * The hack is copied from the test/utils in the elasticsearch-js repo - * (https://github.com/elastic/elasticsearch-js/blob/master/test/utils/index.js#L45-L56) - */ -function skipProductCheck(client: Client) { - const tSymbol = Object.getOwnPropertySymbols(client.transport || client).filter( - (symbol) => symbol.description === 'product check' - )[0]; - // @ts-expect-error `tSymbol` is missing in the index signature of Transport - (client.transport || client)[tSymbol] = 2; -} diff --git a/src/core/server/elasticsearch/elasticsearch_config.test.ts b/src/core/server/elasticsearch/elasticsearch_config.test.ts index 6e05baac88e34..1d3b70348bec1 100644 --- a/src/core/server/elasticsearch/elasticsearch_config.test.ts +++ b/src/core/server/elasticsearch/elasticsearch_config.test.ts @@ -43,6 +43,7 @@ test('set correct defaults', () => { "requestTimeout": "PT30S", "serviceAccountToken": undefined, "shardTimeout": "PT30S", + "skipStartupConnectionCheck": false, "sniffInterval": false, "sniffOnConnectionFault": false, "sniffOnStart": false, @@ -397,3 +398,33 @@ test('serviceAccountToken does not throw if username is not set', () => { expect(() => config.schema.validate(obj)).not.toThrow(); }); + +describe('skipStartupConnectionCheck', () => { + test('defaults to `false`', () => { + const obj = {}; + expect(() => config.schema.validate(obj)).not.toThrow(); + expect(config.schema.validate(obj)).toEqual( + expect.objectContaining({ + skipStartupConnectionCheck: false, + }) + ); + }); + + test('accepts `false` on both prod and dev mode', () => { + const obj = { + skipStartupConnectionCheck: false, + }; + expect(() => config.schema.validate(obj, { dist: false })).not.toThrow(); + expect(() => config.schema.validate(obj, { dist: true })).not.toThrow(); + }); + + test('accepts `true` only when running from source to allow integration tests to run without an ES server', () => { + const obj = { + skipStartupConnectionCheck: true, + }; + expect(() => config.schema.validate(obj, { dist: false })).not.toThrow(); + expect(() => config.schema.validate(obj, { dist: true })).toThrowErrorMatchingInlineSnapshot( + `"[skipStartupConnectionCheck]: \\"skipStartupConnectionCheck\\" can only be set to true when running from source to allow integration tests to run without an ES server"` + ); + }); +}); diff --git a/src/core/server/elasticsearch/elasticsearch_config.ts b/src/core/server/elasticsearch/elasticsearch_config.ts index e756d9da867b3..995b3ffbd947d 100644 --- a/src/core/server/elasticsearch/elasticsearch_config.ts +++ b/src/core/server/elasticsearch/elasticsearch_config.ts @@ -153,6 +153,21 @@ export const configSchema = schema.object({ }), schema.boolean({ defaultValue: false }) ), + skipStartupConnectionCheck: schema.conditional( + // Using dist over dev because integration_tests run with dev: false, + // and this config is solely introduced to allow some of the integration tests to run without an ES server. + schema.contextRef('dist'), + true, + schema.boolean({ + validate: (rawValue) => { + if (rawValue === true) { + return '"skipStartupConnectionCheck" can only be set to true when running from source to allow integration tests to run without an ES server'; + } + }, + defaultValue: false, + }), + schema.boolean({ defaultValue: false }) + ), }); const deprecations: ConfigDeprecationProvider = () => [ @@ -220,6 +235,17 @@ export const config: ServiceConfigDescriptor = { * @public */ export class ElasticsearchConfig { + /** + * @internal + * Only valid in dev mode. Skip the valid connection check during startup. The connection check allows + * Kibana to ensure that the Elasticsearch connection is valid before allowing + * any other services to be set up. + * + * @remarks + * You should disable this check at your own risk: Other services in Kibana + * may fail if this step is not completed. + */ + public readonly skipStartupConnectionCheck: boolean; /** * The interval between health check requests Kibana sends to the Elasticsearch. */ @@ -337,6 +363,7 @@ export class ElasticsearchConfig { this.password = rawConfig.password; this.serviceAccountToken = rawConfig.serviceAccountToken; this.customHeaders = rawConfig.customHeaders; + this.skipStartupConnectionCheck = rawConfig.skipStartupConnectionCheck; const { alwaysPresentCertificate, verificationMode } = rawConfig.ssl; const { key, keyPassphrase, certificate, certificateAuthorities } = readKeyAndCerts(rawConfig); diff --git a/src/core/server/elasticsearch/elasticsearch_service.test.ts b/src/core/server/elasticsearch/elasticsearch_service.test.ts index 2f1883fd8646a..4c749cba1fd84 100644 --- a/src/core/server/elasticsearch/elasticsearch_service.test.ts +++ b/src/core/server/elasticsearch/elasticsearch_service.test.ts @@ -6,6 +6,17 @@ * Side Public License, v 1. */ +// Mocking the module to avoid waiting for a valid ES connection during these unit tests +jest.mock('./is_valid_connection', () => ({ + isValidConnection: jest.fn(), +})); + +// Mocking this module to force different statuses to help with the unit tests +jest.mock('./version_check/ensure_es_version', () => ({ + pollEsNodesVersion: jest.fn(), +})); + +import type { NodesVersionCompatibility } from './version_check/ensure_es_version'; import { MockClusterClient } from './elasticsearch_service.test.mocks'; import { BehaviorSubject } from 'rxjs'; import { first } from 'rxjs/operators'; @@ -20,6 +31,11 @@ import { configSchema, ElasticsearchConfig } from './elasticsearch_config'; import { ElasticsearchService } from './elasticsearch_service'; import { elasticsearchClientMock } from './client/mocks'; import { duration } from 'moment'; +import { isValidConnection as isValidConnectionMock } from './is_valid_connection'; +import { pollEsNodesVersion as pollEsNodesVersionMocked } from './version_check/ensure_es_version'; +const { pollEsNodesVersion: pollEsNodesVersionActual } = jest.requireActual( + './version_check/ensure_es_version' +); const delay = async (durationMs: number) => await new Promise((resolve) => setTimeout(resolve, durationMs)); @@ -33,7 +49,6 @@ const setupDeps = { let env: Env; let coreContext: CoreContext; -const logger = loggingSystemMock.create(); let mockClusterClientInstance: ReturnType; @@ -52,12 +67,16 @@ beforeEach(() => { }); configService.atPath.mockReturnValue(mockConfig$); + const logger = loggingSystemMock.create(); coreContext = { coreId: Symbol(), env, logger, configService: configService as any }; elasticsearchService = new ElasticsearchService(coreContext); MockClusterClient.mockClear(); mockClusterClientInstance = elasticsearchClientMock.createCustomClusterClient(); MockClusterClient.mockImplementation(() => mockClusterClientInstance); + + // @ts-expect-error TS does not get that `pollEsNodesVersion` is mocked + pollEsNodesVersionMocked.mockImplementation(pollEsNodesVersionActual); }); afterEach(() => jest.clearAllMocks()); @@ -204,6 +223,62 @@ describe('#start', () => { expect(client.asInternalUser).toBe(mockClusterClientInstance.asInternalUser); }); + it('should log.error non-compatible nodes error', async () => { + const defaultMessage = { + isCompatible: true, + kibanaVersion: '8.0.0', + incompatibleNodes: [], + warningNodes: [], + }; + const observable$ = new BehaviorSubject(defaultMessage); + + // @ts-expect-error this module is mocked, so `mockImplementation` is an allowed property + pollEsNodesVersionMocked.mockImplementation(() => observable$); + + await elasticsearchService.setup(setupDeps); + await elasticsearchService.start(); + expect(loggingSystemMock.collect(coreContext.logger).error).toEqual([]); + observable$.next({ + ...defaultMessage, + isCompatible: false, + message: 'Something went terribly wrong!', + }); + expect(loggingSystemMock.collect(coreContext.logger).error).toEqual([ + ['Something went terribly wrong!'], + ]); + }); + + describe('skipStartupConnectionCheck', () => { + it('should validate the connection by default', async () => { + await elasticsearchService.setup(setupDeps); + expect(isValidConnectionMock).not.toHaveBeenCalled(); + await elasticsearchService.start(); + expect(isValidConnectionMock).toHaveBeenCalledTimes(1); + }); + + it('should validate the connection when `false`', async () => { + mockConfig$.next({ + ...(await mockConfig$.pipe(first()).toPromise()), + skipStartupConnectionCheck: false, + }); + await elasticsearchService.setup(setupDeps); + expect(isValidConnectionMock).not.toHaveBeenCalled(); + await elasticsearchService.start(); + expect(isValidConnectionMock).toHaveBeenCalledTimes(1); + }); + + it('should not validate the connection when `true`', async () => { + mockConfig$.next({ + ...(await mockConfig$.pipe(first()).toPromise()), + skipStartupConnectionCheck: true, + }); + await elasticsearchService.setup(setupDeps); + expect(isValidConnectionMock).not.toHaveBeenCalled(); + await elasticsearchService.start(); + expect(isValidConnectionMock).not.toHaveBeenCalled(); + }); + }); + describe('#createClient', () => { it('allows to specify config properties', async () => { await elasticsearchService.setup(setupDeps); @@ -281,7 +356,7 @@ describe('#stop', () => { }); it('stops pollEsNodeVersions even if there are active subscriptions', async (done) => { - expect.assertions(2); + expect.assertions(3); const mockedClient = mockClusterClientInstance.asInternalUser; mockedClient.nodes.info.mockImplementation(() => @@ -292,10 +367,12 @@ describe('#stop', () => { setupContract.esNodesCompatibility$.subscribe(async () => { expect(mockedClient.nodes.info).toHaveBeenCalledTimes(1); + await delay(10); + expect(mockedClient.nodes.info).toHaveBeenCalledTimes(2); await elasticsearchService.stop(); await delay(100); - expect(mockedClient.nodes.info).toHaveBeenCalledTimes(1); + expect(mockedClient.nodes.info).toHaveBeenCalledTimes(2); done(); }); }); diff --git a/src/core/server/elasticsearch/elasticsearch_service.ts b/src/core/server/elasticsearch/elasticsearch_service.ts index ce48f49b68660..1e0aa44fcbe19 100644 --- a/src/core/server/elasticsearch/elasticsearch_service.ts +++ b/src/core/server/elasticsearch/elasticsearch_service.ts @@ -23,8 +23,10 @@ import { InternalElasticsearchServiceSetup, InternalElasticsearchServiceStart, } from './types'; +import type { NodesVersionCompatibility } from './version_check/ensure_es_version'; import { pollEsNodesVersion } from './version_check/ensure_es_version'; import { calculateStatus$ } from './status'; +import { isValidConnection } from './is_valid_connection'; interface SetupDeps { http: InternalHttpServiceSetup; @@ -40,7 +42,7 @@ export class ElasticsearchService private kibanaVersion: string; private getAuthHeaders?: GetAuthHeaders; private executionContextClient?: IExecutionContext; - + private esNodesCompatibility$?: Observable; private client?: ClusterClient; constructor(private readonly coreContext: CoreContext) { @@ -84,6 +86,8 @@ export class ElasticsearchService kibanaVersion: this.kibanaVersion, }).pipe(takeUntil(this.stop$), shareReplay({ refCount: true, bufferSize: 1 })); + this.esNodesCompatibility$ = esNodesCompatibility$; + return { legacy: { config$: this.config$, @@ -93,11 +97,24 @@ export class ElasticsearchService }; } public async start(): Promise { - if (!this.client) { + if (!this.client || !this.esNodesCompatibility$) { throw new Error('ElasticsearchService needs to be setup before calling start'); } const config = await this.config$.pipe(first()).toPromise(); + + // Log every error we may encounter in the connection to Elasticsearch + this.esNodesCompatibility$.subscribe(({ isCompatible, message }) => { + if (!isCompatible && message) { + this.log.error(message); + } + }); + + if (!config.skipStartupConnectionCheck) { + // Ensure that the connection is established and the product is valid before moving on + await isValidConnection(this.esNodesCompatibility$); + } + return { client: this.client!, createClient: (type, clientConfig) => this.createClusterClient(type, config, clientConfig), diff --git a/src/core/server/elasticsearch/integration_tests/client.test.ts b/src/core/server/elasticsearch/integration_tests/client.test.ts index 3a4b7c5c4af22..6e40c638614bd 100644 --- a/src/core/server/elasticsearch/integration_tests/client.test.ts +++ b/src/core/server/elasticsearch/integration_tests/client.test.ts @@ -6,11 +6,17 @@ * Side Public License, v 1. */ +import { esTestConfig } from '@kbn/test'; +import * as http from 'http'; +import supertest from 'supertest'; + import { + createRootWithCorePlugins, createTestServers, TestElasticsearchUtils, TestKibanaUtils, } from '../../../test_helpers/kbn_server'; +import { Root } from '../../root'; describe('elasticsearch clients', () => { let esServer: TestElasticsearchUtils; @@ -55,3 +61,50 @@ describe('elasticsearch clients', () => { expect(resp.headers!.warning).toMatch('system indices'); }); }); + +function createFakeElasticsearchServer() { + const server = http.createServer((req, res) => { + // Reply with a 200 and empty response by default (intentionally malformed response) + res.writeHead(200); + res.end(); + }); + server.listen(esTestConfig.getPort()); + + return server; +} + +describe('fake elasticsearch', () => { + let esServer: http.Server; + let kibanaServer: Root; + let kibanaHttpServer: http.Server; + + beforeAll(async () => { + kibanaServer = createRootWithCorePlugins({ status: { allowAnonymous: true } }); + esServer = createFakeElasticsearchServer(); + + const kibanaPreboot = await kibanaServer.preboot(); + kibanaHttpServer = kibanaPreboot.http.server.listener; // Mind that we are using the prebootServer at this point because the migration gets hanging, while waiting for ES to be correct + await kibanaServer.setup(); + }); + + afterAll(async () => { + await kibanaServer.shutdown(); + await new Promise((resolve, reject) => + esServer.close((err) => (err ? reject(err) : resolve())) + ); + }); + + test('should return unknown product when it cannot perform the Product check (503 response)', async () => { + const resp = await supertest(kibanaHttpServer).get('/api/status').expect(503); + expect(resp.body.status.overall.state).toBe('red'); + expect(resp.body.status.statuses[0].message).toBe( + 'Unable to retrieve version information from Elasticsearch nodes. The client noticed that the server is not Elasticsearch and we do not support this unknown product.' + ); + }); + + test('should fail to start Kibana because of the Product Check Error', async () => { + await expect(kibanaServer.start()).rejects.toThrowError( + 'The client noticed that the server is not Elasticsearch and we do not support this unknown product.' + ); + }); +}); diff --git a/src/core/server/elasticsearch/is_valid_connection.test.ts b/src/core/server/elasticsearch/is_valid_connection.test.ts new file mode 100644 index 0000000000000..2099410c2984d --- /dev/null +++ b/src/core/server/elasticsearch/is_valid_connection.test.ts @@ -0,0 +1,71 @@ +/* + * 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. + */ + +import { Subject } from 'rxjs'; +import { errors } from '@elastic/elasticsearch'; +import { isValidConnection } from './is_valid_connection'; +import { NodesVersionCompatibility } from './version_check/ensure_es_version'; + +describe('isValidConnection', () => { + const esNodesCompatibilityRequired: NodesVersionCompatibility = { + isCompatible: true, + incompatibleNodes: [], + warningNodes: [], + kibanaVersion: '8.0.0', + }; + const incompatible = { + ...esNodesCompatibilityRequired, + isCompatible: false, + message: 'Something is wrong!', + }; + const compatible = { + ...esNodesCompatibilityRequired, + isCompatible: true, + message: 'All OK!', + }; + const errored = { + ...incompatible, + nodesInfoRequestError: new errors.ConnectionError('Something went terribly wrong', {} as any), + }; + + test('should resolve only on compatible nodes', async () => { + const esNodesCompatibility$ = new Subject(); + const promise = isValidConnection(esNodesCompatibility$); + + esNodesCompatibility$.next(incompatible); + esNodesCompatibility$.next(errored); + esNodesCompatibility$.next(compatible); + + await expect(promise).resolves.toStrictEqual(compatible); + }); + + test('should throw an error only on ProductCheckError', async () => { + const esNodesCompatibility$ = new Subject(); + const promise = isValidConnection(esNodesCompatibility$); + + const { ProductNotSupportedError, ConnectionError, ConfigurationError } = errors; + + // Emit some other errors declared by the ES client + esNodesCompatibility$.next({ + ...errored, + nodesInfoRequestError: new ConnectionError('Something went terribly wrong', {} as any), + }); + esNodesCompatibility$.next({ + ...errored, + nodesInfoRequestError: new ConfigurationError('Something went terribly wrong'), + }); + + const productCheckErrored = { + ...incompatible, + nodesInfoRequestError: new ProductNotSupportedError({} as any), + }; + esNodesCompatibility$.next(productCheckErrored); + + await expect(promise).rejects.toThrow(productCheckErrored.nodesInfoRequestError); + }); +}); diff --git a/src/core/server/elasticsearch/is_valid_connection.ts b/src/core/server/elasticsearch/is_valid_connection.ts new file mode 100644 index 0000000000000..609fa714243f4 --- /dev/null +++ b/src/core/server/elasticsearch/is_valid_connection.ts @@ -0,0 +1,42 @@ +/* + * 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. + */ + +import { filter, first } from 'rxjs/operators'; +import { errors } from '@elastic/elasticsearch'; +import { Observable } from 'rxjs'; +import { NodesVersionCompatibility } from './version_check/ensure_es_version'; + +/** + * Validates the output of the ES Compatibility Check and waits for a valid connection. + * It may also throw on specific config/connection errors to make Kibana halt. + * + * @param esNodesCompatibility$ ES Compatibility Check's observable + * + * @remarks: Ideally, this will be called during the start lifecycle to figure + * out any configuration issue as soon as possible. + */ +export async function isValidConnection( + esNodesCompatibility$: Observable +) { + return await esNodesCompatibility$ + .pipe( + filter(({ nodesInfoRequestError, isCompatible }) => { + if ( + nodesInfoRequestError && + nodesInfoRequestError instanceof errors.ProductNotSupportedError + ) { + // Throw on the specific error of ProductNotSupported. + // We explicitly want Kibana to halt in this case. + throw nodesInfoRequestError; + } + return isCompatible; + }), + first() + ) + .toPromise(); +} diff --git a/src/core/server/http/integration_tests/core_services.test.ts b/src/core/server/http/integration_tests/core_services.test.ts index 0c2d6896573bd..84eed0511cb23 100644 --- a/src/core/server/http/integration_tests/core_services.test.ts +++ b/src/core/server/http/integration_tests/core_services.test.ts @@ -34,7 +34,10 @@ describe('http service', () => { describe('auth', () => { let root: ReturnType; beforeEach(async () => { - root = kbnTestServer.createRoot({ plugins: { initialize: false } }); + root = kbnTestServer.createRoot({ + plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, + }); await root.preboot(); }, 30000); @@ -182,7 +185,10 @@ describe('http service', () => { let root: ReturnType; beforeEach(async () => { - root = kbnTestServer.createRoot({ plugins: { initialize: false } }); + root = kbnTestServer.createRoot({ + plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, + }); await root.preboot(); }, 30000); diff --git a/src/core/server/http/integration_tests/http_auth.test.ts b/src/core/server/http/integration_tests/http_auth.test.ts index 9c923943118a0..d7b8fddf244c6 100644 --- a/src/core/server/http/integration_tests/http_auth.test.ts +++ b/src/core/server/http/integration_tests/http_auth.test.ts @@ -14,7 +14,10 @@ describe('http auth', () => { let root: ReturnType; beforeEach(async () => { - root = kbnTestServer.createRoot({ plugins: { initialize: false } }); + root = kbnTestServer.createRoot({ + plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, + }); await root.preboot(); }, 30000); diff --git a/src/core/server/http/integration_tests/logging.test.ts b/src/core/server/http/integration_tests/logging.test.ts index f7eee9580d11a..12d555a240cde 100644 --- a/src/core/server/http/integration_tests/logging.test.ts +++ b/src/core/server/http/integration_tests/logging.test.ts @@ -27,7 +27,10 @@ describe('request logging', () => { describe('http server response logging', () => { describe('configuration', () => { it('does not log with a default config', async () => { - const root = kbnTestServer.createRoot({ plugins: { initialize: false } }); + const root = kbnTestServer.createRoot({ + plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, + }); await root.preboot(); const { http } = await root.setup(); @@ -69,6 +72,7 @@ describe('request logging', () => { plugins: { initialize: false, }, + elasticsearch: { skipStartupConnectionCheck: true }, }); await root.preboot(); const { http } = await root.setup(); @@ -116,6 +120,7 @@ describe('request logging', () => { plugins: { initialize: false, }, + elasticsearch: { skipStartupConnectionCheck: true }, }; beforeEach(() => { @@ -327,6 +332,7 @@ describe('request logging', () => { plugins: { initialize: false, }, + elasticsearch: { skipStartupConnectionCheck: true }, }); await root.preboot(); const { http } = await root.setup(); @@ -426,6 +432,7 @@ describe('request logging', () => { plugins: { initialize: false, }, + elasticsearch: { skipStartupConnectionCheck: true }, }); await root.preboot(); const { http } = await root.setup(); diff --git a/src/core/server/http_resources/integration_tests/http_resources_service.test.ts b/src/core/server/http_resources/integration_tests/http_resources_service.test.ts index 924ec9084cfe8..6f4f3c9c6e985 100644 --- a/src/core/server/http_resources/integration_tests/http_resources_service.test.ts +++ b/src/core/server/http_resources/integration_tests/http_resources_service.test.ts @@ -19,6 +19,7 @@ describe('http resources service', () => { rules: [defaultCspRules], }, plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, }); await root.preboot(); }, 30000); diff --git a/src/core/server/legacy/integration_tests/logging.test.ts b/src/core/server/legacy/integration_tests/logging.test.ts index d8f9f035f44be..a79e434ce4576 100644 --- a/src/core/server/legacy/integration_tests/logging.test.ts +++ b/src/core/server/legacy/integration_tests/logging.test.ts @@ -18,6 +18,7 @@ function createRoot(legacyLoggingConfig: LegacyLoggingConfig = {}) { return kbnTestServer.createRoot({ migrations: { skip: true }, // otherwise stuck in polling ES plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, logging: { // legacy platform config silent: false, diff --git a/src/core/server/saved_objects/routes/integration_tests/migrate.test.ts b/src/core/server/saved_objects/routes/integration_tests/migrate.test.ts index 5aa5dd24a3bad..865f4f5cfe5db 100644 --- a/src/core/server/saved_objects/routes/integration_tests/migrate.test.ts +++ b/src/core/server/saved_objects/routes/integration_tests/migrate.test.ts @@ -13,7 +13,11 @@ describe('SavedObjects /_migrate endpoint', () => { let root: ReturnType; beforeEach(async () => { - root = kbnTestServer.createRoot({ migrations: { skip: true }, plugins: { initialize: false } }); + root = kbnTestServer.createRoot({ + migrations: { skip: true }, + plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, + }); await root.preboot(); await root.setup(); await root.start(); diff --git a/src/core/server/saved_objects/saved_objects_service.ts b/src/core/server/saved_objects/saved_objects_service.ts index 1ec3fbfa9eb5d..b25e51da3a749 100644 --- a/src/core/server/saved_objects/saved_objects_service.ts +++ b/src/core/server/saved_objects/saved_objects_service.ts @@ -399,20 +399,20 @@ export class SavedObjectsService 'Waiting until all Elasticsearch nodes are compatible with Kibana before starting saved objects migrations...' ); - // TODO: Move to Status Service https://github.com/elastic/kibana/issues/41983 - this.setupDeps!.elasticsearch.esNodesCompatibility$.subscribe(({ isCompatible, message }) => { - if (!isCompatible && message) { - this.logger.error(message); - } - }); - - await this.setupDeps!.elasticsearch.esNodesCompatibility$.pipe( + // The Elasticsearch service should already ensure that, but let's double check just in case. + // Should it be replaced with elasticsearch.status$ API instead? + const compatibleNodes = await this.setupDeps!.elasticsearch.esNodesCompatibility$.pipe( filter((nodes) => nodes.isCompatible), take(1) ).toPromise(); - this.logger.info('Starting saved objects migrations'); - await migrator.runMigrations(); + // Running migrations only if we got compatible nodes. + // It may happen that the observable completes due to Kibana shutting down + // and the promise above fulfils as undefined. We shouldn't trigger migrations at that point. + if (compatibleNodes) { + this.logger.info('Starting saved objects migrations'); + await migrator.runMigrations(); + } } const createRepository = ( diff --git a/src/core/server/server.api.md b/src/core/server/server.api.md index b4f07bc393e25..4129e20f68242 100644 --- a/src/core/server/server.api.md +++ b/src/core/server/server.api.md @@ -237,6 +237,7 @@ export const config: { delay: Type; }>; ignoreVersionMismatch: import("@kbn/config-schema/target_types/types").ConditionalType; + skipStartupConnectionCheck: import("@kbn/config-schema/target_types/types").ConditionalType; }>; }; logging: { @@ -825,6 +826,8 @@ export class ElasticsearchConfig { readonly requestTimeout: Duration; readonly serviceAccountToken?: string; readonly shardTimeout: Duration; + // @internal + readonly skipStartupConnectionCheck: boolean; readonly sniffInterval: false | Duration; readonly sniffOnConnectionFault: boolean; readonly sniffOnStart: boolean; diff --git a/src/core/server/ui_settings/integration_tests/routes.test.ts b/src/core/server/ui_settings/integration_tests/routes.test.ts index 487f83ba63140..6211793ccc905 100644 --- a/src/core/server/ui_settings/integration_tests/routes.test.ts +++ b/src/core/server/ui_settings/integration_tests/routes.test.ts @@ -13,7 +13,10 @@ describe('ui settings service', () => { describe('routes', () => { let root: ReturnType; beforeAll(async () => { - root = kbnTestServer.createRoot({ plugins: { initialize: false } }); + root = kbnTestServer.createRoot({ + plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, + }); await root.preboot(); const { uiSettings } = await root.setup(); diff --git a/x-pack/plugins/monitoring/server/config.test.ts b/x-pack/plugins/monitoring/server/config.test.ts index 8e7f4d0f13a83..76880d8f83d34 100644 --- a/x-pack/plugins/monitoring/server/config.test.ts +++ b/x-pack/plugins/monitoring/server/config.test.ts @@ -87,6 +87,7 @@ describe('config schema', () => { ], "requestTimeout": "PT30S", "shardTimeout": "PT30S", + "skipStartupConnectionCheck": false, "sniffInterval": false, "sniffOnConnectionFault": false, "sniffOnStart": false, From 0069faf8dd7b62de0ea7053c5e88b9ea051044fa Mon Sep 17 00:00:00 2001 From: Esteban Beltran Date: Thu, 26 Aug 2021 17:05:18 +0200 Subject: [PATCH 076/139] [Security Solution] Show rule.description when displaying an alert view flyout (#110221) --- .../common/ecs/event/index.ts | 2 + .../common/endpoint/generate_data.ts | 1 + .../common/endpoint/types/index.ts | 1 + .../alert_summary_view.test.tsx.snap | 805 ++++++++++++++++++ .../event_details/alert_summary_view.test.tsx | 22 + .../event_details/alert_summary_view.tsx | 8 + .../components/alerts_table/translations.ts | 7 + 7 files changed, 846 insertions(+) diff --git a/x-pack/plugins/security_solution/common/ecs/event/index.ts b/x-pack/plugins/security_solution/common/ecs/event/index.ts index 95b3fa90d0620..14f38480f90c8 100644 --- a/x-pack/plugins/security_solution/common/ecs/event/index.ts +++ b/x-pack/plugins/security_solution/common/ecs/event/index.ts @@ -54,4 +54,6 @@ export enum EventCode { MEMORY_SIGNATURE = 'memory_signature', // Memory Protection alert MALICIOUS_THREAD = 'malicious_thread', + // behavior + BEHAVIOR = 'behavior', } diff --git a/x-pack/plugins/security_solution/common/endpoint/generate_data.ts b/x-pack/plugins/security_solution/common/endpoint/generate_data.ts index 8df0dfc6b58a4..afe85e1abaa53 100644 --- a/x-pack/plugins/security_solution/common/endpoint/generate_data.ts +++ b/x-pack/plugins/security_solution/common/endpoint/generate_data.ts @@ -829,6 +829,7 @@ export class EndpointDocGenerator extends BaseDataGenerator { }, rule: { id: this.randomUUID(), + description: 'Behavior rule description', }, event: { action: 'rule_detection', diff --git a/x-pack/plugins/security_solution/common/endpoint/types/index.ts b/x-pack/plugins/security_solution/common/endpoint/types/index.ts index f398f1d57e600..780e746946138 100644 --- a/x-pack/plugins/security_solution/common/endpoint/types/index.ts +++ b/x-pack/plugins/security_solution/common/endpoint/types/index.ts @@ -376,6 +376,7 @@ export type AlertEvent = Partial<{ }>; rule: Partial<{ id: ECSField; + description: ECSField; }>; file: Partial<{ owner: ECSField; diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/__snapshots__/alert_summary_view.test.tsx.snap b/x-pack/plugins/security_solution/public/common/components/event_details/__snapshots__/alert_summary_view.test.tsx.snap index b71121b995c08..f11150908375f 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/__snapshots__/alert_summary_view.test.tsx.snap +++ b/x-pack/plugins/security_solution/public/common/components/event_details/__snapshots__/alert_summary_view.test.tsx.snap @@ -1,5 +1,810 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`AlertSummaryView Behavior event code renders additional summary rows 1`] = ` +.c1 { + line-height: 1.7rem; +} + +.c0 .euiTableHeaderCell, +.c0 .euiTableRowCell { + border: none; +} + +.c0 .euiTableHeaderCell .euiTableCellContent { + padding: 0; +} + +.c0 .flyoutOverviewDescription .hoverActions-active .timelines__hoverActionButton, +.c0 .flyoutOverviewDescription .hoverActions-active .securitySolution__hoverActionButton { + opacity: 1; +} + +.c0 .flyoutOverviewDescription:hover .timelines__hoverActionButton, +.c0 .flyoutOverviewDescription:hover .securitySolution__hoverActionButton { + opacity: 1; +} + +.c2 { + min-width: 138px; + padding: 0 8px; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; +} + +.c2:focus-within .timelines__hoverActionButton, +.c2:focus-within .securitySolution__hoverActionButton { + opacity: 1; +} + +.c2:hover .timelines__hoverActionButton, +.c2:hover .securitySolution__hoverActionButton { + opacity: 1; +} + +.c2 .timelines__hoverActionButton, +.c2 .securitySolution__hoverActionButton { + opacity: 0; +} + +.c2 .timelines__hoverActionButton:focus, +.c2 .securitySolution__hoverActionButton:focus { + opacity: 1; +} + +.c3 { + padding: 4px 0; +} + +
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
+
+ Status +
+
+
+
+
+
+ open +
+
+
+
+

+ You are in a dialog, containing options for field signal.status. Press tab to navigate options. Press escape to exit. +

+
+ Filter button +
+
+ Filter out button +
+
+ Overflow button +
+
+
+
+
+
+
+ Timestamp +
+
+
+
+
+
+ + Nov 25, 2020 @ 15:42:39.417 + +
+
+
+
+

+ You are in a dialog, containing options for field @timestamp. Press tab to navigate options. Press escape to exit. +

+
+ Filter button +
+
+ Filter out button +
+
+ Overflow button +
+
+
+
+
+
+
+ Rule +
+
+
+
+
+
+ xxx +
+
+
+
+

+ You are in a dialog, containing options for field signal.rule.name. Press tab to navigate options. Press escape to exit. +

+
+ Filter button +
+
+ Filter out button +
+
+ Overflow button +
+
+
+
+
+
+
+ Severity +
+
+
+
+
+
+ low +
+
+
+
+

+ You are in a dialog, containing options for field signal.rule.severity. Press tab to navigate options. Press escape to exit. +

+
+ Filter button +
+
+ Filter out button +
+
+ Overflow button +
+
+
+
+
+
+
+ Risk Score +
+
+
+
+
+
+ 21 +
+
+
+
+

+ You are in a dialog, containing options for field signal.rule.risk_score. Press tab to navigate options. Press escape to exit. +

+
+ Filter button +
+
+ Filter out button +
+
+ Overflow button +
+
+
+
+
+
+
+ host.name +
+
+
+
+
+
+ windows-native +
+
+
+
+

+ You are in a dialog, containing options for field host.name. Press tab to navigate options. Press escape to exit. +

+
+ Filter button +
+
+ Filter out button +
+
+ Overflow button +
+
+
+
+
+
+
+ user.name +
+
+
+
+
+
+ administrator +
+
+
+
+

+ You are in a dialog, containing options for field user.name. Press tab to navigate options. Press escape to exit. +

+
+ Filter button +
+
+ Filter out button +
+
+ Overflow button +
+
+
+
+
+
+
+ source.ip +
+
+
+
+
+
+ + + +
+
+
+
+

+ You are in a dialog, containing options for field source.ip. Press tab to navigate options. Press escape to exit. +

+
+ Filter button +
+
+ Filter out button +
+
+ Overflow button +
+
+
+
+
+
+
+ destination.ip +
+
+
+
+
+ — +
+
+
+
+
+ Threshold Count +
+
+
+
+
+ — +
+
+
+
+
+ Threshold Terms +
+
+
+
+
+ — +
+
+
+
+
+ Threshold Cardinality +
+
+
+
+
+ — +
+
+
+
+
+ Rule description +
+
+
+
+
+ — +
+
+
+
+
+`; + exports[`AlertSummaryView Memory event code renders additional summary rows 1`] = ` .c1 { line-height: 1.7rem; diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.test.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.test.tsx index 0de4f3fe01690..db5eb2d882c6f 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.test.tsx @@ -100,4 +100,26 @@ describe('AlertSummaryView', () => { ); expect(wrapper.find('div[data-test-subj="summary-view"]').render()).toMatchSnapshot(); }); + test('Behavior event code renders additional summary rows', () => { + const renderProps = { + ...props, + data: mockAlertDetailsData.map((item) => { + if (item.category === 'event' && item.field === 'event.code') { + return { + category: 'event', + field: 'event.code', + values: ['behavior'], + originalValue: ['behavior'], + }; + } + return item; + }) as TimelineEventsDetailsItem[], + }; + const wrapper = mount( + + + + ); + expect(wrapper.find('div[data-test-subj="summary-view"]').render()).toMatchSnapshot(); + }); }); diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.tsx index 1d95797cdd9ad..d8c1cc7fbfa60 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/alert_summary_view.tsx @@ -23,6 +23,7 @@ import { SIGNAL_STATUS, ALERTS_HEADERS_TARGET_IMPORT_HASH, TIMESTAMP, + ALERTS_HEADERS_RULE_DESCRIPTION, } from '../../../detections/components/alerts_table/translations'; import { AGENT_STATUS_FIELD_NAME, @@ -102,6 +103,11 @@ const memoryShellCodeAlertFields: EventSummaryField[] = [ }, ]; +const behaviorAlertFields: EventSummaryField[] = [ + ...defaultDisplayFields, + { id: 'rule.description', label: ALERTS_HEADERS_RULE_DESCRIPTION }, +]; + const memorySignatureAlertFields: EventSummaryField[] = [ ...defaultDisplayFields, { id: 'rule.name', label: ALERTS_HEADERS_RULE_NAME }, @@ -155,6 +161,8 @@ function getEventFieldsToDisplay({ return memoryShellCodeAlertFields; case EventCode.MEMORY_SIGNATURE: return memorySignatureAlertFields; + case EventCode.BEHAVIOR: + return behaviorAlertFields; } switch (eventCategory) { diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/translations.ts b/x-pack/plugins/security_solution/public/detections/components/alerts_table/translations.ts index 385d07c5ee606..309c6c7f9761c 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/translations.ts +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/translations.ts @@ -73,6 +73,13 @@ export const ALERTS_HEADERS_RULE_NAME = i18n.translate( } ); +export const ALERTS_HEADERS_RULE_DESCRIPTION = i18n.translate( + 'xpack.securitySolution.eventsViewer.alerts.defaultHeaders.ruleDescriptionTitle', + { + defaultMessage: 'Rule description', + } +); + export const ALERTS_HEADERS_VERSION = i18n.translate( 'xpack.securitySolution.eventsViewer.alerts.defaultHeaders.versionTitle', { From dc0c3228472869ebb64af962d9f7e06c6521af42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Casper=20H=C3=BCbertz?= Date: Thu, 26 Aug 2021 17:21:28 +0200 Subject: [PATCH 077/139] [APM] Bugfix: Increase table columns for latency and throughput (#110187) --- .../service_overview_instances_table/get_columns.tsx | 4 ++-- .../apm/public/components/shared/charts/spark_plot/index.tsx | 2 +- .../apm/public/components/shared/dependencies_table/index.tsx | 4 ++-- .../components/shared/transactions_table/get_columns.tsx | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/get_columns.tsx b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/get_columns.tsx index e91e38c5cfe20..07081069039cf 100644 --- a/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/get_columns.tsx +++ b/x-pack/plugins/apm/public/components/app/service_overview/service_overview_instances_table/get_columns.tsx @@ -101,7 +101,7 @@ export function getColumns({ { field: 'latency', name: getLatencyColumnLabel(latencyAggregationType), - width: `${unit * 10}px`, + width: `${unit * 11}px`, render: (_, { serviceNodeName, latency }) => { const currentPeriodTimestamp = detailedStatsData?.currentPeriod?.[serviceNodeName]?.latency; @@ -126,7 +126,7 @@ export function getColumns({ 'xpack.apm.serviceOverview.instancesTableColumnThroughput', { defaultMessage: 'Throughput' } ), - width: `${unit * 10}px`, + width: `${unit * 11}px`, render: (_, { serviceNodeName, throughput }) => { const currentPeriodTimestamp = detailedStatsData?.currentPeriod?.[serviceNodeName]?.throughput; diff --git a/x-pack/plugins/apm/public/components/shared/charts/spark_plot/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/spark_plot/index.tsx index 6206965882243..2743e957cd8ee 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/spark_plot/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/spark_plot/index.tsx @@ -81,7 +81,7 @@ export function SparkPlot({ return ( diff --git a/x-pack/plugins/apm/public/components/shared/dependencies_table/index.tsx b/x-pack/plugins/apm/public/components/shared/dependencies_table/index.tsx index 398f29e4189cd..a3dabeeca5b4b 100644 --- a/x-pack/plugins/apm/public/components/shared/dependencies_table/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/dependencies_table/index.tsx @@ -80,7 +80,7 @@ export function DependenciesTable(props: Props) { name: i18n.translate('xpack.apm.dependenciesTable.columnLatency', { defaultMessage: 'Latency (avg.)', }), - width: `${unit * 10}px`, + width: `${unit * 11}px`, render: (_, { currentStats, previousStats }) => { return ( { return ( { const currentTimeseries = transactionGroupDetailedStatistics?.currentPeriod?.[name]?.latency; @@ -97,7 +97,7 @@ export function getColumns({ 'xpack.apm.serviceOverview.transactionsTableColumnThroughput', { defaultMessage: 'Throughput' } ), - width: `${unit * 10}px`, + width: `${unit * 11}px`, render: (_, { throughput, name }) => { const currentTimeseries = transactionGroupDetailedStatistics?.currentPeriod?.[name]?.throughput; From 695280b756bcd531c354f36a296d9b9156c660c8 Mon Sep 17 00:00:00 2001 From: Joe Portner <5295965+jportner@users.noreply.github.com> Date: Thu, 26 Aug 2021 11:26:34 -0400 Subject: [PATCH 078/139] bulkGet saved objects across spaces (#109967) --- docs/api/saved-objects/bulk_get.asciidoc | 10 + ...n-core-server.savedobjectsbulkgetobject.md | 1 + ...er.savedobjectsbulkgetobject.namespaces.md | 15 ++ .../server/saved_objects/routes/bulk_get.ts | 1 + .../service/lib/internal_utils.test.ts | 85 +++++++++ .../service/lib/internal_utils.ts | 38 ++++ .../service/lib/repository.test.js | 93 +++++++--- .../saved_objects/service/lib/repository.ts | 63 ++++++- .../service/saved_objects_client.ts | 11 ++ src/core/server/server.api.md | 1 + ...ecure_saved_objects_client_wrapper.test.ts | 13 +- .../secure_saved_objects_client_wrapper.ts | 6 +- .../spaces_saved_objects_client.test.ts | 171 +++++++++++------- .../spaces_saved_objects_client.ts | 86 ++++++++- .../common/suites/bulk_get.ts | 15 +- .../security_and_spaces/apis/bulk_create.ts | 19 +- .../security_and_spaces/apis/bulk_get.ts | 79 ++++++-- .../security_only/apis/bulk_get.ts | 20 ++ .../spaces_only/apis/bulk_get.ts | 17 +- 19 files changed, 606 insertions(+), 138 deletions(-) create mode 100644 docs/development/core/server/kibana-plugin-core-server.savedobjectsbulkgetobject.namespaces.md diff --git a/docs/api/saved-objects/bulk_get.asciidoc b/docs/api/saved-objects/bulk_get.asciidoc index e31bbf145218d..4c6bf4c19a76c 100644 --- a/docs/api/saved-objects/bulk_get.asciidoc +++ b/docs/api/saved-objects/bulk_get.asciidoc @@ -31,6 +31,16 @@ experimental[] Retrieve multiple {kib} saved objects by ID. `fields`:: (Optional, array) The fields to return in the `attributes` key of the object response. +`namespaces`:: + (Optional, string array) Identifiers for the <> in which to search for this object. If this is provided, the object + is searched for only in the explicitly defined spaces. If this is not provided, the object is searched for in the current space (default + behavior). +* For shareable object types (registered with `namespaceType: 'multiple'`): this option can be used to specify one or more spaces, including +the "All spaces" identifier (`'*'`). +* For isolated object types (registered with `namespaceType: 'single'` or `namespaceType: 'multiple-isolated'`): this option can only be +used to specify a single space, and the "All spaces" identifier (`'*'`) is not allowed. +* For global object types (registered with `namespaceType: 'agnostic'`): this option cannot be used. + [[saved-objects-api-bulk-get-response-body]] ==== Response body diff --git a/docs/development/core/server/kibana-plugin-core-server.savedobjectsbulkgetobject.md b/docs/development/core/server/kibana-plugin-core-server.savedobjectsbulkgetobject.md index ab2c0c1110255..0ad5f1d66ee52 100644 --- a/docs/development/core/server/kibana-plugin-core-server.savedobjectsbulkgetobject.md +++ b/docs/development/core/server/kibana-plugin-core-server.savedobjectsbulkgetobject.md @@ -17,5 +17,6 @@ export interface SavedObjectsBulkGetObject | --- | --- | --- | | [fields](./kibana-plugin-core-server.savedobjectsbulkgetobject.fields.md) | string[] | SavedObject fields to include in the response | | [id](./kibana-plugin-core-server.savedobjectsbulkgetobject.id.md) | string | | +| [namespaces](./kibana-plugin-core-server.savedobjectsbulkgetobject.namespaces.md) | string[] | Optional namespace(s) for the object to be retrieved in. If this is defined, it will supersede the namespace ID that is in the top-level options.\* For shareable object types (registered with namespaceType: 'multiple'): this option can be used to specify one or more spaces, including the "All spaces" identifier ('*'). \* For isolated object types (registered with namespaceType: 'single' or namespaceType: 'multiple-isolated'): this option can only be used to specify a single space, and the "All spaces" identifier ('*') is not allowed. \* For global object types (registered with namespaceType: 'agnostic'): this option cannot be used. | | [type](./kibana-plugin-core-server.savedobjectsbulkgetobject.type.md) | string | | diff --git a/docs/development/core/server/kibana-plugin-core-server.savedobjectsbulkgetobject.namespaces.md b/docs/development/core/server/kibana-plugin-core-server.savedobjectsbulkgetobject.namespaces.md new file mode 100644 index 0000000000000..5add0ad1bdf95 --- /dev/null +++ b/docs/development/core/server/kibana-plugin-core-server.savedobjectsbulkgetobject.namespaces.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-core-server](./kibana-plugin-core-server.md) > [SavedObjectsBulkGetObject](./kibana-plugin-core-server.savedobjectsbulkgetobject.md) > [namespaces](./kibana-plugin-core-server.savedobjectsbulkgetobject.namespaces.md) + +## SavedObjectsBulkGetObject.namespaces property + +Optional namespace(s) for the object to be retrieved in. If this is defined, it will supersede the namespace ID that is in the top-level options. + +\* For shareable object types (registered with `namespaceType: 'multiple'`): this option can be used to specify one or more spaces, including the "All spaces" identifier (`'*'`). \* For isolated object types (registered with `namespaceType: 'single'` or `namespaceType: 'multiple-isolated'`): this option can only be used to specify a single space, and the "All spaces" identifier (`'*'`) is not allowed. \* For global object types (registered with `namespaceType: 'agnostic'`): this option cannot be used. + +Signature: + +```typescript +namespaces?: string[]; +``` diff --git a/src/core/server/saved_objects/routes/bulk_get.ts b/src/core/server/saved_objects/routes/bulk_get.ts index 3838e4d3b3c8e..cf051d6cd25cc 100644 --- a/src/core/server/saved_objects/routes/bulk_get.ts +++ b/src/core/server/saved_objects/routes/bulk_get.ts @@ -25,6 +25,7 @@ export const registerBulkGetRoute = (router: IRouter, { coreUsageData }: RouteDe type: schema.string(), id: schema.string(), fields: schema.maybe(schema.arrayOf(schema.string())), + namespaces: schema.maybe(schema.arrayOf(schema.string())), }) ), }, diff --git a/src/core/server/saved_objects/service/lib/internal_utils.test.ts b/src/core/server/saved_objects/service/lib/internal_utils.test.ts index d1fd067990f07..a0b8581e582f6 100644 --- a/src/core/server/saved_objects/service/lib/internal_utils.test.ts +++ b/src/core/server/saved_objects/service/lib/internal_utils.test.ts @@ -13,6 +13,7 @@ import { getBulkOperationError, getSavedObjectFromSource, rawDocExistsInNamespace, + rawDocExistsInNamespaces, } from './internal_utils'; import { ALL_NAMESPACES_STRING } from './utils'; @@ -241,3 +242,87 @@ describe('#rawDocExistsInNamespace', () => { }); }); }); + +describe('#rawDocExistsInNamespaces', () => { + const SINGLE_NAMESPACE_TYPE = 'single-type'; + const MULTI_NAMESPACE_TYPE = 'multi-type'; + const NAMESPACE_AGNOSTIC_TYPE = 'agnostic-type'; + + const registry = typeRegistryMock.create(); + registry.isSingleNamespace.mockImplementation((type) => type === SINGLE_NAMESPACE_TYPE); + registry.isMultiNamespace.mockImplementation((type) => type === MULTI_NAMESPACE_TYPE); + registry.isNamespaceAgnostic.mockImplementation((type) => type === NAMESPACE_AGNOSTIC_TYPE); + + function createRawDoc( + type: string, + namespaceAttrs: { namespace?: string; namespaces?: string[] } + ) { + return { + // other fields exist on the raw document, but they are not relevant to these test cases + _source: { + type, + ...namespaceAttrs, + }, + } as SavedObjectsRawDoc; + } + + describe('single-namespace type', () => { + it('returns true regardless of namespace or namespaces fields', () => { + // Technically, a single-namespace type does not exist in a space unless it has a namespace prefix in its raw ID and a matching + // 'namespace' field. However, historically we have not enforced the latter, we have just relied on searching for and deserializing + // documents with the correct namespace prefix. We may revisit this in the future. + const doc1 = createRawDoc(SINGLE_NAMESPACE_TYPE, { namespace: 'some-space' }); // the namespace field is ignored + const doc2 = createRawDoc(SINGLE_NAMESPACE_TYPE, { namespaces: ['some-space'] }); // the namespaces field is ignored + expect(rawDocExistsInNamespaces(registry, doc1, [])).toBe(true); + expect(rawDocExistsInNamespaces(registry, doc1, ['some-space'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, doc1, ['other-space'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, doc2, [])).toBe(true); + expect(rawDocExistsInNamespaces(registry, doc2, ['some-space'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, doc2, ['other-space'])).toBe(true); + }); + }); + + describe('multi-namespace type', () => { + const docInDefaultSpace = createRawDoc(MULTI_NAMESPACE_TYPE, { namespaces: ['default'] }); + const docInSomeSpace = createRawDoc(MULTI_NAMESPACE_TYPE, { namespaces: ['some-space'] }); + const docInAllSpaces = createRawDoc(MULTI_NAMESPACE_TYPE, { + namespaces: [ALL_NAMESPACES_STRING], + }); + const docInNoSpace = createRawDoc(MULTI_NAMESPACE_TYPE, { namespaces: [] }); + + it('returns true when the document namespaces matches', () => { + expect(rawDocExistsInNamespaces(registry, docInDefaultSpace, ['default'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, docInAllSpaces, ['default'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, docInSomeSpace, ['some-space'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, docInAllSpaces, ['some-space'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, docInDefaultSpace, ['*'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, docInSomeSpace, ['*'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, docInAllSpaces, ['*'])).toBe(true); + }); + + it('returns false when the document namespace does not match', () => { + expect(rawDocExistsInNamespaces(registry, docInSomeSpace, ['default'])).toBe(false); + expect(rawDocExistsInNamespaces(registry, docInNoSpace, ['default'])).toBe(false); + expect(rawDocExistsInNamespaces(registry, docInDefaultSpace, ['some-space'])).toBe(false); + expect(rawDocExistsInNamespaces(registry, docInNoSpace, ['some-space'])).toBe(false); + expect(rawDocExistsInNamespaces(registry, docInNoSpace, ['*'])).toBe(false); + expect(rawDocExistsInNamespaces(registry, docInDefaultSpace, [])).toBe(false); + expect(rawDocExistsInNamespaces(registry, docInSomeSpace, [])).toBe(false); + expect(rawDocExistsInNamespaces(registry, docInAllSpaces, [])).toBe(false); + expect(rawDocExistsInNamespaces(registry, docInNoSpace, [])).toBe(false); + }); + }); + + describe('namespace-agnostic type', () => { + it('returns true regardless of namespace or namespaces fields', () => { + const doc1 = createRawDoc(NAMESPACE_AGNOSTIC_TYPE, { namespace: 'some-space' }); // the namespace field is ignored + const doc2 = createRawDoc(NAMESPACE_AGNOSTIC_TYPE, { namespaces: ['some-space'] }); // the namespaces field is ignored + expect(rawDocExistsInNamespaces(registry, doc1, [])).toBe(true); + expect(rawDocExistsInNamespaces(registry, doc1, ['some-space'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, doc1, ['other-space'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, doc2, [])).toBe(true); + expect(rawDocExistsInNamespaces(registry, doc2, ['some-space'])).toBe(true); + expect(rawDocExistsInNamespaces(registry, doc2, ['other-space'])).toBe(true); + }); + }); +}); diff --git a/src/core/server/saved_objects/service/lib/internal_utils.ts b/src/core/server/saved_objects/service/lib/internal_utils.ts index feaaea15649c7..ed6ede0fe6d49 100644 --- a/src/core/server/saved_objects/service/lib/internal_utils.ts +++ b/src/core/server/saved_objects/service/lib/internal_utils.ts @@ -141,3 +141,41 @@ export function rawDocExistsInNamespace( namespaces?.includes(ALL_NAMESPACES_STRING); return existsInNamespace ?? false; } + +/** + * Check to ensure that a raw document exists in at least one of the given namespaces. If the document is not a multi-namespace type, then + * this returns `true` as we rely on the guarantees of the document ID format. If the document is a multi-namespace type, this checks to + * ensure that the document's `namespaces` value includes the string representation of at least one of the given namespaces. + * + * WARNING: This should only be used for documents that were retrieved from Elasticsearch. Otherwise, the guarantees of the document ID + * format mentioned above do not apply. + * + * @param registry + * @param raw + * @param namespaces + */ +export function rawDocExistsInNamespaces( + registry: ISavedObjectTypeRegistry, + raw: SavedObjectsRawDoc, + namespaces: string[] +) { + const rawDocType = raw._source.type; + + // if the type is namespace isolated, or namespace agnostic, we can continue to rely on the guarantees + // of the document ID format and don't need to check this + if (!registry.isMultiNamespace(rawDocType)) { + return true; + } + + const namespacesToCheck = new Set(namespaces); + const existingNamespaces = raw._source.namespaces ?? []; + + if (namespacesToCheck.size === 0 || existingNamespaces.length === 0) { + return false; + } + if (namespacesToCheck.has(ALL_NAMESPACES_STRING)) { + return true; + } + + return existingNamespaces.some((x) => x === ALL_NAMESPACES_STRING || namespacesToCheck.has(x)); +} diff --git a/src/core/server/saved_objects/service/lib/repository.test.js b/src/core/server/saved_objects/service/lib/repository.test.js index efae5bd737020..d4d794c165fe2 100644 --- a/src/core/server/saved_objects/service/lib/repository.test.js +++ b/src/core/server/saved_objects/service/lib/repository.test.js @@ -953,7 +953,7 @@ describe('SavedObjectsRepository', () => { const bulkGet = async (objects, options) => savedObjectsRepository.bulkGet( - objects.map(({ type, id }) => ({ type, id })), // bulkGet only uses type and id + objects.map(({ type, id, namespaces }) => ({ type, id, namespaces })), // bulkGet only uses type, id, and optionally namespaces options ); const bulkGetSuccess = async (objects, options) => { @@ -992,6 +992,13 @@ describe('SavedObjectsRepository', () => { _expectClientCallArgs([obj1, obj2], { getId }); }); + it(`prepends namespace to the id when providing namespaces for single-namespace type`, async () => { + const getId = (type, id) => `${namespace}:${type}:${id}`; // test that the raw document ID equals this (e.g., has a namespace prefix) + const objects = [obj1, obj2].map((obj) => ({ ...obj, namespaces: [namespace] })); + await bulkGetSuccess(objects, { namespace: 'some-other-ns' }); + _expectClientCallArgs([obj1, obj2], { getId }); + }); + it(`doesn't prepend namespace to the id when providing no namespace for single-namespace type`, async () => { const getId = (type, id) => `${type}:${id}`; // test that the raw document ID equals this (e.g., does not have a namespace prefix) await bulkGetSuccess([obj1, obj2]); @@ -1011,33 +1018,35 @@ describe('SavedObjectsRepository', () => { _expectClientCallArgs(objects, { getId }); client.mget.mockClear(); - objects = [obj1, obj2].map((obj) => ({ ...obj, type: MULTI_NAMESPACE_ISOLATED_TYPE })); + objects = [obj1, { ...obj2, namespaces: ['some-other-ns'] }].map((obj) => ({ + ...obj, + type: MULTI_NAMESPACE_ISOLATED_TYPE, + })); await bulkGetSuccess(objects, { namespace }); _expectClientCallArgs(objects, { getId }); }); }); describe('errors', () => { - const bulkGetErrorInvalidType = async ([obj1, obj, obj2]) => { - const response = getMockMgetResponse([obj1, obj2]); + const bulkGetError = async (obj, isBulkError, expectedErrorResult) => { + let response; + if (isBulkError) { + // mock the bulk error for only the second object + mockGetBulkOperationError.mockReturnValueOnce(undefined); + mockGetBulkOperationError.mockReturnValueOnce(expectedErrorResult.error); + response = getMockMgetResponse([obj1, obj, obj2]); + } else { + response = getMockMgetResponse([obj1, obj2]); + } client.mget.mockResolvedValueOnce( elasticsearchClientMock.createSuccessTransportRequestPromise(response) ); - const result = await bulkGet([obj1, obj, obj2]); - expect(client.mget).toHaveBeenCalled(); - expect(result).toEqual({ - saved_objects: [expectSuccess(obj1), expectErrorInvalidType(obj), expectSuccess(obj2)], - }); - }; - const bulkGetErrorNotFound = async ([obj1, obj, obj2], options, response) => { - client.mget.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise(response) - ); - const result = await bulkGet([obj1, obj, obj2], options); + const objects = [obj1, obj, obj2]; + const result = await bulkGet(objects); expect(client.mget).toHaveBeenCalled(); expect(result).toEqual({ - saved_objects: [expectSuccess(obj1), expectErrorNotFound(obj), expectSuccess(obj2)], + saved_objects: [expectSuccess(obj1), expectedErrorResult, expectSuccess(obj2)], }); }; @@ -1063,33 +1072,65 @@ describe('SavedObjectsRepository', () => { ).rejects.toThrowError(createBadRequestError('"options.namespace" cannot be "*"')); }); + it(`returns error when namespaces is used with a space-agnostic object`, async () => { + const obj = { type: NAMESPACE_AGNOSTIC_TYPE, id: 'three', namespaces: [] }; + await bulkGetError( + obj, + undefined, + expectErrorResult( + obj, + createBadRequestError('"namespaces" cannot be used on space-agnostic types') + ) + ); + }); + + it(`returns error when namespaces is used with a space-isolated object and does not specify a single space`, async () => { + const doTest = async (objType, namespaces) => { + const obj = { type: objType, id: 'three', namespaces }; + await bulkGetError( + obj, + undefined, + expectErrorResult( + obj, + createBadRequestError( + '"namespaces" can only specify a single space when used with space-isolated types' + ) + ) + ); + }; + await doTest('dashboard', ['spacex', 'spacey']); + await doTest('dashboard', ['*']); + await doTest(MULTI_NAMESPACE_ISOLATED_TYPE, ['spacex', 'spacey']); + await doTest(MULTI_NAMESPACE_ISOLATED_TYPE, ['*']); + }); + it(`returns error when type is invalid`, async () => { const obj = { type: 'unknownType', id: 'three' }; - await bulkGetErrorInvalidType([obj1, obj, obj2]); + await bulkGetError(obj, undefined, expectErrorInvalidType(obj)); }); it(`returns error when type is hidden`, async () => { const obj = { type: HIDDEN_TYPE, id: 'three' }; - await bulkGetErrorInvalidType([obj1, obj, obj2]); + await bulkGetError(obj, undefined, expectErrorInvalidType(obj)); }); it(`returns error when document is not found`, async () => { const obj = { type: 'dashboard', id: 'three', found: false }; - const response = getMockMgetResponse([obj1, obj, obj2]); - await bulkGetErrorNotFound([obj1, obj, obj2], undefined, response); + await bulkGetError(obj, true, expectErrorNotFound(obj)); }); it(`handles missing ids gracefully`, async () => { const obj = { type: 'dashboard', id: undefined, found: false }; - const response = getMockMgetResponse([obj1, obj, obj2]); - await bulkGetErrorNotFound([obj1, obj, obj2], undefined, response); + await bulkGetError(obj, true, expectErrorNotFound(obj)); }); it(`returns error when type is multi-namespace and the document exists, but not in this namespace`, async () => { - const obj = { type: MULTI_NAMESPACE_ISOLATED_TYPE, id: 'three' }; - const response = getMockMgetResponse([obj1, obj, obj2]); - response.docs[1].namespaces = ['bar-namespace']; - await bulkGetErrorNotFound([obj1, obj, obj2], { namespace }, response); + const obj = { + type: MULTI_NAMESPACE_ISOLATED_TYPE, + id: 'three', + namespace: 'bar-namespace', + }; + await bulkGetError(obj, true, expectErrorNotFound(obj)); }); it(`throws when ES mget action responds with a 404 and a missing Elasticsearch product header`, async () => { diff --git a/src/core/server/saved_objects/service/lib/repository.ts b/src/core/server/saved_objects/service/lib/repository.ts index 365fc6a3734e4..c2ae6ebab00e9 100644 --- a/src/core/server/saved_objects/service/lib/repository.ts +++ b/src/core/server/saved_objects/service/lib/repository.ts @@ -74,6 +74,7 @@ import { getExpectedVersionProperties, getSavedObjectFromSource, rawDocExistsInNamespace, + rawDocExistsInNamespaces, } from './internal_utils'; import { ALL_NAMESPACES_STRING, @@ -966,16 +967,23 @@ export class SavedObjectsRepository { let bulkGetRequestIndexCounter = 0; const expectedBulkGetResults: Either[] = objects.map((object) => { - const { type, id, fields } = object; + const { type, id, fields, namespaces } = object; + let error: DecoratedError | undefined; if (!this._allowedTypes.includes(type)) { + error = SavedObjectsErrorHelpers.createUnsupportedTypeError(type); + } else { + try { + this.validateObjectNamespaces(type, id, namespaces); + } catch (e) { + error = e; + } + } + + if (error) { return { tag: 'Left' as 'Left', - error: { - id, - type, - error: errorContent(SavedObjectsErrorHelpers.createUnsupportedTypeError(type)), - }, + error: { id, type, error: errorContent(error) }, }; } @@ -985,15 +993,18 @@ export class SavedObjectsRepository { type, id, fields, + namespaces, esRequestIndex: bulkGetRequestIndexCounter++, }, }; }); + const getNamespaceId = (namespaces?: string[]) => + namespaces !== undefined ? SavedObjectsUtils.namespaceStringToId(namespaces[0]) : namespace; const bulkGetDocs = expectedBulkGetResults .filter(isRight) - .map(({ value: { type, id, fields } }) => ({ - _id: this._serializer.generateRawId(namespace, type, id), + .map(({ value: { type, id, fields, namespaces } }) => ({ + _id: this._serializer.generateRawId(getNamespaceId(namespaces), type, id), // the namespace prefix is only used for single-namespace object types _index: this.getIndexForType(type), _source: { includes: includedFields(type, fields) }, })); @@ -1023,11 +1034,16 @@ export class SavedObjectsRepository { return expectedResult.error as any; } - const { type, id, esRequestIndex } = expectedResult.value; + const { + type, + id, + namespaces = [SavedObjectsUtils.namespaceIdToString(namespace)], + esRequestIndex, + } = expectedResult.value; const doc = bulkGetResponse?.body.docs[esRequestIndex]; // @ts-expect-error MultiGetHit._source is optional - if (!doc?.found || !this.rawDocExistsInNamespace(doc, namespace)) { + if (!doc?.found || !this.rawDocExistsInNamespaces(doc, namespaces)) { return ({ id, type, @@ -2116,6 +2132,10 @@ export class SavedObjectsRepository { return omit(savedObject, ['namespace']) as SavedObject; } + private rawDocExistsInNamespaces(raw: SavedObjectsRawDoc, namespaces: string[]) { + return rawDocExistsInNamespaces(this._registry, raw, namespaces); + } + private rawDocExistsInNamespace(raw: SavedObjectsRawDoc, namespace: string | undefined) { return rawDocExistsInNamespace(this._registry, raw, namespace); } @@ -2228,6 +2248,7 @@ export class SavedObjectsRepository { ).catch(() => {}); // if the call fails for some reason, intentionally swallow the error } + /** The `initialNamespaces` field (create, bulkCreate) is used to create an object in an initial set of spaces. */ private validateInitialNamespaces(type: string, initialNamespaces: string[] | undefined) { if (!initialNamespaces) { return; @@ -2250,6 +2271,28 @@ export class SavedObjectsRepository { ); } } + + /** The object-specific `namespaces` field (bulkGet) is used to check if an object exists in any of a given number of spaces. */ + private validateObjectNamespaces(type: string, id: string, namespaces: string[] | undefined) { + if (!namespaces) { + return; + } + + if (this._registry.isNamespaceAgnostic(type)) { + throw SavedObjectsErrorHelpers.createBadRequestError( + '"namespaces" cannot be used on space-agnostic types' + ); + } else if (!namespaces.length) { + throw SavedObjectsErrorHelpers.createGenericNotFoundError(type, id); + } else if ( + !this._registry.isShareable(type) && + (namespaces.length > 1 || namespaces.includes(ALL_NAMESPACES_STRING)) + ) { + throw SavedObjectsErrorHelpers.createBadRequestError( + '"namespaces" can only specify a single space when used with space-isolated types' + ); + } + } } /** diff --git a/src/core/server/saved_objects/service/saved_objects_client.ts b/src/core/server/saved_objects/service/saved_objects_client.ts index 1564df2969ecc..dd9a8393e0624 100644 --- a/src/core/server/saved_objects/service/saved_objects_client.ts +++ b/src/core/server/saved_objects/service/saved_objects_client.ts @@ -278,6 +278,17 @@ export interface SavedObjectsBulkGetObject { type: string; /** SavedObject fields to include in the response */ fields?: string[]; + /** + * Optional namespace(s) for the object to be retrieved in. If this is defined, it will supersede the namespace ID that is in the + * top-level options. + * + * * For shareable object types (registered with `namespaceType: 'multiple'`): this option can be used to specify one or more spaces, + * including the "All spaces" identifier (`'*'`). + * * For isolated object types (registered with `namespaceType: 'single'` or `namespaceType: 'multiple-isolated'`): this option can only + * be used to specify a single space, and the "All spaces" identifier (`'*'`) is not allowed. + * * For global object types (registered with `namespaceType: 'agnostic'`): this option cannot be used. + */ + namespaces?: string[]; } /** diff --git a/src/core/server/server.api.md b/src/core/server/server.api.md index 4129e20f68242..333ef8e7bf34c 100644 --- a/src/core/server/server.api.md +++ b/src/core/server/server.api.md @@ -1861,6 +1861,7 @@ export interface SavedObjectsBulkGetObject { fields?: string[]; // (undocumented) id: string; + namespaces?: string[]; // (undocumented) type: string; } diff --git a/x-pack/plugins/security/server/saved_objects/secure_saved_objects_client_wrapper.test.ts b/x-pack/plugins/security/server/saved_objects/secure_saved_objects_client_wrapper.test.ts index 2f622d9e8a0e1..96f8c5ff02d24 100644 --- a/x-pack/plugins/security/server/saved_objects/secure_saved_objects_client_wrapper.test.ts +++ b/x-pack/plugins/security/server/saved_objects/secure_saved_objects_client_wrapper.test.ts @@ -426,10 +426,17 @@ describe('#bulkGet', () => { expect(result).toEqual(apiCallReturnValue); }); - test(`checks privileges for user, actions, and namespace`, async () => { - const objects = [obj1, obj2]; + test(`checks privileges for user, actions, namespace, and (object) namespaces`, async () => { + const objects = [ + { ...obj1, namespaces: ['another-ns'] }, + { ...obj2, namespaces: ['yet-another-ns'] }, + ]; const options = { namespace }; - await expectPrivilegeCheck(client.bulkGet, { objects, options }, namespace); + await expectPrivilegeCheck(client.bulkGet, { objects, options }, [ + namespace, + 'another-ns', + 'yet-another-ns', + ]); }); test(`filters namespaces that the user doesn't have access to`, async () => { diff --git a/x-pack/plugins/security/server/saved_objects/secure_saved_objects_client_wrapper.ts b/x-pack/plugins/security/server/saved_objects/secure_saved_objects_client_wrapper.ts index 6f2b8d28a5601..11eca287cd4f5 100644 --- a/x-pack/plugins/security/server/saved_objects/secure_saved_objects_client_wrapper.ts +++ b/x-pack/plugins/security/server/saved_objects/secure_saved_objects_client_wrapper.ts @@ -287,11 +287,15 @@ export class SecureSavedObjectsClientWrapper implements SavedObjectsClientContra options: SavedObjectsBaseOptions = {} ) { try { + const namespaces = objects.reduce( + (acc, { namespaces: objNamespaces = [] }) => acc.concat(objNamespaces), + [options.namespace] + ); const args = { objects, options }; await this.legacyEnsureAuthorized( this.getUniqueObjectTypes(objects), 'bulk_get', - options.namespace, + namespaces, { args, } diff --git a/x-pack/plugins/spaces/server/saved_objects/spaces_saved_objects_client.test.ts b/x-pack/plugins/spaces/server/saved_objects/spaces_saved_objects_client.test.ts index b94113436d7ad..85c6ce74763b2 100644 --- a/x-pack/plugins/spaces/server/saved_objects/spaces_saved_objects_client.test.ts +++ b/x-pack/plugins/spaces/server/saved_objects/spaces_saved_objects_client.test.ts @@ -7,37 +7,15 @@ import Boom from '@hapi/boom'; -import { SavedObjectTypeRegistry } from 'src/core/server'; -import { savedObjectsClientMock } from 'src/core/server/mocks'; +import type { SavedObject, SavedObjectsType } from 'src/core/server'; +import { SavedObjectsErrorHelpers } from 'src/core/server'; +import { savedObjectsClientMock, savedObjectsTypeRegistryMock } from 'src/core/server/mocks'; import { DEFAULT_SPACE_ID } from '../../common/constants'; -import type { SpacesClient } from '../spaces_client'; import { spacesClientMock } from '../spaces_client/spaces_client.mock'; import { spacesServiceMock } from '../spaces_service/spaces_service.mock'; import { SpacesSavedObjectsClient } from './spaces_saved_objects_client'; -const typeRegistry = new SavedObjectTypeRegistry(); -typeRegistry.registerType({ - name: 'foo', - namespaceType: 'single', - hidden: false, - mappings: { properties: {} }, -}); - -typeRegistry.registerType({ - name: 'bar', - namespaceType: 'single', - hidden: false, - mappings: { properties: {} }, -}); - -typeRegistry.registerType({ - name: 'space', - namespaceType: 'agnostic', - hidden: true, - mappings: { properties: {} }, -}); - const createMockRequest = () => ({}); const createMockClient = () => savedObjectsClientMock.create(); @@ -68,6 +46,15 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; const request = createMockRequest(); const baseClient = createMockClient(); const spacesService = createSpacesService(currentSpace.id); + const spacesClient = spacesClientMock.create(); + spacesService.createSpacesClient.mockReturnValue(spacesClient); + const typeRegistry = savedObjectsTypeRegistryMock.create(); + typeRegistry.getAllTypes.mockReturnValue(([ + // for test purposes we only need the names of the object types + { name: 'foo' }, + { name: 'bar' }, + { name: 'space' }, + ] as unknown) as SavedObjectsType[]); const client = new SpacesSavedObjectsClient({ request, @@ -75,7 +62,7 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; getSpacesService: () => spacesService, typeRegistry, }); - return { client, baseClient, spacesService }; + return { client, baseClient, spacesClient, typeRegistry }; }; describe('#get', () => { @@ -147,7 +134,7 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }); test(`supplements options with the current namespace`, async () => { - const { client, baseClient } = createSpacesSavedObjectsClient(); + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); const expectedReturnValue = { saved_objects: [createMockResponse()] }; baseClient.bulkGet.mockReturnValue(Promise.resolve(expectedReturnValue)); @@ -156,11 +143,94 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; // @ts-expect-error const actualReturnValue = await client.bulkGet(objects, options); - expect(actualReturnValue).toBe(expectedReturnValue); + expect(actualReturnValue).toEqual(expectedReturnValue); expect(baseClient.bulkGet).toHaveBeenCalledWith(objects, { foo: 'bar', namespace: currentSpace.expectedNamespace, }); + expect(spacesClient.getAll).not.toHaveBeenCalled(); + }); + + test(`replaces object namespaces '*' with available spaces`, async () => { + const { client, baseClient, spacesClient, typeRegistry } = createSpacesSavedObjectsClient(); + spacesClient.getAll.mockResolvedValue([ + { id: 'available-space-a', name: 'a', disabledFeatures: [] }, + { id: 'available-space-b', name: 'b', disabledFeatures: [] }, + ]); + typeRegistry.isNamespaceAgnostic.mockImplementation((type) => type === 'foo'); + typeRegistry.isShareable.mockImplementation((type) => type === 'bar'); + // 'baz' is neither agnostic nor shareable, so it is isolated (namespaceType: 'single' or namespaceType: 'multiple-isolated') + baseClient.bulkGet.mockResolvedValue({ + saved_objects: ([ + { type: 'foo', id: '1', key: 'val' }, + { type: 'bar', id: '2', key: 'val' }, + { type: 'baz', id: '3', key: 'val' }, // this should be replaced with a 400 error + { type: 'foo', id: '4', key: 'val' }, + { type: 'bar', id: '5', key: 'val' }, + { type: 'baz', id: '6', key: 'val' }, // this should not be replaced with a 400 error because the user did not search for it in '*' all spaces + ] as unknown) as SavedObject[], + }); + + const objects = [ + { type: 'foo', id: '1', namespaces: ['*', 'this-is-ignored'] }, + { type: 'bar', id: '2', namespaces: ['*', 'this-is-ignored'] }, + { type: 'baz', id: '3', namespaces: ['*', 'this-is-ignored'] }, + { type: 'foo', id: '4', namespaces: ['another-space'] }, + { type: 'bar', id: '5', namespaces: ['another-space'] }, + { type: 'baz', id: '6', namespaces: ['another-space'] }, + ]; + const result = await client.bulkGet(objects); + + expect(result.saved_objects).toEqual([ + { type: 'foo', id: '1', key: 'val' }, + { type: 'bar', id: '2', key: 'val' }, + { + type: 'baz', + id: '3', + error: SavedObjectsErrorHelpers.createBadRequestError( + '"namespaces" can only specify a single space when used with space-isolated types' + ).output.payload, + }, + { type: 'foo', id: '4', key: 'val' }, + { type: 'bar', id: '5', key: 'val' }, + { type: 'baz', id: '6', key: 'val' }, + ]); + expect(baseClient.bulkGet).toHaveBeenCalledWith( + [ + { type: 'foo', id: '1', namespaces: ['available-space-a', 'available-space-b'] }, + { type: 'bar', id: '2', namespaces: ['available-space-a', 'available-space-b'] }, + { type: 'baz', id: '3', namespaces: ['available-space-a', 'available-space-b'] }, + // even if another space doesn't exist, it can be specified explicitly + { type: 'foo', id: '4', namespaces: ['another-space'] }, + { type: 'bar', id: '5', namespaces: ['another-space'] }, + { type: 'baz', id: '6', namespaces: ['another-space'] }, + ], + { namespace: currentSpace.expectedNamespace } + ); + expect(spacesClient.getAll).toHaveBeenCalledTimes(1); + }); + + test(`replaces object namespaces '*' with an empty array when the user doesn't have access to any spaces`, async () => { + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); + spacesClient.getAll.mockRejectedValue(Boom.forbidden()); + baseClient.bulkGet.mockResolvedValue({ saved_objects: [] }); // doesn't matter for this test + + const objects = [ + { type: 'foo', id: '1', namespaces: ['*'] }, + { type: 'bar', id: '2', namespaces: ['*', 'this-is-ignored'] }, + { type: 'baz', id: '3', namespaces: ['another-space'] }, + ]; + await client.bulkGet(objects); + + expect(baseClient.bulkGet).toHaveBeenCalledWith( + [ + { type: 'foo', id: '1', namespaces: [] }, + { type: 'bar', id: '2', namespaces: [] }, + { type: 'baz', id: '3', namespaces: ['another-space'] }, // even if another space doesn't exist, it can be specified explicitly + ], + { namespace: currentSpace.expectedNamespace } + ); + expect(spacesClient.getAll).toHaveBeenCalledTimes(1); }); }); @@ -168,10 +238,8 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; const EMPTY_RESPONSE = { saved_objects: [], total: 0, per_page: 20, page: 1 }; test(`returns empty result if user is unauthorized in this space`, async () => { - const { client, baseClient, spacesService } = createSpacesSavedObjectsClient(); - const spacesClient = spacesClientMock.create(); + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); spacesClient.getAll.mockResolvedValue([]); - spacesService.createSpacesClient.mockReturnValue(spacesClient); const options = Object.freeze({ type: 'foo', namespaces: ['some-ns'] }); const actualReturnValue = await client.find(options); @@ -181,10 +249,8 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }); test(`returns empty result if user is unauthorized in any space`, async () => { - const { client, baseClient, spacesService } = createSpacesSavedObjectsClient(); - const spacesClient = spacesClientMock.create(); - spacesClient.getAll.mockRejectedValue(Boom.unauthorized()); - spacesService.createSpacesClient.mockReturnValue(spacesClient); + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); + spacesClient.getAll.mockRejectedValue(Boom.forbidden()); const options = Object.freeze({ type: 'foo', namespaces: ['some-ns'] }); const actualReturnValue = await client.find(options); @@ -234,7 +300,7 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }); test(`passes options.namespaces along`, async () => { - const { client, baseClient, spacesService } = createSpacesSavedObjectsClient(); + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); const expectedReturnValue = { saved_objects: [createMockResponse()], total: 1, @@ -243,9 +309,6 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }; baseClient.find.mockReturnValue(Promise.resolve(expectedReturnValue)); - const spacesClient = spacesService.createSpacesClient( - null as any - ) as jest.Mocked; spacesClient.getAll.mockImplementation(() => Promise.resolve([ { id: 'ns-1', name: '', disabledFeatures: [] }, @@ -265,7 +328,7 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }); test(`filters options.namespaces based on authorization`, async () => { - const { client, baseClient, spacesService } = createSpacesSavedObjectsClient(); + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); const expectedReturnValue = { saved_objects: [createMockResponse()], total: 1, @@ -274,9 +337,6 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }; baseClient.find.mockReturnValue(Promise.resolve(expectedReturnValue)); - const spacesClient = spacesService.createSpacesClient( - null as any - ) as jest.Mocked; spacesClient.getAll.mockImplementation(() => Promise.resolve([ { id: 'ns-1', name: '', disabledFeatures: [] }, @@ -296,7 +356,7 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }); test(`translates options.namespace: ['*']`, async () => { - const { client, baseClient, spacesService } = createSpacesSavedObjectsClient(); + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); const expectedReturnValue = { saved_objects: [createMockResponse()], total: 1, @@ -305,9 +365,6 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }; baseClient.find.mockReturnValue(Promise.resolve(expectedReturnValue)); - const spacesClient = spacesService.createSpacesClient( - null as any - ) as jest.Mocked; spacesClient.getAll.mockImplementation(() => Promise.resolve([ { id: 'ns-1', name: '', disabledFeatures: [] }, @@ -534,10 +591,8 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; describe('#openPointInTimeForType', () => { test(`throws error if if user is unauthorized in this space`, async () => { - const { client, baseClient, spacesService } = createSpacesSavedObjectsClient(); - const spacesClient = spacesClientMock.create(); + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); spacesClient.getAll.mockResolvedValue([]); - spacesService.createSpacesClient.mockReturnValue(spacesClient); await expect( client.openPointInTimeForType('foo', { namespaces: ['bar'] }) @@ -547,10 +602,8 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }); test(`throws error if if user is unauthorized in any space`, async () => { - const { client, baseClient, spacesService } = createSpacesSavedObjectsClient(); - const spacesClient = spacesClientMock.create(); - spacesClient.getAll.mockRejectedValue(Boom.unauthorized()); - spacesService.createSpacesClient.mockReturnValue(spacesClient); + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); + spacesClient.getAll.mockRejectedValue(Boom.forbidden()); await expect( client.openPointInTimeForType('foo', { namespaces: ['bar'] }) @@ -560,13 +613,10 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }); test(`filters options.namespaces based on authorization`, async () => { - const { client, baseClient, spacesService } = createSpacesSavedObjectsClient(); + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); const expectedReturnValue = { id: 'abc123' }; baseClient.openPointInTimeForType.mockReturnValue(Promise.resolve(expectedReturnValue)); - const spacesClient = spacesService.createSpacesClient( - null as any - ) as jest.Mocked; spacesClient.getAll.mockImplementation(() => Promise.resolve([ { id: 'ns-1', name: '', disabledFeatures: [] }, @@ -585,13 +635,10 @@ const ERROR_NAMESPACE_SPECIFIED = 'Spaces currently determines the namespaces'; }); test(`translates options.namespaces: ['*']`, async () => { - const { client, baseClient, spacesService } = createSpacesSavedObjectsClient(); + const { client, baseClient, spacesClient } = createSpacesSavedObjectsClient(); const expectedReturnValue = { id: 'abc123' }; baseClient.openPointInTimeForType.mockReturnValue(Promise.resolve(expectedReturnValue)); - const spacesClient = spacesService.createSpacesClient( - null as any - ) as jest.Mocked; spacesClient.getAll.mockImplementation(() => Promise.resolve([ { id: 'ns-1', name: '', disabledFeatures: [] }, diff --git a/x-pack/plugins/spaces/server/saved_objects/spaces_saved_objects_client.ts b/x-pack/plugins/spaces/server/saved_objects/spaces_saved_objects_client.ts index 9c51f22e280d8..6cfd784042317 100644 --- a/x-pack/plugins/spaces/server/saved_objects/spaces_saved_objects_client.ts +++ b/x-pack/plugins/spaces/server/saved_objects/spaces_saved_objects_client.ts @@ -9,6 +9,7 @@ import Boom from '@hapi/boom'; import type { ISavedObjectTypeRegistry, + SavedObject, SavedObjectsBaseOptions, SavedObjectsBulkCreateObject, SavedObjectsBulkGetObject, @@ -36,6 +37,19 @@ import { spaceIdToNamespace } from '../lib/utils/namespace'; import type { ISpacesClient } from '../spaces_client'; import type { SpacesServiceStart } from '../spaces_service/spaces_service'; +interface Left { + tag: 'Left'; + value: L; +} + +interface Right { + tag: 'Right'; + value: R; +} + +type Either = Left | Right; +const isLeft = (either: Either): either is Left => either.tag === 'Left'; + interface SpacesSavedObjectsClientOptions { baseClient: SavedObjectsClientContract; request: any; @@ -59,6 +73,7 @@ const throwErrorIfNamespaceSpecified = (options: any) => { export class SpacesSavedObjectsClient implements SavedObjectsClientContract { private readonly client: SavedObjectsClientContract; + private readonly typeRegistry: ISavedObjectTypeRegistry; private readonly spaceId: string; private readonly types: string[]; private readonly spacesClient: ISpacesClient; @@ -70,6 +85,7 @@ export class SpacesSavedObjectsClient implements SavedObjectsClientContract { const spacesService = getSpacesService(); this.client = baseClient; + this.typeRegistry = typeRegistry; this.spacesClient = spacesService.createSpacesClient(request); this.spaceId = spacesService.getSpaceId(request); this.types = typeRegistry.getAllTypes().map((t) => t.name); @@ -219,10 +235,61 @@ export class SpacesSavedObjectsClient implements SavedObjectsClientContract { ) { throwErrorIfNamespaceSpecified(options); - return await this.client.bulkGet(objects, { - ...options, - namespace: spaceIdToNamespace(this.spaceId), - }); + let availableSpacesPromise: Promise | undefined; + const getAvailableSpaces = async () => { + if (!availableSpacesPromise) { + availableSpacesPromise = this.getSearchableSpaces([ALL_SPACES_ID]).catch((err) => { + if (Boom.isBoom(err) && err.output.payload.statusCode === 403) { + return []; // the user doesn't have access to any spaces + } else { + throw err; + } + }); + } + return availableSpacesPromise; + }; + + const expectedResults = await Promise.all( + objects.map>>(async (object) => { + const { namespaces, type } = object; + if (namespaces?.includes(ALL_SPACES_ID)) { + // If searching for an isolated object in all spaces, we may need to return a 400 error for consistency with the validation at the + // repository level. This is needed if there is only one space available *and* the user is authorized to access the object in that + // space; in that case, we don't want to unintentionally bypass the repository's validation by deconstructing the '*' identifier + // into all available spaces. + const tag = + !this.typeRegistry.isNamespaceAgnostic(type) && !this.typeRegistry.isShareable(type) + ? 'Left' + : 'Right'; + return { tag, value: { ...object, namespaces: await getAvailableSpaces() } }; + } + return { tag: 'Right', value: object }; + }) + ); + + const objectsToGet = expectedResults.map(({ value }) => value); + const { saved_objects: responseObjects } = objectsToGet.length + ? await this.client.bulkGet(objectsToGet, { + ...options, + namespace: spaceIdToNamespace(this.spaceId), + }) + : { saved_objects: [] }; + return { + saved_objects: expectedResults.map((expectedResult, i) => { + const actualResult = responseObjects[i]; + if (isLeft(expectedResult)) { + const { type, id } = expectedResult.value; + return ({ + type, + id, + error: SavedObjectsErrorHelpers.createBadRequestError( + '"namespaces" can only specify a single space when used with space-isolated types' + ).output.payload, + } as unknown) as SavedObject; + } + return actualResult; + }), + }; } /** @@ -383,7 +450,16 @@ export class SpacesSavedObjectsClient implements SavedObjectsClientContract { type: string | string[], options: SavedObjectsOpenPointInTimeOptions = {} ) { - const namespaces = await this.getSearchableSpaces(options.namespaces); + let namespaces: string[]; + try { + namespaces = await this.getSearchableSpaces(options.namespaces); + } catch (err) { + if (Boom.isBoom(err) && err.output.payload.statusCode === 403) { + // throw bad request since the user is unauthorized in any space + throw SavedObjectsErrorHelpers.createBadRequestError(); + } + throw err; + } if (namespaces.length === 0) { // throw bad request if no valid spaces were found. throw SavedObjectsErrorHelpers.createBadRequestError(); diff --git a/x-pack/test/saved_object_api_integration/common/suites/bulk_get.ts b/x-pack/test/saved_object_api_integration/common/suites/bulk_get.ts index 26a693349496d..abfb1f12a2771 100644 --- a/x-pack/test/saved_object_api_integration/common/suites/bulk_get.ts +++ b/x-pack/test/saved_object_api_integration/common/suites/bulk_get.ts @@ -9,12 +9,7 @@ import expect from '@kbn/expect'; import { SuperTest } from 'supertest'; import { SAVED_OBJECT_TEST_CASES as CASES } from '../lib/saved_object_test_cases'; import { SPACES } from '../lib/spaces'; -import { - createRequest, - expectResponses, - getUrlPrefix, - getTestTitle, -} from '../lib/saved_object_test_utils'; +import { expectResponses, getUrlPrefix, getTestTitle } from '../lib/saved_object_test_utils'; import { ExpectResponseBody, TestCase, TestDefinition, TestSuite } from '../lib/types'; export interface BulkGetTestDefinition extends TestDefinition { @@ -22,6 +17,7 @@ export interface BulkGetTestDefinition extends TestDefinition { } export type BulkGetTestSuite = TestSuite; export interface BulkGetTestCase extends TestCase { + namespaces?: string[]; // used to define individual "object namespaces" string arrays, e.g., bulkGet across multiple namespaces failure?: 400 | 404; // only used for permitted response case } @@ -31,6 +27,12 @@ export const TEST_CASES: Record = Object.freeze({ DOES_NOT_EXIST, }); +const createRequest = ({ type, id, namespaces }: BulkGetTestCase) => ({ + type, + id, + ...(namespaces && { namespaces }), // individual "object namespaces" string array +}); + export function bulkGetTestSuiteFactory(esArchiver: any, supertest: SuperTest) { const expectSavedObjectForbidden = expectResponses.forbiddenTypes('bulk_get'); const expectResponseBody = ( @@ -49,6 +51,7 @@ export function bulkGetTestSuiteFactory(esArchiver: any, supertest: SuperTest { CASES.INITIAL_NS_MULTI_NAMESPACE_OBJ_ALL_SPACES, ]; const hiddenType = [{ ...CASES.HIDDEN, ...fail400() }]; - const allTypes = normalTypes.concat(hiddenType); + const allTypes = [...normalTypes, ...crossNamespace, ...hiddenType]; return { normalTypes, crossNamespace, hiddenType, allTypes }; }; @@ -118,18 +118,17 @@ export default function ({ getService }: FtrProviderContext) { singleRequest: true, }), createTestDefinitions(hiddenType, true, overwrite, { spaceId, user }), - createTestDefinitions(allTypes, true, overwrite, { - spaceId, - user, - singleRequest: true, - responseBodyOverride: expectSavedObjectForbidden(['hiddentype']), - }), ].flat(); return { unauthorized: createTestDefinitions(allTypes, true, overwrite, { spaceId, user }), authorizedAtSpace: [ authorizedCommon, createTestDefinitions(crossNamespace, true, overwrite, { spaceId, user }), + createTestDefinitions(allTypes, true, overwrite, { + spaceId, + user, + singleRequest: true, + }), ].flat(), authorizedEverywhere: [ authorizedCommon, @@ -138,6 +137,12 @@ export default function ({ getService }: FtrProviderContext) { user, singleRequest: true, }), + createTestDefinitions(allTypes, true, overwrite, { + spaceId, + user, + singleRequest: true, + responseBodyOverride: expectSavedObjectForbidden(['hiddentype']), + }), ].flat(), superuser: createTestDefinitions(allTypes, false, overwrite, { spaceId, diff --git a/x-pack/test/saved_object_api_integration/security_and_spaces/apis/bulk_get.ts b/x-pack/test/saved_object_api_integration/security_and_spaces/apis/bulk_get.ts index d547b95d34f7e..bfea8e558010b 100644 --- a/x-pack/test/saved_object_api_integration/security_and_spaces/apis/bulk_get.ts +++ b/x-pack/test/saved_object_api_integration/security_and_spaces/apis/bulk_get.ts @@ -5,13 +5,14 @@ * 2.0. */ -import { SPACES } from '../../common/lib/spaces'; +import { SPACES, ALL_SPACES_ID } from '../../common/lib/spaces'; import { testCaseFailures, getTestScenarios } from '../../common/lib/saved_object_test_utils'; import { TestUser } from '../../common/lib/types'; import { FtrProviderContext } from '../../common/ftr_provider_context'; import { bulkGetTestSuiteFactory, TEST_CASES as CASES, + BulkGetTestCase, BulkGetTestDefinition, } from '../../common/suites/bulk_get'; @@ -44,9 +45,26 @@ const createTestCases = (spaceId: string) => { CASES.NAMESPACE_AGNOSTIC, { ...CASES.DOES_NOT_EXIST, ...fail404() }, ]; + const crossNamespace = [ + { + ...CASES.SINGLE_NAMESPACE_SPACE_2, + namespaces: ['x', 'y'], + ...fail400(), // cannot be searched for in multiple spaces + }, + { ...CASES.SINGLE_NAMESPACE_SPACE_2, namespaces: [SPACE_2_ID] }, // second try searches for it in a single other space, which is valid + { + ...CASES.MULTI_NAMESPACE_ISOLATED_ONLY_SPACE_1, + namespaces: [ALL_SPACES_ID], + ...fail400(), // cannot be searched for in multiple spaces + }, + { ...CASES.MULTI_NAMESPACE_ISOLATED_ONLY_SPACE_1, namespaces: [SPACE_1_ID] }, // second try searches for it in a single other space, which is valid + { ...CASES.MULTI_NAMESPACE_DEFAULT_AND_SPACE_1, namespaces: [SPACE_2_ID], ...fail404() }, + { ...CASES.MULTI_NAMESPACE_ALL_SPACES, namespaces: [SPACE_2_ID, 'x'] }, // unknown space is allowed / ignored + { ...CASES.MULTI_NAMESPACE_ALL_SPACES, namespaces: [ALL_SPACES_ID] }, // this is different than the same test case in the spaces_only and security_only suites, since MULTI_NAMESPACE_ONLY_SPACE_1 *may* return a 404 error to a partially authorized user + ]; const hiddenType = [{ ...CASES.HIDDEN, ...fail400() }]; - const allTypes = normalTypes.concat(hiddenType); - return { normalTypes, hiddenType, allTypes }; + const allTypes = [...normalTypes, ...crossNamespace, ...hiddenType]; + return { normalTypes, crossNamespace, hiddenType, allTypes }; }; export default function ({ getService }: FtrProviderContext) { @@ -58,13 +76,39 @@ export default function ({ getService }: FtrProviderContext) { supertest ); const createTests = (spaceId: string) => { - const { normalTypes, hiddenType, allTypes } = createTestCases(spaceId); + const { normalTypes, crossNamespace, hiddenType, allTypes } = createTestCases(spaceId); // use singleRequest to reduce execution time and/or test combined cases + const authorizedCommon = [ + createTestDefinitions(normalTypes, false, { singleRequest: true }), + createTestDefinitions(hiddenType, true), + ].flat(); + const crossNamespaceAuthorizedAtSpace = crossNamespace.reduce<{ + authorized: BulkGetTestCase[]; + unauthorized: BulkGetTestCase[]; + }>( + ({ authorized, unauthorized }, cur) => { + // A user who is only authorized in a single space will be authorized to execute some of the cross-namespace test cases, but not all + if (cur.namespaces.some((x) => ![ALL_SPACES_ID, spaceId].includes(x))) { + return { authorized, unauthorized: [...unauthorized, cur] }; + } + return { authorized: [...authorized, cur], unauthorized }; + }, + { authorized: [], unauthorized: [] } + ); + return { unauthorized: createTestDefinitions(allTypes, true), - authorized: [ - createTestDefinitions(normalTypes, false, { singleRequest: true }), - createTestDefinitions(hiddenType, true), + authorizedAtSpace: [ + authorizedCommon, + createTestDefinitions(crossNamespaceAuthorizedAtSpace.authorized, false, { + singleRequest: true, + }), + createTestDefinitions(crossNamespaceAuthorizedAtSpace.unauthorized, true), + createTestDefinitions(allTypes, true, { singleRequest: true }), + ].flat(), + authorizedEverywhere: [ + authorizedCommon, + createTestDefinitions(crossNamespace, false, { singleRequest: true }), createTestDefinitions(allTypes, true, { singleRequest: true, responseBodyOverride: expectSavedObjectForbidden(['hiddentype']), @@ -77,7 +121,9 @@ export default function ({ getService }: FtrProviderContext) { describe('_bulk_get', () => { getTestScenarios().securityAndSpaces.forEach(({ spaceId, users }) => { const suffix = ` within the ${spaceId} space`; - const { unauthorized, authorized, superuser } = createTests(spaceId); + const { unauthorized, authorizedAtSpace, authorizedEverywhere, superuser } = createTests( + spaceId + ); const _addTests = (user: TestUser, tests: BulkGetTestDefinition[]) => { addTests(`${user.description}${suffix}`, { user, spaceId, tests }); }; @@ -85,16 +131,15 @@ export default function ({ getService }: FtrProviderContext) { [users.noAccess, users.legacyAll, users.allAtOtherSpace].forEach((user) => { _addTests(user, unauthorized); }); - [ - users.dualAll, - users.dualRead, - users.allGlobally, - users.readGlobally, - users.allAtSpace, - users.readAtSpace, - ].forEach((user) => { - _addTests(user, authorized); + + [users.allAtSpace, users.readAtSpace].forEach((user) => { + _addTests(user, authorizedAtSpace); + }); + + [users.dualAll, users.dualRead, users.allGlobally, users.readGlobally].forEach((user) => { + _addTests(user, authorizedEverywhere); }); + _addTests(users.superuser, superuser); }); }); diff --git a/x-pack/test/saved_object_api_integration/security_only/apis/bulk_get.ts b/x-pack/test/saved_object_api_integration/security_only/apis/bulk_get.ts index 18edb7502c65a..4aa722bfc6b07 100644 --- a/x-pack/test/saved_object_api_integration/security_only/apis/bulk_get.ts +++ b/x-pack/test/saved_object_api_integration/security_only/apis/bulk_get.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { SPACES, ALL_SPACES_ID } from '../../common/lib/spaces'; import { testCaseFailures, getTestScenarios } from '../../common/lib/saved_object_test_utils'; import { TestUser } from '../../common/lib/types'; import { FtrProviderContext } from '../../common/ftr_provider_context'; @@ -14,6 +15,10 @@ import { BulkGetTestDefinition, } from '../../common/suites/bulk_get'; +const { + SPACE_1: { spaceId: SPACE_1_ID }, + SPACE_2: { spaceId: SPACE_2_ID }, +} = SPACES; const { fail400, fail404 } = testCaseFailures; const createTestCases = () => { @@ -31,6 +36,21 @@ const createTestCases = () => { { ...CASES.MULTI_NAMESPACE_ISOLATED_ONLY_SPACE_1, ...fail404() }, CASES.NAMESPACE_AGNOSTIC, { ...CASES.DOES_NOT_EXIST, ...fail404() }, + { + ...CASES.SINGLE_NAMESPACE_SPACE_2, + namespaces: ['x', 'y'], + ...fail400(), // cannot be searched for in multiple spaces + }, + { ...CASES.SINGLE_NAMESPACE_SPACE_2, namespaces: [SPACE_2_ID] }, // second try searches for it in a single other space, which is valid + { + ...CASES.MULTI_NAMESPACE_ISOLATED_ONLY_SPACE_1, + namespaces: [ALL_SPACES_ID], + ...fail400(), // cannot be searched for in multiple spaces + }, + { ...CASES.MULTI_NAMESPACE_ISOLATED_ONLY_SPACE_1, namespaces: [SPACE_1_ID] }, // second try searches for it in a single other space, which is valid + { ...CASES.MULTI_NAMESPACE_DEFAULT_AND_SPACE_1, namespaces: [SPACE_2_ID], ...fail404() }, + { ...CASES.MULTI_NAMESPACE_ALL_SPACES, namespaces: [SPACE_2_ID, 'x'] }, // unknown space is allowed / ignored + { ...CASES.MULTI_NAMESPACE_ONLY_SPACE_1, namespaces: [ALL_SPACES_ID] }, ]; const hiddenType = [{ ...CASES.HIDDEN, ...fail400() }]; const allTypes = normalTypes.concat(hiddenType); diff --git a/x-pack/test/saved_object_api_integration/spaces_only/apis/bulk_get.ts b/x-pack/test/saved_object_api_integration/spaces_only/apis/bulk_get.ts index e1d0243377b8e..41fa4749cc48e 100644 --- a/x-pack/test/saved_object_api_integration/spaces_only/apis/bulk_get.ts +++ b/x-pack/test/saved_object_api_integration/spaces_only/apis/bulk_get.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { SPACES } from '../../common/lib/spaces'; +import { SPACES, ALL_SPACES_ID } from '../../common/lib/spaces'; import { testCaseFailures, getTestScenarios } from '../../common/lib/saved_object_test_utils'; import { FtrProviderContext } from '../../common/ftr_provider_context'; import { bulkGetTestSuiteFactory, TEST_CASES as CASES } from '../../common/suites/bulk_get'; @@ -38,6 +38,21 @@ const createTestCases = (spaceId: string) => [ CASES.NAMESPACE_AGNOSTIC, { ...CASES.HIDDEN, ...fail400() }, { ...CASES.DOES_NOT_EXIST, ...fail404() }, + { + ...CASES.SINGLE_NAMESPACE_SPACE_2, + namespaces: ['x', 'y'], + ...fail400(), // cannot be searched for in multiple spaces + }, + { ...CASES.SINGLE_NAMESPACE_SPACE_2, namespaces: [SPACE_2_ID] }, // second try searches for it in a single other space, which is valid + { + ...CASES.MULTI_NAMESPACE_ISOLATED_ONLY_SPACE_1, + namespaces: [ALL_SPACES_ID], + ...fail400(), // cannot be searched for in multiple spaces + }, + { ...CASES.MULTI_NAMESPACE_ISOLATED_ONLY_SPACE_1, namespaces: [SPACE_1_ID] }, // second try searches for it in a single other space, which is valid + { ...CASES.MULTI_NAMESPACE_DEFAULT_AND_SPACE_1, namespaces: [SPACE_2_ID], ...fail404() }, + { ...CASES.MULTI_NAMESPACE_ALL_SPACES, namespaces: [SPACE_2_ID, 'x'] }, // unknown space is allowed / ignored + { ...CASES.MULTI_NAMESPACE_ONLY_SPACE_1, namespaces: [ALL_SPACES_ID] }, ]; export default function ({ getService }: FtrProviderContext) { From 602392e88d8659c810f33931588de879f036480f Mon Sep 17 00:00:00 2001 From: Angela Chuang <6295984+angorayc@users.noreply.github.com> Date: Thu, 26 Aug 2021 16:40:30 +0100 Subject: [PATCH 079/139] [Security Solution] Host details fly out modal is not working in alerts table (#109942) * fix expanded host and ip panel * reuse existing links components * rename * add unit tests * add unit tests * update comment Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/common/components/links/index.tsx | 20 +- .../components/formatted_ip/index.test.tsx | 192 ++++++++++++++++++ .../components/formatted_ip/index.tsx | 27 +-- .../timeline/body/events/stateful_event.tsx | 10 +- .../body/events/stateful_event_context.tsx | 17 -- .../body/renderers/host_name.test.tsx | 187 +++++++++++++++++ .../timeline/body/renderers/host_name.tsx | 26 +-- .../components/t_grid/body/index.test.tsx | 16 +- .../public/components/t_grid/body/index.tsx | 73 ++++--- x-pack/plugins/timelines/public/index.ts | 4 + x-pack/plugins/timelines/public/types.ts | 8 + 11 files changed, 485 insertions(+), 95 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/timelines/components/formatted_ip/index.test.tsx delete mode 100644 x-pack/plugins/security_solution/public/timelines/components/timeline/body/events/stateful_event_context.tsx create mode 100644 x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/host_name.test.tsx diff --git a/x-pack/plugins/security_solution/public/common/components/links/index.tsx b/x-pack/plugins/security_solution/public/common/components/links/index.tsx index cc0fdb3923dce..9668f3ea99041 100644 --- a/x-pack/plugins/security_solution/public/common/components/links/index.tsx +++ b/x-pack/plugins/security_solution/public/common/components/links/index.tsx @@ -16,7 +16,7 @@ import { PropsForAnchor, PropsForButton, } from '@elastic/eui'; -import React, { useMemo, useCallback } from 'react'; +import React, { useMemo, useCallback, SyntheticEvent } from 'react'; import { isNil } from 'lodash/fp'; import styled from 'styled-components'; @@ -105,7 +105,8 @@ const HostDetailsLinkComponent: React.FC<{ children?: React.ReactNode; hostName: string; isButton?: boolean; -}> = ({ children, hostName, isButton }) => { + onClick?: (e: SyntheticEvent) => void; +}> = ({ children, hostName, isButton, onClick }) => { const { formatUrl, search } = useFormatUrl(SecurityPageName.hosts); const { navigateToApp } = useKibana().services.application; const goToHostDetails = useCallback( @@ -121,15 +122,17 @@ const HostDetailsLinkComponent: React.FC<{ return isButton ? ( {children ? children : hostName} ) : ( {children ? children : hostName} @@ -177,7 +180,8 @@ const NetworkDetailsLinkComponent: React.FC<{ ip: string; flowTarget?: FlowTarget | FlowTargetSourceDest; isButton?: boolean; -}> = ({ children, ip, flowTarget = FlowTarget.source, isButton }) => { + onClick?: (e: SyntheticEvent) => void | undefined; +}> = ({ children, ip, flowTarget = FlowTarget.source, isButton, onClick }) => { const { formatUrl, search } = useFormatUrl(SecurityPageName.network); const { navigateToApp } = useKibana().services.application; const goToNetworkDetails = useCallback( @@ -194,14 +198,16 @@ const NetworkDetailsLinkComponent: React.FC<{ return isButton ? ( {children ? children : ip} ) : ( {children ? children : ip} diff --git a/x-pack/plugins/security_solution/public/timelines/components/formatted_ip/index.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/formatted_ip/index.test.tsx new file mode 100644 index 0000000000000..6a796c29523a1 --- /dev/null +++ b/x-pack/plugins/security_solution/public/timelines/components/formatted_ip/index.test.tsx @@ -0,0 +1,192 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import { mount } from 'enzyme'; +import { waitFor } from '@testing-library/react'; + +import { FormattedIp } from './index'; +import { TestProviders } from '../../../common/mock'; +import { TimelineId, TimelineTabs } from '../../../../common'; +import { StatefulEventContext } from '../../../../../timelines/public'; +import { timelineActions } from '../../store/timeline'; +import { activeTimeline } from '../../containers/active_timeline_context'; + +jest.mock('react-redux', () => { + const origin = jest.requireActual('react-redux'); + return { + ...origin, + useDispatch: jest.fn().mockReturnValue(jest.fn()), + }; +}); + +jest.mock('../../../common/lib/kibana/kibana_react', () => { + return { + useKibana: jest.fn().mockReturnValue({ + services: { + application: { + getUrlForApp: jest.fn(), + navigateToApp: jest.fn(), + }, + }, + }), + }; +}); + +jest.mock('../../../common/components/drag_and_drop/draggable_wrapper', () => { + const original = jest.requireActual('../../../common/components/drag_and_drop/draggable_wrapper'); + return { + ...original, + // eslint-disable-next-line react/display-name + DraggableWrapper: () =>
, + }; +}); + +describe('FormattedIp', () => { + const props = { + value: '192.168.1.1', + contextId: 'test-context-id', + eventId: 'test-event-id', + isDraggable: false, + fieldName: 'host.ip', + }; + + let toggleDetailPanel: jest.SpyInstance; + let toggleExpandedDetail: jest.SpyInstance; + + beforeAll(() => { + toggleDetailPanel = jest.spyOn(timelineActions, 'toggleDetailPanel'); + toggleExpandedDetail = jest.spyOn(activeTimeline, 'toggleExpandedDetail'); + }); + + afterEach(() => { + toggleDetailPanel.mockClear(); + toggleExpandedDetail.mockClear(); + }); + test('should render ip address', () => { + const wrapper = mount( + + + + ); + + expect(wrapper.text()).toEqual(props.value); + }); + + test('should render DraggableWrapper if isDraggable is true', () => { + const testProps = { + ...props, + isDraggable: true, + }; + const wrapper = mount( + + + + ); + + expect(wrapper.find('[data-test-subj="DraggableWrapper"]').exists()).toEqual(true); + }); + + test('if not enableIpDetailsFlyout, should go to network details page', async () => { + const wrapper = mount( + + + + ); + + wrapper.find('[data-test-subj="network-details"]').first().simulate('click'); + await waitFor(() => { + expect(toggleDetailPanel).not.toHaveBeenCalled(); + expect(toggleExpandedDetail).not.toHaveBeenCalled(); + }); + }); + + test('if enableIpDetailsFlyout, should open NetworkDetailsSidePanel', async () => { + const context = { + enableHostDetailsFlyout: true, + enableIpDetailsFlyout: true, + timelineID: TimelineId.active, + tabType: TimelineTabs.query, + }; + const wrapper = mount( + + + + + + ); + + wrapper.find('[data-test-subj="network-details"]').first().simulate('click'); + await waitFor(() => { + expect(toggleDetailPanel).toHaveBeenCalledWith({ + panelView: 'networkDetail', + params: { + flowTarget: 'source', + ip: props.value, + }, + tabType: context.tabType, + timelineId: context.timelineID, + }); + }); + }); + + test('if enableIpDetailsFlyout and timelineId equals to `timeline-1`, should call toggleExpandedDetail', async () => { + const context = { + enableHostDetailsFlyout: true, + enableIpDetailsFlyout: true, + timelineID: TimelineId.active, + tabType: TimelineTabs.query, + }; + const wrapper = mount( + + + + + + ); + + wrapper.find('[data-test-subj="network-details"]').first().simulate('click'); + await waitFor(() => { + expect(toggleExpandedDetail).toHaveBeenCalledWith({ + panelView: 'networkDetail', + params: { + flowTarget: 'source', + ip: props.value, + }, + }); + }); + }); + + test('if enableIpDetailsFlyout but timelineId not equals to `TimelineId.active`, should not call toggleExpandedDetail', async () => { + const context = { + enableHostDetailsFlyout: true, + enableIpDetailsFlyout: true, + timelineID: 'detection', + tabType: TimelineTabs.query, + }; + const wrapper = mount( + + + + + + ); + + wrapper.find('[data-test-subj="network-details"]').first().simulate('click'); + await waitFor(() => { + expect(toggleDetailPanel).toHaveBeenCalledWith({ + panelView: 'networkDetail', + params: { + flowTarget: 'source', + ip: props.value, + }, + tabType: context.tabType, + timelineId: context.timelineID, + }); + expect(toggleExpandedDetail).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/timelines/components/formatted_ip/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/formatted_ip/index.tsx index abbd1a1fdb2d1..913a0f7ed200b 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/formatted_ip/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/formatted_ip/index.tsx @@ -31,11 +31,8 @@ import { } from '../../../../common/types/timeline'; import { activeTimeline } from '../../containers/active_timeline_context'; import { timelineActions } from '../../store/timeline'; -import { StatefulEventContext } from '../timeline/body/events/stateful_event_context'; -import { LinkAnchor } from '../../../common/components/links'; -import { SecurityPageName } from '../../../app/types'; -import { useFormatUrl, getNetworkDetailsUrl } from '../../../common/components/link_to'; -import { encodeIpv6 } from '../../../common/lib/helpers'; +import { NetworkDetailsLink } from '../../../common/components/links'; +import { StatefulEventContext } from '../../../../../timelines/public'; const getUniqueId = ({ contextId, @@ -168,8 +165,8 @@ const AddressLinksItemComponent: React.FC = ({ const dispatch = useDispatch(); const eventContext = useContext(StatefulEventContext); - const { formatUrl } = useFormatUrl(SecurityPageName.network); - const isInTimelineContext = address && eventContext?.tabType && eventContext?.timelineID; + const isInTimelineContext = + address && eventContext?.enableIpDetailsFlyout && eventContext?.timelineID; const openNetworkDetailsSidePanel = useCallback( (e) => { @@ -202,21 +199,19 @@ const AddressLinksItemComponent: React.FC = ({ [eventContext, isInTimelineContext, address, fieldName, dispatch] ); + // The below is explicitly defined this way as the onClick takes precedence when it and the href are both defined + // When this component is used outside of timeline/alerts table (i.e. in the flyout) we would still like it to link to the IP Overview page const content = useMemo( () => ( - - {address} - + /> ), - [address, fieldName, formatUrl, isInTimelineContext, openNetworkDetailsSidePanel] + [address, fieldName, isInTimelineContext, openNetworkDetailsSidePanel] ); const render = useCallback( diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/events/stateful_event.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/events/stateful_event.tsx index bcfdf83eae90b..a99bf730a7fee 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/events/stateful_event.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/events/stateful_event.tsx @@ -40,7 +40,7 @@ import { StatefulRowRenderer } from './stateful_row_renderer'; import { NOTES_BUTTON_CLASS_NAME } from '../../properties/helpers'; import { timelineDefaults } from '../../../../store/timeline/defaults'; import { getMappedNonEcsValue } from '../data_driven_columns'; -import { StatefulEventContext } from './stateful_event_context'; +import { StatefulEventContext } from '../../../../../../../timelines/public'; interface Props { actionsColumnWidth: number; @@ -103,7 +103,13 @@ const StatefulEventComponent: React.FC = ({ const trGroupRef = useRef(null); const dispatch = useDispatch(); // Store context in state rather than creating object in provider value={} to prevent re-renders caused by a new object being created - const [activeStatefulEventContext] = useState({ timelineID: timelineId, tabType }); + const [activeStatefulEventContext] = useState({ + timelineID: timelineId, + enableHostDetailsFlyout: true, + enableIpDetailsFlyout: true, + tabType, + }); + const [showNotes, setShowNotes] = useState<{ [eventId: string]: boolean }>({}); const getTimeline = useMemo(() => timelineSelectors.getTimelineByIdSelector(), []); const expandedDetail = useDeepEqualSelector( diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/events/stateful_event_context.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/events/stateful_event_context.tsx deleted file mode 100644 index 34abc06371aac..0000000000000 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/events/stateful_event_context.tsx +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; -import { TimelineTabs } from '../../../../../../common/types/timeline'; - -interface StatefulEventContext { - tabType: TimelineTabs | undefined; - timelineID: string; -} - -// This context is available to all children of the stateful_event component where the provider is currently set -export const StatefulEventContext = React.createContext(null); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/host_name.test.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/host_name.test.tsx new file mode 100644 index 0000000000000..de87c037d3ef7 --- /dev/null +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/host_name.test.tsx @@ -0,0 +1,187 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import { mount } from 'enzyme'; +import { waitFor } from '@testing-library/react'; + +import { HostName } from './host_name'; +import { TestProviders } from '../../../../../common/mock'; +import { TimelineId, TimelineTabs } from '../../../../../../common'; +import { StatefulEventContext } from '../../../../../../../timelines/public'; +import { timelineActions } from '../../../../store/timeline'; +import { activeTimeline } from '../../../../containers/active_timeline_context'; + +jest.mock('react-redux', () => { + const origin = jest.requireActual('react-redux'); + return { + ...origin, + useDispatch: jest.fn().mockReturnValue(jest.fn()), + }; +}); + +jest.mock('../../../../../common/lib/kibana/kibana_react', () => { + return { + useKibana: jest.fn().mockReturnValue({ + services: { + application: { + getUrlForApp: jest.fn(), + navigateToApp: jest.fn(), + }, + }, + }), + }; +}); + +jest.mock('../../../../../common/components/draggables', () => ({ + // eslint-disable-next-line react/display-name + DefaultDraggable: () =>
, +})); + +describe('HostName', () => { + const props = { + fieldName: 'host.name', + contextId: 'test-context-id', + eventId: 'test-event-id', + isDraggable: false, + value: 'Mock Host', + }; + + let toggleDetailPanel: jest.SpyInstance; + let toggleExpandedDetail: jest.SpyInstance; + + beforeAll(() => { + toggleDetailPanel = jest.spyOn(timelineActions, 'toggleDetailPanel'); + toggleExpandedDetail = jest.spyOn(activeTimeline, 'toggleExpandedDetail'); + }); + + afterEach(() => { + toggleDetailPanel.mockClear(); + toggleExpandedDetail.mockClear(); + }); + test('should render host name', () => { + const wrapper = mount( + + + + ); + + expect(wrapper.find('[data-test-subj="host-details-button"]').last().text()).toEqual( + props.value + ); + }); + + test('should render DefaultDraggable if isDraggable is true', () => { + const testProps = { + ...props, + isDraggable: true, + }; + const wrapper = mount( + + + + ); + + expect(wrapper.find('[data-test-subj="DefaultDraggable"]').exists()).toEqual(true); + }); + + test('if not enableHostDetailsFlyout, should go to hostdetails page', async () => { + const wrapper = mount( + + + + ); + + wrapper.find('[data-test-subj="host-details-button"]').first().simulate('click'); + await waitFor(() => { + expect(toggleDetailPanel).not.toHaveBeenCalled(); + expect(toggleExpandedDetail).not.toHaveBeenCalled(); + }); + }); + + test('if enableHostDetailsFlyout, should open HostDetailsSidePanel', async () => { + const context = { + enableHostDetailsFlyout: true, + enableIpDetailsFlyout: true, + timelineID: TimelineId.active, + tabType: TimelineTabs.query, + }; + const wrapper = mount( + + + + + + ); + + wrapper.find('[data-test-subj="host-details-button"]').first().simulate('click'); + await waitFor(() => { + expect(toggleDetailPanel).toHaveBeenCalledWith({ + panelView: 'hostDetail', + params: { + hostName: props.value, + }, + tabType: context.tabType, + timelineId: context.timelineID, + }); + }); + }); + + test('if enableHostDetailsFlyout and timelineId equals to `timeline-1`, should call toggleExpandedDetail', async () => { + const context = { + enableHostDetailsFlyout: true, + enableIpDetailsFlyout: true, + timelineID: TimelineId.active, + tabType: TimelineTabs.query, + }; + const wrapper = mount( + + + + + + ); + + wrapper.find('[data-test-subj="host-details-button"]').first().simulate('click'); + await waitFor(() => { + expect(toggleExpandedDetail).toHaveBeenCalledWith({ + panelView: 'hostDetail', + params: { + hostName: props.value, + }, + }); + }); + }); + + test('if enableHostDetailsFlyout but timelineId not equals to `TimelineId.active`, should not call toggleExpandedDetail', async () => { + const context = { + enableHostDetailsFlyout: true, + enableIpDetailsFlyout: true, + timelineID: 'detection', + tabType: TimelineTabs.query, + }; + const wrapper = mount( + + + + + + ); + + wrapper.find('[data-test-subj="host-details-button"]').first().simulate('click'); + await waitFor(() => { + expect(toggleDetailPanel).toHaveBeenCalledWith({ + panelView: 'hostDetail', + params: { + hostName: props.value, + }, + tabType: context.tabType, + timelineId: context.timelineID, + }); + expect(toggleExpandedDetail).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/host_name.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/host_name.tsx index 060b539950d83..c183d71212540 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/host_name.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/host_name.tsx @@ -8,7 +8,7 @@ import React, { useCallback, useContext, useMemo } from 'react'; import { useDispatch } from 'react-redux'; import { isString } from 'lodash/fp'; -import { LinkAnchor } from '../../../../../common/components/links'; +import { HostDetailsLink } from '../../../../../common/components/links'; import { TimelineId, TimelineTabs, @@ -17,11 +17,9 @@ import { import { DefaultDraggable } from '../../../../../common/components/draggables'; import { getEmptyTagValue } from '../../../../../common/components/empty_value'; import { TruncatableText } from '../../../../../common/components/truncatable_text'; -import { StatefulEventContext } from '../events/stateful_event_context'; import { activeTimeline } from '../../../../containers/active_timeline_context'; import { timelineActions } from '../../../../store/timeline'; -import { SecurityPageName } from '../../../../../../common/constants'; -import { useFormatUrl, getHostDetailsUrl } from '../../../../../common/components/link_to'; +import { StatefulEventContext } from '../../../../../../../timelines/public'; interface Props { contextId: string; @@ -41,10 +39,8 @@ const HostNameComponent: React.FC = ({ const dispatch = useDispatch(); const eventContext = useContext(StatefulEventContext); const hostName = `${value}`; - - const { formatUrl } = useFormatUrl(SecurityPageName.hosts); - const isInTimelineContext = hostName && eventContext?.tabType && eventContext?.timelineID; - + const isInTimelineContext = + hostName && eventContext?.enableHostDetailsFlyout && eventContext?.timelineID; const openHostDetailsSidePanel = useCallback( (e) => { e.preventDefault(); @@ -73,19 +69,19 @@ const HostNameComponent: React.FC = ({ [dispatch, eventContext, isInTimelineContext, hostName] ); + // The below is explicitly defined this way as the onClick takes precedence when it and the href are both defined + // When this component is used outside of timeline/alerts table (i.e. in the flyout) we would still like it to link to the Host Details page const content = useMemo( () => ( - {hostName} - + ), - [formatUrl, hostName, isInTimelineContext, openHostDetailsSidePanel] + [hostName, isInTimelineContext, openHostDetailsSidePanel] ); return isString(value) && hostName.length > 0 ? ( diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/index.test.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/index.test.tsx index 2ab5a86fa7ddd..137fa2625e92a 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/index.test.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/index.test.tsx @@ -128,9 +128,13 @@ describe('Body', () => { expect(wrapper.find('div.euiDataGridRowCell').first().exists()).toEqual(true); }); - test.skip('it renders a tooltip for timestamp', () => { + test('it renders cell value', () => { const headersJustTimestamp = defaultHeaders.filter((h) => h.id === '@timestamp'); - const testProps = { ...props, columnHeaders: headersJustTimestamp }; + const testProps = { + ...props, + columnHeaders: headersJustTimestamp, + data: mockTimelineData.slice(0, 1), + }; const wrapper = mount( @@ -139,10 +143,10 @@ describe('Body', () => { wrapper.update(); expect( wrapper - .find('[data-test-subj="data-driven-columns"]') - .first() - .find('[data-test-subj="statefulCell"]') - .last() + .find('[data-test-subj="dataGridRowCell"]') + .at(0) + .find('.euiDataGridRowCell__truncate') + .childAt(0) .text() ).toEqual(mockTimelineData[0].ecs.timestamp); }); diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx index 5867fa987b982..e59d87d843478 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx @@ -62,7 +62,7 @@ import { DEFAULT_ICON_BUTTON_WIDTH } from '../helpers'; import type { BrowserFields } from '../../../../common/search_strategy/index_fields'; import type { OnRowSelected, OnSelectAll } from '../types'; import type { Refetch } from '../../../store/t_grid/inputs'; -import { StatefulFieldsBrowser } from '../../../'; +import { StatefulEventContext, StatefulFieldsBrowser } from '../../../'; import { tGridActions, TGridModel, tGridSelectors, TimelineState } from '../../../store/t_grid'; import { useDeepEqualSelector } from '../../../hooks/use_selector'; import { RowAction } from './row_action'; @@ -659,39 +659,48 @@ export const BodyComponent = React.memo( return Cell; }, [columnHeaders, data, id, renderCellValue, tabType, theme, browserFields, rowRenderers]); + // Store context in state rather than creating object in provider value={} to prevent re-renders caused by a new object being created + const [activeStatefulEventContext] = useState({ + timelineID: id, + tabType, + enableHostDetailsFlyout: true, + enableIpDetailsFlyout: true, + }); return ( <> - {tableView === 'gridView' && ( - - )} - {tableView === 'eventRenderedView' && ( - - )} + + {tableView === 'gridView' && ( + + )} + {tableView === 'eventRenderedView' && ( + + )} + ); } diff --git a/x-pack/plugins/timelines/public/index.ts b/x-pack/plugins/timelines/public/index.ts index c8b14b4018765..204b1e5b8bd2e 100644 --- a/x-pack/plugins/timelines/public/index.ts +++ b/x-pack/plugins/timelines/public/index.ts @@ -4,10 +4,12 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { createContext } from 'react'; import { PluginInitializerContext } from '../../../../src/core/public'; import { TimelinesPlugin } from './plugin'; +import type { StatefulEventContextType } from './types'; export * as tGridActions from './store/t_grid/actions'; export * as tGridSelectors from './store/t_grid/selectors'; export type { @@ -59,3 +61,5 @@ export { useStatusBulkActionItems } from './hooks/use_status_bulk_action_items'; export function plugin(initializerContext: PluginInitializerContext) { return new TimelinesPlugin(initializerContext); } + +export const StatefulEventContext = createContext(null); diff --git a/x-pack/plugins/timelines/public/types.ts b/x-pack/plugins/timelines/public/types.ts index 2b5abbcc36a94..f81632e29ab17 100644 --- a/x-pack/plugins/timelines/public/types.ts +++ b/x-pack/plugins/timelines/public/types.ts @@ -24,6 +24,7 @@ import type { TGridStandaloneProps } from './components/t_grid/standalone'; import type { UseAddToTimelineProps, UseAddToTimeline } from './hooks/use_add_to_timeline'; import { HoverActionsConfig } from './components/hover_actions/index'; import type { AddToCaseActionProps } from './components/actions/timeline/cases/add_to_case_action'; +import { TimelineTabs } from '../common'; export * from './store/t_grid'; export interface TimelinesUIStart { getHoverActions: () => HoverActionsConfig; @@ -66,3 +67,10 @@ export type GetTGridProps = T extends 'standalone' ? TGridIntegratedCompProps : TGridIntegratedCompProps; export type TGridProps = TGridStandaloneCompProps | TGridIntegratedCompProps; + +export interface StatefulEventContextType { + tabType: TimelineTabs | undefined; + timelineID: string; + enableHostDetailsFlyout: boolean; + enableIpDetailsFlyout: boolean; +} From 2a05ec9ff55c72c4818537ce59637966311d08b4 Mon Sep 17 00:00:00 2001 From: Mark Hopkin Date: Thu, 26 Aug 2021 16:47:11 +0100 Subject: [PATCH 080/139] [Fleet] Don't ignore "index: false" in integration index template (#110234) * fix: don't ignore index prop when falsey * test: add unit test for index false --- .../elasticsearch/template/template.test.ts | 20 +++++++++++++++++++ .../epm/elasticsearch/template/template.ts | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts index 10db955c52ee1..4c10d0e74dad7 100644 --- a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts +++ b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts @@ -174,6 +174,26 @@ describe('EPM template', () => { expect(template).toMatchSnapshot(path.basename(ymlPath)); }); + it('tests processing long field with index false', () => { + const longWithIndexFalseYml = ` +- name: longIndexFalse + type: long + index: false +`; + const longWithIndexFalseMapping = { + properties: { + longIndexFalse: { + type: 'long', + index: false, + }, + }, + }; + const fields: Field[] = safeLoad(longWithIndexFalseYml); + const processedFields = processFields(fields); + const mappings = generateMappings(processedFields); + expect(mappings).toEqual(longWithIndexFalseMapping); + }); + it('tests processing text field with multi fields', () => { const textWithMultiFieldsLiteralYml = ` - name: textWithMultiFields diff --git a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts index d4181201677c5..c999a135e2116 100644 --- a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts +++ b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts @@ -277,7 +277,7 @@ function generateTextMapping(field: Field): IndexTemplateMapping { function getDefaultProperties(field: Field): Properties { const properties: Properties = {}; - if (field.index) { + if (field.index !== undefined) { properties.index = field.index; } if (field.doc_values) { From 00c9a76e0d814e568c1262246a02540808a4a9fb Mon Sep 17 00:00:00 2001 From: Anton Dosov Date: Thu, 26 Aug 2021 17:56:19 +0200 Subject: [PATCH 081/139] [fieldFormats] remove reliance on eslint-rule-no-export-all --- src/plugins/field_formats/common/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/plugins/field_formats/common/index.ts b/src/plugins/field_formats/common/index.ts index b6c58eb12d7cd..2e0aa82a67b30 100644 --- a/src/plugins/field_formats/common/index.ts +++ b/src/plugins/field_formats/common/index.ts @@ -51,5 +51,3 @@ export { IFieldFormat, FieldFormatsStartCommon, } from './types'; - -export * from './errors'; From 416d42a22a9d4880b37af82c3c9eca709126c5c6 Mon Sep 17 00:00:00 2001 From: Michael Olorunnisola Date: Thu, 26 Aug 2021 12:01:28 -0400 Subject: [PATCH 082/139] [Security Solution][RAC] Refix expand (#110236) --- .../timelines/public/components/t_grid/body/index.tsx | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx index e59d87d843478..f3220cfd8909e 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx @@ -622,17 +622,12 @@ export const BodyComponent = React.memo( const rowData = rowIndex < data.length ? data[rowIndex].data : null; const header = columnHeaders.find((h) => h.id === columnId); const eventId = rowIndex < data.length ? data[rowIndex]._id : null; - const defaultStyles = useMemo( - () => ({ - overflow: 'hidden', - }), - [] - ); - setCellProps({ style: { ...defaultStyles } }); useEffect(() => { + const defaultStyles = { overflow: 'hidden' }; + setCellProps({ style: { ...defaultStyles } }); addBuildingBlockStyle(data[rowIndex].ecs, theme, setCellProps, defaultStyles); - }, [rowIndex, setCellProps, defaultStyles]); + }, [rowIndex, setCellProps]); if (rowData == null || header == null || eventId == null) { return null; From b15b3ce19ddcda9e91dd8c3d1369a9daeff64f64 Mon Sep 17 00:00:00 2001 From: "Christiane (Tina) Heiligers" Date: Thu, 26 Aug 2021 09:03:13 -0700 Subject: [PATCH 083/139] Fixes bugs for product check in update and delete (#109979) * Fixes bugs for product check in update and delete * Apply suggestions from code review --- .../service/lib/decorate_es_error.test.ts | 12 +++++++++ .../service/lib/decorate_es_error.ts | 6 +++++ .../service/lib/repository.test.js | 22 ++++++---------- .../saved_objects/service/lib/repository.ts | 25 ++++++------------- 4 files changed, 32 insertions(+), 33 deletions(-) diff --git a/src/core/server/saved_objects/service/lib/decorate_es_error.test.ts b/src/core/server/saved_objects/service/lib/decorate_es_error.test.ts index 9dd8959d49293..4e187e85f81a7 100644 --- a/src/core/server/saved_objects/service/lib/decorate_es_error.test.ts +++ b/src/core/server/saved_objects/service/lib/decorate_es_error.test.ts @@ -109,6 +109,18 @@ describe('savedObjectsClient/decorateEsError', () => { expect(SavedObjectsErrorHelpers.isNotFoundError(genericError)).toBe(true); }); + it('makes NotFound errors generic NotFoundEsUnavailableError errors when response is from unsupported server', () => { + const error = new esErrors.ResponseError( + // explicitly override the headers + elasticsearchClientMock.createApiResponse({ statusCode: 404, headers: {} }) + ); + expect(SavedObjectsErrorHelpers.isNotFoundError(error)).toBe(false); + const genericError = decorateEsError(error); + expect(genericError).not.toBe(error); + expect(SavedObjectsErrorHelpers.isNotFoundError(genericError)).toBe(false); + expect(SavedObjectsErrorHelpers.isEsUnavailableError(genericError)).toBe(true); + }); + it('if saved objects index does not exist makes NotFound a SavedObjectsClient/generalError', () => { const error = new esErrors.ResponseError( elasticsearchClientMock.createApiResponse({ diff --git a/src/core/server/saved_objects/service/lib/decorate_es_error.ts b/src/core/server/saved_objects/service/lib/decorate_es_error.ts index e1aa1ab2f956d..016268ccdf9f4 100644 --- a/src/core/server/saved_objects/service/lib/decorate_es_error.ts +++ b/src/core/server/saved_objects/service/lib/decorate_es_error.ts @@ -8,6 +8,7 @@ import { errors as esErrors } from '@elastic/elasticsearch'; import { get } from 'lodash'; +import { isSupportedEsServer } from '../../../elasticsearch'; const responseErrors = { isServiceUnavailable: (statusCode: number) => statusCode === 503, @@ -69,6 +70,11 @@ export function decorateEsError(error: EsErrors) { if (match?.length > 0) { return SavedObjectsErrorHelpers.decorateIndexAliasNotFoundError(error, match[1]); } + // Throw EsUnavailable error if the 404 is not from elasticsearch + // Needed here to verify Product support for any non-ignored 404 responses from calls to ES + if (!isSupportedEsServer(error?.meta?.headers)) { + return SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError(); + } return SavedObjectsErrorHelpers.createGenericNotFoundError(); } diff --git a/src/core/server/saved_objects/service/lib/repository.test.js b/src/core/server/saved_objects/service/lib/repository.test.js index d4d794c165fe2..427c28ceb326c 100644 --- a/src/core/server/saved_objects/service/lib/repository.test.js +++ b/src/core/server/saved_objects/service/lib/repository.test.js @@ -2439,27 +2439,19 @@ describe('SavedObjectsRepository', () => { it(`throws when ES is unable to find the document during delete`, async () => { client.delete.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise( - { result: 'not_found' }, - {}, - {} - ) + elasticsearchClientMock.createSuccessTransportRequestPromise({ result: 'not_found' }) ); - await expectNotFoundEsUnavailableError(type, id); + await expectNotFoundError(type, id); expect(client.delete).toHaveBeenCalledTimes(1); }); it(`throws when ES is unable to find the index during delete`, async () => { client.delete.mockResolvedValueOnce( - elasticsearchClientMock.createSuccessTransportRequestPromise( - { - error: { type: 'index_not_found_exception' }, - }, - {}, - {} - ) + elasticsearchClientMock.createSuccessTransportRequestPromise({ + error: { type: 'index_not_found_exception' }, + }) ); - await expectNotFoundEsUnavailableError(type, id); + await expectNotFoundError(type, id); expect(client.delete).toHaveBeenCalledTimes(1); }); @@ -3430,7 +3422,7 @@ describe('SavedObjectsRepository', () => { client.get.mockResolvedValueOnce( elasticsearchClientMock.createSuccessTransportRequestPromise( { found: false }, - undefined, + { statusCode: 404 }, {} ) ); diff --git a/src/core/server/saved_objects/service/lib/repository.ts b/src/core/server/saved_objects/service/lib/repository.ts index c2ae6ebab00e9..7ce3a55d057eb 100644 --- a/src/core/server/saved_objects/service/lib/repository.ts +++ b/src/core/server/saved_objects/service/lib/repository.ts @@ -682,6 +682,10 @@ export class SavedObjectsRepository { { ignore: [404] } ); + if (isNotFoundFromUnsupportedServer({ statusCode, headers })) { + throw SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError(type, id); + } + const deleted = body.result === 'deleted'; if (deleted) { return {}; @@ -690,15 +694,9 @@ export class SavedObjectsRepository { const deleteDocNotFound = body.result === 'not_found'; // @ts-expect-error @elastic/elasticsearch doesn't declare error on DeleteResponse const deleteIndexNotFound = body.error && body.error.type === 'index_not_found_exception'; - const esServerSupported = isSupportedEsServer(headers); if (deleteDocNotFound || deleteIndexNotFound) { - if (esServerSupported) { - // see "404s from missing index" above - throw SavedObjectsErrorHelpers.createGenericNotFoundError(type, id); - } else { - // throw if we can't verify the response is from Elasticsearch - throw SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError(type, id); - } + // see "404s from missing index" above + throw SavedObjectsErrorHelpers.createGenericNotFoundError(type, id); } throw new Error( @@ -1084,7 +1082,7 @@ export class SavedObjectsRepository { ); const indexNotFound = statusCode === 404; // check if we have the elasticsearch header when index is not found and if we do, ensure it is Elasticsearch - if (!isFoundGetResponse(body) && !isSupportedEsServer(headers)) { + if (indexNotFound && !isSupportedEsServer(headers)) { throw SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError(type, id); } if ( @@ -1331,15 +1329,6 @@ export class SavedObjectsRepository { _source_includes: ['namespace', 'namespaces', 'originId'], require_alias: true, }) - .then((res) => { - const indexNotFound = res.statusCode === 404; - const esServerSupported = isSupportedEsServer(res.headers); - // check if we have the elasticsearch header when index is not found and if we do, ensure it is Elasticsearch - if (indexNotFound && !esServerSupported) { - throw SavedObjectsErrorHelpers.createGenericNotFoundEsUnavailableError(type, id); - } - return res; - }) .catch((err) => { if (SavedObjectsErrorHelpers.isEsUnavailableError(err)) { throw err; From 85e1361ad591a8918db028975061ca0bba632e1f Mon Sep 17 00:00:00 2001 From: Phillip Burch Date: Thu, 26 Aug 2021 11:16:14 -0500 Subject: [PATCH 084/139] [Stack Monitoring] Remove angular dep from legacy shims (#109132) * Remove angular dep from legacy shims * Fix ES lint --- x-pack/plugins/monitoring/public/legacy_shims.ts | 12 +++++++++--- x-pack/plugins/monitoring/public/plugin.ts | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/monitoring/public/legacy_shims.ts b/x-pack/plugins/monitoring/public/legacy_shims.ts index fe754a965e3f1..72d50aac1dbb8 100644 --- a/x-pack/plugins/monitoring/public/legacy_shims.ts +++ b/x-pack/plugins/monitoring/public/legacy_shims.ts @@ -37,10 +37,14 @@ export interface KFetchKibanaOptions { prependBasePath?: boolean; } +const angularNoop = () => { + throw new Error('Angular has been removed.'); +}; + export interface IShims { toastNotifications: CoreStart['notifications']['toasts']; capabilities: CoreStart['application']['capabilities']; - getAngularInjector: () => angular.auto.IInjectorService; + getAngularInjector: typeof angularNoop | (() => angular.auto.IInjectorService); getBasePath: () => string; getInjected: (name: string, defaultValue?: unknown) => unknown; breadcrumbs: { @@ -78,12 +82,14 @@ export class Legacy { usageCollection, appMountParameters, }: MonitoringStartPluginDependencies, - ngInjector: angular.auto.IInjectorService + ngInjector?: angular.auto.IInjectorService ) { this._shims = { toastNotifications: core.notifications.toasts, capabilities: core.application.capabilities, - getAngularInjector: (): angular.auto.IInjectorService => ngInjector, + getAngularInjector: ngInjector + ? (): angular.auto.IInjectorService => ngInjector + : angularNoop, getBasePath: (): string => core.http.basePath.get(), getInjected: (name: string, defaultValue?: unknown): string | unknown => core.injectedMetadata.getInjectedVar(name, defaultValue), diff --git a/x-pack/plugins/monitoring/public/plugin.ts b/x-pack/plugins/monitoring/public/plugin.ts index df0496d438013..f1ab86dbad76b 100644 --- a/x-pack/plugins/monitoring/public/plugin.ts +++ b/x-pack/plugins/monitoring/public/plugin.ts @@ -14,6 +14,7 @@ import { Plugin, PluginInitializerContext, } from 'kibana/public'; +import { Legacy } from './legacy_shims'; import { UsageCollectionSetup } from '../../../../src/plugins/usage_collection/public'; import { FeatureCatalogueCategory, @@ -109,6 +110,20 @@ export class MonitoringPlugin appMountParameters: params, }; + Legacy.init({ + core: deps.core, + element: deps.element, + data: deps.data, + navigation: deps.navigation, + isCloud: deps.isCloud, + pluginInitializerContext: deps.pluginInitializerContext, + externalConfig: deps.externalConfig, + kibanaLegacy: deps.kibanaLegacy, + triggersActionsUi: deps.triggersActionsUi, + usageCollection: deps.usageCollection, + appMountParameters: deps.appMountParameters, + }); + const config = Object.fromEntries(externalConfig); if (config.renderReactApp) { const { renderApp } = await import('./application'); From 459dd04494414974061231c12a28f2a8bc26c4ac Mon Sep 17 00:00:00 2001 From: Brian Seeders Date: Thu, 26 Aug 2021 12:22:07 -0400 Subject: [PATCH 085/139] Persistent demo deployment for tracked branches (#109714) --- .buildkite/pipelines/update_demo_env.yml | 8 +++ .buildkite/scripts/steps/demo_env/Dockerfile | 4 ++ .buildkite/scripts/steps/demo_env/auth.sh | 8 +++ .buildkite/scripts/steps/demo_env/config.sh | 9 +++ .../scripts/steps/demo_env/es_and_init.sh | 39 ++++++++++++ .../scripts/steps/demo_env/es_and_init.yml | 63 +++++++++++++++++++ .buildkite/scripts/steps/demo_env/kibana.sh | 33 ++++++++++ .buildkite/scripts/steps/demo_env/kibana.yml | 39 ++++++++++++ 8 files changed, 203 insertions(+) create mode 100644 .buildkite/pipelines/update_demo_env.yml create mode 100644 .buildkite/scripts/steps/demo_env/Dockerfile create mode 100755 .buildkite/scripts/steps/demo_env/auth.sh create mode 100755 .buildkite/scripts/steps/demo_env/config.sh create mode 100755 .buildkite/scripts/steps/demo_env/es_and_init.sh create mode 100644 .buildkite/scripts/steps/demo_env/es_and_init.yml create mode 100755 .buildkite/scripts/steps/demo_env/kibana.sh create mode 100644 .buildkite/scripts/steps/demo_env/kibana.yml diff --git a/.buildkite/pipelines/update_demo_env.yml b/.buildkite/pipelines/update_demo_env.yml new file mode 100644 index 0000000000000..1c15b227a2e4a --- /dev/null +++ b/.buildkite/pipelines/update_demo_env.yml @@ -0,0 +1,8 @@ +steps: + - command: .buildkite/scripts/steps/demo_env/es_and_init.sh + label: Initialize Environment and Deploy ES + + - command: .buildkite/scripts/steps/demo_env/kibana.sh + label: Build and Deploy Kibana + agents: + queue: c2-8 diff --git a/.buildkite/scripts/steps/demo_env/Dockerfile b/.buildkite/scripts/steps/demo_env/Dockerfile new file mode 100644 index 0000000000000..a0b1c3311dc8c --- /dev/null +++ b/.buildkite/scripts/steps/demo_env/Dockerfile @@ -0,0 +1,4 @@ +ARG BASE_IMAGE +FROM ${BASE_IMAGE} +COPY ./* /var/lib/example_plugins +RUN find /var/lib/example_plugins/ -type f -name '*.zip' | xargs -I % /usr/share/kibana/bin/kibana-plugin install 'file://%' diff --git a/.buildkite/scripts/steps/demo_env/auth.sh b/.buildkite/scripts/steps/demo_env/auth.sh new file mode 100755 index 0000000000000..53e7d9faee60d --- /dev/null +++ b/.buildkite/scripts/steps/demo_env/auth.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -euo pipefail + +echo '--- Auth and set up kubectl' + +gcloud container clusters get-credentials demo-env --region us-central1 --project elastic-kibana-184716 +kubectl config use-context gke_elastic-kibana-184716_us-central1_demo-env diff --git a/.buildkite/scripts/steps/demo_env/config.sh b/.buildkite/scripts/steps/demo_env/config.sh new file mode 100755 index 0000000000000..772c89c34a59f --- /dev/null +++ b/.buildkite/scripts/steps/demo_env/config.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -euo pipefail + +DEPLOYMENT_VERSION=$(jq -r .version package.json) +export DEPLOYMENT_VERSION + +export DEPLOYMENT_MINOR_VERSION="${DEPLOYMENT_VERSION%.*}" +export DEPLOYMENT_NAME="kb-${DEPLOYMENT_MINOR_VERSION/./-}" diff --git a/.buildkite/scripts/steps/demo_env/es_and_init.sh b/.buildkite/scripts/steps/demo_env/es_and_init.sh new file mode 100755 index 0000000000000..715a7d0ad7dbe --- /dev/null +++ b/.buildkite/scripts/steps/demo_env/es_and_init.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +set -euo pipefail + +source "$(dirname "${0}")/config.sh" + +"$(dirname "${0}")/auth.sh" + +echo '--- Import and publish Elasticsearch image' + +mkdir -p target + +export ES_IMAGE="gcr.io/elastic-kibana-184716/demo/elasticsearch:$DEPLOYMENT_NAME-$(git rev-parse HEAD)" + +DOCKER_EXPORT_URL=$(curl https://storage.googleapis.com/kibana-ci-es-snapshots-daily/$DEPLOYMENT_VERSION/manifest-latest-verified.json | jq -r '.archives | .[] | select(.platform=="docker") | .url') +curl "$DOCKER_EXPORT_URL" > target/elasticsearch-docker.tar.gz +docker load < target/elasticsearch-docker.tar.gz +docker tag "docker.elastic.co/elasticsearch/elasticsearch:$DEPLOYMENT_VERSION-SNAPSHOT" "$ES_IMAGE" +docker push "$ES_IMAGE" + +echo '--- Prepare yaml' + +TEMPLATE=$(envsubst < "$(dirname "${0}")/es_and_init.yml") + +echo "$TEMPLATE" + +cat << EOF | buildkite-agent annotate --style "info" --context demo-env-info +The demo environment can be accessed here, once Kibana and ES are running: + +https://$DEPLOYMENT_NAME.demo.kibana.dev + +Logs, etc can be found here: + +https://console.cloud.google.com/kubernetes/workload?project=elastic-kibana-184716&pageState=(%22savedViews%22:(%22n%22:%5B%22${DEPLOYMENT_NAME}%22%5D,%22c%22:%5B%22gke%2Fus-central1%2Fdemo-env%22%5D)) + +EOF + +echo '--- Deploy yaml' +echo "$TEMPLATE" | kubectl apply -f - diff --git a/.buildkite/scripts/steps/demo_env/es_and_init.yml b/.buildkite/scripts/steps/demo_env/es_and_init.yml new file mode 100644 index 0000000000000..3ccd18853a824 --- /dev/null +++ b/.buildkite/scripts/steps/demo_env/es_and_init.yml @@ -0,0 +1,63 @@ +kind: Namespace +apiVersion: v1 +metadata: + name: $DEPLOYMENT_NAME + labels: + name: $DEPLOYMENT_NAME +--- +apiVersion: elasticsearch.k8s.elastic.co/v1 +kind: Elasticsearch +metadata: + name: $DEPLOYMENT_NAME + namespace: $DEPLOYMENT_NAME +spec: + version: $DEPLOYMENT_VERSION + image: $ES_IMAGE + nodeSets: + - name: default + count: 1 + config: + node.store.allow_mmap: false + xpack.security.authc: + anonymous: + roles: viewer + authz_exception: true + podTemplate: + spec: + containers: + - name: elasticsearch + env: + - name: ES_JAVA_OPTS + value: -Xms2g -Xmx2g + resources: + requests: + memory: 4Gi + cpu: 2 + limits: + memory: 4Gi +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: $DEPLOYMENT_NAME + namespace: $DEPLOYMENT_NAME + annotations: + kubernetes.io/ingress.class: 'nginx' + cert-manager.io/cluster-issuer: 'letsencrypt-prod' + nginx.ingress.kubernetes.io/rewrite-target: /$2 +spec: + tls: + - hosts: + - demo.kibana.dev + secretName: tls-certificate + rules: + - host: demo.kibana.dev + http: + paths: + - path: /$DEPLOYMENT_MINOR_VERSION(/|$)(.*) + pathType: ImplementationSpecific + backend: + service: + name: $DEPLOYMENT_NAME-kb-http + port: + number: 5601 diff --git a/.buildkite/scripts/steps/demo_env/kibana.sh b/.buildkite/scripts/steps/demo_env/kibana.sh new file mode 100755 index 0000000000000..591919e7819c4 --- /dev/null +++ b/.buildkite/scripts/steps/demo_env/kibana.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -euo pipefail + +export DISABLE_BOOTSTRAP_VALIDATION=true +export BUILD_TS_REFS_DISABLE=true + +.buildkite/scripts/bootstrap.sh + +source "$(dirname "${0}")/config.sh" + +export KIBANA_IMAGE="gcr.io/elastic-kibana-184716/demo/kibana:$DEPLOYMENT_NAME-$(git rev-parse HEAD)" + +echo '--- Build Kibana' +node scripts/build --debug --docker-images --example-plugins --skip-os-packages --skip-docker-ubi + +echo '--- Build Docker image with example plugins' +cd target/example_plugins +BUILT_IMAGE="docker.elastic.co/kibana/kibana:$DEPLOYMENT_VERSION-SNAPSHOT" +docker build --build-arg BASE_IMAGE="$BUILT_IMAGE" -t "$KIBANA_IMAGE" -f "$KIBANA_DIR/.buildkite/scripts/steps/demo_env/Dockerfile" . +docker push "$KIBANA_IMAGE" +cd - + +"$(dirname "${0}")/auth.sh" + +echo '--- Prepare yaml' + +TEMPLATE=$(envsubst < "$(dirname "${0}")/kibana.yml") + +echo "$TEMPLATE" + +echo '--- Deploy yaml' +echo "$TEMPLATE" | kubectl apply -f - diff --git a/.buildkite/scripts/steps/demo_env/kibana.yml b/.buildkite/scripts/steps/demo_env/kibana.yml new file mode 100644 index 0000000000000..0cc879ca76c27 --- /dev/null +++ b/.buildkite/scripts/steps/demo_env/kibana.yml @@ -0,0 +1,39 @@ +apiVersion: kibana.k8s.elastic.co/v1 +kind: Kibana +metadata: + name: $DEPLOYMENT_NAME + namespace: $DEPLOYMENT_NAME +spec: + version: $DEPLOYMENT_VERSION + image: $KIBANA_IMAGE + count: 1 + elasticsearchRef: + name: $DEPLOYMENT_NAME + http: + tls: + selfSignedCertificate: + disabled: true + config: + server: + basePath: '/$DEPLOYMENT_MINOR_VERSION' + publicBaseUrl: 'https://demo.kibana.dev/$DEPLOYMENT_MINOR_VERSION' + xpack.security.authc.providers: + basic.basic1: + order: 0 + anonymous.anonymous1: + order: 1 + credentials: 'elasticsearch_anonymous_user' + podTemplate: + spec: + containers: + - name: kibana + env: + - name: NODE_OPTIONS + value: '--max-old-space-size=2048' + resources: + requests: + memory: 1Gi + cpu: 0.5 + limits: + memory: 2.5Gi + cpu: 2 From a9a8bd751b818f0628362d58bb409c02c9762b24 Mon Sep 17 00:00:00 2001 From: Kaarina Tungseth Date: Thu, 26 Aug 2021 11:27:48 -0500 Subject: [PATCH 086/139] [DOCS] Adds additional data view attributes (#110283) --- docs/index.asciidoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/index.asciidoc b/docs/index.asciidoc index 85b1361f84cb6..e286e42f2c421 100644 --- a/docs/index.asciidoc +++ b/docs/index.asciidoc @@ -18,7 +18,8 @@ include::{docs-root}/shared/versions/stack/{source_branch}.asciidoc[] :data-source: data view :Data-sources: Data views :data-sources: data views - +:A-data-source: A data view +:a-data-source: a data view include::{docs-root}/shared/attributes.asciidoc[] From 891c277d0590f364d525a46f00284519cd4d6af9 Mon Sep 17 00:00:00 2001 From: Brian Seeders Date: Thu, 26 Aug 2021 12:50:38 -0400 Subject: [PATCH 087/139] Fix demo environment URL in build annotation (#110291) --- .buildkite/scripts/steps/demo_env/es_and_init.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/scripts/steps/demo_env/es_and_init.sh b/.buildkite/scripts/steps/demo_env/es_and_init.sh index 715a7d0ad7dbe..7e76063cba21c 100755 --- a/.buildkite/scripts/steps/demo_env/es_and_init.sh +++ b/.buildkite/scripts/steps/demo_env/es_and_init.sh @@ -27,7 +27,7 @@ echo "$TEMPLATE" cat << EOF | buildkite-agent annotate --style "info" --context demo-env-info The demo environment can be accessed here, once Kibana and ES are running: -https://$DEPLOYMENT_NAME.demo.kibana.dev +https://demo.kibana.dev/$DEPLOYMENT_MINOR_VERSION Logs, etc can be found here: From 754bf980f3f30e2a6a2f85cbd8314e1817a28441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20G=C3=B3mez?= Date: Thu, 26 Aug 2021 18:59:35 +0200 Subject: [PATCH 088/139] [RAC] Remove alerts from the table if user changes their workflow status (#110227) --- .../pages/alerts/alerts_table_t_grid.tsx | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx b/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx index 0fa36aff7a456..d7f5bf8613299 100644 --- a/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx @@ -38,7 +38,8 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import styled from 'styled-components'; -import React, { Suspense, useMemo, useState, useCallback } from 'react'; +import React, { Suspense, useMemo, useState, useCallback, useEffect } from 'react'; +import usePrevious from 'react-use/lib/usePrevious'; import { get } from 'lodash'; import { getAlertsPermissions, @@ -286,6 +287,7 @@ function ObservabilityActions({ export function AlertsTableTGrid(props: AlertsTableTGridProps) { const { indexNames, rangeFrom, rangeTo, kuery, workflowStatus, setRefetch, addToQuery } = props; + const prevWorkflowStatus = usePrevious(workflowStatus); const { timelines, application: { capabilities }, @@ -302,6 +304,20 @@ export function AlertsTableTGrid(props: AlertsTableTGridProps) { [capabilities] ); + const [deletedEventIds, setDeletedEventIds] = useState([]); + + useEffect(() => { + if (workflowStatus !== prevWorkflowStatus) { + setDeletedEventIds([]); + } + }, [workflowStatus, prevWorkflowStatus]); + + const setEventsDeleted = useCallback((action) => { + if (action.isDeleted) { + setDeletedEventIds((ids) => [...ids, ...action.eventIds]); + } + }, []); + const leadingControlColumns = useMemo(() => { return [ { @@ -320,6 +336,7 @@ export function AlertsTableTGrid(props: AlertsTableTGridProps) { return ( @@ -327,7 +344,7 @@ export function AlertsTableTGrid(props: AlertsTableTGridProps) { }, }, ]; - }, [workflowStatus]); + }, [workflowStatus, setEventsDeleted]); const tGridProps = useMemo(() => { const type: TGridType = 'standalone'; @@ -337,7 +354,7 @@ export function AlertsTableTGrid(props: AlertsTableTGridProps) { casePermissions, type, columns, - deletedEventIds: [], + deletedEventIds, defaultCellActions: getDefaultCellActions({ addToQuery }), end: rangeTo, filters: [], @@ -385,6 +402,7 @@ export function AlertsTableTGrid(props: AlertsTableTGridProps) { rangeFrom, setRefetch, leadingControlColumns, + deletedEventIds, ]); const handleFlyoutClose = () => setFlyoutAlert(undefined); const { observabilityRuleTypeRegistry } = usePluginContext(); From 49cc25886cf35eb58475c81a0d467595335af25d Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 26 Aug 2021 18:10:46 +0100 Subject: [PATCH 089/139] chore(NA): moving @kbn/securitysolution-io-ts-list-types to babel transpile (#109750) * chore(NA): moving @kbn/securitysolution-io-ts-list-types to babel transpiler * chore(NA): add a browser target Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../.babelrc | 4 ++ .../.babelrc.browser | 4 ++ .../BUILD.bazel | 40 +++++++++++-------- .../package.json | 5 ++- .../tsconfig.json | 3 +- 5 files changed, 37 insertions(+), 19 deletions(-) create mode 100644 packages/kbn-securitysolution-io-ts-list-types/.babelrc create mode 100644 packages/kbn-securitysolution-io-ts-list-types/.babelrc.browser diff --git a/packages/kbn-securitysolution-io-ts-list-types/.babelrc b/packages/kbn-securitysolution-io-ts-list-types/.babelrc new file mode 100644 index 0000000000000..40a198521b903 --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-list-types/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/node_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-io-ts-list-types/.babelrc.browser b/packages/kbn-securitysolution-io-ts-list-types/.babelrc.browser new file mode 100644 index 0000000000000..71bbfbcd6eb2f --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-list-types/.babelrc.browser @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/webpack_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-io-ts-list-types/BUILD.bazel b/packages/kbn-securitysolution-io-ts-list-types/BUILD.bazel index bfdde4363985e..07ed552cdc408 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/BUILD.bazel +++ b/packages/kbn-securitysolution-io-ts-list-types/BUILD.bazel @@ -1,5 +1,6 @@ load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project") load("@build_bazel_rules_nodejs//:index.bzl", "js_library", "pkg_npm") +load("//src/dev/bazel:index.bzl", "jsts_transpiler") PKG_BASE_NAME = "kbn-securitysolution-io-ts-list-types" PKG_REQUIRE_NAME = "@kbn/securitysolution-io-ts-list-types" @@ -26,28 +27,34 @@ NPM_MODULE_EXTRA_FILES = [ "README.md", ] -SRC_DEPS = [ - "//packages/elastic-datemath", +RUNTIME_DEPS = [ "//packages/kbn-securitysolution-io-ts-types", "//packages/kbn-securitysolution-io-ts-utils", - "//packages/kbn-securitysolution-list-constants", "@npm//fp-ts", "@npm//io-ts", - "@npm//lodash", - "@npm//moment", - "@npm//tslib", - "@npm//uuid", ] TYPES_DEPS = [ - "@npm//@types/flot", + "//packages/kbn-securitysolution-io-ts-types", + "//packages/kbn-securitysolution-io-ts-utils", + "@npm//fp-ts", + "@npm//io-ts", "@npm//@types/jest", - "@npm//@types/lodash", "@npm//@types/node", - "@npm//@types/uuid" ] -DEPS = SRC_DEPS + TYPES_DEPS +jsts_transpiler( + name = "target_node", + srcs = SRCS, + build_pkg_name = package_name(), +) + +jsts_transpiler( + name = "target_web", + srcs = SRCS, + build_pkg_name = package_name(), + config_file = ".babelrc.browser" +) ts_config( name = "tsconfig", @@ -59,22 +66,23 @@ ts_config( ) ts_project( - name = "tsc", + name = "tsc_types", args = ['--pretty'], srcs = SRCS, - deps = DEPS, + deps = TYPES_DEPS, declaration = True, declaration_map = True, - out_dir = "target", - source_map = True, + emit_declaration_only = True, + out_dir = "target_types", root_dir = "src", + source_map = True, tsconfig = ":tsconfig", ) js_library( name = PKG_BASE_NAME, srcs = NPM_MODULE_EXTRA_FILES, - deps = DEPS + [":tsc"], + deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-securitysolution-io-ts-list-types/package.json b/packages/kbn-securitysolution-io-ts-list-types/package.json index 74893e59855bc..6e2f564b31fd8 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/package.json +++ b/packages/kbn-securitysolution-io-ts-list-types/package.json @@ -3,7 +3,8 @@ "version": "1.0.0", "description": "io ts utilities and types to be shared with plugins from the security solution project", "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target/index.js", - "types": "./target/index.d.ts", + "browser": "./target_web/index.js", + "main": "./target_node/index.js", + "types": "./target_types/index.d.ts", "private": true } diff --git a/packages/kbn-securitysolution-io-ts-list-types/tsconfig.json b/packages/kbn-securitysolution-io-ts-list-types/tsconfig.json index fb979c23df12b..ca0ea969f89d8 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/tsconfig.json +++ b/packages/kbn-securitysolution-io-ts-list-types/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "declaration": true, "declarationMap": true, - "outDir": "target", + "emitDeclarationOnly": true, + "outDir": "target_types", "rootDir": "src", "sourceMap": true, "sourceRoot": "../../../../packages/kbn-securitysolution-io-ts-list-types/src", From bf6e1243f96bd42d56e43e9f39e01728e6df8711 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 26 Aug 2021 18:21:45 +0100 Subject: [PATCH 090/139] chore(NA): moving @kbn/securitysolution-io-ts-utils to babel transpiler (#110099) * chore(NA): moving @kbn/securitysolution-io-ts-utils to babel transpiler * chore(NA): introduce browser targets Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../kbn-securitysolution-io-ts-utils/.babelrc | 4 +++ .../.babelrc.browser | 4 +++ .../BUILD.bazel | 35 +++++++++++++------ .../package.json | 5 +-- .../tsconfig.json | 3 +- 5 files changed, 38 insertions(+), 13 deletions(-) create mode 100644 packages/kbn-securitysolution-io-ts-utils/.babelrc create mode 100644 packages/kbn-securitysolution-io-ts-utils/.babelrc.browser diff --git a/packages/kbn-securitysolution-io-ts-utils/.babelrc b/packages/kbn-securitysolution-io-ts-utils/.babelrc new file mode 100644 index 0000000000000..40a198521b903 --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-utils/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/node_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-io-ts-utils/.babelrc.browser b/packages/kbn-securitysolution-io-ts-utils/.babelrc.browser new file mode 100644 index 0000000000000..71bbfbcd6eb2f --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-utils/.babelrc.browser @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/webpack_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-io-ts-utils/BUILD.bazel b/packages/kbn-securitysolution-io-ts-utils/BUILD.bazel index f6c81a9adb9a3..346bd19451abd 100644 --- a/packages/kbn-securitysolution-io-ts-utils/BUILD.bazel +++ b/packages/kbn-securitysolution-io-ts-utils/BUILD.bazel @@ -1,5 +1,6 @@ load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project") load("@build_bazel_rules_nodejs//:index.bzl", "js_library", "pkg_npm") +load("//src/dev/bazel:index.bzl", "jsts_transpiler") PKG_BASE_NAME = "kbn-securitysolution-io-ts-utils" PKG_REQUIRE_NAME = "@kbn/securitysolution-io-ts-utils" @@ -26,25 +27,38 @@ NPM_MODULE_EXTRA_FILES = [ "README.md", ] -SRC_DEPS = [ +RUNTIME_DEPS = [ "//packages/elastic-datemath", "@npm//fp-ts", "@npm//io-ts", "@npm//lodash", "@npm//moment", "@npm//tslib", - "@npm//uuid", ] TYPES_DEPS = [ - "@npm//@types/flot", + "//packages/elastic-datemath", + "@npm//fp-ts", + "@npm//io-ts", + "@npm//moment", + "@npm//tslib", "@npm//@types/jest", "@npm//@types/lodash", "@npm//@types/node", - "@npm//@types/uuid" ] -DEPS = SRC_DEPS + TYPES_DEPS +jsts_transpiler( + name = "target_node", + srcs = SRCS, + build_pkg_name = package_name(), +) + +jsts_transpiler( + name = "target_web", + srcs = SRCS, + build_pkg_name = package_name(), + config_file = ".babelrc.browser" +) ts_config( name = "tsconfig", @@ -56,22 +70,23 @@ ts_config( ) ts_project( - name = "tsc", + name = "tsc_types", args = ['--pretty'], srcs = SRCS, - deps = DEPS, + deps = TYPES_DEPS, declaration = True, declaration_map = True, - out_dir = "target", - source_map = True, + emit_declaration_only = True, + out_dir = "target_types", root_dir = "src", + source_map = True, tsconfig = ":tsconfig", ) js_library( name = PKG_BASE_NAME, srcs = NPM_MODULE_EXTRA_FILES, - deps = DEPS + [":tsc"], + deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-securitysolution-io-ts-utils/package.json b/packages/kbn-securitysolution-io-ts-utils/package.json index 0912fbfcb6e8d..3b463e919448b 100644 --- a/packages/kbn-securitysolution-io-ts-utils/package.json +++ b/packages/kbn-securitysolution-io-ts-utils/package.json @@ -3,7 +3,8 @@ "version": "1.0.0", "description": "io ts utilities and types to be shared with plugins from the security solution project", "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target/index.js", - "types": "./target/index.d.ts", + "browser": "./target_web/index.js", + "main": "./target_node/index.js", + "types": "./target_types/index.d.ts", "private": true } diff --git a/packages/kbn-securitysolution-io-ts-utils/tsconfig.json b/packages/kbn-securitysolution-io-ts-utils/tsconfig.json index aa5aa4df550f2..7c71143083d4d 100644 --- a/packages/kbn-securitysolution-io-ts-utils/tsconfig.json +++ b/packages/kbn-securitysolution-io-ts-utils/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "declaration": true, "declarationMap": true, - "outDir": "target", + "emitDeclarationOnly": true, + "outDir": "target_types", "rootDir": "src", "sourceMap": true, "sourceRoot": "../../../../packages/kbn-securitysolution-io-ts-utils/src", From 2348ced4c0146018ada9ef87a43cda540d36711b Mon Sep 17 00:00:00 2001 From: Clint Andrew Hall Date: Thu, 26 Aug 2021 12:34:52 -0500 Subject: [PATCH 091/139] [canvas] Handle Timelion errors gracefully. (#109761) --- .../canvas/public/functions/timelion.ts | 75 ++++++++++++------- 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/x-pack/plugins/canvas/public/functions/timelion.ts b/x-pack/plugins/canvas/public/functions/timelion.ts index 3ae42b854bb70..99bd1b72434c8 100644 --- a/x-pack/plugins/canvas/public/functions/timelion.ts +++ b/x-pack/plugins/canvas/public/functions/timelion.ts @@ -7,6 +7,8 @@ import { flatten } from 'lodash'; import moment from 'moment-timezone'; +import { i18n } from '@kbn/i18n'; + import { TimeRange } from 'src/plugins/data/common'; import { ExpressionFunctionDefinition, DatatableRow } from 'src/plugins/expressions/public'; import { fetch } from '../../common/lib/fetch'; @@ -16,6 +18,15 @@ import { Datatable, ExpressionValueFilter } from '../../types'; import { getFunctionHelp } from '../../i18n'; import { InitializeArguments } from './'; +const errors = { + timelionError: () => + new Error( + i18n.translate('xpack.canvas.functions.timelion.executionError', { + defaultMessage: + 'There was an error executing the Timelion query. Check your syntax and try again.', + }) + ), +}; export interface Arguments { query: string; interval: string; @@ -92,7 +103,7 @@ export function timelionFunctionFactory(initialize: InitializeArguments): () => default: 'UTC', }, }, - fn: (input, args): Promise => { + fn: async (input, args) => { // Timelion requires a time range. Use the time range from the timefilter element in the // workpad, if it exists. Otherwise fall back on the function args. const timeFilter = input.and.find((and) => and.filterType === 'time'); @@ -118,35 +129,41 @@ export function timelionFunctionFactory(initialize: InitializeArguments): () => }, }; - return fetch(initialize.prependBasePath(`/api/timelion/run`), { - method: 'POST', - responseType: 'json', - data: body, - }).then((resp) => { - const seriesList = resp.data.sheet[0].list; - const rows = flatten( - seriesList.map((series: { data: any[]; label: string }) => - series.data.map((row) => ({ - '@timestamp': row[0], - value: row[1], - label: series.label, - })) - ) - ) as DatatableRow[]; + let result: any; - return { - type: 'datatable', - meta: { - source: 'timelion', - }, - columns: [ - { id: '@timestamp', name: '@timestamp', meta: { type: 'date' } }, - { id: 'value', name: 'value', meta: { type: 'number' } }, - { id: 'label', name: 'label', meta: { type: 'string' } }, - ], - rows, - }; - }); + try { + result = await fetch(initialize.prependBasePath(`/api/timelion/run`), { + method: 'POST', + responseType: 'json', + data: body, + }); + } catch (e) { + throw errors.timelionError(); + } + + const seriesList = result.data.sheet[0].list; + const rows = flatten( + seriesList.map((series: { data: any[]; label: string }) => + series.data.map((row) => ({ + '@timestamp': row[0], + value: row[1], + label: series.label, + })) + ) + ) as DatatableRow[]; + + return { + type: 'datatable', + meta: { + source: 'timelion', + }, + columns: [ + { id: '@timestamp', name: '@timestamp', meta: { type: 'date' } }, + { id: 'value', name: 'value', meta: { type: 'number' } }, + { id: 'label', name: 'label', meta: { type: 'string' } }, + ], + rows, + }; }, }; }; From ad01057f90ac2076b921625b37240f5ca60cd21e Mon Sep 17 00:00:00 2001 From: Frank Hassanabad Date: Thu, 26 Aug 2021 11:39:57 -0600 Subject: [PATCH 092/139] [Security Solutions][Detection Engine] Removes side car actions object and side car notifications (Part 1) (#109722) ## Summary Removes the "side car" actions object and side car notification (Part 1). Part 1 makes it so that newly created rules and editing existing rules will update them to using the new side car notifications. Part 2 in a follow up PR will be the migrations to move the existing data. The saved object side we are removing usages of is: ``` siem-detection-engine-rule-actions ``` The alerting side car notification system we are removing is: ``` siem.notifications ``` * Removes the notification files and types * Adds transform to and from alerting concepts of `notityWhen` and our `throttle` * Adds unit tests for utilities and pure functions created * Updates unit tests to have more needed jest mock * Adds business rules and logic for the different states of `notifyWhen`, and `throttle` on each of the REST routes to determine when we should `muteAll` vs. not muting using secondary API call from client alerting * Adds e2e tests for the throttle conditions and how they are to interact with the kibana-alerting `throttle` and `notifyWhen` A behavioral change under the hood is that we now support the state changes of `muteAll` from the UI/UX of [stack management](https://www.elastic.co/guide/en/kibana/master/create-and-manage-rules.html#controlling-rules). Whenever the `security_solution` ["Perform no actions"](https://www.elastic.co/guide/en/security/current/rules-api-create.html ) is selected we do a `muteAll`. However, we do not change the state if all individual actions are muted within the rule. Instead we only maintain the state of `muteAll`: ui_state_change no_actions_state_change Ref: * Issue and PR where notifyWhen was added to kibna-alerting * https://github.com/elastic/kibana/pull/82969 * https://github.com/elastic/kibana/issues/50077 ### Checklist Delete any items that are not applicable to this PR. - [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 --- .../notifications/add_tags.test.ts | 27 -- .../notifications/add_tags.ts | 11 - .../create_notifications.test.ts | 72 ---- .../notifications/create_notifications.ts | 37 -- .../delete_notifications.test.ts | 142 ------- .../notifications/delete_notifications.ts | 38 -- .../notifications/find_notifications.test.ts | 21 -- .../notifications/find_notifications.ts | 38 -- .../notifications/get_signals_count.ts | 40 -- .../notifications/read_notifications.test.ts | 156 -------- .../notifications/read_notifications.ts | 49 --- .../rules_notification_alert_type.test.ts | 247 ------------ .../rules_notification_alert_type.ts | 99 ----- ...dule_throttle_notification_actions.test.ts | 176 +++++++++ .../schedule_throttle_notification_actions.ts | 88 +++++ .../notifications/types.test.ts | 30 -- .../detection_engine/notifications/types.ts | 130 ------- .../update_notifications.test.ts | 133 ------- .../notifications/update_notifications.ts | 57 --- .../routes/__mocks__/request_responses.ts | 49 --- .../rules/add_prepackaged_rules_route.test.ts | 3 + .../routes/rules/create_rules_bulk_route.ts | 25 +- .../routes/rules/create_rules_route.test.ts | 8 - .../routes/rules/create_rules_route.ts | 21 +- .../routes/rules/delete_rules_bulk_route.ts | 4 +- .../routes/rules/delete_rules_route.ts | 4 +- .../routes/rules/find_rules_route.ts | 17 +- .../routes/rules/import_rules_route.test.ts | 2 +- .../routes/rules/import_rules_route.ts | 3 + .../routes/rules/patch_rules_bulk_route.ts | 13 +- .../routes/rules/patch_rules_route.ts | 13 +- .../routes/rules/perform_bulk_action_route.ts | 20 +- .../routes/rules/read_rules_route.ts | 8 +- .../routes/rules/update_rules_bulk_route.ts | 12 +- .../routes/rules/update_rules_route.test.ts | 8 - .../routes/rules/update_rules_route.ts | 12 +- .../routes/rules/utils.test.ts | 3 +- .../detection_engine/routes/rules/utils.ts | 14 +- .../routes/rules/validate.test.ts | 2 +- .../detection_engine/routes/rules/validate.ts | 10 +- .../create_rule_actions_saved_object.ts | 38 -- .../delete_rule_actions_saved_object.ts | 27 -- .../get_bulk_rule_actions_saved_object.ts | 40 -- .../get_rule_actions_saved_object.ts | 45 --- .../rule_actions/migrations.ts | 15 +- .../rule_actions/saved_object_mappings.ts | 22 +- .../detection_engine/rule_actions/types.ts | 64 +--- ...ate_or_create_rule_actions_saved_object.ts | 41 -- .../update_rule_actions_saved_object.ts | 55 --- .../detection_engine/rule_actions/utils.ts | 34 -- .../create_security_rule_type_factory.ts | 17 +- .../rules/create_rules.mock.ts | 2 + .../detection_engine/rules/create_rules.ts | 21 +- .../rules/delete_rules.test.ts | 23 +- .../detection_engine/rules/delete_rules.ts | 5 - .../detection_engine/rules/get_export_all.ts | 4 +- .../rules/get_export_by_object_ids.ts | 6 +- .../rules/install_prepacked_rules.ts | 1 + .../rules/patch_rules.mock.ts | 2 + .../rules/patch_rules.test.ts | 22 +- .../lib/detection_engine/rules/patch_rules.ts | 20 +- .../lib/detection_engine/rules/types.ts | 6 +- .../rules/update_prepacked_rules.ts | 2 + .../rules/update_rules.test.ts | 10 + .../detection_engine/rules/update_rules.ts | 17 +- .../rules/update_rules_notifications.ts | 50 --- .../lib/detection_engine/rules/utils.test.ts | 148 +++++++- .../lib/detection_engine/rules/utils.ts | 91 +++++ .../schemas/rule_converters.ts | 23 +- .../detection_engine/schemas/rule_schemas.ts | 11 +- .../signals/signal_rule_alert_type.test.ts | 8 +- .../signals/signal_rule_alert_type.ts | 16 +- .../security_solution/server/plugin.ts | 9 - .../security_and_spaces/tests/index.ts | 1 + .../security_and_spaces/tests/throttle.ts | 357 ++++++++++++++++++ 75 files changed, 1111 insertions(+), 1984 deletions(-) delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/add_tags.test.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/add_tags.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/create_notifications.test.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/create_notifications.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/delete_notifications.test.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/delete_notifications.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/find_notifications.test.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/find_notifications.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/get_signals_count.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/read_notifications.test.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/read_notifications.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/rules_notification_alert_type.test.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/rules_notification_alert_type.ts create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.test.ts create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/types.test.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/types.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/update_notifications.test.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/notifications/update_notifications.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/create_rule_actions_saved_object.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/delete_rule_actions_saved_object.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/get_bulk_rule_actions_saved_object.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/get_rule_actions_saved_object.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/update_or_create_rule_actions_saved_object.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/update_rule_actions_saved_object.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/utils.ts delete mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules_notifications.ts create mode 100644 x-pack/test/detection_engine_api_integration/security_and_spaces/tests/throttle.ts diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/add_tags.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/add_tags.test.ts deleted file mode 100644 index eba896c3ea1ed..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/add_tags.test.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { addTags } from './add_tags'; -import { INTERNAL_RULE_ALERT_ID_KEY } from '../../../../common/constants'; - -describe('add_tags', () => { - test('it should add a rule id as an internal structure', () => { - const tags = addTags([], 'rule-1'); - expect(tags).toEqual([`${INTERNAL_RULE_ALERT_ID_KEY}:rule-1`]); - }); - - test('it should not allow duplicate tags to be created', () => { - const tags = addTags(['tag-1', 'tag-1'], 'rule-1'); - expect(tags).toEqual(['tag-1', `${INTERNAL_RULE_ALERT_ID_KEY}:rule-1`]); - }); - - test('it should not allow duplicate internal tags to be created when called two times in a row', () => { - const tags1 = addTags(['tag-1'], 'rule-1'); - const tags2 = addTags(tags1, 'rule-1'); - expect(tags2).toEqual(['tag-1', `${INTERNAL_RULE_ALERT_ID_KEY}:rule-1`]); - }); -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/add_tags.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/add_tags.ts deleted file mode 100644 index 61535e5ae6492..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/add_tags.ts +++ /dev/null @@ -1,11 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { INTERNAL_RULE_ALERT_ID_KEY } from '../../../../common/constants'; - -export const addTags = (tags: string[], ruleAlertId: string): string[] => - Array.from(new Set([...tags, `${INTERNAL_RULE_ALERT_ID_KEY}:${ruleAlertId}`])); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/create_notifications.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/create_notifications.test.ts deleted file mode 100644 index 33721c055cb89..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/create_notifications.test.ts +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { rulesClientMock } from '../../../../../alerting/server/mocks'; -import { createNotifications } from './create_notifications'; - -describe('createNotifications', () => { - let rulesClient: ReturnType; - - beforeEach(() => { - rulesClient = rulesClientMock.create(); - }); - - it('calls the rulesClient with proper params', async () => { - const ruleAlertId = 'rule-04128c15-0d1b-4716-a4c5-46997ac7f3bd'; - - await createNotifications({ - rulesClient, - actions: [], - ruleAlertId, - enabled: true, - interval: '', - name: '', - }); - - expect(rulesClient.create).toHaveBeenCalledWith( - expect.objectContaining({ - data: expect.objectContaining({ - params: expect.objectContaining({ - ruleAlertId, - }), - }), - }) - ); - }); - - it('calls the rulesClient with transformed actions', async () => { - const action = { - group: 'default', - id: '99403909-ca9b-49ba-9d7a-7e5320e68d05', - params: { message: 'Rule generated {{state.signals_count}} signals' }, - action_type_id: '.slack', - }; - await createNotifications({ - rulesClient, - actions: [action], - ruleAlertId: 'new-rule-id', - enabled: true, - interval: '', - name: '', - }); - - expect(rulesClient.create).toHaveBeenCalledWith( - expect.objectContaining({ - data: expect.objectContaining({ - actions: expect.arrayContaining([ - { - group: action.group, - id: action.id, - params: action.params, - actionTypeId: '.slack', - }, - ]), - }), - }) - ); - }); -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/create_notifications.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/create_notifications.ts deleted file mode 100644 index 907976062b519..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/create_notifications.ts +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { SanitizedAlert } from '../../../../../alerting/common'; -import { SERVER_APP_ID, NOTIFICATIONS_ID } from '../../../../common/constants'; -import { CreateNotificationParams, RuleNotificationAlertTypeParams } from './types'; -import { addTags } from './add_tags'; -import { transformRuleToAlertAction } from '../../../../common/detection_engine/transform_actions'; - -export const createNotifications = async ({ - rulesClient, - actions, - enabled, - ruleAlertId, - interval, - name, -}: CreateNotificationParams): Promise> => - rulesClient.create({ - data: { - name, - tags: addTags([], ruleAlertId), - alertTypeId: NOTIFICATIONS_ID, - consumer: SERVER_APP_ID, - params: { - ruleAlertId, - }, - schedule: { interval }, - enabled, - actions: actions.map(transformRuleToAlertAction), - throttle: null, - notifyWhen: null, - }, - }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/delete_notifications.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/delete_notifications.test.ts deleted file mode 100644 index 9cd01df6bcdf3..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/delete_notifications.test.ts +++ /dev/null @@ -1,142 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { rulesClientMock } from '../../../../../alerting/server/mocks'; -import { deleteNotifications } from './delete_notifications'; -import { readNotifications } from './read_notifications'; -jest.mock('./read_notifications'); - -describe('deleteNotifications', () => { - let rulesClient: ReturnType; - const notificationId = 'notification-52128c15-0d1b-4716-a4c5-46997ac7f3bd'; - const ruleAlertId = 'rule-04128c15-0d1b-4716-a4c5-46997ac7f3bd'; - - beforeEach(() => { - rulesClient = rulesClientMock.create(); - }); - - it('should return null if notification was not found', async () => { - (readNotifications as jest.Mock).mockResolvedValue(null); - - const result = await deleteNotifications({ - rulesClient, - id: notificationId, - ruleAlertId, - }); - - expect(result).toBe(null); - }); - - it('should call rulesClient.delete if notification was found', async () => { - (readNotifications as jest.Mock).mockResolvedValue({ - id: notificationId, - }); - - const result = await deleteNotifications({ - rulesClient, - id: notificationId, - ruleAlertId, - }); - - expect(rulesClient.delete).toHaveBeenCalledWith( - expect.objectContaining({ - id: notificationId, - }) - ); - expect(result).toEqual({ id: notificationId }); - }); - - it('should call rulesClient.delete if notification.id was null', async () => { - (readNotifications as jest.Mock).mockResolvedValue({ - id: null, - }); - - const result = await deleteNotifications({ - rulesClient, - id: notificationId, - ruleAlertId, - }); - - expect(rulesClient.delete).toHaveBeenCalledWith( - expect.objectContaining({ - id: notificationId, - }) - ); - expect(result).toEqual({ id: null }); - }); - - it('should return null if rulesClient.delete rejects with 404 if notification.id was null', async () => { - (readNotifications as jest.Mock).mockResolvedValue({ - id: null, - }); - - rulesClient.delete.mockRejectedValue({ - output: { - statusCode: 404, - }, - }); - - const result = await deleteNotifications({ - rulesClient, - id: notificationId, - ruleAlertId, - }); - - expect(rulesClient.delete).toHaveBeenCalledWith( - expect.objectContaining({ - id: notificationId, - }) - ); - expect(result).toEqual(null); - }); - - it('should return error object if rulesClient.delete rejects with status different than 404 and if notification.id was null', async () => { - (readNotifications as jest.Mock).mockResolvedValue({ - id: null, - }); - - const errorObject = { - output: { - statusCode: 500, - }, - }; - - rulesClient.delete.mockRejectedValue(errorObject); - - let errorResult; - try { - await deleteNotifications({ - rulesClient, - id: notificationId, - ruleAlertId, - }); - } catch (error) { - errorResult = error; - } - - expect(rulesClient.delete).toHaveBeenCalledWith( - expect.objectContaining({ - id: notificationId, - }) - ); - expect(errorResult).toEqual(errorObject); - }); - - it('should return null if notification.id and id were null', async () => { - (readNotifications as jest.Mock).mockResolvedValue({ - id: null, - }); - - const result = await deleteNotifications({ - rulesClient, - id: undefined, - ruleAlertId, - }); - - expect(result).toEqual(null); - }); -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/delete_notifications.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/delete_notifications.ts deleted file mode 100644 index cf6812b7cacdc..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/delete_notifications.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { readNotifications } from './read_notifications'; -import { DeleteNotificationParams } from './types'; - -export const deleteNotifications = async ({ - rulesClient, - id, - ruleAlertId, -}: DeleteNotificationParams) => { - const notification = await readNotifications({ rulesClient, id, ruleAlertId }); - if (notification == null) { - return null; - } - - if (notification.id != null) { - await rulesClient.delete({ id: notification.id }); - return notification; - } else if (id != null) { - try { - await rulesClient.delete({ id }); - return notification; - } catch (err) { - if (err.output.statusCode === 404) { - return null; - } else { - throw err; - } - } - } else { - return null; - } -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/find_notifications.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/find_notifications.test.ts deleted file mode 100644 index 095134b214b57..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/find_notifications.test.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { getFilter } from './find_notifications'; -import { NOTIFICATIONS_ID } from '../../../../common/constants'; - -describe('find_notifications', () => { - test('it returns a full filter with an AND if sent down', () => { - expect(getFilter('alert.attributes.enabled: true')).toEqual( - `alert.attributes.alertTypeId: ${NOTIFICATIONS_ID} AND alert.attributes.enabled: true` - ); - }); - - test('it returns existing filter with no AND when not set', () => { - expect(getFilter(null)).toEqual(`alert.attributes.alertTypeId: ${NOTIFICATIONS_ID}`); - }); -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/find_notifications.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/find_notifications.ts deleted file mode 100644 index 1f3d4247a0ad9..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/find_notifications.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { AlertTypeParams, FindResult } from '../../../../../alerting/server'; -import { NOTIFICATIONS_ID } from '../../../../common/constants'; -import { FindNotificationParams } from './types'; - -export const getFilter = (filter: string | null | undefined) => { - if (filter == null) { - return `alert.attributes.alertTypeId: ${NOTIFICATIONS_ID}`; - } else { - return `alert.attributes.alertTypeId: ${NOTIFICATIONS_ID} AND ${filter}`; - } -}; - -export const findNotifications = async ({ - rulesClient, - perPage, - page, - fields, - filter, - sortField, - sortOrder, -}: FindNotificationParams): Promise> => - rulesClient.find({ - options: { - fields, - page, - perPage, - filter: getFilter(filter), - sortOrder, - sortField, - }, - }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/get_signals_count.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/get_signals_count.ts deleted file mode 100644 index b864919fd7295..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/get_signals_count.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { ElasticsearchClient } from 'kibana/server'; -import { buildSignalsSearchQuery } from './build_signals_query'; - -interface GetSignalsCount { - from?: string; - to?: string; - ruleId: string; - index: string; - esClient: ElasticsearchClient; -} - -export const getSignalsCount = async ({ - from, - to, - ruleId, - index, - esClient, -}: GetSignalsCount): Promise => { - if (from == null || to == null) { - throw Error('"from" or "to" was not provided to signals count query'); - } - - const query = buildSignalsSearchQuery({ - index, - ruleId, - to, - from, - }); - - const { body: result } = await esClient.count(query); - - return result.count; -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/read_notifications.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/read_notifications.test.ts deleted file mode 100644 index 0e87dc76bd1cf..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/read_notifications.test.ts +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { readNotifications } from './read_notifications'; -import { rulesClientMock } from '../../../../../alerting/server/mocks'; -import { - getNotificationResult, - getFindNotificationsResultWithSingleHit, -} from '../routes/__mocks__/request_responses'; - -class TestError extends Error { - constructor() { - super(); - - this.name = 'CustomError'; - this.output = { statusCode: 404 }; - } - public output: { statusCode: number }; -} - -describe('read_notifications', () => { - let rulesClient: ReturnType; - - beforeEach(() => { - rulesClient = rulesClientMock.create(); - }); - - describe('readNotifications', () => { - test('should return the output from rulesClient if id is set but ruleAlertId is undefined', async () => { - rulesClient.get.mockResolvedValue(getNotificationResult()); - - const rule = await readNotifications({ - rulesClient, - id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', - ruleAlertId: undefined, - }); - expect(rule).toEqual(getNotificationResult()); - }); - test('should return null if saved object found by alerts client given id is not alert type', async () => { - const result = getNotificationResult(); - // @ts-expect-error - delete result.alertTypeId; - rulesClient.get.mockResolvedValue(result); - - const rule = await readNotifications({ - rulesClient, - id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', - ruleAlertId: undefined, - }); - expect(rule).toEqual(null); - }); - - test('should return error if alerts client throws 404 error on get', async () => { - rulesClient.get.mockImplementation(() => { - throw new TestError(); - }); - - const rule = await readNotifications({ - rulesClient, - id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', - ruleAlertId: undefined, - }); - expect(rule).toEqual(null); - }); - - test('should return error if alerts client throws error on get', async () => { - rulesClient.get.mockImplementation(() => { - throw new Error('Test error'); - }); - try { - await readNotifications({ - rulesClient, - id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', - ruleAlertId: undefined, - }); - } catch (exc) { - expect(exc.message).toEqual('Test error'); - } - }); - - test('should return the output from rulesClient if id is set but ruleAlertId is null', async () => { - rulesClient.get.mockResolvedValue(getNotificationResult()); - - const rule = await readNotifications({ - rulesClient, - id: '04128c15-0d1b-4716-a4c5-46997ac7f3bd', - ruleAlertId: null, - }); - expect(rule).toEqual(getNotificationResult()); - }); - - test('should return the output from rulesClient if id is undefined but ruleAlertId is set', async () => { - rulesClient.get.mockResolvedValue(getNotificationResult()); - rulesClient.find.mockResolvedValue(getFindNotificationsResultWithSingleHit()); - - const rule = await readNotifications({ - rulesClient, - id: undefined, - ruleAlertId: 'rule-1', - }); - expect(rule).toEqual(getNotificationResult()); - }); - - test('should return null if the output from rulesClient with ruleAlertId set is empty', async () => { - rulesClient.get.mockResolvedValue(getNotificationResult()); - rulesClient.find.mockResolvedValue({ data: [], page: 0, perPage: 1, total: 0 }); - - const rule = await readNotifications({ - rulesClient, - id: undefined, - ruleAlertId: 'rule-1', - }); - expect(rule).toEqual(null); - }); - - test('should return the output from rulesClient if id is null but ruleAlertId is set', async () => { - rulesClient.get.mockResolvedValue(getNotificationResult()); - rulesClient.find.mockResolvedValue(getFindNotificationsResultWithSingleHit()); - - const rule = await readNotifications({ - rulesClient, - id: null, - ruleAlertId: 'rule-1', - }); - expect(rule).toEqual(getNotificationResult()); - }); - - test('should return null if id and ruleAlertId are null', async () => { - rulesClient.get.mockResolvedValue(getNotificationResult()); - rulesClient.find.mockResolvedValue(getFindNotificationsResultWithSingleHit()); - - const rule = await readNotifications({ - rulesClient, - id: null, - ruleAlertId: null, - }); - expect(rule).toEqual(null); - }); - - test('should return null if id and ruleAlertId are undefined', async () => { - rulesClient.get.mockResolvedValue(getNotificationResult()); - rulesClient.find.mockResolvedValue(getFindNotificationsResultWithSingleHit()); - - const rule = await readNotifications({ - rulesClient, - id: undefined, - ruleAlertId: undefined, - }); - expect(rule).toEqual(null); - }); - }); -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/read_notifications.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/read_notifications.ts deleted file mode 100644 index a31281821d2d7..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/read_notifications.ts +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { AlertTypeParams, SanitizedAlert } from '../../../../../alerting/common'; -import { ReadNotificationParams, isAlertType } from './types'; -import { findNotifications } from './find_notifications'; -import { INTERNAL_RULE_ALERT_ID_KEY } from '../../../../common/constants'; - -export const readNotifications = async ({ - rulesClient, - id, - ruleAlertId, -}: ReadNotificationParams): Promise | null> => { - if (id != null) { - try { - const notification = await rulesClient.get({ id }); - if (isAlertType(notification)) { - return notification; - } else { - return null; - } - } catch (err) { - if (err?.output?.statusCode === 404) { - return null; - } else { - // throw non-404 as they would be 500 or other internal errors - throw err; - } - } - } else if (ruleAlertId != null) { - const notificationFromFind = await findNotifications({ - rulesClient, - filter: `alert.attributes.tags: "${INTERNAL_RULE_ALERT_ID_KEY}:${ruleAlertId}"`, - page: 1, - }); - if (notificationFromFind.data.length === 0 || !isAlertType(notificationFromFind.data[0])) { - return null; - } else { - return notificationFromFind.data[0]; - } - } else { - // should never get here, and yet here we are. - return null; - } -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/rules_notification_alert_type.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/rules_notification_alert_type.test.ts deleted file mode 100644 index a820635e30d40..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/rules_notification_alert_type.test.ts +++ /dev/null @@ -1,247 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { loggingSystemMock } from 'src/core/server/mocks'; -import { getAlertMock } from '../routes/__mocks__/request_responses'; -import { rulesNotificationAlertType } from './rules_notification_alert_type'; -import { buildSignalsSearchQuery } from './build_signals_query'; -import { alertsMock, AlertServicesMock } from '../../../../../alerting/server/mocks'; -import { NotificationExecutorOptions } from './types'; -import { - sampleDocSearchResultsNoSortIdNoVersion, - sampleDocSearchResultsWithSortId, - sampleEmptyDocSearchResults, -} from '../signals/__mocks__/es_results'; -import { DEFAULT_RULE_NOTIFICATION_QUERY_SIZE } from '../../../../common/constants'; -// eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { elasticsearchClientMock } from 'src/core/server/elasticsearch/client/mocks'; -import { getQueryRuleParams } from '../schemas/rule_schemas.mock'; -jest.mock('./build_signals_query'); - -describe('rules_notification_alert_type', () => { - let payload: NotificationExecutorOptions; - let alert: ReturnType; - let logger: ReturnType; - let alertServices: AlertServicesMock; - - beforeEach(() => { - alertServices = alertsMock.createAlertServices(); - logger = loggingSystemMock.createLogger(); - - payload = { - alertId: '1111', - services: alertServices, - params: { ruleAlertId: '2222' }, - state: {}, - spaceId: '', - name: 'name', - tags: [], - startedAt: new Date('2019-12-14T16:40:33.400Z'), - previousStartedAt: new Date('2019-12-13T16:40:33.400Z'), - createdBy: 'elastic', - updatedBy: 'elastic', - rule: { - name: 'name', - tags: [], - consumer: 'foo', - producer: 'foo', - ruleTypeId: 'ruleType', - ruleTypeName: 'Name of rule', - enabled: true, - schedule: { - interval: '1h', - }, - actions: [], - createdBy: 'elastic', - updatedBy: 'elastic', - createdAt: new Date('2019-12-14T16:40:33.400Z'), - updatedAt: new Date('2019-12-14T16:40:33.400Z'), - throttle: null, - notifyWhen: null, - }, - }; - - alert = rulesNotificationAlertType({ - logger, - }); - }); - - describe('executor', () => { - it('throws an error if rule alert was not found', async () => { - alertServices.savedObjectsClient.get.mockResolvedValue({ - id: 'id', - attributes: {}, - type: 'type', - references: [], - }); - await alert.executor(payload); - expect(logger.error).toHaveBeenCalledWith( - `Saved object for alert ${payload.params.ruleAlertId} was not found` - ); - }); - - it('should call buildSignalsSearchQuery with proper params', async () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); - alertServices.savedObjectsClient.get.mockResolvedValue({ - id: 'id', - type: 'type', - references: [], - attributes: ruleAlert, - }); - alertServices.scopedClusterClient.asCurrentUser.search.mockResolvedValue( - elasticsearchClientMock.createSuccessTransportRequestPromise( - sampleDocSearchResultsWithSortId() - ) - ); - - await alert.executor(payload); - - expect(buildSignalsSearchQuery).toHaveBeenCalledWith( - expect.objectContaining({ - from: '1576255233400', - index: '.siem-signals', - ruleId: 'rule-1', - to: '1576341633400', - size: DEFAULT_RULE_NOTIFICATION_QUERY_SIZE, - }) - ); - }); - - it('should resolve results_link when meta is undefined to use "/app/security"', async () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); - delete ruleAlert.params.meta; - alertServices.savedObjectsClient.get.mockResolvedValue({ - id: 'rule-id', - type: 'type', - references: [], - attributes: ruleAlert, - }); - alertServices.scopedClusterClient.asCurrentUser.search.mockResolvedValue( - elasticsearchClientMock.createSuccessTransportRequestPromise( - sampleDocSearchResultsWithSortId() - ) - ); - - await alert.executor(payload); - expect(alertServices.alertInstanceFactory).toHaveBeenCalled(); - - const [{ value: alertInstanceMock }] = alertServices.alertInstanceFactory.mock.results; - expect(alertInstanceMock.scheduleActions).toHaveBeenCalledWith( - 'default', - expect.objectContaining({ - results_link: - '/app/security/detections/rules/id/rule-id?timerange=(global:(linkTo:!(timeline),timerange:(from:1576255233400,kind:absolute,to:1576341633400)),timeline:(linkTo:!(global),timerange:(from:1576255233400,kind:absolute,to:1576341633400)))', - }) - ); - }); - - it('should resolve results_link when meta is an empty object to use "/app/security"', async () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); - ruleAlert.params.meta = {}; - alertServices.savedObjectsClient.get.mockResolvedValue({ - id: 'rule-id', - type: 'type', - references: [], - attributes: ruleAlert, - }); - alertServices.scopedClusterClient.asCurrentUser.search.mockResolvedValue( - elasticsearchClientMock.createSuccessTransportRequestPromise( - sampleDocSearchResultsWithSortId() - ) - ); - await alert.executor(payload); - expect(alertServices.alertInstanceFactory).toHaveBeenCalled(); - - const [{ value: alertInstanceMock }] = alertServices.alertInstanceFactory.mock.results; - expect(alertInstanceMock.scheduleActions).toHaveBeenCalledWith( - 'default', - expect.objectContaining({ - results_link: - '/app/security/detections/rules/id/rule-id?timerange=(global:(linkTo:!(timeline),timerange:(from:1576255233400,kind:absolute,to:1576341633400)),timeline:(linkTo:!(global),timerange:(from:1576255233400,kind:absolute,to:1576341633400)))', - }) - ); - }); - - it('should resolve results_link to custom kibana link when given one', async () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); - ruleAlert.params.meta = { - kibana_siem_app_url: 'http://localhost', - }; - alertServices.savedObjectsClient.get.mockResolvedValue({ - id: 'rule-id', - type: 'type', - references: [], - attributes: ruleAlert, - }); - alertServices.scopedClusterClient.asCurrentUser.search.mockResolvedValue( - elasticsearchClientMock.createSuccessTransportRequestPromise( - sampleDocSearchResultsWithSortId() - ) - ); - await alert.executor(payload); - expect(alertServices.alertInstanceFactory).toHaveBeenCalled(); - - const [{ value: alertInstanceMock }] = alertServices.alertInstanceFactory.mock.results; - expect(alertInstanceMock.scheduleActions).toHaveBeenCalledWith( - 'default', - expect.objectContaining({ - results_link: - 'http://localhost/detections/rules/id/rule-id?timerange=(global:(linkTo:!(timeline),timerange:(from:1576255233400,kind:absolute,to:1576341633400)),timeline:(linkTo:!(global),timerange:(from:1576255233400,kind:absolute,to:1576341633400)))', - }) - ); - }); - - it('should not call alertInstanceFactory if signalsCount was 0', async () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); - alertServices.savedObjectsClient.get.mockResolvedValue({ - id: 'id', - type: 'type', - references: [], - attributes: ruleAlert, - }); - alertServices.scopedClusterClient.asCurrentUser.search.mockResolvedValue( - elasticsearchClientMock.createSuccessTransportRequestPromise(sampleEmptyDocSearchResults()) - ); - - await alert.executor(payload); - - expect(alertServices.alertInstanceFactory).not.toHaveBeenCalled(); - }); - - it('should call scheduleActions if signalsCount was greater than 0', async () => { - const ruleAlert = getAlertMock(getQueryRuleParams()); - alertServices.savedObjectsClient.get.mockResolvedValue({ - id: 'id', - type: 'type', - references: [], - attributes: ruleAlert, - }); - alertServices.scopedClusterClient.asCurrentUser.search.mockResolvedValue( - elasticsearchClientMock.createSuccessTransportRequestPromise( - sampleDocSearchResultsNoSortIdNoVersion() - ) - ); - - await alert.executor(payload); - - expect(alertServices.alertInstanceFactory).toHaveBeenCalled(); - - const [{ value: alertInstanceMock }] = alertServices.alertInstanceFactory.mock.results; - expect(alertInstanceMock.replaceState).toHaveBeenCalledWith( - expect.objectContaining({ signals_count: 100 }) - ); - expect(alertInstanceMock.scheduleActions).toHaveBeenCalledWith( - 'default', - expect.objectContaining({ - rule: expect.objectContaining({ - name: ruleAlert.name, - }), - }) - ); - }); - }); -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/rules_notification_alert_type.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/rules_notification_alert_type.ts deleted file mode 100644 index c85848ba6dcfe..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/rules_notification_alert_type.ts +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { Logger } from 'src/core/server'; -import { schema } from '@kbn/config-schema'; -import { parseScheduleDates } from '@kbn/securitysolution-io-ts-utils'; -import { - DEFAULT_RULE_NOTIFICATION_QUERY_SIZE, - NOTIFICATIONS_ID, - SERVER_APP_ID, -} from '../../../../common/constants'; - -import { NotificationAlertTypeDefinition } from './types'; -import { AlertAttributes } from '../signals/types'; -import { siemRuleActionGroups } from '../signals/siem_rule_action_groups'; -import { scheduleNotificationActions } from './schedule_notification_actions'; -import { getNotificationResultsLink } from './utils'; -import { getSignals } from './get_signals'; - -export const rulesNotificationAlertType = ({ - logger, -}: { - logger: Logger; -}): NotificationAlertTypeDefinition => ({ - id: NOTIFICATIONS_ID, - name: 'SIEM notification', - actionGroups: siemRuleActionGroups, - defaultActionGroupId: 'default', - producer: SERVER_APP_ID, - validate: { - params: schema.object({ - ruleAlertId: schema.string(), - }), - }, - minimumLicenseRequired: 'basic', - isExportable: false, - async executor({ startedAt, previousStartedAt, alertId, services, params }) { - const ruleAlertSavedObject = await services.savedObjectsClient.get( - 'alert', - params.ruleAlertId - ); - - if (!ruleAlertSavedObject.attributes.params) { - logger.error(`Saved object for alert ${params.ruleAlertId} was not found`); - return; - } - - const { params: ruleAlertParams, name: ruleName } = ruleAlertSavedObject.attributes; - const ruleParams = { ...ruleAlertParams, name: ruleName, id: ruleAlertSavedObject.id }; - - const fromInMs = parseScheduleDates( - previousStartedAt - ? previousStartedAt.toISOString() - : `now-${ruleAlertSavedObject.attributes.schedule.interval}` - )?.format('x'); - const toInMs = parseScheduleDates(startedAt.toISOString())?.format('x'); - - const results = await getSignals({ - from: fromInMs, - to: toInMs, - size: DEFAULT_RULE_NOTIFICATION_QUERY_SIZE, - index: ruleParams.outputIndex, - ruleId: ruleParams.ruleId, - esClient: services.scopedClusterClient.asCurrentUser, - }); - - const signals = results.hits.hits.map((hit) => hit._source); - - const signalsCount = - typeof results.hits.total === 'number' ? results.hits.total : results.hits.total.value; - - const resultsLink = getNotificationResultsLink({ - from: fromInMs, - to: toInMs, - id: ruleAlertSavedObject.id, - kibanaSiemAppUrl: (ruleAlertParams.meta as { kibana_siem_app_url?: string } | undefined) - ?.kibana_siem_app_url, - }); - - logger.info( - `Found ${signalsCount} signals using signal rule name: "${ruleParams.name}", id: "${params.ruleAlertId}", rule_id: "${ruleParams.ruleId}" in "${ruleParams.outputIndex}" index` - ); - - if (signalsCount !== 0) { - const alertInstance = services.alertInstanceFactory(alertId); - scheduleNotificationActions({ - alertInstance, - signalsCount, - resultsLink, - ruleParams, - signals, - }); - } - }, -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.test.ts new file mode 100644 index 0000000000000..de62c6b211400 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.test.ts @@ -0,0 +1,176 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { elasticsearchServiceMock } from 'src/core/server/mocks'; +import { alertsMock } from '../../../../../alerting/server/mocks'; +import { scheduleThrottledNotificationActions } from './schedule_throttle_notification_actions'; +import { + NotificationRuleTypeParams, + scheduleNotificationActions, +} from './schedule_notification_actions'; + +jest.mock('./schedule_notification_actions', () => ({ + scheduleNotificationActions: jest.fn(), +})); + +describe('schedule_throttle_notification_actions', () => { + let notificationRuleParams: NotificationRuleTypeParams; + + beforeEach(() => { + (scheduleNotificationActions as jest.Mock).mockReset(); + notificationRuleParams = { + author: ['123'], + id: '123', + name: 'some name', + description: '123', + buildingBlockType: undefined, + from: '123', + ruleId: '123', + immutable: false, + license: '', + falsePositives: ['false positive 1', 'false positive 2'], + query: 'user.name: root or user.name: admin', + language: 'kuery', + savedId: 'savedId-123', + timelineId: 'timelineid-123', + timelineTitle: 'timeline-title-123', + meta: {}, + filters: [], + index: ['index-123'], + maxSignals: 100, + riskScore: 80, + riskScoreMapping: [], + ruleNameOverride: undefined, + outputIndex: 'output-1', + severity: 'high', + severityMapping: [], + threat: [], + timestampOverride: undefined, + to: 'now', + type: 'query', + references: ['http://www.example.com'], + note: '# sample markdown', + version: 1, + exceptionsList: [], + }; + }); + + it('should call "scheduleNotificationActions" if the results length is 1 or greater', async () => { + await scheduleThrottledNotificationActions({ + throttle: '1d', + startedAt: new Date('2021-08-24T19:19:22.094Z'), + id: '123', + kibanaSiemAppUrl: 'http://www.example.com', + outputIndex: 'output-123', + ruleId: 'rule-123', + esClient: elasticsearchServiceMock.createElasticsearchClient( + elasticsearchServiceMock.createSuccessTransportRequestPromise({ + hits: { + hits: [ + { + _source: {}, + }, + ], + total: 1, + }, + }) + ), + alertInstance: alertsMock.createAlertInstanceFactory(), + notificationRuleParams, + }); + + expect(scheduleNotificationActions as jest.Mock).toHaveBeenCalled(); + }); + + it('should NOT call "scheduleNotificationActions" if the results length is 0', async () => { + await scheduleThrottledNotificationActions({ + throttle: '1d', + startedAt: new Date('2021-08-24T19:19:22.094Z'), + id: '123', + kibanaSiemAppUrl: 'http://www.example.com', + outputIndex: 'output-123', + ruleId: 'rule-123', + esClient: elasticsearchServiceMock.createElasticsearchClient( + elasticsearchServiceMock.createSuccessTransportRequestPromise({ + hits: { + hits: [], + total: 0, + }, + }) + ), + alertInstance: alertsMock.createAlertInstanceFactory(), + notificationRuleParams, + }); + + expect(scheduleNotificationActions as jest.Mock).not.toHaveBeenCalled(); + }); + + it('should NOT call "scheduleNotificationActions" if "throttle" is an invalid string', async () => { + await scheduleThrottledNotificationActions({ + throttle: 'invalid', + startedAt: new Date('2021-08-24T19:19:22.094Z'), + id: '123', + kibanaSiemAppUrl: 'http://www.example.com', + outputIndex: 'output-123', + ruleId: 'rule-123', + esClient: elasticsearchServiceMock.createElasticsearchClient( + elasticsearchServiceMock.createSuccessTransportRequestPromise({ + hits: { + hits: [ + { + _source: {}, + }, + ], + total: 1, + }, + }) + ), + alertInstance: alertsMock.createAlertInstanceFactory(), + notificationRuleParams, + }); + + expect(scheduleNotificationActions as jest.Mock).not.toHaveBeenCalled(); + }); + + it('should pass expected arguments into "scheduleNotificationActions" on success', async () => { + await scheduleThrottledNotificationActions({ + throttle: '1d', + startedAt: new Date('2021-08-24T19:19:22.094Z'), + id: '123', + kibanaSiemAppUrl: 'http://www.example.com', + outputIndex: 'output-123', + ruleId: 'rule-123', + esClient: elasticsearchServiceMock.createElasticsearchClient( + elasticsearchServiceMock.createSuccessTransportRequestPromise({ + hits: { + hits: [ + { + _source: { + test: 123, + }, + }, + ], + total: 1, + }, + }) + ), + alertInstance: alertsMock.createAlertInstanceFactory(), + notificationRuleParams, + }); + + expect((scheduleNotificationActions as jest.Mock).mock.calls[0][0].resultsLink).toMatch( + 'http://www.example.com/detections/rules/id/123' + ); + expect(scheduleNotificationActions).toHaveBeenCalledWith( + expect.objectContaining({ + signalsCount: 1, + signals: [{ test: 123 }], + ruleParams: notificationRuleParams, + }) + ); + }); +}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.ts new file mode 100644 index 0000000000000..5dd583d47b403 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/schedule_throttle_notification_actions.ts @@ -0,0 +1,88 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ElasticsearchClient, SavedObject } from 'src/core/server'; +import { parseScheduleDates } from '@kbn/securitysolution-io-ts-utils'; +import { AlertInstance } from '../../../../../alerting/server'; +import { RuleParams } from '../schemas/rule_schemas'; +import { getNotificationResultsLink } from '../notifications/utils'; +import { DEFAULT_RULE_NOTIFICATION_QUERY_SIZE } from '../../../../common/constants'; +import { getSignals } from '../notifications/get_signals'; +import { + NotificationRuleTypeParams, + scheduleNotificationActions, +} from './schedule_notification_actions'; +import { AlertAttributes } from '../signals/types'; + +/** + * Schedules a throttled notification action for executor rules. + * @param throttle The throttle which is the alerting saved object throttle + * @param startedAt When the executor started at + * @param id The id the alert which caused the notifications + * @param kibanaSiemAppUrl The security_solution application url + * @param outputIndex The alerting index we wrote the signals into + * @param ruleId The rule_id of the alert which caused the notifications + * @param esClient The elastic client to do queries + * @param alertInstance The alert instance for notifications + * @param notificationRuleParams The notification rule parameters + */ +export const scheduleThrottledNotificationActions = async ({ + throttle, + startedAt, + id, + kibanaSiemAppUrl, + outputIndex, + ruleId, + esClient, + alertInstance, + notificationRuleParams, +}: { + id: SavedObject['id']; + startedAt: Date; + throttle: AlertAttributes['throttle']; + kibanaSiemAppUrl: string | undefined; + outputIndex: RuleParams['outputIndex']; + ruleId: RuleParams['ruleId']; + esClient: ElasticsearchClient; + alertInstance: AlertInstance; + notificationRuleParams: NotificationRuleTypeParams; +}): Promise => { + const fromInMs = parseScheduleDates(`now-${throttle}`); + const toInMs = parseScheduleDates(startedAt.toISOString()); + + if (fromInMs != null && toInMs != null) { + const resultsLink = getNotificationResultsLink({ + from: fromInMs.toISOString(), + to: toInMs.toISOString(), + id, + kibanaSiemAppUrl, + }); + + const results = await getSignals({ + from: `${fromInMs.valueOf()}`, + to: `${toInMs.valueOf()}`, + size: DEFAULT_RULE_NOTIFICATION_QUERY_SIZE, + index: outputIndex, + ruleId, + esClient, + }); + + const signalsCount = + typeof results.hits.total === 'number' ? results.hits.total : results.hits.total.value; + + const signals = results.hits.hits.map((hit) => hit._source); + if (results.hits.hits.length !== 0) { + scheduleNotificationActions({ + alertInstance, + signalsCount, + signals, + resultsLink, + ruleParams: notificationRuleParams, + }); + } + } +}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/types.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/types.test.ts deleted file mode 100644 index a8678c664f331..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/types.test.ts +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { loggingSystemMock } from 'src/core/server/mocks'; -import { getNotificationResult, getAlertMock } from '../routes/__mocks__/request_responses'; -import { isAlertTypes, isNotificationAlertExecutor } from './types'; -import { rulesNotificationAlertType } from './rules_notification_alert_type'; -import { getQueryRuleParams } from '../schemas/rule_schemas.mock'; - -describe('types', () => { - it('isAlertTypes should return true if is RuleNotificationAlertType type', () => { - expect(isAlertTypes([getNotificationResult()])).toEqual(true); - }); - - it('isAlertTypes should return false if is not RuleNotificationAlertType', () => { - expect(isAlertTypes([getAlertMock(getQueryRuleParams())])).toEqual(false); - }); - - it('isNotificationAlertExecutor should return true it passed object is NotificationAlertTypeDefinition type', () => { - expect( - isNotificationAlertExecutor( - rulesNotificationAlertType({ logger: loggingSystemMock.createLogger() }) - ) - ).toEqual(true); - }); -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/types.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/types.ts deleted file mode 100644 index fb3eb715368e4..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/types.ts +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { - RulesClient, - PartialAlert, - AlertType, - AlertTypeParams, - AlertTypeState, - AlertInstanceState, - AlertInstanceContext, - AlertExecutorOptions, -} from '../../../../../alerting/server'; -import { Alert } from '../../../../../alerting/common'; -import { NOTIFICATIONS_ID } from '../../../../common/constants'; -import { RuleAlertAction } from '../../../../common/detection_engine/types'; - -export interface RuleNotificationAlertTypeParams extends AlertTypeParams { - ruleAlertId: string; -} -export type RuleNotificationAlertType = Alert; - -export interface FindNotificationParams { - rulesClient: RulesClient; - perPage?: number; - page?: number; - sortField?: string; - filter?: string; - fields?: string[]; - sortOrder?: 'asc' | 'desc'; -} - -export interface FindNotificationsRequestParams { - per_page: number; - page: number; - search?: string; - sort_field?: string; - filter?: string; - fields?: string[]; - sort_order?: 'asc' | 'desc'; -} - -export interface Clients { - rulesClient: RulesClient; -} - -export type UpdateNotificationParams = Omit< - NotificationAlertParams, - 'interval' | 'actions' | 'tags' -> & { - actions: RuleAlertAction[]; - interval: string | null | undefined; - ruleAlertId: string; -} & Clients; - -export type DeleteNotificationParams = Clients & { - id?: string; - ruleAlertId?: string; -}; - -export interface NotificationAlertParams { - actions: RuleAlertAction[]; - enabled: boolean; - ruleAlertId: string; - interval: string; - name: string; -} - -export type CreateNotificationParams = NotificationAlertParams & Clients; - -export interface ReadNotificationParams { - rulesClient: RulesClient; - id?: string | null; - ruleAlertId?: string | null; -} - -export const isAlertTypes = ( - partialAlert: Array> -): partialAlert is RuleNotificationAlertType[] => { - return partialAlert.every((rule) => isAlertType(rule)); -}; - -export const isAlertType = ( - partialAlert: PartialAlert -): partialAlert is RuleNotificationAlertType => { - return partialAlert.alertTypeId === NOTIFICATIONS_ID; -}; - -export type NotificationExecutorOptions = AlertExecutorOptions< - RuleNotificationAlertTypeParams, - AlertTypeState, - AlertInstanceState, - AlertInstanceContext ->; - -// This returns true because by default a NotificationAlertTypeDefinition is an AlertType -// since we are only increasing the strictness of params. -export const isNotificationAlertExecutor = ( - obj: NotificationAlertTypeDefinition -): obj is AlertType< - AlertTypeParams, - AlertTypeParams, - AlertTypeState, - AlertInstanceState, - AlertInstanceContext -> => { - return true; -}; - -export type NotificationAlertTypeDefinition = Omit< - AlertType< - AlertTypeParams, - AlertTypeParams, - AlertTypeState, - AlertInstanceState, - AlertInstanceContext, - 'default' - >, - 'executor' -> & { - executor: ({ - services, - params, - state, - }: NotificationExecutorOptions) => Promise; -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/update_notifications.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/update_notifications.test.ts deleted file mode 100644 index a2a858b552c0d..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/update_notifications.test.ts +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { rulesClientMock } from '../../../../../alerting/server/mocks'; -import { updateNotifications } from './update_notifications'; -import { readNotifications } from './read_notifications'; -import { createNotifications } from './create_notifications'; -import { getNotificationResult } from '../routes/__mocks__/request_responses'; -import { UpdateNotificationParams } from './types'; -jest.mock('./read_notifications'); -jest.mock('./create_notifications'); - -describe('updateNotifications', () => { - const notification = getNotificationResult(); - let rulesClient: ReturnType; - - beforeEach(() => { - rulesClient = rulesClientMock.create(); - }); - - it('should update the existing notification if interval provided', async () => { - (readNotifications as jest.Mock).mockResolvedValue(notification); - - await updateNotifications({ - rulesClient, - actions: [], - ruleAlertId: 'new-rule-id', - enabled: true, - interval: '10m', - name: '', - }); - - expect(rulesClient.update).toHaveBeenCalledWith( - expect.objectContaining({ - id: notification.id, - data: expect.objectContaining({ - params: expect.objectContaining({ - ruleAlertId: 'new-rule-id', - }), - }), - }) - ); - }); - - it('should create a new notification if did not exist', async () => { - (readNotifications as jest.Mock).mockResolvedValue(null); - - const params: UpdateNotificationParams = { - rulesClient, - actions: [], - ruleAlertId: 'new-rule-id', - enabled: true, - interval: '10m', - name: '', - }; - - await updateNotifications(params); - - expect(createNotifications).toHaveBeenCalledWith(expect.objectContaining(params)); - }); - - it('should delete notification if notification was found and interval is null', async () => { - (readNotifications as jest.Mock).mockResolvedValue(notification); - - await updateNotifications({ - rulesClient, - actions: [], - ruleAlertId: 'new-rule-id', - enabled: true, - interval: null, - name: '', - }); - - expect(rulesClient.delete).toHaveBeenCalledWith( - expect.objectContaining({ - id: notification.id, - }) - ); - }); - - it('should call the rulesClient with transformed actions', async () => { - (readNotifications as jest.Mock).mockResolvedValue(notification); - const action = { - group: 'default', - id: '99403909-ca9b-49ba-9d7a-7e5320e68d05', - params: { message: 'Rule generated {{state.signals_count}} signals' }, - action_type_id: '.slack', - }; - await updateNotifications({ - rulesClient, - actions: [action], - ruleAlertId: 'new-rule-id', - enabled: true, - interval: '10m', - name: '', - }); - - expect(rulesClient.update).toHaveBeenCalledWith( - expect.objectContaining({ - data: expect.objectContaining({ - actions: expect.arrayContaining([ - { - group: action.group, - id: action.id, - params: action.params, - actionTypeId: '.slack', - }, - ]), - }), - }) - ); - }); - - it('returns null if notification was not found and interval was null', async () => { - (readNotifications as jest.Mock).mockResolvedValue(null); - const ruleAlertId = 'rule-04128c15-0d1b-4716-a4c5-46997ac7f3bd'; - - const result = await updateNotifications({ - rulesClient, - actions: [], - enabled: true, - ruleAlertId, - name: notification.name, - interval: null, - }); - - expect(result).toEqual(null); - }); -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/update_notifications.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/update_notifications.ts deleted file mode 100644 index a568bfbc608e4..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/notifications/update_notifications.ts +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { PartialAlert } from '../../../../../alerting/server'; -import { readNotifications } from './read_notifications'; -import { RuleNotificationAlertTypeParams, UpdateNotificationParams } from './types'; -import { addTags } from './add_tags'; -import { createNotifications } from './create_notifications'; -import { transformRuleToAlertAction } from '../../../../common/detection_engine/transform_actions'; - -export const updateNotifications = async ({ - rulesClient, - actions, - enabled, - ruleAlertId, - name, - interval, -}: UpdateNotificationParams): Promise | null> => { - const notification = await readNotifications({ rulesClient, id: undefined, ruleAlertId }); - - if (interval && notification) { - return rulesClient.update({ - id: notification.id, - data: { - tags: addTags([], ruleAlertId), - name, - schedule: { - interval, - }, - actions: actions.map(transformRuleToAlertAction), - params: { - ruleAlertId, - }, - throttle: null, - notifyWhen: null, - }, - }); - } else if (interval && !notification) { - return createNotifications({ - rulesClient, - enabled, - name, - interval, - actions, - ruleAlertId, - }); - } else if (!interval && notification) { - await rulesClient.delete({ id: notification.id }); - return null; - } else { - return null; - } -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts index 2f395117e8a0b..a7eff049d0d9e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/__mocks__/request_responses.ts @@ -27,7 +27,6 @@ import { IRuleStatusSOAttributes, } from '../../rules/types'; import { requestMock } from './request'; -import { RuleNotificationAlertType } from '../../notifications/types'; import { QuerySignalsSchemaDecoded } from '../../../../../common/detection_engine/schemas/request/query_signals_index_schema'; import { SetSignalsStatusSchemaDecoded } from '../../../../../common/detection_engine/schemas/request/set_signal_status_schema'; import { getCreateRulesSchemaMock } from '../../../../../common/detection_engine/schemas/request/rule_schemas.mock'; @@ -576,54 +575,6 @@ export const getSuccessfulSignalUpdateResponse = () => ({ failures: [], }); -export const getNotificationResult = (): RuleNotificationAlertType => ({ - id: '200dbf2f-b269-4bf9-aa85-11ba32ba73ba', - name: 'Notification for Rule Test', - tags: ['__internal_rule_alert_id:85b64e8a-2e40-4096-86af-5ac172c10825'], - alertTypeId: 'siem.notifications', - consumer: 'siem', - params: { - ruleAlertId: '85b64e8a-2e40-4096-86af-5ac172c10825', - }, - schedule: { - interval: '5m', - }, - enabled: true, - actions: [ - { - actionTypeId: '.slack', - params: { - message: - 'Rule generated {{state.signals_count}} signals\n\n{{context.rule.name}}\n{{{context.results_link}}}', - }, - group: 'default', - id: '99403909-ca9b-49ba-9d7a-7e5320e68d05', - }, - ], - throttle: null, - notifyWhen: null, - apiKey: null, - apiKeyOwner: 'elastic', - createdBy: 'elastic', - updatedBy: 'elastic', - createdAt: new Date('2020-03-21T11:15:13.530Z'), - muteAll: false, - mutedInstanceIds: [], - scheduledTaskId: '62b3a130-6b70-11ea-9ce9-6b9818c4cbd7', - updatedAt: new Date('2020-03-21T12:37:08.730Z'), - executionStatus: { - status: 'unknown', - lastExecutionDate: new Date('2020-08-20T19:23:38Z'), - }, -}); - -export const getFindNotificationsResultWithSingleHit = (): FindHit => ({ - page: 1, - perPage: 1, - total: 1, - data: [getNotificationResult()], -}); - export const getFinalizeSignalsMigrationRequest = () => requestMock.create({ method: 'post', diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.test.ts index 102d799984d15..189173f44a295 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/add_prepackaged_rules_route.test.ts @@ -9,6 +9,7 @@ import { getEmptyFindResult, addPrepackagedRulesRequest, getFindResultWithSingleHit, + getAlertMock, } from '../__mocks__/request_responses'; import { requestContextMock, serverMock, createMockConfig, mockGetCurrentUser } from '../__mocks__'; import { AddPrepackagedRulesSchemaDecoded } from '../../../../../common/detection_engine/schemas/request/add_prepackaged_rules_schema'; @@ -21,6 +22,7 @@ import { ExceptionListClient } from '../../../../../../lists/server'; import { installPrepackagedTimelines } from '../../../timeline/routes/prepackaged_timelines/install_prepackaged_timelines'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { elasticsearchClientMock } from 'src/core/server/elasticsearch/client/mocks'; +import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; jest.mock('../../rules/get_prepackaged_rules', () => { return { @@ -90,6 +92,7 @@ describe('add_prepackaged_rules_route', () => { mockExceptionsClient = listMock.getExceptionListClient(); clients.rulesClient.find.mockResolvedValue(getFindResultWithSingleHit()); + clients.rulesClient.update.mockResolvedValue(getAlertMock(getQueryRuleParams())); (installPrepackagedTimelines as jest.Mock).mockReset(); (installPrepackagedTimelines as jest.Mock).mockResolvedValue({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.ts index 447da0f20a657..5f44ab0ada92d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_bulk_route.ts @@ -11,7 +11,10 @@ import { createRuleValidateTypeDependents } from '../../../../../common/detectio import { createRulesBulkSchema } from '../../../../../common/detection_engine/schemas/request/create_rules_bulk_schema'; import { rulesBulkSchema } from '../../../../../common/detection_engine/schemas/response/rules_bulk_schema'; import type { SecuritySolutionPluginRouter } from '../../../../types'; -import { DETECTION_ENGINE_RULES_URL } from '../../../../../common/constants'; +import { + DETECTION_ENGINE_RULES_URL, + NOTIFICATION_THROTTLE_NO_ACTIONS, +} from '../../../../../common/constants'; import { SetupPlugins } from '../../../../plugin'; import { buildMlAuthz } from '../../../machine_learning/authz'; import { throwHttpError } from '../../../machine_learning/validation'; @@ -21,7 +24,6 @@ import { transformValidateBulkError } from './validate'; import { buildRouteValidation } from '../../../../utils/build_validation/route_validation'; import { transformBulkError, createBulkErrorObject, buildSiemResponse } from '../utils'; -import { updateRulesNotifications } from '../../rules/update_rules_notifications'; import { convertCreateAPIToInternalSchema } from '../../schemas/rule_converters'; export const createRulesBulkRoute = ( @@ -103,21 +105,12 @@ export const createRulesBulkRoute = ( data: internalRule, }); - const ruleActions = await updateRulesNotifications({ - ruleAlertId: createdRule.id, - rulesClient, - savedObjectsClient, - enabled: createdRule.enabled, - actions: payloadRule.actions, - throttle: payloadRule.throttle ?? null, - name: createdRule.name, - }); + // mutes if we are creating the rule with the explicit "no_actions" + if (payloadRule.throttle === NOTIFICATION_THROTTLE_NO_ACTIONS) { + await rulesClient.muteAll({ id: createdRule.id }); + } - return transformValidateBulkError( - internalRule.params.ruleId, - createdRule, - ruleActions - ); + return transformValidateBulkError(internalRule.params.ruleId, createdRule, undefined); } catch (err) { return transformBulkError(internalRule.params.ruleId, err); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts index 18767af066d27..fc48e34a7ca74 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.test.ts @@ -18,12 +18,10 @@ import { mlServicesMock, mlAuthzMock as mockMlAuthzFactory } from '../../../mach import { buildMlAuthz } from '../../../machine_learning/authz'; import { requestContextMock, serverMock, requestMock } from '../__mocks__'; import { createRulesRoute } from './create_rules_route'; -import { updateRulesNotifications } from '../../rules/update_rules_notifications'; import { getCreateRulesSchemaMock } from '../../../../../common/detection_engine/schemas/request/rule_schemas.mock'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { elasticsearchClientMock } from 'src/core/server/elasticsearch/client/mocks'; import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; -jest.mock('../../rules/update_rules_notifications'); jest.mock('../../../machine_learning/authz', () => mockMlAuthzFactory.create()); describe('create_rules', () => { @@ -48,12 +46,6 @@ describe('create_rules', () => { describe('status codes with actionClient and alertClient', () => { test('returns 200 when creating a single rule with a valid actionClient and alertClient', async () => { - (updateRulesNotifications as jest.Mock).mockResolvedValue({ - id: 'id', - actions: [], - alertThrottle: null, - ruleThrottle: 'no_actions', - }); const response = await server.inject(getCreateRequest(), context); expect(response.status).toEqual(200); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts index b7f32b82cc767..333fa9c17a75b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/create_rules_route.ts @@ -8,7 +8,10 @@ import { transformError, getIndexExists } from '@kbn/securitysolution-es-utils'; import { IRuleDataClient } from '../../../../../../rule_registry/server'; import { buildRouteValidation } from '../../../../utils/build_validation/route_validation'; -import { DETECTION_ENGINE_RULES_URL } from '../../../../../common/constants'; +import { + DETECTION_ENGINE_RULES_URL, + NOTIFICATION_THROTTLE_NO_ACTIONS, +} from '../../../../../common/constants'; import { SetupPlugins } from '../../../../plugin'; import type { SecuritySolutionPluginRouter } from '../../../../types'; import { buildMlAuthz } from '../../../machine_learning/authz'; @@ -16,7 +19,6 @@ import { throwHttpError } from '../../../machine_learning/validation'; import { readRules } from '../../rules/read_rules'; import { buildSiemResponse } from '../utils'; -import { updateRulesNotifications } from '../../rules/update_rules_notifications'; import { createRulesSchema } from '../../../../../common/detection_engine/schemas/request'; import { newTransformValidate } from './validate'; import { createRuleValidateTypeDependents } from '../../../../../common/detection_engine/schemas/request/create_rules_type_dependents'; @@ -95,22 +97,17 @@ export const createRulesRoute = ( data: internalRule, }); - const ruleActions = await updateRulesNotifications({ - ruleAlertId: createdRule.id, - rulesClient, - savedObjectsClient, - enabled: createdRule.enabled, - actions: request.body.actions, - throttle: request.body.throttle ?? null, - name: createdRule.name, - }); + // mutes if we are creating the rule with the explicit "no_actions" + if (request.body.throttle === NOTIFICATION_THROTTLE_NO_ACTIONS) { + await rulesClient.muteAll({ id: createdRule.id }); + } const ruleStatuses = await context.securitySolution.getExecutionLogClient().find({ logsCount: 1, ruleId: createdRule.id, spaceId: context.securitySolution.getSpaceId(), }); - const [validated, errors] = newTransformValidate(createdRule, ruleActions, ruleStatuses[0]); + const [validated, errors] = newTransformValidate(createdRule, ruleStatuses[0]); if (errors != null) { return siemResponse.error({ statusCode: 500, body: errors }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts index 5016f93ef2cf5..7a5b7121eb33b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_bulk_route.ts @@ -50,7 +50,6 @@ export const deleteRulesBulkRoute = (router: SecuritySolutionPluginRouter) => { const siemResponse = buildSiemResponse(response); const rulesClient = context.alerting?.getRulesClient(); - const savedObjectsClient = context.core.savedObjects.client; if (!rulesClient) { return siemResponse.error({ statusCode: 404 }); @@ -84,12 +83,11 @@ export const deleteRulesBulkRoute = (router: SecuritySolutionPluginRouter) => { }); await deleteRules({ rulesClient, - savedObjectsClient, ruleStatusClient, ruleStatuses, id: rule.id, }); - return transformValidateBulkError(idOrRuleIdOrUnknown, rule, undefined, ruleStatuses); + return transformValidateBulkError(idOrRuleIdOrUnknown, rule, ruleStatuses); } catch (err) { return transformBulkError(idOrRuleIdOrUnknown, err); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts index 2cee8301a05ff..499f5c151c66c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/delete_rules_route.ts @@ -48,7 +48,6 @@ export const deleteRulesRoute = ( const { id, rule_id: ruleId } = request.query; const rulesClient = context.alerting?.getRulesClient(); - const savedObjectsClient = context.core.savedObjects.client; if (!rulesClient) { return siemResponse.error({ statusCode: 404 }); @@ -71,12 +70,11 @@ export const deleteRulesRoute = ( }); await deleteRules({ rulesClient, - savedObjectsClient, ruleStatusClient, ruleStatuses, id: rule.id, }); - const transformed = transform(rule, undefined, ruleStatuses[0]); + const transformed = transform(rule, ruleStatuses[0]); if (transformed == null) { return siemResponse.error({ statusCode: 500, body: 'failed to transform alert' }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts index 4a464c19f5b97..ed39d42c38e4a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/find_rules_route.ts @@ -18,7 +18,6 @@ import { findRules } from '../../rules/find_rules'; import { buildSiemResponse } from '../utils'; import { buildRouteValidation } from '../../../../utils/build_validation/route_validation'; import { transformFindAlerts } from './utils'; -import { getBulkRuleActionsSavedObject } from '../../rule_actions/get_bulk_rule_actions_saved_object'; export const findRulesRoute = ( router: SecuritySolutionPluginRouter, @@ -46,7 +45,6 @@ export const findRulesRoute = ( try { const { query } = request; const rulesClient = context.alerting?.getRulesClient(); - const savedObjectsClient = context.core.savedObjects.client; if (!rulesClient) { return siemResponse.error({ statusCode: 404 }); @@ -64,15 +62,12 @@ export const findRulesRoute = ( }); const alertIds = rules.data.map((rule) => rule.id); - const [ruleStatuses, ruleActions] = await Promise.all([ - execLogClient.findBulk({ - ruleIds: alertIds, - logsCount: 1, - spaceId: context.securitySolution.getSpaceId(), - }), - getBulkRuleActionsSavedObject({ alertIds, savedObjectsClient }), - ]); - const transformed = transformFindAlerts(rules, ruleActions, ruleStatuses); + const ruleStatuses = await execLogClient.findBulk({ + ruleIds: alertIds, + logsCount: 1, + spaceId: context.securitySolution.getSpaceId(), + }); + const transformed = transformFindAlerts(rules, ruleStatuses); if (transformed == null) { return siemResponse.error({ statusCode: 500, body: 'Internal error transforming' }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.test.ts index 210a065012d03..cd572894f551e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.test.ts @@ -45,7 +45,7 @@ describe('import_rules_route', () => { ml = mlServicesMock.createSetupContract(); clients.rulesClient.find.mockResolvedValue(getEmptyFindResult()); // no extant rules - + clients.rulesClient.update.mockResolvedValue(getAlertMock(getQueryRuleParams())); context.core.elasticsearch.client.asCurrentUser.search.mockResolvedValue( elasticsearchClientMock.createSuccessTransportRequestPromise({ _shards: { total: 1 } }) ); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts index 2b9abd2088292..53bebf340c267 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/import_rules_route.ts @@ -186,6 +186,7 @@ export const importRulesRoute = ( note, timeline_id: timelineId, timeline_title: timelineTitle, + throttle, version, exceptions_list: exceptionsList, } = parsedRule; @@ -235,6 +236,7 @@ export const importRulesRoute = ( severity, severityMapping, tags, + throttle, to, type, threat, @@ -288,6 +290,7 @@ export const importRulesRoute = ( severityMapping, tags, timestampOverride, + throttle, to, type, threat, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts index d2b3396b64a2c..3aaa82ea56f3f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_bulk_route.ts @@ -22,7 +22,6 @@ import { transformBulkError, buildSiemResponse } from '../utils'; import { getIdBulkError } from './utils'; import { transformValidateBulkError } from './validate'; import { patchRules } from '../../rules/patch_rules'; -import { updateRulesNotifications } from '../../rules/update_rules_notifications'; import { readRules } from '../../rules/read_rules'; import { PartialFilter } from '../../types'; @@ -168,6 +167,7 @@ export const patchRulesBulkRoute = ( threatQuery, threatMapping, threatLanguage, + throttle, concurrentSearches, itemsPerSearch, timestampOverride, @@ -180,21 +180,12 @@ export const patchRulesBulkRoute = ( exceptionsList, }); if (rule != null && rule.enabled != null && rule.name != null) { - const ruleActions = await updateRulesNotifications({ - ruleAlertId: rule.id, - rulesClient, - savedObjectsClient, - enabled: rule.enabled, - actions, - throttle, - name: rule.name, - }); const ruleStatuses = await ruleStatusClient.find({ logsCount: 1, ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - return transformValidateBulkError(rule.id, rule, ruleActions, ruleStatuses); + return transformValidateBulkError(rule.id, rule, ruleStatuses); } else { return getIdBulkError({ id, ruleId }); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts index 1efc9c93b08d2..b564262b4a5c7 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/patch_rules_route.ts @@ -24,7 +24,6 @@ import { buildSiemResponse } from '../utils'; import { getIdError } from './utils'; import { transformValidate } from './validate'; -import { updateRulesNotifications } from '../../rules/update_rules_notifications'; import { readRules } from '../../rules/read_rules'; import { PartialFilter } from '../../types'; @@ -171,6 +170,7 @@ export const patchRulesRoute = ( threatQuery, threatMapping, threatLanguage, + throttle, concurrentSearches, itemsPerSearch, timestampOverride, @@ -183,22 +183,13 @@ export const patchRulesRoute = ( exceptionsList, }); if (rule != null && rule.enabled != null && rule.name != null) { - const ruleActions = await updateRulesNotifications({ - ruleAlertId: rule.id, - rulesClient, - savedObjectsClient, - enabled: rule.enabled, - actions, - throttle, - name: rule.name, - }); const ruleStatuses = await ruleStatusClient.find({ logsCount: 1, ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - const [validated, errors] = transformValidate(rule, ruleActions, ruleStatuses[0]); + const [validated, errors] = transformValidate(rule, ruleStatuses[0]); if (errors != null) { return siemResponse.error({ statusCode: 500, body: errors }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts index 0c4bdf0fcf64f..70198d081ebfa 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/perform_bulk_action_route.ts @@ -19,8 +19,6 @@ import { duplicateRule } from '../../rules/duplicate_rule'; import { enableRule } from '../../rules/enable_rule'; import { findRules } from '../../rules/find_rules'; import { getExportByObjectIds } from '../../rules/get_export_by_object_ids'; -import { updateRulesNotifications } from '../../rules/update_rules_notifications'; -import { getRuleActionsSavedObject } from '../../rule_actions/get_rule_actions_saved_object'; import { buildSiemResponse } from '../utils'; const BULK_ACTION_RULES_LIMIT = 10000; @@ -112,7 +110,6 @@ export const performBulkActionRoute = ( }); await deleteRules({ rulesClient, - savedObjectsClient, ruleStatusClient, ruleStatuses, id: rule.id, @@ -125,24 +122,9 @@ export const performBulkActionRoute = ( rules.data.map(async (rule) => { throwHttpError(await mlAuthz.validateRuleType(rule.params.type)); - const createdRule = await rulesClient.create({ + await rulesClient.create({ data: duplicateRule(rule), }); - - const ruleActions = await getRuleActionsSavedObject({ - savedObjectsClient, - ruleAlertId: rule.id, - }); - - await updateRulesNotifications({ - ruleAlertId: createdRule.id, - rulesClient, - savedObjectsClient, - enabled: createdRule.enabled, - actions: ruleActions?.actions || [], - throttle: ruleActions?.alertThrottle, - name: createdRule.name, - }); }) ); break; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts index 6d5e63b2a0588..7aef65e7918b2 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/read_rules_route.ts @@ -19,7 +19,6 @@ import { getIdError, transform } from './utils'; import { buildSiemResponse } from '../utils'; import { readRules } from '../../rules/read_rules'; -import { getRuleActionsSavedObject } from '../../rule_actions/get_rule_actions_saved_object'; import { RuleExecutionStatus } from '../../../../../common/detection_engine/schemas/common/schemas'; export const readRulesRoute = ( @@ -48,7 +47,6 @@ export const readRulesRoute = ( const { id, rule_id: ruleId } = request.query; const rulesClient = context.alerting?.getRulesClient(); - const savedObjectsClient = context.core.savedObjects.client; try { if (!rulesClient) { @@ -62,10 +60,6 @@ export const readRulesRoute = ( ruleId, }); if (rule != null) { - const ruleActions = await getRuleActionsSavedObject({ - savedObjectsClient, - ruleAlertId: rule.id, - }); const ruleStatuses = await ruleStatusClient.find({ logsCount: 1, ruleId: rule.id, @@ -78,7 +72,7 @@ export const readRulesRoute = ( currentStatus.attributes.statusDate = rule.executionStatus.lastExecutionDate.toISOString(); currentStatus.attributes.status = RuleExecutionStatus.failed; } - const transformed = transform(rule, ruleActions, currentStatus); + const transformed = transform(rule, currentStatus); if (transformed == null) { return siemResponse.error({ statusCode: 500, body: 'Internal error transforming' }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts index 44c9ce51b7a1e..389c49d3cff4e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_bulk_route.ts @@ -19,7 +19,6 @@ import { getIdBulkError } from './utils'; import { transformValidateBulkError } from './validate'; import { transformBulkError, buildSiemResponse, createBulkErrorObject } from '../utils'; import { updateRules } from '../../rules/update_rules'; -import { updateRulesNotifications } from '../../rules/update_rules_notifications'; export const updateRulesBulkRoute = ( router: SecuritySolutionPluginRouter, @@ -77,21 +76,12 @@ export const updateRulesBulkRoute = ( ruleUpdate: payloadRule, }); if (rule != null) { - const ruleActions = await updateRulesNotifications({ - ruleAlertId: rule.id, - rulesClient, - savedObjectsClient, - enabled: payloadRule.enabled ?? true, - actions: payloadRule.actions, - throttle: payloadRule.throttle, - name: payloadRule.name, - }); const ruleStatuses = await ruleStatusClient.find({ logsCount: 1, ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - return transformValidateBulkError(rule.id, rule, ruleActions, ruleStatuses); + return transformValidateBulkError(rule.id, rule, ruleStatuses); } else { return getIdBulkError({ id: payloadRule.id, ruleId: payloadRule.rule_id }); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts index 129e4bd8ad9a1..db0054088137c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.test.ts @@ -17,13 +17,11 @@ import { } from '../__mocks__/request_responses'; import { requestContextMock, serverMock, requestMock } from '../__mocks__'; import { DETECTION_ENGINE_RULES_URL } from '../../../../../common/constants'; -import { updateRulesNotifications } from '../../rules/update_rules_notifications'; import { updateRulesRoute } from './update_rules_route'; import { getUpdateRulesSchemaMock } from '../../../../../common/detection_engine/schemas/request/rule_schemas.mock'; import { getQueryRuleParams } from '../../schemas/rule_schemas.mock'; jest.mock('../../../machine_learning/authz', () => mockMlAuthzFactory.create()); -jest.mock('../../rules/update_rules_notifications'); describe('update_rules', () => { let server: ReturnType; @@ -45,12 +43,6 @@ describe('update_rules', () => { describe('status codes with actionClient and alertClient', () => { test('returns 200 when updating a single rule with a valid actionClient and alertClient', async () => { - (updateRulesNotifications as jest.Mock).mockResolvedValue({ - id: 'id', - actions: [], - alertThrottle: null, - ruleThrottle: 'no_actions', - }); const response = await server.inject(getUpdateRequest(), context); expect(response.status).toEqual(200); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts index 368b02fdb1e94..ecf61bec2b20a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/update_rules_route.ts @@ -19,7 +19,6 @@ import { buildSiemResponse } from '../utils'; import { getIdError } from './utils'; import { transformValidate } from './validate'; import { updateRules } from '../../rules/update_rules'; -import { updateRulesNotifications } from '../../rules/update_rules_notifications'; import { buildRouteValidation } from '../../../../utils/build_validation/route_validation'; export const updateRulesRoute = ( @@ -70,21 +69,12 @@ export const updateRulesRoute = ( }); if (rule != null) { - const ruleActions = await updateRulesNotifications({ - ruleAlertId: rule.id, - rulesClient, - savedObjectsClient, - enabled: request.body.enabled ?? true, - actions: request.body.actions ?? [], - throttle: request.body.throttle ?? 'no_actions', - name: request.body.name, - }); const ruleStatuses = await ruleStatusClient.find({ logsCount: 1, ruleId: rule.id, spaceId: context.securitySolution.getSpaceId(), }); - const [validated, errors] = transformValidate(rule, ruleActions, ruleStatuses[0]); + const [validated, errors] = transformValidate(rule, ruleStatuses[0]); if (errors != null) { return siemResponse.error({ statusCode: 500, body: errors }); } else { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.test.ts index 29e322d7fcab5..0018a37016980 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.test.ts @@ -255,7 +255,7 @@ describe('utils', () => { describe('transformFindAlerts', () => { test('outputs empty data set when data set is empty correct', () => { - const output = transformFindAlerts({ data: [], page: 1, perPage: 0, total: 0 }, {}, {}); + const output = transformFindAlerts({ data: [], page: 1, perPage: 0, total: 0 }, {}); expect(output).toEqual({ data: [], page: 1, perPage: 0, total: 0 }); }); @@ -267,7 +267,6 @@ describe('utils', () => { total: 0, data: [getAlertMock(getQueryRuleParams())], }, - {}, {} ); const expected = getOutputRuleAlertForRest(); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts index dc0cd2e497215..6e1faf819c3d5 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/utils.ts @@ -30,7 +30,6 @@ import { createImportErrorObject, OutputError, } from '../utils'; -import { RuleActions } from '../../rule_actions/types'; import { internalRuleToAPIResponse } from '../../schemas/rule_converters'; import { RuleParams } from '../../schemas/rule_schemas'; import { SanitizedAlert } from '../../../../../../alerting/common'; @@ -104,10 +103,9 @@ export const transformTags = (tags: string[]): string[] => { // those on the export export const transformAlertToRule = ( alert: SanitizedAlert, - ruleActions?: RuleActions | null, ruleStatus?: SavedObject ): Partial => { - return internalRuleToAPIResponse(alert, ruleActions, ruleStatus?.attributes); + return internalRuleToAPIResponse(alert, ruleStatus?.attributes); }; export const transformAlertsToRules = (alerts: RuleAlertType[]): Array> => { @@ -116,7 +114,6 @@ export const transformAlertsToRules = (alerts: RuleAlertType[]): Array, - ruleActions: { [key: string]: RuleActions | undefined }, ruleStatuses: { [key: string]: IRuleStatusSOAttributes[] | undefined } ): { page: number; @@ -131,20 +128,18 @@ export const transformFindAlerts = ( data: findResults.data.map((alert) => { const statuses = ruleStatuses[alert.id]; const status = statuses ? statuses[0] : undefined; - return internalRuleToAPIResponse(alert, ruleActions[alert.id], status); + return internalRuleToAPIResponse(alert, status); }), }; }; export const transform = ( alert: PartialAlert, - ruleActions?: RuleActions | null, ruleStatus?: SavedObject ): Partial | null => { if (isAlertType(alert)) { return transformAlertToRule( alert, - ruleActions, isRuleStatusSavedObjectType(ruleStatus) ? ruleStatus : undefined ); } @@ -155,14 +150,13 @@ export const transform = ( export const transformOrBulkError = ( ruleId: string, alert: PartialAlert, - ruleActions: RuleActions, ruleStatus?: unknown ): Partial | BulkError => { if (isAlertType(alert)) { if (isRuleStatusFindType(ruleStatus) && ruleStatus?.saved_objects.length > 0) { - return transformAlertToRule(alert, ruleActions, ruleStatus?.saved_objects[0] ?? ruleStatus); + return transformAlertToRule(alert, ruleStatus?.saved_objects[0] ?? ruleStatus); } else { - return transformAlertToRule(alert, ruleActions); + return transformAlertToRule(alert); } } else { return createBulkErrorObject({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts index 1ca8c27995922..9cbd4de71613a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.test.ts @@ -110,7 +110,7 @@ describe('validate', () => { test('it should do a validation correctly of a rule id with ruleStatus passed in', () => { const ruleStatuses = getRuleExecutionStatuses(); const ruleAlert = getAlertMock(getQueryRuleParams()); - const validatedOrError = transformValidateBulkError('rule-1', ruleAlert, null, ruleStatuses); + const validatedOrError = transformValidateBulkError('rule-1', ruleAlert, ruleStatuses); const expected: RulesSchema = { ...ruleOutput(), status: RuleExecutionStatus.succeeded, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts index e3e2b8cda98b2..ccb3201848e3c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/routes/rules/validate.ts @@ -25,15 +25,13 @@ import { } from '../../rules/types'; import { createBulkErrorObject, BulkError } from '../utils'; import { transform, transformAlertToRule } from './utils'; -import { RuleActions } from '../../rule_actions/types'; import { RuleParams } from '../../schemas/rule_schemas'; export const transformValidate = ( alert: PartialAlert, - ruleActions?: RuleActions | null, ruleStatus?: SavedObject ): [RulesSchema | null, string | null] => { - const transformed = transform(alert, ruleActions, ruleStatus); + const transformed = transform(alert, ruleStatus); if (transformed == null) { return [null, 'Internal error transforming']; } else { @@ -43,10 +41,9 @@ export const transformValidate = ( export const newTransformValidate = ( alert: PartialAlert, - ruleActions?: RuleActions | null, ruleStatus?: SavedObject ): [FullResponseSchema | null, string | null] => { - const transformed = transform(alert, ruleActions, ruleStatus); + const transformed = transform(alert, ruleStatus); if (transformed == null) { return [null, 'Internal error transforming']; } else { @@ -57,12 +54,11 @@ export const newTransformValidate = ( export const transformValidateBulkError = ( ruleId: string, alert: PartialAlert, - ruleActions?: RuleActions | null, ruleStatus?: Array> ): RulesSchema | BulkError => { if (isAlertType(alert)) { if (ruleStatus && ruleStatus?.length > 0 && isRuleStatusSavedObjectType(ruleStatus[0])) { - const transformed = transformAlertToRule(alert, ruleActions, ruleStatus[0]); + const transformed = transformAlertToRule(alert, ruleStatus[0]); const [validated, errors] = validateNonExact(transformed, rulesSchema); if (errors != null || validated == null) { return createBulkErrorObject({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/create_rule_actions_saved_object.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/create_rule_actions_saved_object.ts deleted file mode 100644 index 14498fa41d4b2..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/create_rule_actions_saved_object.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { RuleAlertAction } from '../../../../common/detection_engine/types'; -import { AlertServices } from '../../../../../alerting/server'; -import { ruleActionsSavedObjectType } from './saved_object_mappings'; -import { IRuleActionsAttributesSavedObjectAttributes } from './types'; -import { getThrottleOptions, getRuleActionsFromSavedObject } from './utils'; -import { RulesActionsSavedObject } from './get_rule_actions_saved_object'; - -interface CreateRuleActionsSavedObject { - ruleAlertId: string; - savedObjectsClient: AlertServices['savedObjectsClient']; - actions: RuleAlertAction[] | undefined; - throttle: string | null | undefined; -} - -export const createRuleActionsSavedObject = async ({ - ruleAlertId, - savedObjectsClient, - actions = [], - throttle, -}: CreateRuleActionsSavedObject): Promise => { - const ruleActionsSavedObject = await savedObjectsClient.create( - ruleActionsSavedObjectType, - { - ruleAlertId, - actions, - ...getThrottleOptions(throttle), - } - ); - - return getRuleActionsFromSavedObject(ruleActionsSavedObject); -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/delete_rule_actions_saved_object.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/delete_rule_actions_saved_object.ts deleted file mode 100644 index 8ef2b8ffb72ae..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/delete_rule_actions_saved_object.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { AlertServices } from '../../../../../alerting/server'; -import { ruleActionsSavedObjectType } from './saved_object_mappings'; -import { getRuleActionsSavedObject } from './get_rule_actions_saved_object'; - -interface DeleteRuleActionsSavedObject { - ruleAlertId: string; - savedObjectsClient: AlertServices['savedObjectsClient']; -} - -export const deleteRuleActionsSavedObject = async ({ - ruleAlertId, - savedObjectsClient, -}: DeleteRuleActionsSavedObject): Promise<{} | null> => { - const ruleActions = await getRuleActionsSavedObject({ ruleAlertId, savedObjectsClient }); - if (ruleActions != null) { - return savedObjectsClient.delete(ruleActionsSavedObjectType, ruleActions.id); - } else { - return null; - } -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/get_bulk_rule_actions_saved_object.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/get_bulk_rule_actions_saved_object.ts deleted file mode 100644 index 1abb16ba4612c..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/get_bulk_rule_actions_saved_object.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { AlertServices } from '../../../../../alerting/server'; -import { ruleActionsSavedObjectType } from './saved_object_mappings'; -import { IRuleActionsAttributesSavedObjectAttributes } from './types'; -import { getRuleActionsFromSavedObject } from './utils'; -import { RulesActionsSavedObject } from './get_rule_actions_saved_object'; -import { buildChunkedOrFilter } from '../signals/utils'; - -interface GetBulkRuleActionsSavedObject { - alertIds: string[]; - savedObjectsClient: AlertServices['savedObjectsClient']; -} - -export const getBulkRuleActionsSavedObject = async ({ - alertIds, - savedObjectsClient, -}: GetBulkRuleActionsSavedObject): Promise> => { - const filter = buildChunkedOrFilter( - `${ruleActionsSavedObjectType}.attributes.ruleAlertId`, - alertIds - ); - const { - // eslint-disable-next-line @typescript-eslint/naming-convention - saved_objects, - } = await savedObjectsClient.find({ - type: ruleActionsSavedObjectType, - perPage: 10000, - filter, - }); - return saved_objects.reduce((acc: { [key: string]: RulesActionsSavedObject }, savedObject) => { - acc[savedObject.attributes.ruleAlertId] = getRuleActionsFromSavedObject(savedObject); - return acc; - }, {}); -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/get_rule_actions_saved_object.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/get_rule_actions_saved_object.ts deleted file mode 100644 index aa15617aab4ca..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/get_rule_actions_saved_object.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { RuleAlertAction } from '../../../../common/detection_engine/types'; -import { AlertServices } from '../../../../../alerting/server'; -import { ruleActionsSavedObjectType } from './saved_object_mappings'; -import { IRuleActionsAttributesSavedObjectAttributes } from './types'; -import { getRuleActionsFromSavedObject } from './utils'; - -interface GetRuleActionsSavedObject { - ruleAlertId: string; - savedObjectsClient: AlertServices['savedObjectsClient']; -} - -export interface RulesActionsSavedObject { - id: string; - actions: RuleAlertAction[]; - alertThrottle: string | null; - ruleThrottle: string; -} - -export const getRuleActionsSavedObject = async ({ - ruleAlertId, - savedObjectsClient, -}: GetRuleActionsSavedObject): Promise => { - const { - // eslint-disable-next-line @typescript-eslint/naming-convention - saved_objects, - } = await savedObjectsClient.find({ - type: ruleActionsSavedObjectType, - perPage: 1, - search: `${ruleAlertId}`, - searchFields: ['ruleAlertId'], - }); - - if (!saved_objects[0]) { - return null; - } else { - return getRuleActionsFromSavedObject(saved_objects[0]); - } -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/migrations.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/migrations.ts index 4b66c20e5784a..3004304445ff7 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/migrations.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/migrations.ts @@ -5,13 +5,20 @@ * 2.0. */ +import { RuleAlertAction } from '../../../../common/detection_engine/types'; import { SavedObjectUnsanitizedDoc, SavedObjectSanitizedDoc, SavedObjectAttributes, } from '../../../../../../../src/core/server'; -import { IRuleActionsAttributesSavedObjectAttributes, RuleAlertAction } from './types'; +import { IRuleActionsAttributesSavedObjectAttributes } from './types'; +/** + * We keep this around to migrate and update data for the old deprecated rule actions saved object mapping but we + * do not use it anymore within the code base. Once we feel comfortable that users are upgrade far enough and this is no longer + * needed then it will be safe to remove this saved object and all its migrations + * @deprecated Remove this once we no longer need legacy migrations for rule actions (8.0.0) + */ function isEmptyObject(obj: {}) { for (const attr in obj) { if (Object.prototype.hasOwnProperty.call(obj, attr)) { @@ -21,6 +28,12 @@ function isEmptyObject(obj: {}) { return true; } +/** + * We keep this around to migrate and update data for the old deprecated rule actions saved object mapping but we + * do not use it anymore within the code base. Once we feel comfortable that users are upgrade far enough and this is no longer + * needed then it will be safe to remove this saved object and all its migrations + * @deprecated Remove this once we no longer need legacy migrations for rule actions (8.0.0) + */ export const ruleActionsSavedObjectMigration = { '7.11.2': ( doc: SavedObjectUnsanitizedDoc diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/saved_object_mappings.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/saved_object_mappings.ts index 7b135ae2efd06..6522cb431d0fb 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/saved_object_mappings.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/saved_object_mappings.ts @@ -8,9 +8,21 @@ import { SavedObjectsType } from '../../../../../../../src/core/server'; import { ruleActionsSavedObjectMigration } from './migrations'; -export const ruleActionsSavedObjectType = 'siem-detection-engine-rule-actions'; +/** + * We keep this around to migrate and update data for the old deprecated rule actions saved object mapping but we + * do not use it anymore within the code base. Once we feel comfortable that users are upgrade far enough and this is no longer + * needed then it will be safe to remove this saved object and all its migrations. + * * @deprecated Remove this once we no longer need legacy migrations for rule actions (8.0.0) + */ +const ruleActionsSavedObjectType = 'siem-detection-engine-rule-actions'; -export const ruleActionsSavedObjectMappings: SavedObjectsType['mappings'] = { +/** + * We keep this around to migrate and update data for the old deprecated rule actions saved object mapping but we + * do not use it anymore within the code base. Once we feel comfortable that users are upgrade far enough and this is no longer + * needed then it will be safe to remove this saved object and all its migrations. + * * @deprecated Remove this once we no longer need legacy migrations for rule actions (8.0.0) + */ +const ruleActionsSavedObjectMappings: SavedObjectsType['mappings'] = { properties: { alertThrottle: { type: 'keyword', @@ -41,6 +53,12 @@ export const ruleActionsSavedObjectMappings: SavedObjectsType['mappings'] = { }, }; +/** + * We keep this around to migrate and update data for the old deprecated rule actions saved object mapping but we + * do not use it anymore within the code base. Once we feel comfortable that users are upgrade far enough and this is no longer + * needed then it will be safe to remove this saved object and all its migrations. + * @deprecated Remove this once we no longer need legacy migrations for rule actions (8.0.0) + */ export const type: SavedObjectsType = { name: ruleActionsSavedObjectType, hidden: false, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/types.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/types.ts index 97b19e4367afa..e43e49b669424 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/types.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/types.ts @@ -5,12 +5,15 @@ * 2.0. */ -import { get } from 'lodash/fp'; -import { SavedObject, SavedObjectAttributes, SavedObjectsFindResponse } from 'kibana/server'; +import { SavedObjectAttributes } from 'kibana/server'; import { RuleAlertAction } from '../../../../common/detection_engine/types'; -export { RuleAlertAction }; - +/** + * We keep this around to migrate and update data for the old deprecated rule actions saved object mapping but we + * do not use it anymore within the code base. Once we feel comfortable that users are upgrade far enough and this is no longer + * needed then it will be safe to remove this saved object and all its migrations. + * @deprecated + */ // eslint-disable-next-line @typescript-eslint/no-explicit-any export interface IRuleActionsAttributes extends Record { ruleAlertId: string; @@ -19,53 +22,12 @@ export interface IRuleActionsAttributes extends Record { alertThrottle: string | null; } -export interface RuleActions { - id: string; - actions: RuleAlertAction[]; - ruleThrottle: string; - alertThrottle: string | null; -} - +/** + * We keep this around to migrate and update data for the old deprecated rule actions saved object mapping but we + * do not use it anymore within the code base. Once we feel comfortable that users are upgrade far enough and this is no longer + * needed then it will be safe to remove this saved object and all its migrations. + * @deprecated + */ export interface IRuleActionsAttributesSavedObjectAttributes extends IRuleActionsAttributes, SavedObjectAttributes {} - -export interface RuleActionsResponse { - [key: string]: { - actions: IRuleActionsAttributes | null | undefined; - }; -} - -export interface IRuleActionsSavedObject { - type: string; - id: string; - attributes: Array>; - references: unknown[]; - updated_at: string; - version: string; -} - -export interface IRuleActionsFindType { - page: number; - per_page: number; - total: number; - saved_objects: IRuleActionsSavedObject[]; -} - -export const isRuleActionsSavedObjectType = ( - obj: unknown -): obj is SavedObject => { - return get('attributes', obj) != null; -}; - -export const isRuleActionsFindType = ( - obj: unknown -): obj is SavedObjectsFindResponse => { - return get('saved_objects', obj) != null; -}; - -export const isRuleActionsFindTypes = ( - obj: unknown[] | undefined -): obj is Array> => { - return obj ? obj.every((ruleStatus) => isRuleActionsFindType(ruleStatus)) : false; -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/update_or_create_rule_actions_saved_object.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/update_or_create_rule_actions_saved_object.ts deleted file mode 100644 index 32f7198594bfc..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/update_or_create_rule_actions_saved_object.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { AlertServices } from '../../../../../alerting/server'; -import { RuleAlertAction } from '../../../../common/detection_engine/types'; -import { getRuleActionsSavedObject } from './get_rule_actions_saved_object'; -import { createRuleActionsSavedObject } from './create_rule_actions_saved_object'; -import { updateRuleActionsSavedObject } from './update_rule_actions_saved_object'; -import { RuleActions } from './types'; - -interface UpdateOrCreateRuleActionsSavedObject { - ruleAlertId: string; - savedObjectsClient: AlertServices['savedObjectsClient']; - actions: RuleAlertAction[] | undefined; - throttle: string | null | undefined; -} - -export const updateOrCreateRuleActionsSavedObject = async ({ - savedObjectsClient, - ruleAlertId, - actions, - throttle, -}: UpdateOrCreateRuleActionsSavedObject): Promise => { - const ruleActions = await getRuleActionsSavedObject({ ruleAlertId, savedObjectsClient }); - - if (ruleActions != null) { - return updateRuleActionsSavedObject({ - ruleAlertId, - savedObjectsClient, - actions, - throttle, - ruleActions, - }); - } else { - return createRuleActionsSavedObject({ ruleAlertId, savedObjectsClient, actions, throttle }); - } -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/update_rule_actions_saved_object.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/update_rule_actions_saved_object.ts deleted file mode 100644 index 98767f24b5bb4..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/update_rule_actions_saved_object.ts +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { AlertServices } from '../../../../../alerting/server'; -import { ruleActionsSavedObjectType } from './saved_object_mappings'; -import { RulesActionsSavedObject } from './get_rule_actions_saved_object'; -import { RuleAlertAction } from '../../../../common/detection_engine/types'; -import { getThrottleOptions } from './utils'; -import { IRuleActionsAttributesSavedObjectAttributes } from './types'; - -interface DeleteRuleActionsSavedObject { - ruleAlertId: string; - savedObjectsClient: AlertServices['savedObjectsClient']; - actions: RuleAlertAction[] | undefined; - throttle: string | null | undefined; - ruleActions: RulesActionsSavedObject; -} - -export const updateRuleActionsSavedObject = async ({ - ruleAlertId, - savedObjectsClient, - actions, - throttle, - ruleActions, -}: DeleteRuleActionsSavedObject): Promise => { - const throttleOptions = throttle - ? getThrottleOptions(throttle) - : { - ruleThrottle: ruleActions.ruleThrottle, - alertThrottle: ruleActions.alertThrottle, - }; - - const options = { - actions: actions ?? ruleActions.actions, - ...throttleOptions, - }; - - await savedObjectsClient.update( - ruleActionsSavedObjectType, - ruleActions.id, - { - ruleAlertId, - ...options, - } - ); - - return { - id: ruleActions.id, - ...options, - }; -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/utils.ts deleted file mode 100644 index b6fb4fcf28b33..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions/utils.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { SavedObjectsUpdateResponse } from 'kibana/server'; -import { RuleAlertAction } from '../../../../common/detection_engine/types'; -import { IRuleActionsAttributesSavedObjectAttributes } from './types'; - -export const getThrottleOptions = ( - throttle: string | undefined | null = 'no_actions' -): { - ruleThrottle: string; - alertThrottle: string | null; -} => ({ - ruleThrottle: throttle ?? 'no_actions', - alertThrottle: ['no_actions', 'rule'].includes(throttle ?? 'no_actions') ? null : throttle, -}); - -export const getRuleActionsFromSavedObject = ( - savedObject: SavedObjectsUpdateResponse -): { - id: string; - actions: RuleAlertAction[]; - alertThrottle: string | null; - ruleThrottle: string; -} => ({ - id: savedObject.id, - actions: savedObject.attributes.actions || [], - alertThrottle: savedObject.attributes.alertThrottle || null, - ruleThrottle: savedObject.attributes.ruleThrottle || 'no_actions', -}); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_factory.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_factory.ts index 8ea695ee9940b..879d776f83df2 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_factory.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/create_security_rule_type_factory.ts @@ -33,6 +33,7 @@ import { createResultObject } from './utils'; import { bulkCreateFactory, wrapHitsFactory } from './factories'; import { RuleExecutionLogClient } from '../rule_execution_log/rule_execution_log_client'; import { RuleExecutionStatus } from '../../../../common/detection_engine/schemas/common/schemas'; +import { scheduleThrottledNotificationActions } from '../notifications/schedule_throttle_notification_actions'; /* eslint-disable complexity */ export const createSecurityRuleTypeFactory: CreateSecurityRuleTypeFactory = ({ @@ -50,6 +51,7 @@ export const createSecurityRuleTypeFactory: CreateSecurityRuleTypeFactory = ({ alertId, params, previousStartedAt, + startedAt, services, spaceId, state, @@ -277,7 +279,20 @@ export const createSecurityRuleTypeFactory: CreateSecurityRuleTypeFactory = ({ logger.info(buildRuleMessage(`Found ${createdSignalsCount} signals for notification.`)); - if (createdSignalsCount) { + if (ruleSO.attributes.throttle != null) { + await scheduleThrottledNotificationActions({ + alertInstance: services.alertInstanceFactory(alertId), + throttle: ruleSO.attributes.throttle, + startedAt, + id: ruleSO.id, + kibanaSiemAppUrl: (meta as { kibana_siem_app_url?: string } | undefined) + ?.kibana_siem_app_url, + outputIndex: ruleDataClient.indexName, + ruleId, + esClient: services.scopedClusterClient.asCurrentUser, + notificationRuleParams, + }); + } else if (createdSignalsCount) { const alertInstance = services.alertInstanceFactory(alertId); scheduleNotificationActions({ alertInstance, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.mock.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.mock.ts index f7aae1564bb17..34fb7bf5f8291 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.mock.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.mock.ts @@ -51,6 +51,7 @@ export const getCreateRulesOptionsMock = (): CreateRulesOptions => ({ threatIndicatorPath: undefined, threshold: undefined, timestampOverride: undefined, + throttle: null, to: 'now', type: 'query', references: ['http://www.example.com'], @@ -103,6 +104,7 @@ export const getCreateMlRulesOptionsMock = (): CreateRulesOptions => ({ itemsPerSearch: undefined, threshold: undefined, timestampOverride: undefined, + throttle: null, to: 'now', type: 'machine_learning', references: ['http://www.example.com'], diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.ts index c94cb39572ddc..bc415a0de6961 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/create_rules.ts @@ -11,10 +11,15 @@ import { } from '../../../../common/detection_engine/utils'; import { transformRuleToAlertAction } from '../../../../common/detection_engine/transform_actions'; import { SanitizedAlert } from '../../../../../alerting/common'; -import { SERVER_APP_ID, SIGNALS_ID } from '../../../../common/constants'; +import { + NOTIFICATION_THROTTLE_NO_ACTIONS, + SERVER_APP_ID, + SIGNALS_ID, +} from '../../../../common/constants'; import { CreateRulesOptions } from './types'; import { addTags } from './add_tags'; import { PartialFilter, RuleTypeParams } from '../types'; +import { transformToAlertThrottle, transformToNotifyWhen } from './utils'; export const createRules = async ({ rulesClient, @@ -59,6 +64,7 @@ export const createRules = async ({ threatMapping, threshold, timestampOverride, + throttle, to, type, references, @@ -67,7 +73,7 @@ export const createRules = async ({ exceptionsList, actions, }: CreateRulesOptions): Promise> => { - return rulesClient.create({ + const rule = await rulesClient.create({ data: { name, tags: addTags(tags, ruleId, immutable), @@ -126,8 +132,15 @@ export const createRules = async ({ schedule: { interval }, enabled, actions: actions.map(transformRuleToAlertAction), - throttle: null, - notifyWhen: null, + throttle: transformToAlertThrottle(throttle), + notifyWhen: transformToNotifyWhen(throttle), }, }); + + // Mute the rule if it is first created with the explicit no actions + if (throttle === NOTIFICATION_THROTTLE_NO_ACTIONS) { + await rulesClient.muteAll({ id: rule.id }); + } + + return rule; }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.test.ts index ce9ec2afeb6da..f8e1f873377a9 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.test.ts @@ -5,30 +5,22 @@ * 2.0. */ -import { savedObjectsClientMock } from '../../../../../../../src/core/server/mocks'; import { rulesClientMock } from '../../../../../alerting/server/mocks'; import { deleteRules } from './delete_rules'; -import { deleteNotifications } from '../notifications/delete_notifications'; -import { deleteRuleActionsSavedObject } from '../rule_actions/delete_rule_actions_saved_object'; import { SavedObjectsFindResult } from '../../../../../../../src/core/server'; -import { IRuleStatusSOAttributes } from './types'; +import { DeleteRuleOptions, IRuleStatusSOAttributes } from './types'; import { ruleExecutionLogClientMock } from '../rule_execution_log/__mocks__/rule_execution_log_client'; -jest.mock('../notifications/delete_notifications'); -jest.mock('../rule_actions/delete_rule_actions_saved_object'); - describe('deleteRules', () => { let rulesClient: ReturnType; let ruleStatusClient: ReturnType; - let savedObjectsClient: ReturnType; beforeEach(() => { rulesClient = rulesClientMock.create(); - savedObjectsClient = savedObjectsClientMock.create(); ruleStatusClient = ruleExecutionLogClientMock.create(); }); - it('should delete the rule along with its notifications, actions, and statuses', async () => { + it('should delete the rule along with its actions, and statuses', async () => { const ruleStatus: SavedObjectsFindResult = { id: 'statusId', type: '', @@ -49,9 +41,8 @@ describe('deleteRules', () => { score: 0, }; - const rule = { + const rule: DeleteRuleOptions = { rulesClient, - savedObjectsClient, ruleStatusClient, id: 'ruleId', ruleStatuses: [ruleStatus], @@ -60,14 +51,6 @@ describe('deleteRules', () => { await deleteRules(rule); expect(rulesClient.delete).toHaveBeenCalledWith({ id: rule.id }); - expect(deleteNotifications).toHaveBeenCalledWith({ - ruleAlertId: rule.id, - rulesClient: expect.any(Object), - }); - expect(deleteRuleActionsSavedObject).toHaveBeenCalledWith({ - ruleAlertId: rule.id, - savedObjectsClient: expect.any(Object), - }); expect(ruleStatusClient.delete).toHaveBeenCalledWith(ruleStatus.id); }); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.ts index 2c68887c73f0d..b4b6e3c824205 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/delete_rules.ts @@ -5,19 +5,14 @@ * 2.0. */ -import { deleteNotifications } from '../notifications/delete_notifications'; -import { deleteRuleActionsSavedObject } from '../rule_actions/delete_rule_actions_saved_object'; import { DeleteRuleOptions } from './types'; export const deleteRules = async ({ rulesClient, - savedObjectsClient, ruleStatusClient, ruleStatuses, id, }: DeleteRuleOptions) => { await rulesClient.delete({ id }); - await deleteNotifications({ rulesClient, ruleAlertId: id }); - await deleteRuleActionsSavedObject({ ruleAlertId: id, savedObjectsClient }); ruleStatuses.forEach(async (obj) => ruleStatusClient.delete(obj.id)); }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.ts index 9ec51cf18c7c7..4a79f0089491f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_all.ts @@ -19,7 +19,9 @@ export const getExportAll = async ( }> => { const ruleAlertTypes = await getNonPackagedRules({ rulesClient }); const rules = transformAlertsToRules(ruleAlertTypes); - const rulesNdjson = transformDataToNdjson(rules); + // We do not support importing/exporting actions. When we do, delete this line of code + const rulesWithoutActions = rules.map((rule) => ({ ...rule, actions: [] })); + const rulesNdjson = transformDataToNdjson(rulesWithoutActions); const exportDetails = getExportDetailsNdjson(rules); return { rulesNdjson, exportDetails }; }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.ts index 5d33e37c2ecf9..812310bcb501a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/get_export_by_object_ids.ts @@ -40,8 +40,10 @@ export const getExportByObjectIds = async ( exportDetails: string; }> => { const rulesAndErrors = await getRulesFromObjects(rulesClient, objects); - const rulesNdjson = transformDataToNdjson(rulesAndErrors.rules); - const exportDetails = getExportDetailsNdjson(rulesAndErrors.rules, rulesAndErrors.missingRules); + // We do not support importing/exporting actions. When we do, delete this line of code + const rulesWithoutActions = rulesAndErrors.rules.map((rule) => ({ ...rule, actions: [] })); + const rulesNdjson = transformDataToNdjson(rulesWithoutActions); + const exportDetails = getExportDetailsNdjson(rulesWithoutActions, rulesAndErrors.missingRules); return { rulesNdjson, exportDetails }; }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/install_prepacked_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/install_prepacked_rules.ts index 587ce3f002b80..1681ac7f1659f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/install_prepacked_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/install_prepacked_rules.ts @@ -113,6 +113,7 @@ export const installPrepackagedRules = ( threatIndex, threatIndicatorPath, threshold, + throttle: null, // At this time there is no pre-packaged actions timestampOverride, references, note, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.mock.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.mock.ts index 3f807c0c6082d..9ebec947bcc0e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.mock.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.mock.ts @@ -50,6 +50,7 @@ export const getPatchRulesOptionsMock = (): PatchRulesOptions => ({ threatQuery: undefined, threatMapping: undefined, threatLanguage: undefined, + throttle: null, concurrentSearches: undefined, itemsPerSearch: undefined, timestampOverride: undefined, @@ -102,6 +103,7 @@ export const getPatchMlRulesOptionsMock = (): PatchRulesOptions => ({ threatQuery: undefined, threatMapping: undefined, threatLanguage: undefined, + throttle: null, concurrentSearches: undefined, itemsPerSearch: undefined, timestampOverride: undefined, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.test.ts index 1bd2656e41bae..dbfc1427abf95 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.test.ts @@ -8,6 +8,9 @@ import { patchRules } from './patch_rules'; import { getPatchRulesOptionsMock, getPatchMlRulesOptionsMock } from './patch_rules.mock'; import { PatchRulesOptions } from './types'; +import { RulesClientMock } from '../../../../../alerting/server/rules_client.mock'; +import { getAlertMock } from '../routes/__mocks__/request_responses'; +import { getQueryRuleParams } from '../schemas/rule_schemas.mock'; describe('patchRules', () => { it('should call rulesClient.disable if the rule was enabled and enabled is false', async () => { @@ -16,6 +19,9 @@ describe('patchRules', () => { ...rulesOptionsMock, enabled: false, }; + ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( + getAlertMock(getQueryRuleParams()) + ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.disable).toHaveBeenCalledWith( expect.objectContaining({ @@ -33,6 +39,9 @@ describe('patchRules', () => { if (ruleOptions.rule != null) { ruleOptions.rule.enabled = false; } + ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( + getAlertMock(getQueryRuleParams()) + ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.enable).toHaveBeenCalledWith( expect.objectContaining({ @@ -50,6 +59,9 @@ describe('patchRules', () => { if (ruleOptions.rule != null) { ruleOptions.rule.enabled = false; } + ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( + getAlertMock(getQueryRuleParams()) + ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.update).toHaveBeenCalledWith( expect.objectContaining({ @@ -73,6 +85,9 @@ describe('patchRules', () => { if (ruleOptions.rule != null) { ruleOptions.rule.enabled = false; } + ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( + getAlertMock(getQueryRuleParams()) + ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.update).toHaveBeenCalledWith( expect.objectContaining({ @@ -102,6 +117,9 @@ describe('patchRules', () => { }, ], }; + ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( + getAlertMock(getQueryRuleParams()) + ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.update).toHaveBeenCalledWith( expect.objectContaining({ @@ -136,7 +154,9 @@ describe('patchRules', () => { }, ]; } - + ((ruleOptions.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( + getAlertMock(getQueryRuleParams()) + ); await patchRules(ruleOptions); expect(ruleOptions.rulesClient.update).toHaveBeenCalledWith( expect.objectContaining({ diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.ts index 39de70f702bd8..bc1faa5dff470 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/patch_rules.ts @@ -17,7 +17,15 @@ import { internalRuleUpdate, RuleParams } from '../schemas/rule_schemas'; import { addTags } from './add_tags'; import { enableRule } from './enable_rule'; import { PatchRulesOptions } from './types'; -import { calculateInterval, calculateName, calculateVersion, removeUndefined } from './utils'; +import { + calculateInterval, + calculateName, + calculateVersion, + maybeMute, + removeUndefined, + transformToAlertThrottle, + transformToNotifyWhen, +} from './utils'; class PatchError extends Error { public readonly statusCode: number; @@ -68,6 +76,7 @@ export const patchRules = async ({ concurrentSearches, itemsPerSearch, timestampOverride, + throttle, to, type, references, @@ -179,8 +188,8 @@ export const patchRules = async ({ const newRule = { tags: addTags(tags ?? rule.tags, rule.params.ruleId, rule.params.immutable), - throttle: null, - notifyWhen: null, + throttle: throttle !== undefined ? transformToAlertThrottle(throttle) : rule.throttle, + notifyWhen: throttle !== undefined ? transformToNotifyWhen(throttle) : rule.notifyWhen, name: calculateName({ updatedName: name, originalName: rule.name }), schedule: { interval: calculateInterval(interval, rule.schedule.interval), @@ -188,6 +197,7 @@ export const patchRules = async ({ actions: actions?.map(transformRuleToAlertAction) ?? rule.actions, params: removeUndefined(nextParams), }; + const [validated, errors] = validate(newRule, internalRuleUpdate); if (errors != null || validated === null) { throw new PatchError(`Applying patch would create invalid rule: ${errors}`, 400); @@ -198,6 +208,10 @@ export const patchRules = async ({ data: validated, }); + if (throttle !== undefined) { + await maybeMute({ rulesClient, muteAll: rule.muteAll, throttle, id: update.id }); + } + if (rule.enabled && enabled === false) { await rulesClient.disable({ id: rule.id }); } else if (!rule.enabled && enabled === true) { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts index 31e1ba5201020..235217761c8b1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/types.ts @@ -12,7 +12,6 @@ import { SavedObject, SavedObjectAttributes, SavedObjectsFindResponse, - SavedObjectsClientContract, SavedObjectsFindResult, } from 'kibana/server'; import type { @@ -42,6 +41,8 @@ import type { Severity, MaxSignalsOrUndefined, MaxSignals, + ThrottleOrUndefinedOrNull, + ThrottleOrNull, } from '@kbn/securitysolution-io-ts-alerting-types'; import type { VersionOrUndefined, Version } from '@kbn/securitysolution-io-ts-types'; @@ -256,6 +257,7 @@ export interface CreateRulesOptions { concurrentSearches: ConcurrentSearchesOrUndefined; itemsPerSearch: ItemsPerSearchOrUndefined; threatLanguage: ThreatLanguageOrUndefined; + throttle: ThrottleOrNull; timestampOverride: TimestampOverrideOrUndefined; to: To; type: Type; @@ -315,6 +317,7 @@ export interface PatchRulesOptions { threatQuery: ThreatQueryOrUndefined; threatMapping: ThreatMappingOrUndefined; threatLanguage: ThreatLanguageOrUndefined; + throttle: ThrottleOrUndefinedOrNull; timestampOverride: TimestampOverrideOrUndefined; to: ToOrUndefined; type: TypeOrUndefined; @@ -334,7 +337,6 @@ export interface ReadRuleOptions { export interface DeleteRuleOptions { rulesClient: RulesClient; - savedObjectsClient: SavedObjectsClientContract; ruleStatusClient: IRuleExecutionLogClient; ruleStatuses: Array>; id: Id; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.ts index d60cf1ef016df..fcfab2fda1a8b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_prepacked_rules.ts @@ -125,6 +125,7 @@ export const createPromises = ( references, version, note, + throttle, anomaly_threshold: anomalyThreshold, timeline_id: timelineId, timeline_title: timelineTitle, @@ -188,6 +189,7 @@ export const createPromises = ( timelineTitle, machineLearningJobId, exceptionsList, + throttle, actions: undefined, }); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.test.ts index 7d04d3412899d..e46b4fad63a92 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.test.ts @@ -18,6 +18,9 @@ describe('updateRules', () => { ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).get.mockResolvedValue( getAlertMock(getQueryRuleParams()) ); + ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( + getAlertMock(getQueryRuleParams()) + ); await updateRules(rulesOptionsMock); @@ -36,6 +39,9 @@ describe('updateRules', () => { ...getAlertMock(getQueryRuleParams()), enabled: false, }); + ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( + getAlertMock(getQueryRuleParams()) + ); await updateRules(rulesOptionsMock); @@ -50,6 +56,10 @@ describe('updateRules', () => { const rulesOptionsMock = getUpdateMlRulesOptionsMock(); rulesOptionsMock.ruleUpdate.enabled = true; + ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).update.mockResolvedValue( + getAlertMock(getMlRuleParams()) + ); + ((rulesOptionsMock.rulesClient as unknown) as RulesClientMock).get.mockResolvedValue( getAlertMock(getMlRuleParams()) ); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.ts index 7ef2e800c23a4..a3e0ba31f0c3c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules.ts @@ -16,6 +16,7 @@ import { addTags } from './add_tags'; import { typeSpecificSnakeToCamel } from '../schemas/rule_converters'; import { InternalRuleUpdate, RuleParams } from '../schemas/rule_schemas'; import { enableRule } from './enable_rule'; +import { maybeMute, transformToAlertThrottle, transformToNotifyWhen } from './utils'; export const updateRules = async ({ spaceId, @@ -73,12 +74,9 @@ export const updateRules = async ({ ...typeSpecificParams, }, schedule: { interval: ruleUpdate.interval ?? '5m' }, - actions: - ruleUpdate.throttle === 'rule' - ? (ruleUpdate.actions ?? []).map(transformRuleToAlertAction) - : [], - throttle: null, - notifyWhen: null, + actions: ruleUpdate.actions != null ? ruleUpdate.actions.map(transformRuleToAlertAction) : [], + throttle: transformToAlertThrottle(ruleUpdate.throttle), + notifyWhen: transformToNotifyWhen(ruleUpdate.throttle), }; const update = await rulesClient.update({ @@ -86,6 +84,13 @@ export const updateRules = async ({ data: newInternalRule, }); + await maybeMute({ + rulesClient, + muteAll: existingRule.muteAll, + throttle: ruleUpdate.throttle, + id: update.id, + }); + if (existingRule.enabled && enabled === false) { await rulesClient.disable({ id: existingRule.id }); } else if (!existingRule.enabled && enabled === true) { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules_notifications.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules_notifications.ts deleted file mode 100644 index 5f2729f129948..0000000000000 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/update_rules_notifications.ts +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { RuleAlertAction } from '../../../../common/detection_engine/types'; -import { RulesClient, AlertServices } from '../../../../../alerting/server'; -import { updateOrCreateRuleActionsSavedObject } from '../rule_actions/update_or_create_rule_actions_saved_object'; -import { updateNotifications } from '../notifications/update_notifications'; -import { RuleActions } from '../rule_actions/types'; - -interface UpdateRulesNotifications { - rulesClient: RulesClient; - savedObjectsClient: AlertServices['savedObjectsClient']; - ruleAlertId: string; - actions: RuleAlertAction[] | undefined; - throttle: string | null | undefined; - enabled: boolean; - name: string; -} - -export const updateRulesNotifications = async ({ - rulesClient, - savedObjectsClient, - ruleAlertId, - actions, - enabled, - name, - throttle, -}: UpdateRulesNotifications): Promise => { - const ruleActions = await updateOrCreateRuleActionsSavedObject({ - savedObjectsClient, - ruleAlertId, - actions, - throttle, - }); - - await updateNotifications({ - rulesClient, - ruleAlertId, - enabled, - name, - actions: ruleActions.actions, - interval: ruleActions.alertThrottle, - }); - - return ruleActions; -}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.test.ts index 9435ccf3607ed..602e422772711 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.test.ts @@ -5,7 +5,20 @@ * 2.0. */ -import { calculateInterval, calculateVersion, calculateName } from './utils'; +import { + calculateInterval, + calculateVersion, + calculateName, + transformToNotifyWhen, + transformToAlertThrottle, + transformFromAlertThrottle, +} from './utils'; +import { SanitizedAlert } from '../../../../../alerting/common'; +import { RuleParams } from '../schemas/rule_schemas'; +import { + NOTIFICATION_THROTTLE_NO_ACTIONS, + NOTIFICATION_THROTTLE_RULE, +} from '../../../../common/constants'; describe('utils', () => { describe('#calculateInterval', () => { @@ -198,4 +211,137 @@ describe('utils', () => { expect(name).toEqual('untitled'); }); }); + + describe('#transformToNotifyWhen', () => { + test('"null" throttle returns "null" notify', () => { + expect(transformToNotifyWhen(null)).toEqual(null); + }); + + test('"undefined" throttle returns "null" notify', () => { + expect(transformToNotifyWhen(undefined)).toEqual(null); + }); + + test('"NOTIFICATION_THROTTLE_NO_ACTIONS" throttle returns "null" notify', () => { + expect(transformToNotifyWhen(NOTIFICATION_THROTTLE_NO_ACTIONS)).toEqual(null); + }); + + test('"NOTIFICATION_THROTTLE_RULE" throttle returns "onActiveAlert" notify', () => { + expect(transformToNotifyWhen(NOTIFICATION_THROTTLE_RULE)).toEqual('onActiveAlert'); + }); + + test('"1h" throttle returns "onThrottleInterval" notify', () => { + expect(transformToNotifyWhen('1d')).toEqual('onThrottleInterval'); + }); + + test('"1d" throttle returns "onThrottleInterval" notify', () => { + expect(transformToNotifyWhen('1d')).toEqual('onThrottleInterval'); + }); + + test('"7d" throttle returns "onThrottleInterval" notify', () => { + expect(transformToNotifyWhen('7d')).toEqual('onThrottleInterval'); + }); + }); + + describe('#transformToAlertThrottle', () => { + test('"null" throttle returns "null" alert throttle', () => { + expect(transformToAlertThrottle(null)).toEqual(null); + }); + + test('"undefined" throttle returns "null" alert throttle', () => { + expect(transformToAlertThrottle(undefined)).toEqual(null); + }); + + test('"NOTIFICATION_THROTTLE_NO_ACTIONS" throttle returns "null" alert throttle', () => { + expect(transformToAlertThrottle(NOTIFICATION_THROTTLE_NO_ACTIONS)).toEqual(null); + }); + + test('"NOTIFICATION_THROTTLE_RULE" throttle returns "null" alert throttle', () => { + expect(transformToAlertThrottle(NOTIFICATION_THROTTLE_RULE)).toEqual(null); + }); + + test('"1h" throttle returns "1h" alert throttle', () => { + expect(transformToAlertThrottle('1h')).toEqual('1h'); + }); + + test('"1d" throttle returns "1d" alert throttle', () => { + expect(transformToAlertThrottle('1d')).toEqual('1d'); + }); + + test('"7d" throttle returns "7d" alert throttle', () => { + expect(transformToAlertThrottle('7d')).toEqual('7d'); + }); + }); + + describe('#transformFromAlertThrottle', () => { + test('muteAll returns "NOTIFICATION_THROTTLE_NO_ACTIONS" even with notifyWhen set and actions has an array element', () => { + expect( + transformFromAlertThrottle({ + muteAll: true, + notifyWhen: 'onActiveAlert', + actions: [ + { + group: 'group', + id: 'id-123', + actionTypeId: 'id-456', + params: {}, + }, + ], + } as SanitizedAlert) + ).toEqual(NOTIFICATION_THROTTLE_NO_ACTIONS); + }); + + test('returns "NOTIFICATION_THROTTLE_NO_ACTIONS" if actions is an empty array and we do not have a throttle', () => { + expect( + transformFromAlertThrottle(({ + muteAll: false, + notifyWhen: 'onActiveAlert', + actions: [], + } as unknown) as SanitizedAlert) + ).toEqual(NOTIFICATION_THROTTLE_NO_ACTIONS); + }); + + test('returns "NOTIFICATION_THROTTLE_NO_ACTIONS" if actions is an empty array and we have a throttle', () => { + expect( + transformFromAlertThrottle(({ + muteAll: false, + notifyWhen: 'onThrottleInterval', + actions: [], + throttle: '1d', + } as unknown) as SanitizedAlert) + ).toEqual(NOTIFICATION_THROTTLE_NO_ACTIONS); + }); + + test('it returns "NOTIFICATION_THROTTLE_RULE" if "notifyWhen" is set, muteAll is false and we have an actions array', () => { + expect( + transformFromAlertThrottle({ + muteAll: false, + notifyWhen: 'onActiveAlert', + actions: [ + { + group: 'group', + id: 'id-123', + actionTypeId: 'id-456', + params: {}, + }, + ], + } as SanitizedAlert) + ).toEqual(NOTIFICATION_THROTTLE_RULE); + }); + + test('it returns "NOTIFICATION_THROTTLE_RULE" if "notifyWhen" and "throttle" are not set, but we have an actions array', () => { + expect( + transformFromAlertThrottle({ + muteAll: false, + actions: [ + { + group: 'group', + id: 'id-123', + actionTypeId: 'id-456', + params: {}, + }, + ], + } as SanitizedAlert) + ).toEqual(NOTIFICATION_THROTTLE_RULE); + }); + }); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts index 6e6bb38e46df6..d9d5151a64c46 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/utils.ts @@ -27,6 +27,7 @@ import type { } from '@kbn/securitysolution-io-ts-alerting-types'; import type { ListArrayOrUndefined } from '@kbn/securitysolution-io-ts-list-types'; import type { VersionOrUndefined } from '@kbn/securitysolution-io-ts-types'; +import { AlertNotifyWhenType, SanitizedAlert } from '../../../../../alerting/common'; import { DescriptionOrUndefined, AnomalyThresholdOrUndefined, @@ -53,6 +54,12 @@ import { EventCategoryOverrideOrUndefined, } from '../../../../common/detection_engine/schemas/common/schemas'; import { PartialFilter } from '../types'; +import { RuleParams } from '../schemas/rule_schemas'; +import { + NOTIFICATION_THROTTLE_NO_ACTIONS, + NOTIFICATION_THROTTLE_RULE, +} from '../../../../common/constants'; +import { RulesClient } from '../../../../../alerting/server'; export const calculateInterval = ( interval: string | undefined, @@ -167,3 +174,87 @@ export const calculateName = ({ return 'untitled'; } }; + +/** + * Given a throttle from a "security_solution" rule this will transform it into an "alerting" notifyWhen + * on their saved object. + * @params throttle The throttle from a "security_solution" rule + * @returns The correct "NotifyWhen" for a Kibana alerting. + */ +export const transformToNotifyWhen = ( + throttle: string | null | undefined +): AlertNotifyWhenType | null => { + if (throttle == null || throttle === NOTIFICATION_THROTTLE_NO_ACTIONS) { + return null; // Although I return null, this does not change the value of the "notifyWhen" and it keeps the current value of "notifyWhen" + } else if (throttle === NOTIFICATION_THROTTLE_RULE) { + return 'onActiveAlert'; + } else { + return 'onThrottleInterval'; + } +}; + +/** + * Given a throttle from a "security_solution" rule this will transform it into an "alerting" "throttle" + * on their saved object. + * @params throttle The throttle from a "security_solution" rule + * @returns The "alerting" throttle + */ +export const transformToAlertThrottle = (throttle: string | null | undefined): string | null => { + if ( + throttle == null || + throttle === NOTIFICATION_THROTTLE_RULE || + throttle === NOTIFICATION_THROTTLE_NO_ACTIONS + ) { + return null; + } else { + return throttle; + } +}; + +/** + * Given a throttle from an "alerting" Saved Object (SO) this will transform it into a "security_solution" + * throttle type. + * @params throttle The throttle from a "alerting" Saved Object (SO) + * @returns The "security_solution" throttle + */ +export const transformFromAlertThrottle = (rule: SanitizedAlert): string => { + if (rule.muteAll || rule.actions.length === 0) { + return NOTIFICATION_THROTTLE_NO_ACTIONS; + } else if ( + rule.notifyWhen === 'onActiveAlert' || + (rule.throttle == null && rule.notifyWhen == null) + ) { + return NOTIFICATION_THROTTLE_RULE; + } else if (rule.throttle == null) { + return NOTIFICATION_THROTTLE_NO_ACTIONS; + } else { + return rule.throttle; + } +}; + +/** + * Mutes, unmutes, or does nothing to the alert if no changed is detected + * @param id The id of the alert to (un)mute + * @param rulesClient the rules client + * @param muteAll If the existing alert has all actions muted + * @param throttle If the existing alert has a throttle set + */ +export const maybeMute = async ({ + id, + rulesClient, + muteAll, + throttle, +}: { + id: SanitizedAlert['id']; + rulesClient: RulesClient; + muteAll: SanitizedAlert['muteAll']; + throttle: string | null | undefined; +}): Promise => { + if (muteAll && throttle !== NOTIFICATION_THROTTLE_NO_ACTIONS) { + await rulesClient.unmuteAll({ id }); + } else if (!muteAll && throttle === NOTIFICATION_THROTTLE_NO_ACTIONS) { + await rulesClient.muteAll({ id }); + } else { + // Do nothing, no-operation + } +}; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_converters.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_converters.ts index 577d52c789857..8a67636c6649d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_converters.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_converters.ts @@ -23,7 +23,6 @@ import { FullResponseSchema, ResponseTypeSpecific, } from '../../../../common/detection_engine/schemas/request'; -import { RuleActions } from '../rule_actions/types'; import { AppClient } from '../../../types'; import { addTags } from '../rules/add_tags'; import { DEFAULT_MAX_SIGNALS, SERVER_APP_ID, SIGNALS_ID } from '../../../../common/constants'; @@ -32,6 +31,11 @@ import { SanitizedAlert } from '../../../../../alerting/common'; import { IRuleStatusSOAttributes } from '../rules/types'; import { transformTags } from '../routes/rules/utils'; import { RuleExecutionStatus } from '../../../../common/detection_engine/schemas/common/schemas'; +import { + transformFromAlertThrottle, + transformToAlertThrottle, + transformToNotifyWhen, +} from '../rules/utils'; // These functions provide conversions from the request API schema to the internal rule schema and from the internal rule schema // to the response API schema. This provides static type-check assurances that the internal schema is in sync with the API schema for @@ -156,9 +160,9 @@ export const convertCreateAPIToInternalSchema = ( }, schedule: { interval: input.interval ?? '5m' }, enabled: input.enabled ?? true, - actions: input.throttle === 'rule' ? (input.actions ?? []).map(transformRuleToAlertAction) : [], - throttle: null, - notifyWhen: null, + actions: input.actions?.map(transformRuleToAlertAction) ?? [], + throttle: transformToAlertThrottle(input.throttle), + notifyWhen: transformToNotifyWhen(input.throttle), }; }; @@ -271,7 +275,6 @@ export const commonParamsCamelToSnake = (params: BaseRuleParams) => { export const internalRuleToAPIResponse = ( rule: SanitizedAlert, - ruleActions?: RuleActions | null, ruleStatus?: IRuleStatusSOAttributes ): FullResponseSchema => { const mergedStatus = ruleStatus ? mergeAlertWithSidecarStatus(rule, ruleStatus) : undefined; @@ -291,8 +294,14 @@ export const internalRuleToAPIResponse = ( // Type specific security solution rule params ...typeSpecificCamelToSnake(rule.params), // Actions - throttle: ruleActions?.ruleThrottle || 'no_actions', - actions: ruleActions?.actions ?? [], + throttle: transformFromAlertThrottle(rule), + actions: + rule?.actions.map((action) => ({ + group: action.group, + id: action.id, + action_type_id: action.actionTypeId, + params: action.params, + })) ?? [], // Rule status status: mergedStatus?.status ?? undefined, status_date: mergedStatus?.statusDate ?? undefined, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.ts index 2af481b195a07..c414ecc8655a3 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/schemas/rule_schemas.ts @@ -189,6 +189,13 @@ export type TypeSpecificRuleParams = t.TypeOf; export const ruleParams = t.intersection([baseRuleParams, typeSpecificRuleParams]); export type RuleParams = t.TypeOf; +export const notifyWhen = t.union([ + t.literal('onActionGroupChange'), + t.literal('onActiveAlert'), + t.literal('onThrottleInterval'), + t.null, +]); + export const internalRuleCreate = t.type({ name, tags, @@ -201,7 +208,7 @@ export const internalRuleCreate = t.type({ actions: actionsCamel, params: ruleParams, throttle: throttleOrNull, - notifyWhen: t.null, + notifyWhen, }); export type InternalRuleCreate = t.TypeOf; @@ -214,7 +221,7 @@ export const internalRuleUpdate = t.type({ actions: actionsCamel, params: ruleParams, throttle: throttleOrNull, - notifyWhen: t.null, + notifyWhen, }); export type InternalRuleUpdate = t.TypeOf; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts index df2ccf61c3f29..39728235db39c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.test.ts @@ -19,7 +19,6 @@ import { } from './utils'; import { parseScheduleDates } from '@kbn/securitysolution-io-ts-utils'; import { RuleExecutorOptions, SearchAfterAndBulkCreateReturnType } from './types'; -import { scheduleNotificationActions } from '../notifications/schedule_notification_actions'; import { RuleAlertType } from '../rules/types'; import { listMock } from '../../../../../lists/server/mocks'; import { getListClientMock } from '../../../../../lists/server/services/lists/list_client.mock'; @@ -34,6 +33,7 @@ import { getMlRuleParams, getQueryRuleParams } from '../schemas/rule_schemas.moc import { ResponseError } from '@elastic/elasticsearch/lib/errors'; import { allowedExperimentalValues } from '../../../../common/experimental_features'; import { ruleRegistryMocks } from '../../../../../rule_registry/server/mocks'; +import { scheduleNotificationActions } from '../notifications/schedule_notification_actions'; import { ruleExecutionLogClientMock } from '../rule_execution_log/__mocks__/rule_execution_log_client'; import { RuleExecutionStatus } from '../../../../common/detection_engine/schemas/common/schemas'; @@ -329,12 +329,6 @@ describe('signal_rule_alert_type', () => { }); await alert.executor(payload); - - expect(scheduleNotificationActions).toHaveBeenCalledWith( - expect.objectContaining({ - signalsCount: 10, - }) - ); }); it('should resolve results_link when meta is an empty object to use "/app/security"', async () => { diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.ts index 3da9d8538151a..1c4efea0a1d59 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/signal_rule_alert_type.ts @@ -72,6 +72,7 @@ import { injectReferences, extractReferences } from './saved_object_references'; import { RuleExecutionLogClient } from '../rule_execution_log/rule_execution_log_client'; import { IRuleDataPluginService } from '../rule_execution_log/types'; import { RuleExecutionStatus } from '../../../../common/detection_engine/schemas/common/schemas'; +import { scheduleThrottledNotificationActions } from '../notifications/schedule_throttle_notification_actions'; export const signalRulesAlertType = ({ logger, @@ -405,7 +406,20 @@ export const signalRulesAlertType = ({ buildRuleMessage(`Found ${result.createdSignalsCount} signals for notification.`) ); - if (result.createdSignalsCount) { + if (savedObject.attributes.throttle != null) { + await scheduleThrottledNotificationActions({ + alertInstance: services.alertInstanceFactory(alertId), + throttle: savedObject.attributes.throttle, + startedAt, + id: savedObject.id, + kibanaSiemAppUrl: (meta as { kibana_siem_app_url?: string } | undefined) + ?.kibana_siem_app_url, + outputIndex, + ruleId, + esClient: services.scopedClusterClient.asCurrentUser, + notificationRuleParams, + }); + } else if (result.createdSignalsCount) { const alertInstance = services.alertInstanceFactory(alertId); scheduleNotificationActions({ alertInstance, diff --git a/x-pack/plugins/security_solution/server/plugin.ts b/x-pack/plugins/security_solution/server/plugin.ts index 0b803b9990701..734ccc4d5ba8c 100644 --- a/x-pack/plugins/security_solution/server/plugin.ts +++ b/x-pack/plugins/security_solution/server/plugin.ts @@ -52,8 +52,6 @@ import { createQueryAlertType } from './lib/detection_engine/rule_types'; import { initRoutes } from './routes'; import { isAlertExecutor } from './lib/detection_engine/signals/types'; import { signalRulesAlertType } from './lib/detection_engine/signals/signal_rule_alert_type'; -import { rulesNotificationAlertType } from './lib/detection_engine/notifications/rules_notification_alert_type'; -import { isNotificationAlertExecutor } from './lib/detection_engine/notifications/types'; import { ManifestTask } from './endpoint/lib/artifacts'; import { initSavedObjects } from './saved_objects'; import { AppClientFactory } from './client'; @@ -295,17 +293,10 @@ export class Plugin implements IPlugin { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/index.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/index.ts index 2e3469520989d..27474fe563a36 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/index.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/index.ts @@ -47,6 +47,7 @@ export default ({ loadTestFile }: FtrProviderContext): void => { loadTestFile(require.resolve('./delete_signals_migrations')); loadTestFile(require.resolve('./timestamps')); loadTestFile(require.resolve('./runtime')); + loadTestFile(require.resolve('./throttle')); }); // That split here enable us on using a different ciGroup to run the tests diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/throttle.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/throttle.ts new file mode 100644 index 0000000000000..f0fef839482ce --- /dev/null +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/throttle.ts @@ -0,0 +1,357 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; + +import { CreateRulesSchema } from '../../../../plugins/security_solution/common/detection_engine/schemas/request'; +import { + DETECTION_ENGINE_RULES_URL, + NOTIFICATION_THROTTLE_NO_ACTIONS, + NOTIFICATION_THROTTLE_RULE, +} from '../../../../plugins/security_solution/common/constants'; +import { FtrProviderContext } from '../../common/ftr_provider_context'; +import { + createSignalsIndex, + deleteAllAlerts, + deleteSignalsIndex, + getWebHookAction, + getRuleWithWebHookAction, + createRule, + getSimpleRule, + getRule, + updateRule, +} from '../../utils'; + +// eslint-disable-next-line import/no-default-export +export default ({ getService }: FtrProviderContext) => { + const supertest = getService('supertest'); + + /** + * + * These tests will ensure that the existing synchronization between the alerting API and its states of: + * - "notifyWhen" + * - "muteAll" + * - "throttle" + * Work within the security_solution's API and states of "throttle" which currently not a 1 to 1 relationship: + * + * Ref: + * https://www.elastic.co/guide/en/kibana/master/create-and-manage-rules.html#controlling-rules + * https://www.elastic.co/guide/en/kibana/current/mute-all-alerts-api.html + * https://www.elastic.co/guide/en/security/current/rules-api-create.html + */ + describe('throttle', () => { + describe('adding actions', () => { + beforeEach(async () => { + await createSignalsIndex(supertest); + }); + + afterEach(async () => { + await deleteSignalsIndex(supertest); + await deleteAllAlerts(supertest); + }); + + describe('creating a rule', () => { + it('When creating a new action and attaching it to a rule, the rule should have its kibana alerting "mute_all" set to "false" and notify_when set to "onActiveAlert"', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const rule = await createRule(supertest, getRuleWithWebHookAction(hookAction.id)); + const { + body: { mute_all: muteAll, notify_when: notifyWhen }, + } = await supertest.get(`/api/alerting/rule/${rule.id}`); + expect(muteAll).to.eql(false); + expect(notifyWhen).to.eql('onActiveAlert'); + }); + + it('When creating throttle with "NOTIFICATION_THROTTLE_NO_ACTIONS" set and no actions, the rule should have its kibana alerting "mute_all" set to "true" and notify_when set to "onActiveAlert"', async () => { + const ruleWithThrottle: CreateRulesSchema = { + ...getSimpleRule(), + throttle: NOTIFICATION_THROTTLE_NO_ACTIONS, + }; + const rule = await createRule(supertest, ruleWithThrottle); + const { + body: { mute_all: muteAll, notify_when: notifyWhen }, + } = await supertest.get(`/api/alerting/rule/${rule.id}`); + expect(muteAll).to.eql(true); + expect(notifyWhen).to.eql('onActiveAlert'); + }); + + it('When creating throttle with "NOTIFICATION_THROTTLE_NO_ACTIONS" set and with actions set, the rule should have its kibana alerting "mute_all" set to "true" and notify_when set to "onActiveAlert"', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const ruleWithThrottle: CreateRulesSchema = { + ...getRuleWithWebHookAction(hookAction.id), + throttle: NOTIFICATION_THROTTLE_NO_ACTIONS, + }; + const rule = await createRule(supertest, ruleWithThrottle); + const { + body: { mute_all: muteAll, notify_when: notifyWhen }, + } = await supertest.get(`/api/alerting/rule/${rule.id}`); + expect(muteAll).to.eql(true); + expect(notifyWhen).to.eql('onActiveAlert'); + }); + + it('When creating throttle with "NOTIFICATION_THROTTLE_RULE" set and no actions, the rule should have its kibana alerting "mute_all" set to "false" and notify_when set to "onActiveAlert"', async () => { + const ruleWithThrottle: CreateRulesSchema = { + ...getSimpleRule(), + throttle: NOTIFICATION_THROTTLE_RULE, + }; + const rule = await createRule(supertest, ruleWithThrottle); + const { + body: { mute_all: muteAll, notify_when: notifyWhen }, + } = await supertest.get(`/api/alerting/rule/${rule.id}`); + expect(muteAll).to.eql(false); + expect(notifyWhen).to.eql('onActiveAlert'); + }); + + // NOTE: This shows A side effect of how we do not set data on side cars anymore where the user is told they have no actions since the array is empty. + it('When creating throttle with "NOTIFICATION_THROTTLE_RULE" set and no actions, since we do not have any actions, we should get back a throttle of "NOTIFICATION_THROTTLE_NO_ACTIONS"', async () => { + const ruleWithThrottle: CreateRulesSchema = { + ...getSimpleRule(), + throttle: NOTIFICATION_THROTTLE_RULE, + }; + const rule = await createRule(supertest, ruleWithThrottle); + expect(rule.throttle).to.eql(NOTIFICATION_THROTTLE_NO_ACTIONS); + }); + + it('When creating throttle with "NOTIFICATION_THROTTLE_RULE" set and actions set, the rule should have its kibana alerting "mute_all" set to "false" and notify_when set to "onActiveAlert"', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const ruleWithThrottle: CreateRulesSchema = { + ...getRuleWithWebHookAction(hookAction.id), + throttle: NOTIFICATION_THROTTLE_RULE, + }; + const rule = await createRule(supertest, ruleWithThrottle); + const { + body: { mute_all: muteAll, notify_when: notifyWhen }, + } = await supertest.get(`/api/alerting/rule/${rule.id}`); + expect(muteAll).to.eql(false); + expect(notifyWhen).to.eql('onActiveAlert'); + }); + + it('When creating throttle with "1h" set and no actions, the rule should have its kibana alerting "mute_all" set to "false" and notify_when set to "onThrottleInterval"', async () => { + const ruleWithThrottle: CreateRulesSchema = { + ...getSimpleRule(), + throttle: '1h', + }; + const rule = await createRule(supertest, ruleWithThrottle); + const { + body: { mute_all: muteAll, notify_when: notifyWhen }, + } = await supertest.get(`/api/alerting/rule/${rule.id}`); + expect(muteAll).to.eql(false); + expect(notifyWhen).to.eql('onThrottleInterval'); + }); + + it('When creating throttle with "1h" set and actions set, the rule should have its kibana alerting "mute_all" set to "false" and notify_when set to "onThrottleInterval"', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const ruleWithThrottle: CreateRulesSchema = { + ...getRuleWithWebHookAction(hookAction.id), + throttle: '1h', + }; + const rule = await createRule(supertest, ruleWithThrottle); + const { + body: { mute_all: muteAll, notify_when: notifyWhen }, + } = await supertest.get(`/api/alerting/rule/${rule.id}`); + expect(muteAll).to.eql(false); + expect(notifyWhen).to.eql('onThrottleInterval'); + }); + }); + + describe('reading a rule', () => { + it('When creating a new action and attaching it to a rule, we should return "NOTIFICATION_THROTTLE_RULE" when doing a read', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const rule = await createRule(supertest, getRuleWithWebHookAction(hookAction.id)); + const readRule = await getRule(supertest, rule.rule_id); + expect(readRule.throttle).to.eql(NOTIFICATION_THROTTLE_RULE); + }); + + it('When creating throttle with "NOTIFICATION_THROTTLE_NO_ACTIONS" set and no actions, we should return "NOTIFICATION_THROTTLE_NO_ACTIONS" when doing a read', async () => { + const ruleWithThrottle: CreateRulesSchema = { + ...getSimpleRule(), + throttle: NOTIFICATION_THROTTLE_NO_ACTIONS, + }; + const rule = await createRule(supertest, ruleWithThrottle); + const readRule = await getRule(supertest, rule.rule_id); + expect(readRule.throttle).to.eql(NOTIFICATION_THROTTLE_NO_ACTIONS); + }); + + // NOTE: This shows A side effect of how we do not set data on side cars anymore where the user is told they have no actions since the array is empty. + it('When creating throttle with "NOTIFICATION_THROTTLE_RULE" set and no actions, since we do not have any actions, we should get back a throttle of "NOTIFICATION_THROTTLE_NO_ACTIONS" when doing a read', async () => { + const ruleWithThrottle: CreateRulesSchema = { + ...getSimpleRule(), + throttle: NOTIFICATION_THROTTLE_RULE, + }; + const rule = await createRule(supertest, ruleWithThrottle); + const readRule = await getRule(supertest, rule.rule_id); + expect(readRule.throttle).to.eql(NOTIFICATION_THROTTLE_NO_ACTIONS); + }); + + it('When creating a new action and attaching it to a rule, if we change the alert to a "muteAll" through the kibana alerting API, we should get back "NOTIFICATION_THROTTLE_NO_ACTIONS" ', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const rule = await createRule(supertest, getRuleWithWebHookAction(hookAction.id)); + await supertest + .post(`/api/alerting/rule/${rule.id}/_mute_all`) + .set('kbn-xsrf', 'true') + .send() + .expect(204); + const readRule = await getRule(supertest, rule.rule_id); + expect(readRule.throttle).to.eql(NOTIFICATION_THROTTLE_NO_ACTIONS); + }); + }); + + describe('updating a rule', () => { + it('will not change "NOTIFICATION_THROTTLE_RULE" if we update some part of the rule', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const ruleWithWebHookAction = getRuleWithWebHookAction(hookAction.id); + await createRule(supertest, ruleWithWebHookAction); + ruleWithWebHookAction.name = 'some other name'; + const updated = await updateRule(supertest, ruleWithWebHookAction); + expect(updated.throttle).to.eql(NOTIFICATION_THROTTLE_RULE); + }); + + it('will not change the "muteAll" or "notifyWhen" if we update some part of the rule', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const ruleWithWebHookAction = getRuleWithWebHookAction(hookAction.id); + await createRule(supertest, ruleWithWebHookAction); + ruleWithWebHookAction.name = 'some other name'; + const updated = await updateRule(supertest, ruleWithWebHookAction); + const { + body: { mute_all: muteAll, notify_when: notifyWhen }, + } = await supertest.get(`/api/alerting/rule/${updated.id}`); + expect(muteAll).to.eql(false); + expect(notifyWhen).to.eql('onActiveAlert'); + }); + + // NOTE: This shows A side effect of how we do not set data on side cars anymore where the user is told they have no actions since the array is empty. + it('If we update a rule and remove just the actions array it will begin returning a throttle of "NOTIFICATION_THROTTLE_NO_ACTIONS"', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const ruleWithWebHookAction = getRuleWithWebHookAction(hookAction.id); + await createRule(supertest, ruleWithWebHookAction); + ruleWithWebHookAction.actions = []; + const updated = await updateRule(supertest, ruleWithWebHookAction); + expect(updated.throttle).to.eql(NOTIFICATION_THROTTLE_NO_ACTIONS); + }); + }); + + describe('patching a rule', () => { + it('will not change "NOTIFICATION_THROTTLE_RULE" if we patch some part of the rule', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const ruleWithWebHookAction = getRuleWithWebHookAction(hookAction.id); + const rule = await createRule(supertest, ruleWithWebHookAction); + // patch a simple rule's name + await supertest + .patch(DETECTION_ENGINE_RULES_URL) + .set('kbn-xsrf', 'true') + .send({ rule_id: rule.rule_id, name: 'some other name' }) + .expect(200); + const readRule = await getRule(supertest, rule.rule_id); + expect(readRule.throttle).to.eql(NOTIFICATION_THROTTLE_RULE); + }); + + it('will not change the "muteAll" or "notifyWhen" if we patch part of the rule', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const ruleWithWebHookAction = getRuleWithWebHookAction(hookAction.id); + const rule = await createRule(supertest, ruleWithWebHookAction); + // patch a simple rule's name + await supertest + .patch(DETECTION_ENGINE_RULES_URL) + .set('kbn-xsrf', 'true') + .send({ rule_id: rule.rule_id, name: 'some other name' }) + .expect(200); + const { + body: { mute_all: muteAll, notify_when: notifyWhen }, + } = await supertest.get(`/api/alerting/rule/${rule.id}`); + expect(muteAll).to.eql(false); + expect(notifyWhen).to.eql('onActiveAlert'); + }); + + // NOTE: This shows A side effect of how we do not set data on side cars anymore where the user is told they have no actions since the array is empty. + it('If we patch a rule and remove just the actions array it will begin returning a throttle of "NOTIFICATION_THROTTLE_NO_ACTIONS"', async () => { + // create a new action + const { body: hookAction } = await supertest + .post('/api/actions/action') + .set('kbn-xsrf', 'true') + .send(getWebHookAction()) + .expect(200); + + const ruleWithWebHookAction = getRuleWithWebHookAction(hookAction.id); + const rule = await createRule(supertest, ruleWithWebHookAction); + // patch a simple rule's action + await supertest + .patch(DETECTION_ENGINE_RULES_URL) + .set('kbn-xsrf', 'true') + .send({ rule_id: rule.rule_id, actions: [] }) + .expect(200); + const readRule = await getRule(supertest, rule.rule_id); + expect(readRule.throttle).to.eql(NOTIFICATION_THROTTLE_NO_ACTIONS); + }); + }); + }); + }); +}; From 8bcf27f600a6c34204888384a67ea7a90056289c Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Thu, 26 Aug 2021 10:41:28 -0700 Subject: [PATCH 093/139] [bazel] Disable backend keep alive (#110259) Signed-off-by: Tyler Smalley Co-authored-by: Tiago Costa --- src/dev/ci_setup/.bazelrc-ci | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/dev/ci_setup/.bazelrc-ci b/src/dev/ci_setup/.bazelrc-ci index ef6fab3a30590..bb8710d69ed54 100644 --- a/src/dev/ci_setup/.bazelrc-ci +++ b/src/dev/ci_setup/.bazelrc-ci @@ -12,5 +12,8 @@ build --bes_backend=grpcs://cloud.buildbuddy.io build --remote_cache=grpcs://cloud.buildbuddy.io build --remote_timeout=3600 +## Avoid to keep connections to build event backend connections alive across builds +build --keep_backend_build_event_connections_alive=false + ## Metadata settings build --build_metadata=ROLE=CI From ce1df5c69edd0059c17a53adbc4a7b4e835da19b Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 26 Aug 2021 12:54:04 -0500 Subject: [PATCH 094/139] skip suite failing es promotion. #110309 --- .../apps/endpoint/endpoint_permissions.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_endpoint/apps/endpoint/endpoint_permissions.ts b/x-pack/test/security_solution_endpoint/apps/endpoint/endpoint_permissions.ts index 9a887ced424bd..90dd5123f5d36 100644 --- a/x-pack/test/security_solution_endpoint/apps/endpoint/endpoint_permissions.ts +++ b/x-pack/test/security_solution_endpoint/apps/endpoint/endpoint_permissions.ts @@ -20,7 +20,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const endpointTestResources = getService('endpointTestResources'); const policyTestResources = getService('policyTestResources'); - describe('Endpoint permissions:', () => { + // failing ES promotion: https://github.com/elastic/kibana/issues/110309 + describe.skip('Endpoint permissions:', () => { let indexedData: IndexedHostsAndAlertsResponse; before(async () => { From e307be985a974f4d026f4ffcd213f80c0d2f983f Mon Sep 17 00:00:00 2001 From: Stacey Gammon Date: Thu, 26 Aug 2021 14:01:21 -0400 Subject: [PATCH 095/139] Turn off api changes for app services and remove legacy docs for App Services plugins (#109927) * Turn off legacy docs build script for app services plugins * Remove legacy docs * remove all *.api.md (minus core) --- docs/development/plugins/data/public/index.md | 12 - ...-data-public.action_global_apply_filter.md | 11 - ...ins-data-public.aggconfig._constructor_.md | 21 - ...lugins-data-public.aggconfig.aggconfigs.md | 11 - ...-plugins-data-public.aggconfig.brandnew.md | 11 - ...gins-data-public.aggconfig.createfilter.md | 23 - ...n-plugins-data-public.aggconfig.enabled.md | 11 - ...plugins-data-public.aggconfig.ensureids.md | 24 - ...-data-public.aggconfig.fieldistimefield.md | 15 - ...plugins-data-public.aggconfig.fieldname.md | 15 - ...gins-data-public.aggconfig.getaggparams.md | 15 - ...-plugins-data-public.aggconfig.getfield.md | 15 - ...ta-public.aggconfig.getfielddisplayname.md | 15 - ...s-data-public.aggconfig.getindexpattern.md | 15 - ...in-plugins-data-public.aggconfig.getkey.md | 23 - ...-plugins-data-public.aggconfig.getparam.md | 22 - ...ns-data-public.aggconfig.getrequestaggs.md | 15 - ...s-data-public.aggconfig.getresponseaggs.md | 15 - ...gins-data-public.aggconfig.gettimerange.md | 15 - ...gins-data-public.aggconfig.gettimeshift.md | 15 - ...-plugins-data-public.aggconfig.getvalue.md | 22 - ...ata-public.aggconfig.getvaluebucketpath.md | 17 - ...gins-data-public.aggconfig.hastimeshift.md | 15 - ...plugin-plugins-data-public.aggconfig.id.md | 11 - ...gins-data-public.aggconfig.isfilterable.md | 15 - ...plugins-data-public.aggconfig.makelabel.md | 22 - ...na-plugin-plugins-data-public.aggconfig.md | 65 - ...in-plugins-data-public.aggconfig.nextid.md | 26 - ...a-public.aggconfig.onsearchrequeststart.md | 25 - ...in-plugins-data-public.aggconfig.params.md | 11 - ...in-plugins-data-public.aggconfig.parent.md | 11 - ...in-plugins-data-public.aggconfig.schema.md | 11 - ...plugins-data-public.aggconfig.serialize.md | 17 - ...plugins-data-public.aggconfig.setparams.md | 24 - ...n-plugins-data-public.aggconfig.settype.md | 22 - ...gin-plugins-data-public.aggconfig.todsl.md | 26 - ...s-data-public.aggconfig.toexpressionast.md | 17 - ...in-plugins-data-public.aggconfig.tojson.md | 20 - ...ublic.aggconfig.toserializedfieldformat.md | 17 - ...ugin-plugins-data-public.aggconfig.type.md | 13 - ...gin-plugins-data-public.aggconfig.write.md | 22 - ...in-plugins-data-public.aggconfigoptions.md | 13 - ...ns-data-public.aggconfigs._constructor_.md | 32 - ...gin-plugins-data-public.aggconfigs.aggs.md | 11 - ...gin-plugins-data-public.aggconfigs.byid.md | 22 - ...-plugins-data-public.aggconfigs.byindex.md | 22 - ...n-plugins-data-public.aggconfigs.byname.md | 22 - ...ins-data-public.aggconfigs.byschemaname.md | 22 - ...n-plugins-data-public.aggconfigs.bytype.md | 22 - ...ugins-data-public.aggconfigs.bytypename.md | 22 - ...in-plugins-data-public.aggconfigs.clone.md | 24 - ...-data-public.aggconfigs.createaggconfig.md | 13 - ...plugins-data-public.aggconfigs.forcenow.md | 11 - ...n-plugins-data-public.aggconfigs.getall.md | 15 - ...ata-public.aggconfigs.getrequestaggbyid.md | 22 - ...s-data-public.aggconfigs.getrequestaggs.md | 15 - ...-public.aggconfigs.getresolvedtimerange.md | 19 - ...ta-public.aggconfigs.getresponseaggbyid.md | 24 - ...-data-public.aggconfigs.getresponseaggs.md | 21 - ...ic.aggconfigs.getsearchsourcetimefilter.md | 72 - ...-public.aggconfigs.gettimeshiftinterval.md | 15 - ...ns-data-public.aggconfigs.gettimeshifts.md | 15 - ...ns-data-public.aggconfigs.hastimeshifts.md | 15 - ...ins-data-public.aggconfigs.hierarchical.md | 11 - ...ins-data-public.aggconfigs.indexpattern.md | 11 - ...s-data-public.aggconfigs.jsondataequals.md | 24 - ...a-plugin-plugins-data-public.aggconfigs.md | 59 - ...-public.aggconfigs.onsearchrequeststart.md | 23 - ...a-public.aggconfigs.postflighttransform.md | 22 - ...gins-data-public.aggconfigs.setforcenow.md | 22 - ...ns-data-public.aggconfigs.settimefields.md | 22 - ...ins-data-public.aggconfigs.settimerange.md | 22 - ...ugins-data-public.aggconfigs.timefields.md | 11 - ...lugins-data-public.aggconfigs.timerange.md | 11 - ...in-plugins-data-public.aggconfigs.todsl.md | 15 - ...plugins-data-public.aggconfigserialized.md | 19 - ...-data-public.aggfunctionsmapping.aggavg.md | 11 - ...public.aggfunctionsmapping.aggbucketavg.md | 11 - ...public.aggfunctionsmapping.aggbucketmax.md | 11 - ...public.aggfunctionsmapping.aggbucketmin.md | 11 - ...public.aggfunctionsmapping.aggbucketsum.md | 11 - ...blic.aggfunctionsmapping.aggcardinality.md | 11 - ...ata-public.aggfunctionsmapping.aggcount.md | 11 - ...ic.aggfunctionsmapping.aggcumulativesum.md | 11 - ...ic.aggfunctionsmapping.aggdatehistogram.md | 11 - ...public.aggfunctionsmapping.aggdaterange.md | 11 - ...ublic.aggfunctionsmapping.aggderivative.md | 11 - ...ta-public.aggfunctionsmapping.aggfilter.md | 11 - ...c.aggfunctionsmapping.aggfilteredmetric.md | 11 - ...a-public.aggfunctionsmapping.aggfilters.md | 11 - ...public.aggfunctionsmapping.agggeobounds.md | 11 - ...blic.aggfunctionsmapping.agggeocentroid.md | 11 - ...a-public.aggfunctionsmapping.agggeohash.md | 11 - ...a-public.aggfunctionsmapping.agggeotile.md | 11 - ...public.aggfunctionsmapping.agghistogram.md | 11 - ...a-public.aggfunctionsmapping.aggiprange.md | 11 - ...-data-public.aggfunctionsmapping.aggmax.md | 11 - ...ta-public.aggfunctionsmapping.aggmedian.md | 11 - ...-data-public.aggfunctionsmapping.aggmin.md | 11 - ...public.aggfunctionsmapping.aggmovingavg.md | 11 - ....aggfunctionsmapping.aggpercentileranks.md | 11 - ...blic.aggfunctionsmapping.aggpercentiles.md | 11 - ...ata-public.aggfunctionsmapping.aggrange.md | 11 - ...ublic.aggfunctionsmapping.aggserialdiff.md | 11 - ...aggfunctionsmapping.aggsignificantterms.md | 11 - ...aggfunctionsmapping.aggsinglepercentile.md | 11 - ...lic.aggfunctionsmapping.aggstddeviation.md | 11 - ...-data-public.aggfunctionsmapping.aggsum.md | 11 - ...ata-public.aggfunctionsmapping.aggterms.md | 11 - ...ta-public.aggfunctionsmapping.aggtophit.md | 11 - ...plugins-data-public.aggfunctionsmapping.md | 53 - ...ugin-plugins-data-public.agggrouplabels.md | 15 - ...plugin-plugins-data-public.agggroupname.md | 11 - ...lugin-plugins-data-public.agggroupnames.md | 15 - ...ana-plugin-plugins-data-public.aggparam.md | 11 - ...gins-data-public.aggparamoption.display.md | 11 - ...gins-data-public.aggparamoption.enabled.md | 22 - ...ugin-plugins-data-public.aggparamoption.md | 25 - ...-plugins-data-public.aggparamoption.val.md | 11 - ...-data-public.aggparamtype._constructor_.md | 20 - ...ns-data-public.aggparamtype.allowedaggs.md | 11 - ...lugins-data-public.aggparamtype.makeagg.md | 11 - ...plugin-plugins-data-public.aggparamtype.md | 25 - ...ins-data-public.aggregationrestrictions.md | 18 - ...na-plugin-plugins-data-public.aggsstart.md | 15 - ...lugins-data-public.apply_filter_trigger.md | 11 - ...yglobalfilteractioncontext.controlledby.md | 11 - ...plyglobalfilteractioncontext.embeddable.md | 11 - ....applyglobalfilteractioncontext.filters.md | 11 - ...a-public.applyglobalfilteractioncontext.md | 21 - ...globalfilteractioncontext.timefieldname.md | 11 - ...n-plugins-data-public.autocompletestart.md | 13 - ...n-plugins-data-public.autorefreshdonefn.md | 11 - ...plugin-plugins-data-public.bucket_types.md | 28 - ...ns-data-public.castestokbnfieldtypename.md | 16 - ...plugins-data-public.connecttoquerystate.md | 18 - ...ins-data-public.createsavedqueryservice.md | 11 - ...plugin-plugins-data-public.customfilter.md | 16 - ...ns-data-public.dataplugin._constructor_.md | 20 - ...a-plugin-plugins-data-public.dataplugin.md | 26 - ...in-plugins-data-public.dataplugin.setup.md | 23 - ...in-plugins-data-public.dataplugin.start.md | 23 - ...gin-plugins-data-public.dataplugin.stop.md | 15 - ...blic.datapublicpluginsetup.autocomplete.md | 11 - ...ugins-data-public.datapublicpluginsetup.md | 22 - ...data-public.datapublicpluginsetup.query.md | 11 - ...ata-public.datapublicpluginsetup.search.md | 11 - ...ta-public.datapublicpluginstart.actions.md | 13 - ...blic.datapublicpluginstart.autocomplete.md | 13 - ...blic.datapublicpluginstart.fieldformats.md | 16 - ...lic.datapublicpluginstart.indexpatterns.md | 13 - ...ugins-data-public.datapublicpluginstart.md | 27 - ...ublic.datapublicpluginstart.nowprovider.md | 11 - ...data-public.datapublicpluginstart.query.md | 13 - ...ata-public.datapublicpluginstart.search.md | 13 - ...ns-data-public.datapublicpluginstart.ui.md | 13 - ...ions.createfiltersfromrangeselectaction.md | 11 - ...tions.createfiltersfromvalueclickaction.md | 11 - ...ata-public.datapublicpluginstartactions.md | 21 - ...apublicpluginstartui.indexpatternselect.md | 11 - ...ins-data-public.datapublicpluginstartui.md | 21 - ...ublic.datapublicpluginstartui.searchbar.md | 11 - ...uplicateindexpatternerror._constructor_.md | 20 - ...-data-public.duplicateindexpatternerror.md | 18 - ...-plugins-data-public.es_search_strategy.md | 11 - ...blic.esaggsexpressionfunctiondefinition.md | 11 - ...na-plugin-plugins-data-public.esfilters.md | 72 - ...bana-plugin-plugins-data-public.eskuery.md | 20 - ...bana-plugin-plugins-data-public.esquery.md | 22 - ...lugin-plugins-data-public.esqueryconfig.md | 16 - ...in-plugins-data-public.esquerysortvalue.md | 11 - ...gins-data-public.executioncontextsearch.md | 15 - ...plugin-plugins-data-public.existsfilter.md | 16 - ...na-plugin-plugins-data-public.exporters.md | 16 - ...ns-data-public.expressionfunctionkibana.md | 11 - ...-public.expressionfunctionkibanacontext.md | 11 - ...ata-public.expressionvaluesearchcontext.md | 11 - ...ta-public.extractsearchsourcereferences.md | 13 - ...in-plugins-data-public.extracttimerange.md | 29 - ...na-plugin-plugins-data-public.fieldlist.md | 11 - ...ibana-plugin-plugins-data-public.filter.md | 16 - ...a-plugin-plugins-data-public.filteritem.md | 11 - ...-plugin-plugins-data-public.filterlabel.md | 11 - ...data-public.filtermanager._constructor_.md | 20 - ...ns-data-public.filtermanager.addfilters.md | 23 - ...ugins-data-public.filtermanager.extract.md | 11 - ...a-public.filtermanager.getallmigrations.md | 11 - ...data-public.filtermanager.getappfilters.md | 15 - ...s-data-public.filtermanager.getfetches_.md | 15 - ...ns-data-public.filtermanager.getfilters.md | 15 - ...a-public.filtermanager.getglobalfilters.md | 15 - ...lic.filtermanager.getpartitionedfilters.md | 15 - ...s-data-public.filtermanager.getupdates_.md | 15 - ...lugins-data-public.filtermanager.inject.md | 11 - ...lugin-plugins-data-public.filtermanager.md | 46 - ...ta-public.filtermanager.migratetolatest.md | 11 - ...ins-data-public.filtermanager.removeall.md | 15 - ...-data-public.filtermanager.removefilter.md | 22 - ...data-public.filtermanager.setappfilters.md | 24 - ...ns-data-public.filtermanager.setfilters.md | 23 - ...ta-public.filtermanager.setfiltersstore.md | 24 - ...a-public.filtermanager.setglobalfilters.md | 24 - ...ins-data-public.filtermanager.telemetry.md | 11 - ...gin-plugins-data-public.generatefilters.md | 30 - ...gin-plugins-data-public.getdefaultquery.md | 28 - ...s-data-public.getdisplayvaluefromfilter.md | 23 - ...in-plugins-data-public.getesqueryconfig.md | 22 - ...ta-public.getfieldsoptions.allownoindex.md | 11 - ...s-data-public.getfieldsoptions.lookback.md | 11 - ...in-plugins-data-public.getfieldsoptions.md | 23 - ...data-public.getfieldsoptions.metafields.md | 11 - ...ns-data-public.getfieldsoptions.pattern.md | 11 - ...ata-public.getfieldsoptions.rollupindex.md | 11 - ...ugins-data-public.getfieldsoptions.type.md | 11 - ...gin-plugins-data-public.getkbntypenames.md | 16 - ...-data-public.getsearchparamsfromrequest.md | 26 - ...bana-plugin-plugins-data-public.gettime.md | 27 - ...a-plugin-plugins-data-public.iaggconfig.md | 15 - ...ana-plugin-plugins-data-public.iaggtype.md | 11 - ...data-public.idatapluginservices.appname.md | 11 - ...ns-data-public.idatapluginservices.data.md | 11 - ...ns-data-public.idatapluginservices.http.md | 11 - ...plugins-data-public.idatapluginservices.md | 25 - ...ublic.idatapluginservices.notifications.md | 11 - ...public.idatapluginservices.savedobjects.md | 11 - ...data-public.idatapluginservices.storage.md | 11 - ...a-public.idatapluginservices.uisettings.md | 11 - ...lic.idatapluginservices.usagecollection.md | 11 - ...ana-plugin-plugins-data-public.ieserror.md | 11 - ...-data-public.iessearchrequest.indextype.md | 11 - ...in-plugins-data-public.iessearchrequest.md | 18 - ...n-plugins-data-public.iessearchresponse.md | 11 - ...gin-plugins-data-public.ifieldparamtype.md | 11 - ...lugin-plugins-data-public.ifieldsubtype.md | 16 - ...ins-data-public.ifieldtype.aggregatable.md | 11 - ...in-plugins-data-public.ifieldtype.count.md | 11 - ...gins-data-public.ifieldtype.customlabel.md | 11 - ...gins-data-public.ifieldtype.displayname.md | 11 - ...-plugins-data-public.ifieldtype.estypes.md | 11 - ...ugins-data-public.ifieldtype.filterable.md | 11 - ...n-plugins-data-public.ifieldtype.format.md | 11 - ...a-plugin-plugins-data-public.ifieldtype.md | 34 - ...ata-public.ifieldtype.readfromdocvalues.md | 11 - ...ugins-data-public.ifieldtype.searchable.md | 11 - ...plugins-data-public.ifieldtype.sortable.md | 11 - ...n-plugins-data-public.ifieldtype.tospec.md | 13 - ...ins-data-public.ifieldtype.visualizable.md | 11 - ...ata-public.iindexpattern.fieldformatmap.md | 11 - ...lugins-data-public.iindexpattern.fields.md | 11 - ...blic.iindexpattern.getformatterforfield.md | 13 - ...-data-public.iindexpattern.gettimefield.md | 15 - ...lugin-plugins-data-public.iindexpattern.md | 34 - ...data-public.iindexpattern.timefieldname.md | 11 - ...plugins-data-public.iindexpattern.title.md | 11 - ...-plugins-data-public.iindexpattern.type.md | 13 - ...ins-data-public.ikibanasearchrequest.id.md | 13 - ...lugins-data-public.ikibanasearchrequest.md | 19 - ...data-public.ikibanasearchrequest.params.md | 11 - ...ns-data-public.ikibanasearchresponse.id.md | 13 - ...-public.ikibanasearchresponse.ispartial.md | 13 - ...public.ikibanasearchresponse.isrestored.md | 13 - ...-public.ikibanasearchresponse.isrunning.md | 13 - ...ata-public.ikibanasearchresponse.loaded.md | 13 - ...ugins-data-public.ikibanasearchresponse.md | 25 - ...ublic.ikibanasearchresponse.rawresponse.md | 13 - ...data-public.ikibanasearchresponse.total.md | 13 - ...ta-public.ikibanasearchresponse.warning.md | 13 - ...ugin-plugins-data-public.imetricaggtype.md | 11 - ...-public.index_pattern_saved_object_type.md | 13 - ...-data-public.indexpattern._constructor_.md | 20 - ...ata-public.indexpattern.addruntimefield.md | 25 - ...ta-public.indexpattern.addscriptedfield.md | 31 - ...s-data-public.indexpattern.allownoindex.md | 13 - ...a-public.indexpattern.deletefieldformat.md | 11 - ...data-public.indexpattern.fieldformatmap.md | 11 - ...plugins-data-public.indexpattern.fields.md | 13 - ...ins-data-public.indexpattern.flattenhit.md | 11 - ...ns-data-public.indexpattern.formatfield.md | 11 - ...gins-data-public.indexpattern.formathit.md | 14 - ...indexpattern.getaggregationrestrictions.md | 29 - ...ublic.indexpattern.getassavedobjectbody.md | 17 - ...a-public.indexpattern.getcomputedfields.md | 31 - ...-data-public.indexpattern.getfieldattrs.md | 13 - ...data-public.indexpattern.getfieldbyname.md | 22 - ...ublic.indexpattern.getformatterforfield.md | 24 - ...expattern.getformatterforfieldnodefault.md | 24 - ...ublic.indexpattern.getnonscriptedfields.md | 20 - ...indexpattern.getoriginalsavedobjectbody.md | 23 - ...ata-public.indexpattern.getruntimefield.md | 24 - ...a-public.indexpattern.getscriptedfields.md | 20 - ...-public.indexpattern.getsourcefiltering.md | 21 - ...s-data-public.indexpattern.gettimefield.md | 15 - ...ata-public.indexpattern.hasruntimefield.md | 24 - ...gin-plugins-data-public.indexpattern.id.md | 11 - ...s-data-public.indexpattern.intervalname.md | 16 - ...ns-data-public.indexpattern.istimebased.md | 15 - ...ta-public.indexpattern.istimenanosbased.md | 15 - ...plugin-plugins-data-public.indexpattern.md | 71 - ...ins-data-public.indexpattern.metafields.md | 11 - ...-public.indexpattern.removeruntimefield.md | 24 - ...public.indexpattern.removescriptedfield.md | 29 - ...ic.indexpattern.replaceallruntimefields.md | 24 - ...dexpattern.resetoriginalsavedobjectbody.md | 13 - ...-data-public.indexpattern.setfieldattrs.md | 24 - ...-data-public.indexpattern.setfieldcount.md | 23 - ...public.indexpattern.setfieldcustomlabel.md | 23 - ...data-public.indexpattern.setfieldformat.md | 11 - ...-data-public.indexpattern.sourcefilters.md | 11 - ...-data-public.indexpattern.timefieldname.md | 11 - ...-plugins-data-public.indexpattern.title.md | 11 - ...plugins-data-public.indexpattern.tospec.md | 17 - ...n-plugins-data-public.indexpattern.type.md | 13 - ...ugins-data-public.indexpattern.typemeta.md | 13 - ...lugins-data-public.indexpattern.version.md | 13 - ...lic.indexpatternattributes.allownoindex.md | 13 - ...ublic.indexpatternattributes.fieldattrs.md | 11 - ...c.indexpatternattributes.fieldformatmap.md | 11 - ...ta-public.indexpatternattributes.fields.md | 11 - ...lic.indexpatternattributes.intervalname.md | 11 - ...gins-data-public.indexpatternattributes.md | 30 - ....indexpatternattributes.runtimefieldmap.md | 11 - ...ic.indexpatternattributes.sourcefilters.md | 11 - ...ic.indexpatternattributes.timefieldname.md | 11 - ...ata-public.indexpatternattributes.title.md | 11 - ...data-public.indexpatternattributes.type.md | 11 - ...-public.indexpatternattributes.typemeta.md | 11 - ...-public.indexpatternfield._constructor_.md | 20 - ...a-public.indexpatternfield.aggregatable.md | 11 - ....indexpatternfield.conflictdescriptions.md | 15 - ...ins-data-public.indexpatternfield.count.md | 15 - ...ta-public.indexpatternfield.customlabel.md | 13 - ...ta-public.indexpatternfield.deletecount.md | 15 - ...ta-public.indexpatternfield.displayname.md | 11 - ...s-data-public.indexpatternfield.estypes.md | 11 - ...ata-public.indexpatternfield.filterable.md | 11 - ...-data-public.indexpatternfield.ismapped.md | 13 - ...gins-data-public.indexpatternfield.lang.md | 15 - ...n-plugins-data-public.indexpatternfield.md | 52 - ...gins-data-public.indexpatternfield.name.md | 11 - ...lic.indexpatternfield.readfromdocvalues.md | 11 - ...a-public.indexpatternfield.runtimefield.md | 13 - ...ns-data-public.indexpatternfield.script.md | 15 - ...-data-public.indexpatternfield.scripted.md | 11 - ...ata-public.indexpatternfield.searchable.md | 11 - ...-data-public.indexpatternfield.sortable.md | 11 - ...gins-data-public.indexpatternfield.spec.md | 11 - ...s-data-public.indexpatternfield.subtype.md | 11 - ...ns-data-public.indexpatternfield.tojson.md | 43 - ...ns-data-public.indexpatternfield.tospec.md | 24 - ...gins-data-public.indexpatternfield.type.md | 11 - ...a-public.indexpatternfield.visualizable.md | 11 - ...ins-data-public.indexpatternlistitem.id.md | 11 - ...lugins-data-public.indexpatternlistitem.md | 21 - ...-data-public.indexpatternlistitem.title.md | 11 - ...s-data-public.indexpatternlistitem.type.md | 11 - ...ta-public.indexpatternlistitem.typemeta.md | 11 - ...patternloadexpressionfunctiondefinition.md | 11 - ...lugin-plugins-data-public.indexpatterns.md | 21 - ...ugins-data-public.indexpatternscontract.md | 11 - ...ins-data-public.indexpatternselectprops.md | 15 - ...ta-public.indexpatternspec.allownoindex.md | 11 - ...data-public.indexpatternspec.fieldattrs.md | 11 - ...ta-public.indexpatternspec.fieldformats.md | 11 - ...ins-data-public.indexpatternspec.fields.md | 11 - ...plugins-data-public.indexpatternspec.id.md | 13 - ...ta-public.indexpatternspec.intervalname.md | 16 - ...in-plugins-data-public.indexpatternspec.md | 32 - ...public.indexpatternspec.runtimefieldmap.md | 11 - ...a-public.indexpatternspec.sourcefilters.md | 11 - ...a-public.indexpatternspec.timefieldname.md | 11 - ...gins-data-public.indexpatternspec.title.md | 11 - ...ugins-data-public.indexpatternspec.type.md | 11 - ...s-data-public.indexpatternspec.typemeta.md | 11 - ...ns-data-public.indexpatternspec.version.md | 13 - ...blic.indexpatternsservice._constructor_.md | 20 - ...-public.indexpatternsservice.clearcache.md | 13 - ...data-public.indexpatternsservice.create.md | 27 - ...blic.indexpatternsservice.createandsave.md | 26 - ....indexpatternsservice.createsavedobject.md | 25 - ...data-public.indexpatternsservice.delete.md | 24 - ...tternsservice.ensuredefaultindexpattern.md | 11 - ...ic.indexpatternsservice.fieldarraytomap.md | 13 - ...s-data-public.indexpatternsservice.find.md | 13 - ...ns-data-public.indexpatternsservice.get.md | 13 - ...ta-public.indexpatternsservice.getcache.md | 11 - ...-public.indexpatternsservice.getdefault.md | 13 - ...ublic.indexpatternsservice.getdefaultid.md | 13 - ...atternsservice.getfieldsforindexpattern.md | 13 - ...dexpatternsservice.getfieldsforwildcard.md | 13 - ...data-public.indexpatternsservice.getids.md | 13 - ...ic.indexpatternsservice.getidswithtitle.md | 13 - ...a-public.indexpatternsservice.gettitles.md | 13 - ...ndexpatternsservice.hasuserindexpattern.md | 17 - ...lugins-data-public.indexpatternsservice.md | 50 - ...blic.indexpatternsservice.refreshfields.md | 13 - ....indexpatternsservice.savedobjecttospec.md | 13 - ...-public.indexpatternsservice.setdefault.md | 13 - ....indexpatternsservice.updatesavedobject.md | 26 - ...in-plugins-data-public.indexpatterntype.md | 19 - ...ata-public.injectsearchsourcereferences.md | 13 - ...-plugins-data-public.iscompleteresponse.md | 11 - ...ugin-plugins-data-public.isearchgeneric.md | 11 - ...-data-public.isearchoptions.abortsignal.md | 13 - ...-public.isearchoptions.executioncontext.md | 11 - ...data-public.isearchoptions.indexpattern.md | 13 - ...ns-data-public.isearchoptions.inspector.md | 13 - ...ns-data-public.isearchoptions.isrestore.md | 13 - ...ins-data-public.isearchoptions.isstored.md | 13 - ...a-public.isearchoptions.legacyhitstotal.md | 13 - ...ugin-plugins-data-public.isearchoptions.md | 26 - ...ns-data-public.isearchoptions.sessionid.md | 13 - ...ins-data-public.isearchoptions.strategy.md | 13 - ...n-plugins-data-public.isearchsetup.aggs.md | 11 - ...plugin-plugins-data-public.isearchsetup.md | 23 - ...lugins-data-public.isearchsetup.session.md | 13 - ...data-public.isearchsetup.sessionsclient.md | 13 - ...data-public.isearchsetup.usagecollector.md | 11 - ...lugin-plugins-data-public.isearchsource.md | 13 - ...n-plugins-data-public.isearchstart.aggs.md | 13 - ...plugin-plugins-data-public.isearchstart.md | 25 - ...plugins-data-public.isearchstart.search.md | 13 - ...s-data-public.isearchstart.searchsource.md | 13 - ...lugins-data-public.isearchstart.session.md | 13 - ...data-public.isearchstart.sessionsclient.md | 13 - ...gins-data-public.isearchstart.showerror.md | 11 - ...-public.isearchstartsearchsource.create.md | 13 - ...ic.isearchstartsearchsource.createempty.md | 13 - ...ns-data-public.isearchstartsearchsource.md | 21 - ...gin-plugins-data-public.iserrorresponse.md | 11 - ...na-plugin-plugins-data-public.iseserror.md | 24 - ...gin-plugins-data-public.isessionsclient.md | 11 - ...gin-plugins-data-public.isessionservice.md | 11 - ...ana-plugin-plugins-data-public.isfilter.md | 16 - ...na-plugin-plugins-data-public.isfilters.md | 16 - ...n-plugins-data-public.ispartialresponse.md | 11 - ...bana-plugin-plugins-data-public.isquery.md | 11 - ...-plugin-plugins-data-public.istimerange.md | 11 - ...lugin-plugins-data-public.kibanacontext.md | 11 - ...na-plugin-plugins-data-public.kuerynode.md | 16 - ...ugin-plugins-data-public.matchallfilter.md | 16 - .../kibana-plugin-plugins-data-public.md | 185 -- ...plugin-plugins-data-public.metric_types.md | 40 - ...nosearchsessionstoragecapabilitymessage.md | 13 - ...-public.optionedparamtype._constructor_.md | 20 - ...n-plugins-data-public.optionedparamtype.md | 24 - ...s-data-public.optionedparamtype.options.md | 11 - ...-data-public.optionedvalueprop.disabled.md | 11 - ...a-public.optionedvalueprop.iscompatible.md | 11 - ...n-plugins-data-public.optionedvalueprop.md | 21 - ...gins-data-public.optionedvalueprop.text.md | 11 - ...ins-data-public.optionedvalueprop.value.md | 11 - ...ugin-plugins-data-public.parsedinterval.md | 11 - ...ugins-data-public.parsesearchsourcejson.md | 11 - ...plugin-plugins-data-public.phrasefilter.md | 16 - ...lugin-plugins-data-public.phrasesfilter.md | 16 - ...ibana-plugin-plugins-data-public.plugin.md | 22 - ...a-plugin-plugins-data-public.querystart.md | 11 - ...-plugins-data-public.querystate.filters.md | 11 - ...a-plugin-plugins-data-public.querystate.md | 23 - ...in-plugins-data-public.querystate.query.md | 11 - ...-data-public.querystate.refreshinterval.md | 11 - ...gin-plugins-data-public.querystate.time.md | 11 - ...data-public.querystatechange.appfilters.md | 11 - ...a-public.querystatechange.globalfilters.md | 11 - ...in-plugins-data-public.querystatechange.md | 19 - ...in-plugins-data-public.querystringinput.md | 11 - ...public.querystringinputprops.autosubmit.md | 11 - ...querystringinputprops.bubblesubmitevent.md | 11 - ...-public.querystringinputprops.classname.md | 11 - ...blic.querystringinputprops.datatestsubj.md | 11 - ....querystringinputprops.disableautofocus.md | 11 - ...tringinputprops.disablelanguageswitcher.md | 11 - ...a-public.querystringinputprops.icontype.md | 11 - ...lic.querystringinputprops.indexpatterns.md | 11 - ...ublic.querystringinputprops.isclearable.md | 11 - ...-public.querystringinputprops.isinvalid.md | 11 - ...s.languageswitcherpopoveranchorposition.md | 11 - ...ugins-data-public.querystringinputprops.md | 43 - ...public.querystringinputprops.nonkqlmode.md | 11 - ...uerystringinputprops.nonkqlmodehelptext.md | 11 - ...ata-public.querystringinputprops.onblur.md | 11 - ...a-public.querystringinputprops.onchange.md | 11 - ...tringinputprops.onchangequeryinputfocus.md | 11 - ...a-public.querystringinputprops.onsubmit.md | 11 - ...blic.querystringinputprops.persistedlog.md | 11 - ...ublic.querystringinputprops.placeholder.md | 11 - ...ta-public.querystringinputprops.prepend.md | 11 - ...data-public.querystringinputprops.query.md | 11 - ...ublic.querystringinputprops.screentitle.md | 11 - ...-data-public.querystringinputprops.size.md | 11 - ...public.querystringinputprops.storagekey.md | 11 - ...blic.querystringinputprops.submitonblur.md | 11 - ...utprops.timerangeforsuggestionsoverride.md | 13 - ...gin-plugins-data-public.querysuggestion.md | 13 - ...public.querysuggestionbasic.cursorindex.md | 11 - ...public.querysuggestionbasic.description.md | 11 - ...ns-data-public.querysuggestionbasic.end.md | 11 - ...lugins-data-public.querysuggestionbasic.md | 25 - ...-data-public.querysuggestionbasic.start.md | 11 - ...s-data-public.querysuggestionbasic.text.md | 11 - ...s-data-public.querysuggestionbasic.type.md | 11 - ...-data-public.querysuggestionfield.field.md | 11 - ...lugins-data-public.querysuggestionfield.md | 21 - ...s-data-public.querysuggestionfield.type.md | 11 - ...lugins-data-public.querysuggestiongetfn.md | 11 - ...lic.querysuggestiongetfnargs.boolfilter.md | 11 - ....querysuggestiongetfnargs.indexpatterns.md | 11 - ...ublic.querysuggestiongetfnargs.language.md | 11 - ...ns-data-public.querysuggestiongetfnargs.md | 28 - ...-public.querysuggestiongetfnargs.method.md | 11 - ...a-public.querysuggestiongetfnargs.query.md | 11 - ...c.querysuggestiongetfnargs.selectionend.md | 11 - ...querysuggestiongetfnargs.selectionstart.md | 11 - ...-public.querysuggestiongetfnargs.signal.md | 11 - ...c.querysuggestiongetfnargs.usetimerange.md | 11 - ...lugins-data-public.querysuggestiontypes.md | 22 - ...-plugin-plugins-data-public.rangefilter.md | 16 - ...gin-plugins-data-public.rangefiltermeta.md | 16 - ...n-plugins-data-public.rangefilterparams.md | 16 - ...in-plugins-data-public.reason.caused_by.md | 14 - ...-plugin-plugins-data-public.reason.lang.md | 11 - ...ibana-plugin-plugins-data-public.reason.md | 24 - ...gin-plugins-data-public.reason.position.md | 15 - ...lugin-plugins-data-public.reason.reason.md | 11 - ...lugin-plugins-data-public.reason.script.md | 11 - ...plugins-data-public.reason.script_stack.md | 11 - ...-plugin-plugins-data-public.reason.type.md | 11 - ...gin-plugins-data-public.refreshinterval.md | 14 - ...ugins-data-public.savedquery.attributes.md | 11 - ...lugin-plugins-data-public.savedquery.id.md | 11 - ...a-plugin-plugins-data-public.savedquery.md | 19 - ...blic.savedqueryservice.deletesavedquery.md | 11 - ...blic.savedqueryservice.findsavedqueries.md | 14 - ...ic.savedqueryservice.getallsavedqueries.md | 11 - ...-public.savedqueryservice.getsavedquery.md | 11 - ...ic.savedqueryservice.getsavedquerycount.md | 11 - ...n-plugins-data-public.savedqueryservice.md | 23 - ...data-public.savedqueryservice.savequery.md | 13 - ...lugins-data-public.savedquerytimefilter.md | 13 - ...ibana-plugin-plugins-data-public.search.md | 62 - ...ta-public.search_sessions_management_id.md | 11 - ...na-plugin-plugins-data-public.searchbar.md | 13 - ...ugin-plugins-data-public.searchbarprops.md | 11 - ...foprovider.appendsessionstarttimetoname.md | 13 - ...ublic.searchsessioninfoprovider.getname.md | 13 - ...sessioninfoprovider.geturlgeneratordata.md | 15 - ...s-data-public.searchsessioninfoprovider.md | 22 - ...-plugins-data-public.searchsessionstate.md | 26 - ...-data-public.searchsource._constructor_.md | 21 - ...plugins-data-public.searchsource.create.md | 20 - ...ns-data-public.searchsource.createchild.md | 24 - ...ins-data-public.searchsource.createcopy.md | 17 - ...lugins-data-public.searchsource.destroy.md | 17 - ...-plugins-data-public.searchsource.fetch.md | 29 - ...plugins-data-public.searchsource.fetch_.md | 24 - ...ugins-data-public.searchsource.getfield.md | 25 - ...gins-data-public.searchsource.getfields.md | 17 - ...-plugins-data-public.searchsource.getid.md | 17 - ...ns-data-public.searchsource.getownfield.md | 24 - ...gins-data-public.searchsource.getparent.md | 17 - ...ublic.searchsource.getsearchrequestbody.md | 17 - ...public.searchsource.getserializedfields.md | 24 - ...lugins-data-public.searchsource.history.md | 11 - ...plugin-plugins-data-public.searchsource.md | 51 - ...data-public.searchsource.onrequeststart.md | 24 - ...ns-data-public.searchsource.removefield.md | 24 - ...gins-data-public.searchsource.serialize.md | 27 - ...ugins-data-public.searchsource.setfield.md | 25 - ...gins-data-public.searchsource.setfields.md | 25 - ...gins-data-public.searchsource.setparent.md | 25 - ...archsource.setpreferredsearchstrategyid.md | 24 - ...ins-data-public.searchsourcefields.aggs.md | 13 - ...s-data-public.searchsourcefields.fields.md | 13 - ...lic.searchsourcefields.fieldsfromsource.md | 18 - ...s-data-public.searchsourcefields.filter.md | 13 - ...ins-data-public.searchsourcefields.from.md | 11 - ...ata-public.searchsourcefields.highlight.md | 11 - ...-public.searchsourcefields.highlightall.md | 11 - ...ns-data-public.searchsourcefields.index.md | 12 - ...-plugins-data-public.searchsourcefields.md | 38 - ...s-data-public.searchsourcefields.parent.md | 11 - ...ns-data-public.searchsourcefields.query.md | 12 - ...a-public.searchsourcefields.searchafter.md | 11 - ...ins-data-public.searchsourcefields.size.md | 11 - ...ins-data-public.searchsourcefields.sort.md | 13 - ...s-data-public.searchsourcefields.source.md | 11 - ...blic.searchsourcefields.terminate_after.md | 11 - ...-data-public.searchsourcefields.timeout.md | 11 - ...ublic.searchsourcefields.tracktotalhits.md | 11 - ...ins-data-public.searchsourcefields.type.md | 11 - ...-data-public.searchsourcefields.version.md | 11 - ...lugin-plugins-data-public.sortdirection.md | 19 - ...gins-data-public.statefulsearchbarprops.md | 16 - ...ugins-data-public.syncquerystatewithurl.md | 16 - ...-plugins-data-public.timefiltercontract.md | 11 - ...s-data-public.timehistory._constructor_.md | 20 - ...gin-plugins-data-public.timehistory.add.md | 22 - ...gin-plugins-data-public.timehistory.get.md | 15 - ...-plugin-plugins-data-public.timehistory.md | 25 - ...plugins-data-public.timehistorycontract.md | 11 - ...na-plugin-plugins-data-public.timerange.md | 15 - ...lugin-plugins-data-public.typemeta.aggs.md | 11 - ...ana-plugin-plugins-data-public.typemeta.md | 19 - ...gin-plugins-data-public.typemeta.params.md | 13 - ...-plugin-plugins-data-public.ui_settings.md | 35 - ...a-public.waituntilnextsessioncompletes_.md | 25 - ...ic.waituntilnextsessioncompletesoptions.md | 20 - ...nextsessioncompletesoptions.waitforidle.md | 13 - docs/development/plugins/data/server/index.md | 12 - ...erver.asyncsearchstatusresponse._shards.md | 11 - ...csearchstatusresponse.completion_status.md | 11 - ...s-data-server.asyncsearchstatusresponse.md | 19 - ...ns-data-server.castestokbnfieldtypename.md | 16 - ...ibana-plugin-plugins-data-server.config.md | 11 - ...-plugins-data-server.es_search_strategy.md | 11 - ...na-plugin-plugins-data-server.esfilters.md | 25 - ...bana-plugin-plugins-data-server.eskuery.md | 15 - ...bana-plugin-plugins-data-server.esquery.md | 15 - ...lugin-plugins-data-server.esqueryconfig.md | 16 - ...na-plugin-plugins-data-server.exporters.md | 14 - ...ata-server.fielddescriptor.aggregatable.md | 11 - ...ins-data-server.fielddescriptor.estypes.md | 11 - ...gin-plugins-data-server.fielddescriptor.md | 24 - ...lugins-data-server.fielddescriptor.name.md | 11 - ...erver.fielddescriptor.readfromdocvalues.md | 11 - ...-data-server.fielddescriptor.searchable.md | 11 - ...ins-data-server.fielddescriptor.subtype.md | 11 - ...lugins-data-server.fielddescriptor.type.md | 11 - ...ibana-plugin-plugins-data-server.filter.md | 16 - ...-server.getcapabilitiesforrollupindices.md | 28 - ...in-plugins-data-server.getesqueryconfig.md | 22 - ...bana-plugin-plugins-data-server.gettime.md | 27 - ...-data-server.iessearchrequest.indextype.md | 11 - ...in-plugins-data-server.iessearchrequest.md | 18 - ...n-plugins-data-server.iessearchresponse.md | 11 - ...lugin-plugins-data-server.ifieldsubtype.md | 16 - ...ins-data-server.ifieldtype.aggregatable.md | 11 - ...in-plugins-data-server.ifieldtype.count.md | 11 - ...gins-data-server.ifieldtype.customlabel.md | 11 - ...gins-data-server.ifieldtype.displayname.md | 11 - ...-plugins-data-server.ifieldtype.estypes.md | 11 - ...ugins-data-server.ifieldtype.filterable.md | 11 - ...n-plugins-data-server.ifieldtype.format.md | 11 - ...a-plugin-plugins-data-server.ifieldtype.md | 34 - ...ata-server.ifieldtype.readfromdocvalues.md | 11 - ...ugins-data-server.ifieldtype.searchable.md | 11 - ...plugins-data-server.ifieldtype.sortable.md | 11 - ...n-plugins-data-server.ifieldtype.tospec.md | 13 - ...ins-data-server.ifieldtype.visualizable.md | 11 - ...-server.index_pattern_saved_object_type.md | 13 - ...-data-server.indexpattern._constructor_.md | 20 - ...ata-server.indexpattern.addruntimefield.md | 25 - ...ta-server.indexpattern.addscriptedfield.md | 31 - ...s-data-server.indexpattern.allownoindex.md | 13 - ...a-server.indexpattern.deletefieldformat.md | 11 - ...data-server.indexpattern.fieldformatmap.md | 11 - ...plugins-data-server.indexpattern.fields.md | 13 - ...ins-data-server.indexpattern.flattenhit.md | 11 - ...ns-data-server.indexpattern.formatfield.md | 11 - ...gins-data-server.indexpattern.formathit.md | 14 - ...indexpattern.getaggregationrestrictions.md | 29 - ...erver.indexpattern.getassavedobjectbody.md | 17 - ...a-server.indexpattern.getcomputedfields.md | 31 - ...-data-server.indexpattern.getfieldattrs.md | 13 - ...data-server.indexpattern.getfieldbyname.md | 22 - ...erver.indexpattern.getformatterforfield.md | 24 - ...expattern.getformatterforfieldnodefault.md | 24 - ...erver.indexpattern.getnonscriptedfields.md | 20 - ...indexpattern.getoriginalsavedobjectbody.md | 23 - ...ata-server.indexpattern.getruntimefield.md | 24 - ...a-server.indexpattern.getscriptedfields.md | 20 - ...-server.indexpattern.getsourcefiltering.md | 21 - ...s-data-server.indexpattern.gettimefield.md | 15 - ...ata-server.indexpattern.hasruntimefield.md | 24 - ...gin-plugins-data-server.indexpattern.id.md | 11 - ...s-data-server.indexpattern.intervalname.md | 16 - ...ns-data-server.indexpattern.istimebased.md | 15 - ...ta-server.indexpattern.istimenanosbased.md | 15 - ...plugin-plugins-data-server.indexpattern.md | 71 - ...ins-data-server.indexpattern.metafields.md | 11 - ...-server.indexpattern.removeruntimefield.md | 24 - ...server.indexpattern.removescriptedfield.md | 29 - ...er.indexpattern.replaceallruntimefields.md | 24 - ...dexpattern.resetoriginalsavedobjectbody.md | 13 - ...-data-server.indexpattern.setfieldattrs.md | 24 - ...-data-server.indexpattern.setfieldcount.md | 23 - ...server.indexpattern.setfieldcustomlabel.md | 23 - ...data-server.indexpattern.setfieldformat.md | 11 - ...-data-server.indexpattern.sourcefilters.md | 11 - ...-data-server.indexpattern.timefieldname.md | 11 - ...-plugins-data-server.indexpattern.title.md | 11 - ...plugins-data-server.indexpattern.tospec.md | 17 - ...n-plugins-data-server.indexpattern.type.md | 13 - ...ugins-data-server.indexpattern.typemeta.md | 13 - ...lugins-data-server.indexpattern.version.md | 13 - ...ver.indexpatternattributes.allownoindex.md | 13 - ...erver.indexpatternattributes.fieldattrs.md | 11 - ...r.indexpatternattributes.fieldformatmap.md | 11 - ...ta-server.indexpatternattributes.fields.md | 11 - ...ver.indexpatternattributes.intervalname.md | 11 - ...gins-data-server.indexpatternattributes.md | 30 - ....indexpatternattributes.runtimefieldmap.md | 11 - ...er.indexpatternattributes.sourcefilters.md | 11 - ...er.indexpatternattributes.timefieldname.md | 11 - ...ata-server.indexpatternattributes.title.md | 11 - ...data-server.indexpatternattributes.type.md | 11 - ...-server.indexpatternattributes.typemeta.md | 11 - ...-server.indexpatternfield._constructor_.md | 20 - ...a-server.indexpatternfield.aggregatable.md | 11 - ....indexpatternfield.conflictdescriptions.md | 15 - ...ins-data-server.indexpatternfield.count.md | 15 - ...ta-server.indexpatternfield.customlabel.md | 13 - ...ta-server.indexpatternfield.deletecount.md | 15 - ...ta-server.indexpatternfield.displayname.md | 11 - ...s-data-server.indexpatternfield.estypes.md | 11 - ...ata-server.indexpatternfield.filterable.md | 11 - ...-data-server.indexpatternfield.ismapped.md | 13 - ...gins-data-server.indexpatternfield.lang.md | 15 - ...n-plugins-data-server.indexpatternfield.md | 52 - ...gins-data-server.indexpatternfield.name.md | 11 - ...ver.indexpatternfield.readfromdocvalues.md | 11 - ...a-server.indexpatternfield.runtimefield.md | 13 - ...ns-data-server.indexpatternfield.script.md | 15 - ...-data-server.indexpatternfield.scripted.md | 11 - ...ata-server.indexpatternfield.searchable.md | 11 - ...-data-server.indexpatternfield.sortable.md | 11 - ...gins-data-server.indexpatternfield.spec.md | 11 - ...s-data-server.indexpatternfield.subtype.md | 11 - ...ns-data-server.indexpatternfield.tojson.md | 43 - ...ns-data-server.indexpatternfield.tospec.md | 24 - ...gins-data-server.indexpatternfield.type.md | 11 - ...a-server.indexpatternfield.visualizable.md | 11 - ...rver.indexpatternsfetcher._constructor_.md | 21 - ...patternsfetcher.getfieldsfortimepattern.md | 29 - ...dexpatternsfetcher.getfieldsforwildcard.md | 32 - ...lugins-data-server.indexpatternsfetcher.md | 26 - ...tternsfetcher.validatepatternlistactive.md | 24 - ...rver.indexpatternsservice._constructor_.md | 20 - ...-server.indexpatternsservice.clearcache.md | 13 - ...data-server.indexpatternsservice.create.md | 27 - ...rver.indexpatternsservice.createandsave.md | 26 - ....indexpatternsservice.createsavedobject.md | 25 - ...data-server.indexpatternsservice.delete.md | 24 - ...tternsservice.ensuredefaultindexpattern.md | 11 - ...er.indexpatternsservice.fieldarraytomap.md | 13 - ...s-data-server.indexpatternsservice.find.md | 13 - ...ns-data-server.indexpatternsservice.get.md | 13 - ...ta-server.indexpatternsservice.getcache.md | 11 - ...-server.indexpatternsservice.getdefault.md | 13 - ...erver.indexpatternsservice.getdefaultid.md | 13 - ...atternsservice.getfieldsforindexpattern.md | 13 - ...dexpatternsservice.getfieldsforwildcard.md | 13 - ...data-server.indexpatternsservice.getids.md | 13 - ...er.indexpatternsservice.getidswithtitle.md | 13 - ...a-server.indexpatternsservice.gettitles.md | 13 - ...ndexpatternsservice.hasuserindexpattern.md | 17 - ...lugins-data-server.indexpatternsservice.md | 50 - ...rver.indexpatternsservice.refreshfields.md | 13 - ....indexpatternsservice.savedobjecttospec.md | 13 - ...-server.indexpatternsservice.setdefault.md | 13 - ....indexpatternsservice.updatesavedobject.md | 26 - ...erver.iscopedsearchclient.cancelsession.md | 11 - ...erver.iscopedsearchclient.deletesession.md | 11 - ...erver.iscopedsearchclient.extendsession.md | 11 - ...server.iscopedsearchclient.findsessions.md | 11 - ...a-server.iscopedsearchclient.getsession.md | 11 - ...plugins-data-server.iscopedsearchclient.md | 24 - ...-server.iscopedsearchclient.savesession.md | 11 - ...erver.iscopedsearchclient.updatesession.md | 11 - ...-data-server.isearchoptions.abortsignal.md | 13 - ...-server.isearchoptions.executioncontext.md | 11 - ...data-server.isearchoptions.indexpattern.md | 13 - ...ns-data-server.isearchoptions.inspector.md | 13 - ...ns-data-server.isearchoptions.isrestore.md | 13 - ...ins-data-server.isearchoptions.isstored.md | 13 - ...a-server.isearchoptions.legacyhitstotal.md | 13 - ...ugin-plugins-data-server.isearchoptions.md | 26 - ...ns-data-server.isearchoptions.sessionid.md | 13 - ...ins-data-server.isearchoptions.strategy.md | 13 - ....isearchsessionservice.asscopedprovider.md | 11 - ...ugins-data-server.isearchsessionservice.md | 18 - ...gins-data-server.isearchstrategy.cancel.md | 11 - ...gins-data-server.isearchstrategy.extend.md | 11 - ...gin-plugins-data-server.isearchstrategy.md | 22 - ...gins-data-server.isearchstrategy.search.md | 11 - ...na-plugin-plugins-data-server.kuerynode.md | 16 - .../kibana-plugin-plugins-data-server.md | 79 - ...plugin-plugins-data-server.metric_types.md | 40 - ....nosearchidinsessionerror._constructor_.md | 13 - ...ns-data-server.nosearchidinsessionerror.md | 18 - ...ugin-plugins-data-server.parsedinterval.md | 11 - ...lugin-plugins-data-server.parseinterval.md | 22 - ...lugins-data-server.plugin._constructor_.md | 20 - ...ibana-plugin-plugins-data-server.plugin.md | 24 - ...plugin-plugins-data-server.plugin.setup.md | 31 - ...plugin-plugins-data-server.plugin.start.md | 35 - ...-plugin-plugins-data-server.plugin.stop.md | 15 - ...ns-data-server.pluginsetup.fieldformats.md | 16 - ...-plugin-plugins-data-server.pluginsetup.md | 19 - ...-plugins-data-server.pluginsetup.search.md | 11 - ...ns-data-server.pluginstart.fieldformats.md | 16 - ...s-data-server.pluginstart.indexpatterns.md | 11 - ...-plugin-plugins-data-server.pluginstart.md | 20 - ...-plugins-data-server.pluginstart.search.md | 11 - ...ibana-plugin-plugins-data-server.search.md | 19 - ...data-server.searchrequesthandlercontext.md | 11 - ...ver.searchstrategydependencies.esclient.md | 11 - ...-data-server.searchstrategydependencies.md | 22 - ...rver.searchstrategydependencies.request.md | 11 - ...strategydependencies.savedobjectsclient.md | 11 - ...rategydependencies.searchsessionsclient.md | 11 - ...chstrategydependencies.uisettingsclient.md | 11 - ...ata-server.shouldreadfieldfromdocvalues.md | 23 - ...na-plugin-plugins-data-server.timerange.md | 15 - ...-plugin-plugins-data-server.ui_settings.md | 35 - .../plugins/embeddable/public/index.md | 12 - ...gins-embeddable-public.action_add_panel.md | 11 - ...ins-embeddable-public.action_edit_panel.md | 11 - ...ugin-plugins-embeddable-public.adapters.md | 20 - ...ins-embeddable-public.adapters.requests.md | 11 - ...ble-public.addpanelaction._constructor_.md | 25 - ...mbeddable-public.addpanelaction.execute.md | 22 - ...le-public.addpanelaction.getdisplayname.md | 15 - ...dable-public.addpanelaction.geticontype.md | 15 - ...ins-embeddable-public.addpanelaction.id.md | 11 - ...able-public.addpanelaction.iscompatible.md | 22 - ...lugins-embeddable-public.addpanelaction.md | 34 - ...s-embeddable-public.addpanelaction.type.md | 11 - ...embeddable-public.attribute_service_key.md | 13 - ...e-public.attributeservice._constructor_.md | 25 - ...eservice.getexplicitinputfromembeddable.md | 22 - ...blic.attributeservice.getinputasreftype.md | 16 - ...ic.attributeservice.getinputasvaluetype.md | 11 - ...-public.attributeservice.inputisreftype.md | 11 - ...gins-embeddable-public.attributeservice.md | 40 - ...ublic.attributeservice.unwrapattributes.md | 22 - ...-public.attributeservice.wrapattributes.md | 24 - ...ns-embeddable-public.chartactioncontext.md | 11 - ...beddable-public.container._constructor_.md | 23 - ...dable-public.container.addnewembeddable.md | 23 - ...ns-embeddable-public.container.children.md | 13 - ...le-public.container.createnewpanelstate.md | 23 - ...ins-embeddable-public.container.destroy.md | 15 - ...ns-embeddable-public.container.getchild.md | 22 - ...embeddable-public.container.getchildids.md | 15 - ...-embeddable-public.container.getfactory.md | 11 - ...able-public.container.getinheritedinput.md | 24 - ...dable-public.container.getinputforchild.md | 22 - ...beddable-public.container.getpanelstate.md | 22 - ...embeddable-public.container.iscontainer.md | 11 - ...gin-plugins-embeddable-public.container.md | 44 - ...gins-embeddable-public.container.reload.md | 15 - ...dable-public.container.removeembeddable.md | 22 - ...eddable-public.container.setchildloaded.md | 22 - ...-public.container.untilembeddableloaded.md | 22 - ...le-public.container.updateinputforchild.md | 23 - ...e-public.containerinput.hidepaneltitles.md | 11 - ...lugins-embeddable-public.containerinput.md | 19 - ...embeddable-public.containerinput.panels.md | 15 - ...public.containeroutput.embeddableloaded.md | 13 - ...ugins-embeddable-public.containeroutput.md | 18 - ...-embeddable-public.context_menu_trigger.md | 11 - ...ns-embeddable-public.contextmenutrigger.md | 11 - ...public.defaultembeddablefactoryprovider.md | 11 - ...le-public.editpanelaction._constructor_.md | 22 - ...ble-public.editpanelaction.currentappid.md | 11 - ...beddable-public.editpanelaction.execute.md | 22 - ...ble-public.editpanelaction.getapptarget.md | 22 - ...e-public.editpanelaction.getdisplayname.md | 22 - ...beddable-public.editpanelaction.gethref.md | 22 - ...able-public.editpanelaction.geticontype.md | 15 - ...ns-embeddable-public.editpanelaction.id.md | 11 - ...ble-public.editpanelaction.iscompatible.md | 22 - ...ugins-embeddable-public.editpanelaction.md | 38 - ...embeddable-public.editpanelaction.order.md | 11 - ...-embeddable-public.editpanelaction.type.md | 11 - ...eddable-public.embeddable._constructor_.md | 22 - ...e-public.embeddable.deferembeddableload.md | 11 - ...ns-embeddable-public.embeddable.destroy.md | 17 - ...-embeddable-public.embeddable.destroyed.md | 11 - ...embeddable-public.embeddable.fatalerror.md | 11 - ...s-embeddable-public.embeddable.getinput.md | 15 - ...-embeddable-public.embeddable.getinput_.md | 15 - ...-public.embeddable.getinspectoradapters.md | 17 - ...ddable-public.embeddable.getiscontainer.md | 15 - ...-embeddable-public.embeddable.getoutput.md | 15 - ...embeddable-public.embeddable.getoutput_.md | 15 - ...ns-embeddable-public.embeddable.getroot.md | 17 - ...s-embeddable-public.embeddable.gettitle.md | 15 - ...mbeddable-public.embeddable.getupdated_.md | 17 - ...plugins-embeddable-public.embeddable.id.md | 11 - ...gins-embeddable-public.embeddable.input.md | 11 - ...mbeddable-public.embeddable.iscontainer.md | 11 - ...in-plugins-embeddable-public.embeddable.md | 57 - ...beddable-public.embeddable.onfatalerror.md | 22 - ...ins-embeddable-public.embeddable.output.md | 11 - ...ins-embeddable-public.embeddable.parent.md | 11 - ...ins-embeddable-public.embeddable.reload.md | 21 - ...ins-embeddable-public.embeddable.render.md | 22 - ...ddable-public.embeddable.rendercomplete.md | 11 - ...-embeddable-public.embeddable.runtimeid.md | 11 - ...ic.embeddable.setinitializationfinished.md | 17 - ...ble-public.embeddable.supportedtriggers.md | 15 - ...ugins-embeddable-public.embeddable.type.md | 11 - ...mbeddable-public.embeddable.updateinput.md | 22 - ...beddable-public.embeddable.updateoutput.md | 22 - ...blic.embeddablechildpanel._constructor_.md | 20 - ....embeddablechildpanel.componentdidmount.md | 15 - ...beddablechildpanel.componentwillunmount.md | 15 - ...-public.embeddablechildpanel.embeddable.md | 11 - ...-embeddable-public.embeddablechildpanel.md | 35 - ...ble-public.embeddablechildpanel.mounted.md | 11 - ...able-public.embeddablechildpanel.render.md | 15 - ...lic.embeddablechildpanelprops.classname.md | 11 - ...lic.embeddablechildpanelprops.container.md | 11 - ....embeddablechildpanelprops.embeddableid.md | 11 - ...ddable-public.embeddablechildpanelprops.md | 21 - ...mbeddablechildpanelprops.panelcomponent.md | 11 - ...ble-public.embeddablecontext.embeddable.md | 11 - ...ins-embeddable-public.embeddablecontext.md | 18 - ...blic.embeddableeditorstate.embeddableid.md | 11 - ...embeddable-public.embeddableeditorstate.md | 24 - ...ic.embeddableeditorstate.originatingapp.md | 11 - ...c.embeddableeditorstate.originatingpath.md | 11 - ...c.embeddableeditorstate.searchsessionid.md | 13 - ...public.embeddableeditorstate.valueinput.md | 11 - ...e-public.embeddablefactory.cancreatenew.md | 17 - ...eddable-public.embeddablefactory.create.md | 27 - ...embeddablefactory.createfromsavedobject.md | 26 - ...ublic.embeddablefactory.getdefaultinput.md | 24 - ...public.embeddablefactory.getdescription.md | 17 - ...public.embeddablefactory.getdisplayname.md | 17 - ...blic.embeddablefactory.getexplicitinput.md | 17 - ...le-public.embeddablefactory.geticontype.md | 17 - ...dable-public.embeddablefactory.grouping.md | 13 - ...ublic.embeddablefactory.iscontainertype.md | 13 - ...ble-public.embeddablefactory.iseditable.md | 13 - ...ins-embeddable-public.embeddablefactory.md | 37 - ...c.embeddablefactory.savedobjectmetadata.md | 11 - ...mbeddable-public.embeddablefactory.type.md | 11 - ...able-public.embeddablefactorydefinition.md | 11 - ...dablefactorynotfounderror._constructor_.md | 20 - ...lic.embeddablefactorynotfounderror.code.md | 11 - ...e-public.embeddablefactorynotfounderror.md | 24 - ...ugins-embeddable-public.embeddableinput.md | 23 - ...blic.embeddableinstanceconfiguration.id.md | 11 - ...-public.embeddableinstanceconfiguration.md | 19 - ...ableinstanceconfiguration.savedobjectid.md | 11 - ...le-public.embeddableoutput.defaulttitle.md | 11 - ...ddable-public.embeddableoutput.editable.md | 11 - ...eddable-public.embeddableoutput.editapp.md | 11 - ...ddable-public.embeddableoutput.editpath.md | 11 - ...eddable-public.embeddableoutput.editurl.md | 11 - ...mbeddable-public.embeddableoutput.error.md | 11 - ...eddable-public.embeddableoutput.loading.md | 11 - ...gins-embeddable-public.embeddableoutput.md | 26 - ...e-public.embeddableoutput.savedobjectid.md | 11 - ...mbeddable-public.embeddableoutput.title.md | 11 - ...lic.embeddablepackagestate.embeddableid.md | 11 - ...ble-public.embeddablepackagestate.input.md | 11 - ...mbeddable-public.embeddablepackagestate.md | 23 - ....embeddablepackagestate.searchsessionid.md | 13 - ...able-public.embeddablepackagestate.type.md | 11 - ...le-public.embeddablepanel._constructor_.md | 20 - ...embeddablepanel.closemycontextmenupanel.md | 11 - ...ublic.embeddablepanel.componentdidmount.md | 15 - ...ic.embeddablepanel.componentwillunmount.md | 15 - ...ugins-embeddable-public.embeddablepanel.md | 35 - ...mbeddable-public.embeddablepanel.onblur.md | 11 - ...beddable-public.embeddablepanel.onfocus.md | 11 - ...mbeddable-public.embeddablepanel.render.md | 15 - ...beddablepanel.unsafe_componentwillmount.md | 15 - ...ns-embeddable-public.embeddablepanelhoc.md | 14 - ...ns-embeddable-public.embeddablerenderer.md | 32 - ...beddable-public.embeddablerendererprops.md | 13 - ...ble-public.embeddableroot._constructor_.md | 20 - ...public.embeddableroot.componentdidmount.md | 15 - ...ublic.embeddableroot.componentdidupdate.md | 22 - ...lugins-embeddable-public.embeddableroot.md | 27 - ...embeddable-public.embeddableroot.render.md | 15 - ...ic.embeddableroot.shouldcomponentupdate.md | 22 - ...ugins-embeddable-public.embeddablesetup.md | 20 - ...beddablesetup.registerembeddablefactory.md | 11 - ...lic.embeddablesetup.registerenhancement.md | 11 - ...etup.setcustomembeddablefactoryprovider.md | 11 - ...able-public.embeddablesetupdependencies.md | 18 - ...c.embeddablesetupdependencies.uiactions.md | 11 - ...-public.embeddablestart.embeddablepanel.md | 11 - ...lic.embeddablestart.getattributeservice.md | 17 - ....embeddablestart.getembeddablefactories.md | 11 - ...ic.embeddablestart.getembeddablefactory.md | 11 - ...public.embeddablestart.getstatetransfer.md | 11 - ...ugins-embeddable-public.embeddablestart.md | 22 - ...c.embeddablestartdependencies.inspector.md | 11 - ...able-public.embeddablestartdependencies.md | 19 - ...c.embeddablestartdependencies.uiactions.md | 11 - ...c.embeddablestatetransfer._constructor_.md | 23 - ...mbeddablestatetransfer.cleareditorstate.md | 24 - ...mbeddablestatetransfer.getappnamefromid.md | 13 - ...blestatetransfer.getincomingeditorstate.md | 25 - ...tetransfer.getincomingembeddablepackage.md | 25 - ...dablestatetransfer.istransferinprogress.md | 11 - ...beddable-public.embeddablestatetransfer.md | 37 - ...mbeddablestatetransfer.navigatetoeditor.md | 29 - ...ransfer.navigatetowithembeddablepackage.md | 28 - ...public.enhancementregistrydefinition.id.md | 11 - ...le-public.enhancementregistrydefinition.md | 18 - ...le-public.errorembeddable._constructor_.md | 22 - ...beddable-public.errorembeddable.destroy.md | 15 - ...embeddable-public.errorembeddable.error.md | 11 - ...ugins-embeddable-public.errorembeddable.md | 33 - ...mbeddable-public.errorembeddable.reload.md | 15 - ...mbeddable-public.errorembeddable.render.md | 22 - ...-embeddable-public.errorembeddable.type.md | 11 - ...able-public.icontainer.addnewembeddable.md | 25 - ...s-embeddable-public.icontainer.getchild.md | 24 - ...able-public.icontainer.getinputforchild.md | 24 - ...in-plugins-embeddable-public.icontainer.md | 24 - ...able-public.icontainer.removeembeddable.md | 24 - ...ddable-public.icontainer.setchildloaded.md | 24 - ...public.icontainer.untilembeddableloaded.md | 24 - ...e-public.icontainer.updateinputforchild.md | 25 - ...-public.iembeddable.deferembeddableload.md | 13 - ...s-embeddable-public.iembeddable.destroy.md | 17 - ...eddable-public.iembeddable.enhancements.md | 13 - ...mbeddable-public.iembeddable.fatalerror.md | 13 - ...-embeddable-public.iembeddable.getinput.md | 21 - ...embeddable-public.iembeddable.getinput_.md | 17 - ...public.iembeddable.getinspectoradapters.md | 17 - ...dable-public.iembeddable.getiscontainer.md | 17 - ...embeddable-public.iembeddable.getoutput.md | 21 - ...mbeddable-public.iembeddable.getoutput_.md | 17 - ...s-embeddable-public.iembeddable.getroot.md | 17 - ...-embeddable-public.iembeddable.gettitle.md | 17 - ...lugins-embeddable-public.iembeddable.id.md | 13 - ...beddable-public.iembeddable.iscontainer.md | 13 - ...n-plugins-embeddable-public.iembeddable.md | 43 - ...ns-embeddable-public.iembeddable.parent.md | 13 - ...ns-embeddable-public.iembeddable.reload.md | 17 - ...ns-embeddable-public.iembeddable.render.md | 24 - ...embeddable-public.iembeddable.runtimeid.md | 13 - ...le-public.iembeddable.supportedtriggers.md | 17 - ...gins-embeddable-public.iembeddable.type.md | 13 - ...beddable-public.iembeddable.updateinput.md | 24 - ...able-public.iscontextmenutriggercontext.md | 11 - ...-plugins-embeddable-public.isembeddable.md | 11 - ...ins-embeddable-public.iserrorembeddable.md | 22 - ...able-public.israngeselecttriggercontext.md | 11 - ...ble-public.isreferenceorvalueembeddable.md | 22 - ...eddable-public.isrowclicktriggercontext.md | 11 - ...ble-public.issavedobjectembeddableinput.md | 22 - ...dable-public.isvalueclicktriggercontext.md | 11 - ...kibana-plugin-plugins-embeddable-public.md | 103 - ...ns-embeddable-public.openaddpanelflyout.md | 31 - ...in-plugins-embeddable-public.outputspec.md | 11 - ...s-embeddable-public.panel_badge_trigger.md | 11 - ...dable-public.panel_notification_trigger.md | 11 - ...ins-embeddable-public.panelbadgetrigger.md | 11 - ...public.panelnotfounderror._constructor_.md | 13 - ...beddable-public.panelnotfounderror.code.md | 11 - ...ns-embeddable-public.panelnotfounderror.md | 24 - ...eddable-public.panelnotificationtrigger.md | 11 - ...eddable-public.panelstate.explicitinput.md | 13 - ...plugins-embeddable-public.panelstate.id.md | 11 - ...in-plugins-embeddable-public.panelstate.md | 24 - ...ugins-embeddable-public.panelstate.type.md | 11 - ...plugin-plugins-embeddable-public.plugin.md | 22 - ...beddable-public.propertyspec.accesspath.md | 11 - ...eddable-public.propertyspec.description.md | 11 - ...eddable-public.propertyspec.displayname.md | 11 - ...ugins-embeddable-public.propertyspec.id.md | 11 - ...-plugins-embeddable-public.propertyspec.md | 22 - ...ns-embeddable-public.propertyspec.value.md | 11 - ...beddable-public.rangeselectcontext.data.md | 16 - ...le-public.rangeselectcontext.embeddable.md | 11 - ...ns-embeddable-public.rangeselectcontext.md | 19 - ...enceorvalueembeddable.getinputasreftype.md | 13 - ...ceorvalueembeddable.getinputasvaluetype.md | 13 - ...ferenceorvalueembeddable.inputisreftype.md | 13 - ...dable-public.referenceorvalueembeddable.md | 22 - ...dable-public.savedobjectembeddableinput.md | 18 - ...avedobjectembeddableinput.savedobjectid.md | 11 - ...-embeddable-public.select_range_trigger.md | 11 - ...-embeddable-public.useembeddablefactory.md | 22 - ...s-embeddable-public.value_click_trigger.md | 11 - ...mbeddable-public.valueclickcontext.data.md | 20 - ...ble-public.valueclickcontext.embeddable.md | 11 - ...ins-embeddable-public.valueclickcontext.md | 19 - ...ugin-plugins-embeddable-public.viewmode.md | 19 - ...dable-public.withembeddablesubscription.md | 17 - .../plugins/embeddable/server/index.md | 12 - ...-server.embeddableregistrydefinition.id.md | 11 - ...ble-server.embeddableregistrydefinition.md | 18 - ...server.embeddablesetup.getallmigrations.md | 11 - ...ugins-embeddable-server.embeddablesetup.md | 20 - ...beddablesetup.registerembeddablefactory.md | 11 - ...ver.embeddablesetup.registerenhancement.md | 11 - ...ugins-embeddable-server.embeddablestart.md | 11 - ...server.enhancementregistrydefinition.id.md | 11 - ...le-server.enhancementregistrydefinition.md | 18 - ...kibana-plugin-plugins-embeddable-server.md | 26 - ...plugin-plugins-embeddable-server.plugin.md | 11 - .../plugins/expressions/public/index.md | 12 - ...-public.anyexpressionfunctiondefinition.md | 13 - ...ions-public.anyexpressiontypedefinition.md | 11 - ...plugins-expressions-public.argumenttype.md | 13 - ...gins-expressions-public.buildexpression.md | 24 - ...ressions-public.buildexpressionfunction.md | 30 - ...ns-expressions-public.datatable.columns.md | 11 - ...in-plugins-expressions-public.datatable.md | 22 - ...ugins-expressions-public.datatable.rows.md | 11 - ...ugins-expressions-public.datatable.type.md | 11 - ...s-expressions-public.datatablecolumn.id.md | 11 - ...gins-expressions-public.datatablecolumn.md | 22 - ...expressions-public.datatablecolumn.meta.md | 11 - ...expressions-public.datatablecolumn.name.md | 11 - ...-expressions-public.datatablecolumntype.md | 13 - ...plugins-expressions-public.datatablerow.md | 13 - ...ressions-public.execution._constructor_.md | 20 - ...ins-expressions-public.execution.cancel.md | 17 - ...ugins-expressions-public.execution.cast.md | 23 - ...ns-expressions-public.execution.context.md | 13 - ...s-expressions-public.execution.contract.md | 13 - ...-expressions-public.execution.execution.md | 11 - ...expressions-public.execution.expression.md | 11 - ...gins-expressions-public.execution.input.md | 15 - ...ions-public.execution.inspectoradapters.md | 11 - ...-expressions-public.execution.interpret.md | 23 - ...xpressions-public.execution.invokechain.md | 23 - ...essions-public.execution.invokefunction.md | 24 - ...in-plugins-expressions-public.execution.md | 43 - ...xpressions-public.execution.resolveargs.md | 24 - ...ins-expressions-public.execution.result.md | 13 - ...gins-expressions-public.execution.start.md | 27 - ...gins-expressions-public.execution.state.md | 13 - ...s-expressions-public.executioncontainer.md | 11 - ...ons-public.executioncontext.abortsignal.md | 13 - ...ic.executioncontext.getexecutioncontext.md | 13 - ...ublic.executioncontext.getkibanarequest.md | 13 - ...ublic.executioncontext.getsearchcontext.md | 13 - ...lic.executioncontext.getsearchsessionid.md | 13 - ...blic.executioncontext.inspectoradapters.md | 13 - ...ic.executioncontext.issynccolorsenabled.md | 13 - ...ins-expressions-public.executioncontext.md | 28 - ...pressions-public.executioncontext.types.md | 13 - ...sions-public.executioncontext.variables.md | 13 - ...-public.executioncontract._constructor_.md | 20 - ...essions-public.executioncontract.cancel.md | 13 - ...ions-public.executioncontract.execution.md | 11 - ...essions-public.executioncontract.getast.md | 13 - ...ssions-public.executioncontract.getdata.md | 13 - ...-public.executioncontract.getexpression.md | 13 - ...ssions-public.executioncontract.inspect.md | 13 - ...ions-public.executioncontract.ispending.md | 11 - ...ns-expressions-public.executioncontract.md | 32 - ...-expressions-public.executionparams.ast.md | 11 - ...essions-public.executionparams.executor.md | 11 - ...sions-public.executionparams.expression.md | 11 - ...gins-expressions-public.executionparams.md | 21 - ...pressions-public.executionparams.params.md | 11 - ...s-expressions-public.executionstate.ast.md | 11 - ...expressions-public.executionstate.error.md | 13 - ...ugins-expressions-public.executionstate.md | 21 - ...xpressions-public.executionstate.result.md | 13 - ...expressions-public.executionstate.state.md | 15 - ...pressions-public.executor._constructor_.md | 20 - ...ins-expressions-public.executor.context.md | 11 - ...essions-public.executor.createexecution.md | 23 - ...ions-public.executor.createwithdefaults.md | 22 - ...pressions-public.executor.extendcontext.md | 22 - ...ins-expressions-public.executor.extract.md | 28 - ...lugins-expressions-public.executor.fork.md | 15 - ...s-expressions-public.executor.functions.md | 15 - ...ssions-public.executor.getallmigrations.md | 15 - ...expressions-public.executor.getfunction.md | 22 - ...xpressions-public.executor.getfunctions.md | 15 - ...ins-expressions-public.executor.gettype.md | 22 - ...ns-expressions-public.executor.gettypes.md | 15 - ...gins-expressions-public.executor.inject.md | 23 - ...gin-plugins-expressions-public.executor.md | 48 - ...essions-public.executor.migratetolatest.md | 22 - ...ssions-public.executor.registerfunction.md | 22 - ...xpressions-public.executor.registertype.md | 22 - ...plugins-expressions-public.executor.run.md | 26 - ...ugins-expressions-public.executor.state.md | 11 - ...s-expressions-public.executor.telemetry.md | 23 - ...ugins-expressions-public.executor.types.md | 15 - ...ns-expressions-public.executorcontainer.md | 11 - ...xpressions-public.executorstate.context.md | 11 - ...ressions-public.executorstate.functions.md | 11 - ...lugins-expressions-public.executorstate.md | 20 - ...-expressions-public.executorstate.types.md | 11 - ...xpressions-public.expressionastargument.md | 11 - ...ressions-public.expressionastexpression.md | 14 - ...essionastexpressionbuilder.findfunction.md | 15 - ...xpressionastexpressionbuilder.functions.md | 13 - ...s-public.expressionastexpressionbuilder.md | 22 - ...ic.expressionastexpressionbuilder.toast.md | 15 - ...expressionastexpressionbuilder.tostring.md | 15 - ...lic.expressionastexpressionbuilder.type.md | 13 - ...xpressions-public.expressionastfunction.md | 16 - ...xpressionastfunctionbuilder.addargument.md | 13 - ....expressionastfunctionbuilder.arguments.md | 13 - ...xpressionastfunctionbuilder.getargument.md | 13 - ...ons-public.expressionastfunctionbuilder.md | 26 - ...ublic.expressionastfunctionbuilder.name.md | 13 - ...essionastfunctionbuilder.removeargument.md | 15 - ...ssionastfunctionbuilder.replaceargument.md | 13 - ...blic.expressionastfunctionbuilder.toast.md | 15 - ...c.expressionastfunctionbuilder.tostring.md | 15 - ...ublic.expressionastfunctionbuilder.type.md | 13 - ...ns-expressions-public.expressionastnode.md | 11 - ...s-public.expressionexecutor.interpreter.md | 11 - ...s-expressions-public.expressionexecutor.md | 23 - ...public.expressionfunction._constructor_.md | 20 - ...sions-public.expressionfunction.accepts.md | 11 - ...sions-public.expressionfunction.aliases.md | 13 - ...ressions-public.expressionfunction.args.md | 13 - ...ions-public.expressionfunction.disabled.md | 11 - ...sions-public.expressionfunction.extract.md | 14 - ...xpressions-public.expressionfunction.fn.md | 13 - ...ressions-public.expressionfunction.help.md | 13 - ...ssions-public.expressionfunction.inject.md | 11 - ...ns-public.expressionfunction.inputtypes.md | 13 - ...s-expressions-public.expressionfunction.md | 36 - ...ns-public.expressionfunction.migrations.md | 13 - ...ressions-public.expressionfunction.name.md | 13 - ...ons-public.expressionfunction.telemetry.md | 11 - ...ressions-public.expressionfunction.type.md | 13 - ...ic.expressionfunctiondefinition.aliases.md | 13 - ...ublic.expressionfunctiondefinition.args.md | 15 - ...ic.expressionfunctiondefinition.context.md | 18 - ...c.expressionfunctiondefinition.disabled.md | 13 - ...-public.expressionfunctiondefinition.fn.md | 26 - ...ublic.expressionfunctiondefinition.help.md | 13 - ...expressionfunctiondefinition.inputtypes.md | 13 - ...ons-public.expressionfunctiondefinition.md | 33 - ...ublic.expressionfunctiondefinition.name.md | 13 - ...ublic.expressionfunctiondefinition.type.md | 13 - ...blic.expressionfunctiondefinitions.clog.md | 11 - ...ssionfunctiondefinitions.cumulative_sum.md | 11 - ...xpressionfunctiondefinitions.derivative.md | 11 - ...blic.expressionfunctiondefinitions.font.md | 11 - ...ns-public.expressionfunctiondefinitions.md | 28 - ...ssionfunctiondefinitions.moving_average.md | 11 - ...ssionfunctiondefinitions.overall_metric.md | 11 - ...lic.expressionfunctiondefinitions.theme.md | 11 - ...ublic.expressionfunctiondefinitions.var.md | 11 - ...c.expressionfunctiondefinitions.var_set.md | 11 - ...pressionfunctionparameter._constructor_.md | 21 - ...lic.expressionfunctionparameter.accepts.md | 22 - ...lic.expressionfunctionparameter.aliases.md | 11 - ...lic.expressionfunctionparameter.default.md | 11 - ...public.expressionfunctionparameter.help.md | 11 - ...ions-public.expressionfunctionparameter.md | 38 - ...ublic.expressionfunctionparameter.multi.md | 11 - ...public.expressionfunctionparameter.name.md | 11 - ...lic.expressionfunctionparameter.options.md | 11 - ...ic.expressionfunctionparameter.required.md | 11 - ...lic.expressionfunctionparameter.resolve.md | 11 - ...ublic.expressionfunctionparameter.types.md | 11 - ...ressions-public.expressionimage.dataurl.md | 11 - ...gins-expressions-public.expressionimage.md | 20 - ...expressions-public.expressionimage.mode.md | 11 - ...expressions-public.expressionimage.type.md | 11 - ....expressionrenderdefinition.displayname.md | 13 - ...-public.expressionrenderdefinition.help.md | 13 - ...sions-public.expressionrenderdefinition.md | 23 - ...-public.expressionrenderdefinition.name.md | 13 - ...ublic.expressionrenderdefinition.render.md | 13 - ...expressionrenderdefinition.reusedomnode.md | 13 - ...lic.expressionrenderdefinition.validate.md | 13 - ...public.expressionrenderer._constructor_.md | 20 - ...s-public.expressionrenderer.displayname.md | 11 - ...ressions-public.expressionrenderer.help.md | 11 - ...s-expressions-public.expressionrenderer.md | 29 - ...ressions-public.expressionrenderer.name.md | 11 - ...ssions-public.expressionrenderer.render.md | 11 - ...-public.expressionrenderer.reusedomnode.md | 11 - ...ions-public.expressionrenderer.validate.md | 11 - ...ions-public.expressionrenderercomponent.md | 11 - ...ons-public.expressionrendererevent.data.md | 11 - ...ressions-public.expressionrendererevent.md | 19 - ...ons-public.expressionrendererevent.name.md | 11 - ...s-public.expressionrendererregistry.get.md | 22 - ...sions-public.expressionrendererregistry.md | 21 - ...lic.expressionrendererregistry.register.md | 22 - ...blic.expressionrendererregistry.toarray.md | 15 - ...-public.expressionrendererregistry.tojs.md | 15 - ...xpressions-public.expressionrendererror.md | 19 - ...s-public.expressionrendererror.original.md | 11 - ...sions-public.expressionrendererror.type.md | 11 - ...c.expressionrenderhandler._constructor_.md | 21 - ...-public.expressionrenderhandler.destroy.md | 11 - ...-public.expressionrenderhandler.events_.md | 11 - ...blic.expressionrenderhandler.getelement.md | 11 - ...pressionrenderhandler.handlerendererror.md | 11 - ...ressions-public.expressionrenderhandler.md | 30 - ...s-public.expressionrenderhandler.render.md | 11 - ...-public.expressionrenderhandler.render_.md | 11 - ...-public.expressionrenderhandler.update_.md | 11 - ...-public.expressionsinspectoradapter.ast.md | 11 - ...blic.expressionsinspectoradapter.logast.md | 22 - ...ions-public.expressionsinspectoradapter.md | 24 - ...c.expressionspublicplugin._constructor_.md | 20 - ...ressions-public.expressionspublicplugin.md | 26 - ...ns-public.expressionspublicplugin.setup.md | 22 - ...ns-public.expressionspublicplugin.start.md | 22 - ...ons-public.expressionspublicplugin.stop.md | 15 - ...public.expressionsservice._constructor_.md | 20 - ...sions-public.expressionsservice.execute.md | 11 - ...ions-public.expressionsservice.executor.md | 11 - ...sions-public.expressionsservice.extract.md | 16 - ...ressions-public.expressionsservice.fork.md | 11 - ...lic.expressionsservice.getallmigrations.md | 13 - ...s-public.expressionsservice.getfunction.md | 11 - ...-public.expressionsservice.getfunctions.md | 13 - ...s-public.expressionsservice.getrenderer.md | 11 - ...-public.expressionsservice.getrenderers.md | 13 - ...sions-public.expressionsservice.gettype.md | 11 - ...ions-public.expressionsservice.gettypes.md | 13 - ...ssions-public.expressionsservice.inject.md | 13 - ...s-expressions-public.expressionsservice.md | 77 - ...blic.expressionsservice.migratetolatest.md | 13 - ...lic.expressionsservice.registerfunction.md | 35 - ...lic.expressionsservice.registerrenderer.md | 11 - ...-public.expressionsservice.registertype.md | 11 - ...ons-public.expressionsservice.renderers.md | 11 - ...pressions-public.expressionsservice.run.md | 11 - ...essions-public.expressionsservice.setup.md | 24 - ...essions-public.expressionsservice.start.md | 24 - ...ressions-public.expressionsservice.stop.md | 15 - ...ons-public.expressionsservice.telemetry.md | 13 - ...ressions-public.expressionsservicesetup.md | 13 - ...-public.expressionsservicestart.execute.md | 13 - ...ons-public.expressionsservicestart.fork.md | 13 - ...lic.expressionsservicestart.getfunction.md | 13 - ...lic.expressionsservicestart.getrenderer.md | 13 - ...-public.expressionsservicestart.gettype.md | 13 - ...ressions-public.expressionsservicestart.md | 35 - ...ions-public.expressionsservicestart.run.md | 28 - ...ins-expressions-public.expressionssetup.md | 13 - ...ublic.expressionsstart.expressionloader.md | 11 - ...xpressionsstart.expressionrenderhandler.md | 11 - ...ressions-public.expressionsstart.loader.md | 11 - ...ins-expressions-public.expressionsstart.md | 24 - ...xpressionsstart.reactexpressionrenderer.md | 11 - ...ressions-public.expressionsstart.render.md | 11 - ...ons-public.expressiontype._constructor_.md | 20 - ...essions-public.expressiontype.castsfrom.md | 11 - ...pressions-public.expressiontype.caststo.md | 11 - ...xpressions-public.expressiontype.create.md | 11 - ...sions-public.expressiontype.deserialize.md | 11 - ...-expressions-public.expressiontype.from.md | 11 - ...essions-public.expressiontype.getfromfn.md | 11 - ...pressions-public.expressiontype.gettofn.md | 11 - ...-expressions-public.expressiontype.help.md | 13 - ...ugins-expressions-public.expressiontype.md | 35 - ...-expressions-public.expressiontype.name.md | 11 - ...essions-public.expressiontype.serialize.md | 13 - ...ns-expressions-public.expressiontype.to.md | 11 - ...ressions-public.expressiontype.validate.md | 13 - ...ic.expressiontypedefinition.deserialize.md | 11 - ...ns-public.expressiontypedefinition.from.md | 13 - ...ns-public.expressiontypedefinition.help.md | 11 - ...essions-public.expressiontypedefinition.md | 26 - ...ns-public.expressiontypedefinition.name.md | 11 - ...blic.expressiontypedefinition.serialize.md | 11 - ...ions-public.expressiontypedefinition.to.md | 13 - ...ublic.expressiontypedefinition.validate.md | 11 - ...ressions-public.expressiontypestyle.css.md | 11 - ...-expressions-public.expressiontypestyle.md | 22 - ...essions-public.expressiontypestyle.spec.md | 11 - ...essions-public.expressiontypestyle.type.md | 11 - ...gins-expressions-public.expressionvalue.md | 11 - ...expressions-public.expressionvalueboxed.md | 13 - ...essions-public.expressionvalueconverter.md | 11 - ...expressions-public.expressionvalueerror.md | 14 - ...xpressions-public.expressionvaluefilter.md | 21 - ...s-expressions-public.expressionvaluenum.md | 13 - ...xpressions-public.expressionvaluerender.md | 16 - ...pressions-public.expressionvalueunboxed.md | 11 - ...n-plugins-expressions-public.font.label.md | 11 - ...-plugin-plugins-expressions-public.font.md | 21 - ...n-plugins-expressions-public.font.value.md | 11 - ...in-plugins-expressions-public.fontlabel.md | 13 - ...in-plugins-expressions-public.fontstyle.md | 21 - ...in-plugins-expressions-public.fontvalue.md | 13 - ...n-plugins-expressions-public.fontweight.md | 32 - ...lugin-plugins-expressions-public.format.md | 23 - ...ins-expressions-public.formatexpression.md | 24 - ...-public.functionsregistry._constructor_.md | 20 - ...xpressions-public.functionsregistry.get.md | 22 - ...ns-expressions-public.functionsregistry.md | 27 - ...sions-public.functionsregistry.register.md | 22 - ...ssions-public.functionsregistry.toarray.md | 15 - ...pressions-public.functionsregistry.tojs.md | 15 - ...-public.iexpressionloaderparams.context.md | 11 - ...iexpressionloaderparams.customfunctions.md | 11 - ...iexpressionloaderparams.customrenderers.md | 11 - ...ns-public.iexpressionloaderparams.debug.md | 11 - ....iexpressionloaderparams.disablecaching.md | 11 - ...expressionloaderparams.executioncontext.md | 11 - ...essionloaderparams.hascompatibleactions.md | 11 - ...xpressionloaderparams.inspectoradapters.md | 11 - ...ressions-public.iexpressionloaderparams.md | 34 - ...c.iexpressionloaderparams.onrendererror.md | 11 - ...-public.iexpressionloaderparams.partial.md | 13 - ...blic.iexpressionloaderparams.rendermode.md | 11 - ...c.iexpressionloaderparams.searchcontext.md | 11 - ...iexpressionloaderparams.searchsessionid.md | 11 - ...blic.iexpressionloaderparams.synccolors.md | 11 - ...public.iexpressionloaderparams.throttle.md | 13 - ...-public.iexpressionloaderparams.uistate.md | 11 - ...ublic.iexpressionloaderparams.variables.md | 11 - ...-public.iinterpreterrenderhandlers.done.md | 13 - ...public.iinterpreterrenderhandlers.event.md | 11 - ...interpreterrenderhandlers.getrendermode.md | 11 - ...eterrenderhandlers.hascompatibleactions.md | 11 - ...reterrenderhandlers.issynccolorsenabled.md | 11 - ...sions-public.iinterpreterrenderhandlers.md | 26 - ...ic.iinterpreterrenderhandlers.ondestroy.md | 11 - ...ublic.iinterpreterrenderhandlers.reload.md | 11 - ...blic.iinterpreterrenderhandlers.uistate.md | 13 - ...ublic.iinterpreterrenderhandlers.update.md | 11 - ...expressions-public.interpretererrortype.md | 16 - ...lugins-expressions-public.iregistry.get.md | 22 - ...in-plugins-expressions-public.iregistry.md | 20 - ...ns-expressions-public.iregistry.toarray.md | 15 - ...ugins-expressions-public.iregistry.tojs.md | 15 - ...pressions-public.isexpressionastbuilder.md | 28 - ...ns-expressions-public.knowntypetostring.md | 17 - ...ibana-plugin-plugins-expressions-public.md | 129 - ...gin-plugins-expressions-public.overflow.md | 23 - ...plugin-plugins-expressions-public.parse.md | 23 - ...gins-expressions-public.parseexpression.md | 24 - ...lugin-plugins-expressions-public.plugin.md | 22 - ...-plugins-expressions-public.pointseries.md | 16 - ...ons-public.pointseriescolumn.expression.md | 11 - ...ns-expressions-public.pointseriescolumn.md | 22 - ...pressions-public.pointseriescolumn.role.md | 11 - ...pressions-public.pointseriescolumn.type.md | 11 - ...xpressions-public.pointseriescolumnname.md | 13 - ...s-expressions-public.pointseriescolumns.md | 13 - ...ugins-expressions-public.pointseriesrow.md | 11 - ...n-plugins-expressions-public.range.from.md | 11 - ...-plugins-expressions-public.range.label.md | 11 - ...plugin-plugins-expressions-public.range.md | 21 - ...gin-plugins-expressions-public.range.to.md | 11 - ...n-plugins-expressions-public.range.type.md | 11 - ...ressions-public.reactexpressionrenderer.md | 11 - ....reactexpressionrendererprops.classname.md | 11 - ....reactexpressionrendererprops.dataattrs.md | 11 - ...c.reactexpressionrendererprops.debounce.md | 11 - ...reactexpressionrendererprops.expression.md | 11 - ...ons-public.reactexpressionrendererprops.md | 26 - ...ic.reactexpressionrendererprops.ondata_.md | 11 - ...ic.reactexpressionrendererprops.onevent.md | 11 - ...ic.reactexpressionrendererprops.padding.md | 11 - ...ic.reactexpressionrendererprops.reload_.md | 13 - ...eactexpressionrendererprops.rendererror.md | 11 - ...ions-public.reactexpressionrenderertype.md | 11 - ...-expressions-public.serializeddatatable.md | 18 - ...essions-public.serializeddatatable.rows.md | 11 - ...essions-public.serializedfieldformat.id.md | 11 - ...xpressions-public.serializedfieldformat.md | 21 - ...ons-public.serializedfieldformat.params.md | 11 - ...plugin-plugins-expressions-public.style.md | 11 - ...sions-public.tablesadapter.logdatatable.md | 23 - ...lugins-expressions-public.tablesadapter.md | 24 - ...expressions-public.tablesadapter.tables.md | 13 - ...lugins-expressions-public.textalignment.md | 23 - ...ugins-expressions-public.textdecoration.md | 21 - ...ions-public.typesregistry._constructor_.md | 20 - ...ns-expressions-public.typesregistry.get.md | 22 - ...lugins-expressions-public.typesregistry.md | 27 - ...pressions-public.typesregistry.register.md | 22 - ...xpressions-public.typesregistry.toarray.md | 15 - ...s-expressions-public.typesregistry.tojs.md | 15 - ...n-plugins-expressions-public.typestring.md | 15 - ...plugins-expressions-public.typetostring.md | 13 - ...-expressions-public.unmappedtypestrings.md | 15 - .../plugins/expressions/server/index.md | 12 - ...-server.anyexpressionfunctiondefinition.md | 13 - ...ions-server.anyexpressiontypedefinition.md | 11 - ...plugins-expressions-server.argumenttype.md | 13 - ...gins-expressions-server.buildexpression.md | 24 - ...ressions-server.buildexpressionfunction.md | 30 - ...ns-expressions-server.datatable.columns.md | 11 - ...in-plugins-expressions-server.datatable.md | 22 - ...ugins-expressions-server.datatable.rows.md | 11 - ...ugins-expressions-server.datatable.type.md | 11 - ...s-expressions-server.datatablecolumn.id.md | 11 - ...gins-expressions-server.datatablecolumn.md | 22 - ...expressions-server.datatablecolumn.meta.md | 11 - ...expressions-server.datatablecolumn.name.md | 11 - ...-expressions-server.datatablecolumntype.md | 13 - ...plugins-expressions-server.datatablerow.md | 13 - ...ressions-server.execution._constructor_.md | 20 - ...ins-expressions-server.execution.cancel.md | 17 - ...ugins-expressions-server.execution.cast.md | 23 - ...ns-expressions-server.execution.context.md | 13 - ...s-expressions-server.execution.contract.md | 13 - ...-expressions-server.execution.execution.md | 11 - ...expressions-server.execution.expression.md | 11 - ...gins-expressions-server.execution.input.md | 15 - ...ions-server.execution.inspectoradapters.md | 11 - ...-expressions-server.execution.interpret.md | 23 - ...xpressions-server.execution.invokechain.md | 23 - ...essions-server.execution.invokefunction.md | 24 - ...in-plugins-expressions-server.execution.md | 43 - ...xpressions-server.execution.resolveargs.md | 24 - ...ins-expressions-server.execution.result.md | 13 - ...gins-expressions-server.execution.start.md | 27 - ...gins-expressions-server.execution.state.md | 13 - ...s-expressions-server.executioncontainer.md | 11 - ...ons-server.executioncontext.abortsignal.md | 13 - ...er.executioncontext.getexecutioncontext.md | 13 - ...erver.executioncontext.getkibanarequest.md | 13 - ...erver.executioncontext.getsearchcontext.md | 13 - ...ver.executioncontext.getsearchsessionid.md | 13 - ...rver.executioncontext.inspectoradapters.md | 13 - ...er.executioncontext.issynccolorsenabled.md | 13 - ...ins-expressions-server.executioncontext.md | 28 - ...pressions-server.executioncontext.types.md | 13 - ...sions-server.executioncontext.variables.md | 13 - ...-expressions-server.executionparams.ast.md | 11 - ...essions-server.executionparams.executor.md | 11 - ...sions-server.executionparams.expression.md | 11 - ...gins-expressions-server.executionparams.md | 21 - ...pressions-server.executionparams.params.md | 11 - ...s-expressions-server.executionstate.ast.md | 11 - ...expressions-server.executionstate.error.md | 13 - ...ugins-expressions-server.executionstate.md | 21 - ...xpressions-server.executionstate.result.md | 13 - ...expressions-server.executionstate.state.md | 15 - ...pressions-server.executor._constructor_.md | 20 - ...ins-expressions-server.executor.context.md | 11 - ...essions-server.executor.createexecution.md | 23 - ...ions-server.executor.createwithdefaults.md | 22 - ...pressions-server.executor.extendcontext.md | 22 - ...ins-expressions-server.executor.extract.md | 28 - ...lugins-expressions-server.executor.fork.md | 15 - ...s-expressions-server.executor.functions.md | 15 - ...ssions-server.executor.getallmigrations.md | 15 - ...expressions-server.executor.getfunction.md | 22 - ...xpressions-server.executor.getfunctions.md | 15 - ...ins-expressions-server.executor.gettype.md | 22 - ...ns-expressions-server.executor.gettypes.md | 15 - ...gins-expressions-server.executor.inject.md | 23 - ...gin-plugins-expressions-server.executor.md | 48 - ...essions-server.executor.migratetolatest.md | 22 - ...ssions-server.executor.registerfunction.md | 22 - ...xpressions-server.executor.registertype.md | 22 - ...plugins-expressions-server.executor.run.md | 26 - ...ugins-expressions-server.executor.state.md | 11 - ...s-expressions-server.executor.telemetry.md | 23 - ...ugins-expressions-server.executor.types.md | 15 - ...ns-expressions-server.executorcontainer.md | 11 - ...xpressions-server.executorstate.context.md | 11 - ...ressions-server.executorstate.functions.md | 11 - ...lugins-expressions-server.executorstate.md | 20 - ...-expressions-server.executorstate.types.md | 11 - ...xpressions-server.expressionastargument.md | 11 - ...ressions-server.expressionastexpression.md | 14 - ...essionastexpressionbuilder.findfunction.md | 15 - ...xpressionastexpressionbuilder.functions.md | 13 - ...s-server.expressionastexpressionbuilder.md | 22 - ...er.expressionastexpressionbuilder.toast.md | 15 - ...expressionastexpressionbuilder.tostring.md | 15 - ...ver.expressionastexpressionbuilder.type.md | 13 - ...xpressions-server.expressionastfunction.md | 16 - ...xpressionastfunctionbuilder.addargument.md | 13 - ....expressionastfunctionbuilder.arguments.md | 13 - ...xpressionastfunctionbuilder.getargument.md | 13 - ...ons-server.expressionastfunctionbuilder.md | 26 - ...erver.expressionastfunctionbuilder.name.md | 13 - ...essionastfunctionbuilder.removeargument.md | 15 - ...ssionastfunctionbuilder.replaceargument.md | 13 - ...rver.expressionastfunctionbuilder.toast.md | 15 - ...r.expressionastfunctionbuilder.tostring.md | 15 - ...erver.expressionastfunctionbuilder.type.md | 13 - ...ns-expressions-server.expressionastnode.md | 11 - ...server.expressionfunction._constructor_.md | 20 - ...sions-server.expressionfunction.accepts.md | 11 - ...sions-server.expressionfunction.aliases.md | 13 - ...ressions-server.expressionfunction.args.md | 13 - ...ions-server.expressionfunction.disabled.md | 11 - ...sions-server.expressionfunction.extract.md | 14 - ...xpressions-server.expressionfunction.fn.md | 13 - ...ressions-server.expressionfunction.help.md | 13 - ...ssions-server.expressionfunction.inject.md | 11 - ...ns-server.expressionfunction.inputtypes.md | 13 - ...s-expressions-server.expressionfunction.md | 36 - ...ns-server.expressionfunction.migrations.md | 13 - ...ressions-server.expressionfunction.name.md | 13 - ...ons-server.expressionfunction.telemetry.md | 11 - ...ressions-server.expressionfunction.type.md | 13 - ...er.expressionfunctiondefinition.aliases.md | 13 - ...erver.expressionfunctiondefinition.args.md | 15 - ...er.expressionfunctiondefinition.context.md | 18 - ...r.expressionfunctiondefinition.disabled.md | 13 - ...-server.expressionfunctiondefinition.fn.md | 26 - ...erver.expressionfunctiondefinition.help.md | 13 - ...expressionfunctiondefinition.inputtypes.md | 13 - ...ons-server.expressionfunctiondefinition.md | 33 - ...erver.expressionfunctiondefinition.name.md | 13 - ...erver.expressionfunctiondefinition.type.md | 13 - ...rver.expressionfunctiondefinitions.clog.md | 11 - ...ssionfunctiondefinitions.cumulative_sum.md | 11 - ...xpressionfunctiondefinitions.derivative.md | 11 - ...rver.expressionfunctiondefinitions.font.md | 11 - ...ns-server.expressionfunctiondefinitions.md | 28 - ...ssionfunctiondefinitions.moving_average.md | 11 - ...ssionfunctiondefinitions.overall_metric.md | 11 - ...ver.expressionfunctiondefinitions.theme.md | 11 - ...erver.expressionfunctiondefinitions.var.md | 11 - ...r.expressionfunctiondefinitions.var_set.md | 11 - ...pressionfunctionparameter._constructor_.md | 21 - ...ver.expressionfunctionparameter.accepts.md | 22 - ...ver.expressionfunctionparameter.aliases.md | 11 - ...ver.expressionfunctionparameter.default.md | 11 - ...server.expressionfunctionparameter.help.md | 11 - ...ions-server.expressionfunctionparameter.md | 38 - ...erver.expressionfunctionparameter.multi.md | 11 - ...server.expressionfunctionparameter.name.md | 11 - ...ver.expressionfunctionparameter.options.md | 11 - ...er.expressionfunctionparameter.required.md | 11 - ...ver.expressionfunctionparameter.resolve.md | 11 - ...erver.expressionfunctionparameter.types.md | 11 - ...ressions-server.expressionimage.dataurl.md | 11 - ...gins-expressions-server.expressionimage.md | 20 - ...expressions-server.expressionimage.mode.md | 11 - ...expressions-server.expressionimage.type.md | 11 - ....expressionrenderdefinition.displayname.md | 13 - ...-server.expressionrenderdefinition.help.md | 13 - ...sions-server.expressionrenderdefinition.md | 23 - ...-server.expressionrenderdefinition.name.md | 13 - ...erver.expressionrenderdefinition.render.md | 13 - ...expressionrenderdefinition.reusedomnode.md | 13 - ...ver.expressionrenderdefinition.validate.md | 13 - ...server.expressionrenderer._constructor_.md | 20 - ...s-server.expressionrenderer.displayname.md | 11 - ...ressions-server.expressionrenderer.help.md | 11 - ...s-expressions-server.expressionrenderer.md | 29 - ...ressions-server.expressionrenderer.name.md | 11 - ...ssions-server.expressionrenderer.render.md | 11 - ...-server.expressionrenderer.reusedomnode.md | 11 - ...ions-server.expressionrenderer.validate.md | 11 - ...s-server.expressionrendererregistry.get.md | 22 - ...sions-server.expressionrendererregistry.md | 21 - ...ver.expressionrendererregistry.register.md | 22 - ...rver.expressionrendererregistry.toarray.md | 15 - ...-server.expressionrendererregistry.tojs.md | 15 - ...r.expressionsserverplugin._constructor_.md | 20 - ...ver.expressionsserverplugin.expressions.md | 11 - ...ressions-server.expressionsserverplugin.md | 32 - ...ns-server.expressionsserverplugin.setup.md | 22 - ...ns-server.expressionsserverplugin.start.md | 22 - ...ons-server.expressionsserverplugin.stop.md | 15 - ...pressions-server.expressionsserversetup.md | 11 - ...pressions-server.expressionsserverstart.md | 11 - ...ons-server.expressiontype._constructor_.md | 20 - ...essions-server.expressiontype.castsfrom.md | 11 - ...pressions-server.expressiontype.caststo.md | 11 - ...xpressions-server.expressiontype.create.md | 11 - ...sions-server.expressiontype.deserialize.md | 11 - ...-expressions-server.expressiontype.from.md | 11 - ...essions-server.expressiontype.getfromfn.md | 11 - ...pressions-server.expressiontype.gettofn.md | 11 - ...-expressions-server.expressiontype.help.md | 13 - ...ugins-expressions-server.expressiontype.md | 35 - ...-expressions-server.expressiontype.name.md | 11 - ...essions-server.expressiontype.serialize.md | 13 - ...ns-expressions-server.expressiontype.to.md | 11 - ...ressions-server.expressiontype.validate.md | 13 - ...er.expressiontypedefinition.deserialize.md | 11 - ...ns-server.expressiontypedefinition.from.md | 13 - ...ns-server.expressiontypedefinition.help.md | 11 - ...essions-server.expressiontypedefinition.md | 26 - ...ns-server.expressiontypedefinition.name.md | 11 - ...rver.expressiontypedefinition.serialize.md | 11 - ...ions-server.expressiontypedefinition.to.md | 13 - ...erver.expressiontypedefinition.validate.md | 11 - ...ressions-server.expressiontypestyle.css.md | 11 - ...-expressions-server.expressiontypestyle.md | 22 - ...essions-server.expressiontypestyle.spec.md | 11 - ...essions-server.expressiontypestyle.type.md | 11 - ...gins-expressions-server.expressionvalue.md | 11 - ...expressions-server.expressionvalueboxed.md | 13 - ...essions-server.expressionvalueconverter.md | 11 - ...expressions-server.expressionvalueerror.md | 14 - ...xpressions-server.expressionvaluefilter.md | 21 - ...s-expressions-server.expressionvaluenum.md | 13 - ...xpressions-server.expressionvaluerender.md | 16 - ...pressions-server.expressionvalueunboxed.md | 11 - ...n-plugins-expressions-server.font.label.md | 11 - ...-plugin-plugins-expressions-server.font.md | 21 - ...n-plugins-expressions-server.font.value.md | 11 - ...in-plugins-expressions-server.fontlabel.md | 13 - ...in-plugins-expressions-server.fontstyle.md | 21 - ...in-plugins-expressions-server.fontvalue.md | 13 - ...n-plugins-expressions-server.fontweight.md | 32 - ...lugin-plugins-expressions-server.format.md | 23 - ...ins-expressions-server.formatexpression.md | 24 - ...-server.functionsregistry._constructor_.md | 20 - ...xpressions-server.functionsregistry.get.md | 22 - ...ns-expressions-server.functionsregistry.md | 27 - ...sions-server.functionsregistry.register.md | 22 - ...ssions-server.functionsregistry.toarray.md | 15 - ...pressions-server.functionsregistry.tojs.md | 15 - ...-server.iinterpreterrenderhandlers.done.md | 13 - ...server.iinterpreterrenderhandlers.event.md | 11 - ...interpreterrenderhandlers.getrendermode.md | 11 - ...eterrenderhandlers.hascompatibleactions.md | 11 - ...reterrenderhandlers.issynccolorsenabled.md | 11 - ...sions-server.iinterpreterrenderhandlers.md | 26 - ...er.iinterpreterrenderhandlers.ondestroy.md | 11 - ...erver.iinterpreterrenderhandlers.reload.md | 11 - ...rver.iinterpreterrenderhandlers.uistate.md | 13 - ...erver.iinterpreterrenderhandlers.update.md | 11 - ...expressions-server.interpretererrortype.md | 16 - ...lugins-expressions-server.iregistry.get.md | 22 - ...in-plugins-expressions-server.iregistry.md | 20 - ...ns-expressions-server.iregistry.toarray.md | 15 - ...ugins-expressions-server.iregistry.tojs.md | 15 - ...pressions-server.isexpressionastbuilder.md | 28 - ...ns-expressions-server.knowntypetostring.md | 17 - ...ibana-plugin-plugins-expressions-server.md | 108 - ...gin-plugins-expressions-server.overflow.md | 23 - ...plugin-plugins-expressions-server.parse.md | 23 - ...gins-expressions-server.parseexpression.md | 24 - ...lugin-plugins-expressions-server.plugin.md | 22 - ...-plugins-expressions-server.pointseries.md | 16 - ...ons-server.pointseriescolumn.expression.md | 11 - ...ns-expressions-server.pointseriescolumn.md | 22 - ...pressions-server.pointseriescolumn.role.md | 11 - ...pressions-server.pointseriescolumn.type.md | 11 - ...xpressions-server.pointseriescolumnname.md | 13 - ...s-expressions-server.pointseriescolumns.md | 13 - ...ugins-expressions-server.pointseriesrow.md | 11 - ...n-plugins-expressions-server.range.from.md | 11 - ...-plugins-expressions-server.range.label.md | 11 - ...plugin-plugins-expressions-server.range.md | 21 - ...gin-plugins-expressions-server.range.to.md | 11 - ...n-plugins-expressions-server.range.type.md | 11 - ...-expressions-server.serializeddatatable.md | 18 - ...essions-server.serializeddatatable.rows.md | 11 - ...essions-server.serializedfieldformat.id.md | 11 - ...xpressions-server.serializedfieldformat.md | 21 - ...ons-server.serializedfieldformat.params.md | 11 - ...plugin-plugins-expressions-server.style.md | 11 - ...lugins-expressions-server.textalignment.md | 23 - ...ugins-expressions-server.textdecoration.md | 21 - ...ions-server.typesregistry._constructor_.md | 20 - ...ns-expressions-server.typesregistry.get.md | 22 - ...lugins-expressions-server.typesregistry.md | 27 - ...pressions-server.typesregistry.register.md | 22 - ...xpressions-server.typesregistry.toarray.md | 15 - ...s-expressions-server.typesregistry.tojs.md | 15 - ...n-plugins-expressions-server.typestring.md | 15 - ...plugins-expressions-server.typetostring.md | 13 - ...-expressions-server.unmappedtypestrings.md | 15 - .../common/state_containers/index.md | 12 - ...utils-common-state_containers.basestate.md | 13 - ...state_containers.basestatecontainer.get.md | 13 - ...mon-state_containers.basestatecontainer.md | 22 - ...state_containers.basestatecontainer.set.md | 13 - ...te_containers.basestatecontainer.state_.md | 13 - ...tils-common-state_containers.comparator.md | 13 - ...a_utils-common-state_containers.connect.md | 13 - ...n-state_containers.createstatecontainer.md | 24 - ...state_containers.createstatecontainer_1.md | 25 - ...state_containers.createstatecontainer_2.md | 27 - ...ners.createstatecontaineroptions.freeze.md | 25 - ..._containers.createstatecontaineroptions.md | 20 - ...ainers.createstatecontainerreacthelpers.md | 22 - ..._utils-common-state_containers.dispatch.md | 13 - ...mon-state_containers.ensurepureselector.md | 12 - ...n-state_containers.ensurepuretransition.md | 12 - ...common-state_containers.mapstatetoprops.md | 13 - ...ns-kibana_utils-common-state_containers.md | 52 - ...tils-common-state_containers.middleware.md | 13 - ...ls-common-state_containers.pureselector.md | 12 - ...ate_containers.pureselectorstoselectors.md | 14 - ...state_containers.pureselectortoselector.md | 12 - ...a_utils-common-state_containers.reducer.md | 13 - ...s.reduxlikestatecontainer.addmiddleware.md | 11 - ...ainers.reduxlikestatecontainer.dispatch.md | 11 - ...ainers.reduxlikestatecontainer.getstate.md | 11 - ...tate_containers.reduxlikestatecontainer.md | 25 - ...tainers.reduxlikestatecontainer.reducer.md | 11 - ....reduxlikestatecontainer.replacereducer.md | 11 - ...iners.reduxlikestatecontainer.subscribe.md | 11 - ..._utils-common-state_containers.selector.md | 12 - ...-common-state_containers.statecontainer.md | 21 - ...ate_containers.statecontainer.selectors.md | 11 - ...e_containers.statecontainer.transitions.md | 11 - ...tils-common-state_containers.unboxstate.md | 13 - ...n-state_containers.usecontainerselector.md | 13 - ...mmon-state_containers.usecontainerstate.md | 13 - .../kibana_utils/public/state_sync/index.md | 12 - ...lic-state_sync.createkbnurlstatestorage.md | 18 - ...e_sync.createsessionstoragestatestorage.md | 13 - ...c-state_sync.ikbnurlstatestorage.cancel.md | 13 - ...-state_sync.ikbnurlstatestorage.change_.md | 11 - ...blic-state_sync.ikbnurlstatestorage.get.md | 11 - ...sync.ikbnurlstatestorage.kbnurlcontrols.md | 13 - ...s-public-state_sync.ikbnurlstatestorage.md | 28 - ...blic-state_sync.ikbnurlstatestorage.set.md | 13 - ...-state_sync.inullablebasestatecontainer.md | 24 - ...te_sync.inullablebasestatecontainer.set.md | 11 - ...te_sync.isessionstoragestatestorage.get.md | 11 - ...-state_sync.isessionstoragestatestorage.md | 21 - ...te_sync.isessionstoragestatestorage.set.md | 11 - ...-public-state_sync.istatestorage.cancel.md | 13 - ...public-state_sync.istatestorage.change_.md | 13 - ...ils-public-state_sync.istatestorage.get.md | 13 - ...a_utils-public-state_sync.istatestorage.md | 25 - ...ils-public-state_sync.istatestorage.set.md | 13 - ...tils-public-state_sync.istatesyncconfig.md | 22 - ...te_sync.istatesyncconfig.statecontainer.md | 13 - ...tate_sync.istatesyncconfig.statestorage.md | 15 - ...-state_sync.istatesyncconfig.storagekey.md | 13 - ...a_utils-public-state_sync.isyncstateref.md | 20 - ...s-public-state_sync.isyncstateref.start.md | 13 - ...ls-public-state_sync.isyncstateref.stop.md | 13 - ...-plugins-kibana_utils-public-state_sync.md | 48 - ...-public-state_sync.startsyncstatefntype.md | 12 - ...s-public-state_sync.stopsyncstatefntype.md | 12 - ...ibana_utils-public-state_sync.syncstate.md | 91 - ...bana_utils-public-state_sync.syncstates.md | 42 - .../plugins/ui_actions/public/index.md | 12 - ...lugins-ui_actions-public.action.execute.md | 24 - ...ui_actions-public.action.getdisplayname.md | 24 - ...lugins-ui_actions-public.action.gethref.md | 24 - ...ns-ui_actions-public.action.geticontype.md | 24 - ...gin-plugins-ui_actions-public.action.id.md | 13 - ...s-ui_actions-public.action.iscompatible.md | 24 - ...plugin-plugins-ui_actions-public.action.md | 32 - ...ugins-ui_actions-public.action.menuitem.md | 15 - ...-plugins-ui_actions-public.action.order.md | 13 - ...actions-public.action.shouldautoexecute.md | 24 - ...n-plugins-ui_actions-public.action.type.md | 13 - ...i_actions-public.action_visualize_field.md | 11 - ...tions-public.action_visualize_geo_field.md | 11 - ...ions-public.action_visualize_lens_field.md | 11 - ...i_actions-public.actionexecutioncontext.md | 13 - ...s-ui_actions-public.actionexecutionmeta.md | 20 - ...ions-public.actionexecutionmeta.trigger.md | 13 - ...tions-public.buildcontextmenuforactions.md | 24 - ...-plugins-ui_actions-public.createaction.md | 22 - ...c.incompatibleactionerror._constructor_.md | 13 - ...ons-public.incompatibleactionerror.code.md | 11 - ..._actions-public.incompatibleactionerror.md | 24 - ...kibana-plugin-plugins-ui_actions-public.md | 57 - ...plugin-plugins-ui_actions-public.plugin.md | 22 - ...ins-ui_actions-public.row_click_trigger.md | 11 - ...-ui_actions-public.rowclickcontext.data.md | 15 - ...tions-public.rowclickcontext.embeddable.md | 11 - ...ugins-ui_actions-public.rowclickcontext.md | 19 - ...ugins-ui_actions-public.rowclicktrigger.md | 11 - ...s-ui_actions-public.trigger.description.md | 13 - ...in-plugins-ui_actions-public.trigger.id.md | 13 - ...lugin-plugins-ui_actions-public.trigger.md | 26 - ...plugins-ui_actions-public.trigger.title.md | 13 - ...ublic.uiactionsactiondefinition.execute.md | 24 - ...ublic.uiactionsactiondefinition.gethref.md | 24 - ...ons-public.uiactionsactiondefinition.id.md | 13 - ....uiactionsactiondefinition.iscompatible.md | 24 - ...ctions-public.uiactionsactiondefinition.md | 30 - ...tionsactiondefinition.shouldautoexecute.md | 24 - ...s-public.uiactionsactiondefinition.type.md | 13 - ...lic.uiactionspresentable.getdisplayname.md | 24 - ...ctionspresentable.getdisplaynametooltip.md | 24 - ...ons-public.uiactionspresentable.gethref.md | 24 - ...public.uiactionspresentable.geticontype.md | 24 - ...ns-public.uiactionspresentable.grouping.md | 13 - ..._actions-public.uiactionspresentable.id.md | 13 - ...ublic.uiactionspresentable.iscompatible.md | 24 - ...-ui_actions-public.uiactionspresentable.md | 33 - ...ns-public.uiactionspresentable.menuitem.md | 15 - ...tions-public.uiactionspresentable.order.md | 13 - ...ons-public.uiactionspresentablegrouping.md | 11 - ...s-public.uiactionsservice._constructor_.md | 20 - ...actions-public.uiactionsservice.actions.md | 11 - ...ublic.uiactionsservice.addtriggeraction.md | 13 - ...ns-public.uiactionsservice.attachaction.md | 11 - ...i_actions-public.uiactionsservice.clear.md | 13 - ...ns-public.uiactionsservice.detachaction.md | 11 - ....uiactionsservice.executetriggeractions.md | 16 - ...ublic.uiactionsservice.executionservice.md | 11 - ...ui_actions-public.uiactionsservice.fork.md | 13 - ...tions-public.uiactionsservice.getaction.md | 11 - ...ions-public.uiactionsservice.gettrigger.md | 11 - ...blic.uiactionsservice.gettriggeractions.md | 11 - ...ionsservice.gettriggercompatibleactions.md | 11 - ...tions-public.uiactionsservice.hasaction.md | 11 - ...gins-ui_actions-public.uiactionsservice.md | 41 - ...-public.uiactionsservice.registeraction.md | 11 - ...public.uiactionsservice.registertrigger.md | 11 - ...ctions-public.uiactionsservice.triggers.md | 11 - ...ublic.uiactionsservice.triggertoactions.md | 11 - ...ublic.uiactionsservice.unregisteraction.md | 11 - ...s-public.uiactionsserviceparams.actions.md | 11 - ...i_actions-public.uiactionsserviceparams.md | 20 - ...-public.uiactionsserviceparams.triggers.md | 11 - ...uiactionsserviceparams.triggertoactions.md | 13 - ...lugins-ui_actions-public.uiactionssetup.md | 11 - ...lugins-ui_actions-public.uiactionsstart.md | 11 - ..._actions-public.visualize_field_trigger.md | 11 - ...ions-public.visualize_geo_field_trigger.md | 11 - ....visualizefieldcontext.contextualfields.md | 11 - ...-public.visualizefieldcontext.fieldname.md | 11 - ...ic.visualizefieldcontext.indexpatternid.md | 11 - ...ui_actions-public.visualizefieldcontext.md | 20 - ...ui_actions-public.visualizefieldtrigger.md | 11 - ...actions-public.visualizegeofieldtrigger.md | 11 - src/dev/run_check_published_api_changes.ts | 14 +- src/plugins/data/public/public.api.md | 2375 ----------------- .../data/server/plugins_data_server.api.md | 695 ----- src/plugins/data/server/server.api.md | 881 ------ src/plugins/embeddable/public/public.api.md | 917 ------- src/plugins/embeddable/server/server.api.md | 60 - src/plugins/expressions/public/public.api.md | 1205 --------- src/plugins/expressions/server/server.api.md | 954 ------- .../common/state_containers/common.api.md | 156 -- .../public/state_sync/public.api.md | 98 - src/plugins/ui_actions/public/public.api.md | 272 -- 1929 files changed, 1 insertion(+), 39296 deletions(-) delete mode 100644 docs/development/plugins/data/public/index.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.action_global_apply_filter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.aggconfigs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.brandnew.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.createfilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.enabled.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.ensureids.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.fieldistimefield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.fieldname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getaggparams.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getfielddisplayname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getindexpattern.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getkey.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getparam.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getrequestaggs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getresponseaggs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.gettimerange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.gettimeshift.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getvalue.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getvaluebucketpath.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.hastimeshift.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.id.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.isfilterable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.makelabel.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.nextid.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.onsearchrequeststart.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.params.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.parent.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.schema.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.serialize.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.setparams.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.settype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.todsl.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.toexpressionast.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.tojson.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.toserializedfieldformat.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.write.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigoptions.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.aggs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byid.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byindex.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byschemaname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.bytype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.bytypename.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.clone.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.createaggconfig.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.forcenow.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getall.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getrequestaggbyid.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getrequestaggs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresolvedtimerange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresponseaggbyid.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresponseaggs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getsearchsourcetimefilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.gettimeshiftinterval.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.gettimeshifts.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.hastimeshifts.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.hierarchical.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.indexpattern.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.jsondataequals.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.onsearchrequeststart.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.postflighttransform.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.setforcenow.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.settimefields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.settimerange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.timefields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.timerange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.todsl.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigserialized.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggavg.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketavg.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmax.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmin.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketsum.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcardinality.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcount.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcumulativesum.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdatehistogram.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdaterange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggderivative.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilteredmetric.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeobounds.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeocentroid.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeohash.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeotile.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agghistogram.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggiprange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmax.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmedian.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmin.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmovingavg.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentileranks.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentiles.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggrange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggserialdiff.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsignificantterms.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsinglepercentile.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggstddeviation.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsum.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggterms.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggtophit.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggrouplabels.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggroupname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggroupnames.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparam.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.display.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.enabled.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.val.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.allowedaggs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.makeagg.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggregationrestrictions.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggsstart.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.apply_filter_trigger.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.controlledby.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.embeddable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.filters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.timefieldname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.autocompletestart.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.autorefreshdonefn.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.bucket_types.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.castestokbnfieldtypename.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.connecttoquerystate.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.createsavedqueryservice.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.customfilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.setup.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.start.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.stop.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.autocomplete.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.query.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.search.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.actions.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.autocomplete.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.fieldformats.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.indexpatterns.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.nowprovider.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.query.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.search.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.ui.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromrangeselectaction.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromvalueclickaction.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.indexpatternselect.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.searchbar.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.duplicateindexpatternerror._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.duplicateindexpatternerror.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.es_search_strategy.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esaggsexpressionfunctiondefinition.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.eskuery.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esquery.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esquerysortvalue.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.executioncontextsearch.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.existsfilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.exporters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionfunctionkibana.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionfunctionkibanacontext.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionvaluesearchcontext.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.extractsearchsourcereferences.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.extracttimerange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldlist.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filteritem.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filterlabel.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.addfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.extract.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getallmigrations.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getappfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getfetches_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getglobalfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getpartitionedfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getupdates_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.inject.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.migratetolatest.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removeall.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removefilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setappfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setfiltersstore.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setglobalfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.telemetry.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.generatefilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getdefaultquery.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getdisplayvaluefromfilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getesqueryconfig.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.allownoindex.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.lookback.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.metafields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.pattern.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.rollupindex.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getkbntypenames.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getsearchparamsfromrequest.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.gettime.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iaggconfig.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iaggtype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.appname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.data.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.http.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.notifications.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.savedobjects.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.storage.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.uisettings.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.usagecollection.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ieserror.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.indextype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchresponse.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldparamtype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.aggregatable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.count.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.customlabel.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.displayname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.estypes.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.filterable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.format.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.readfromdocvalues.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.searchable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.sortable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.tospec.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.visualizable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.fieldformatmap.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.fields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.getformatterforfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.gettimefield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.timefieldname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.title.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.id.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.params.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.id.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.ispartial.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.isrestored.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.isrunning.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.loaded.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.rawresponse.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.total.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.warning.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.imetricaggtype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.index_pattern_saved_object_type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.addruntimefield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.addscriptedfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.allownoindex.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.deletefieldformat.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fieldformatmap.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.flattenhit.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.formatfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.formathit.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getaggregationrestrictions.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getassavedobjectbody.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getcomputedfields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getfieldattrs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getfieldbyname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getformatterforfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getformatterforfieldnodefault.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getnonscriptedfields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getoriginalsavedobjectbody.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getruntimefield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getscriptedfields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getsourcefiltering.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.gettimefield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.hasruntimefield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.id.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.intervalname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimebased.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimenanosbased.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.metafields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.removeruntimefield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.removescriptedfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.replaceallruntimefields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.resetoriginalsavedobjectbody.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldattrs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldcount.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldcustomlabel.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldformat.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.sourcefilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.timefieldname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.title.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.tospec.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.typemeta.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.version.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.allownoindex.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fieldattrs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fieldformatmap.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.intervalname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.runtimefieldmap.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.sourcefilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.timefieldname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.title.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.aggregatable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.conflictdescriptions.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.count.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.customlabel.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.deletecount.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.displayname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.estypes.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.filterable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.ismapped.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.lang.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.name.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.readfromdocvalues.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.runtimefield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.script.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.scripted.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.searchable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.sortable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.spec.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.subtype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.tojson.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.tospec.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.visualizable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.id.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.title.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.typemeta.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternloadexpressionfunctiondefinition.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterns.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternscontract.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselectprops.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.allownoindex.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fieldattrs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fieldformats.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.id.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.intervalname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.runtimefieldmap.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.sourcefilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.timefieldname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.title.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.typemeta.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.version.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.clearcache.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.create.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.createandsave.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.createsavedobject.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.delete.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.ensuredefaultindexpattern.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.fieldarraytomap.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.find.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.get.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getcache.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getdefault.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getdefaultid.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforindexpattern.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforwildcard.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getids.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getidswithtitle.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.gettitles.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.hasuserindexpattern.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.refreshfields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.savedobjecttospec.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.setdefault.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.updatesavedobject.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterntype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.injectsearchsourcereferences.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iscompleteresponse.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchgeneric.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.abortsignal.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.executioncontext.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.indexpattern.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.inspector.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.isrestore.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.isstored.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.legacyhitstotal.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.sessionid.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.strategy.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.aggs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.session.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.sessionsclient.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.usagecollector.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsource.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.aggs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.search.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.searchsource.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.session.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.sessionsclient.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.showerror.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.create.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.createempty.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iserrorresponse.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iseserror.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isessionsclient.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isessionservice.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isfilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ispartialresponse.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isquery.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.istimerange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kibanacontext.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kuerynode.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.matchallfilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.metric_types.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.nosearchsessionstoragecapabilitymessage.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype.options.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.disabled.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.iscompatible.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.text.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.value.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parsedinterval.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parsesearchsourcejson.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasefilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasesfilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystart.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.filters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.query.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.refreshinterval.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.time.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.appfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.globalfilters.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinput.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.autosubmit.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.bubblesubmitevent.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.classname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.datatestsubj.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.disableautofocus.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.disablelanguageswitcher.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.icontype.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.indexpatterns.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.isclearable.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.isinvalid.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.languageswitcherpopoveranchorposition.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmode.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmodehelptext.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onblur.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onchange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onchangequeryinputfocus.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onsubmit.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.persistedlog.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.placeholder.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.prepend.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.query.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.screentitle.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.size.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.storagekey.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.submitonblur.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.timerangeforsuggestionsoverride.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestion.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.cursorindex.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.description.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.end.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.start.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.text.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.field.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfn.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.boolfilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.indexpatterns.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.language.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.method.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.query.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionend.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionstart.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.signal.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.usetimerange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiontypes.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefiltermeta.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.caused_by.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.lang.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.position.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.reason.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.script.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.script_stack.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.attributes.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.id.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.deletesavedquery.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.findsavedqueries.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getallsavedqueries.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getsavedquery.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getsavedquerycount.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.savequery.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquerytimefilter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.search.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.search_sessions_management_id.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbar.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbarprops.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.appendsessionstarttimetoname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.getname.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.geturlgeneratordata.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessionstate.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.create.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.createchild.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.createcopy.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.destroy.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.fetch.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.fetch_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getfields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getid.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getownfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getparent.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getsearchrequestbody.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getserializedfields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.history.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.onrequeststart.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.removefield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.serialize.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setfield.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setfields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setparent.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setpreferredsearchstrategyid.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.aggs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.filter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.from.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.highlight.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.highlightall.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.index.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.parent.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.query.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.searchafter.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.size.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.sort.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.source.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.terminate_after.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.timeout.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.tracktotalhits.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.type.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.version.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.sortdirection.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.statefulsearchbarprops.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.syncquerystatewithurl.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltercontract.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory._constructor_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.add.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.get.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistorycontract.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.aggs.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.params.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ui_settings.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletes_.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.md delete mode 100644 docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.waitforidle.md delete mode 100644 docs/development/plugins/data/server/index.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.completion_status.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.castestokbnfieldtypename.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.config.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.es_search_strategy.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esfilters.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.eskuery.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esquery.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.exporters.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.aggregatable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.estypes.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.name.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.readfromdocvalues.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.searchable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.subtype.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.type.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getcapabilitiesforrollupindices.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getesqueryconfig.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.gettime.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchrequest.indextype.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchrequest.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchresponse.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.aggregatable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.count.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.customlabel.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.displayname.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.estypes.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.filterable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.format.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.readfromdocvalues.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.searchable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.sortable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.tospec.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.visualizable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.index_pattern_saved_object_type.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern._constructor_.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.addruntimefield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.addscriptedfield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.allownoindex.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.deletefieldformat.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.fieldformatmap.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.fields.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.flattenhit.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.formatfield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.formathit.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getaggregationrestrictions.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getassavedobjectbody.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getcomputedfields.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getfieldattrs.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getfieldbyname.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getformatterforfield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getformatterforfieldnodefault.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getnonscriptedfields.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getoriginalsavedobjectbody.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getruntimefield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getscriptedfields.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getsourcefiltering.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.gettimefield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.hasruntimefield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.id.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.intervalname.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.istimebased.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.istimenanosbased.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.metafields.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.removeruntimefield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.removescriptedfield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.replaceallruntimefields.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.resetoriginalsavedobjectbody.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldattrs.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldcount.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldcustomlabel.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldformat.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.sourcefilters.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.timefieldname.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.title.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.tospec.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.type.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.typemeta.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.version.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.allownoindex.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fieldattrs.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fieldformatmap.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fields.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.intervalname.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.runtimefieldmap.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.sourcefilters.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.timefieldname.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.title.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.type.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield._constructor_.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.aggregatable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.conflictdescriptions.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.count.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.customlabel.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.deletecount.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.displayname.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.estypes.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.filterable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.ismapped.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.lang.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.name.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.readfromdocvalues.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.runtimefield.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.script.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.scripted.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.searchable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.sortable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.spec.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.subtype.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.tojson.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.tospec.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.type.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.visualizable.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher._constructor_.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsfortimepattern.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsforwildcard.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.validatepatternlistactive.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice._constructor_.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.clearcache.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.create.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.createandsave.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.createsavedobject.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.delete.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.ensuredefaultindexpattern.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.fieldarraytomap.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.find.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.get.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getcache.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getdefault.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getdefaultid.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforindexpattern.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforwildcard.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getids.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getidswithtitle.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.gettitles.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.hasuserindexpattern.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.refreshfields.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.savedobjecttospec.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.setdefault.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.updatesavedobject.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.cancelsession.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.deletesession.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.extendsession.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.findsessions.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.getsession.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.savesession.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.updatesession.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.abortsignal.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.executioncontext.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.indexpattern.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.inspector.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.isrestore.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.isstored.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.legacyhitstotal.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.sessionid.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.strategy.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchsessionservice.asscopedprovider.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchsessionservice.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.cancel.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.extend.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.search.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kuerynode.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.metric_types.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.nosearchidinsessionerror._constructor_.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.nosearchidinsessionerror.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.parsedinterval.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.parseinterval.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin._constructor_.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.setup.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.start.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.stop.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.fieldformats.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.search.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.fieldformats.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.indexpatterns.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.search.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.search.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchrequesthandlercontext.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.esclient.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.request.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.savedobjectsclient.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.searchsessionsclient.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.uisettingsclient.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.shouldreadfieldfromdocvalues.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.md delete mode 100644 docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ui_settings.md delete mode 100644 docs/development/plugins/embeddable/public/index.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.action_add_panel.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.action_edit_panel.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.adapters.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.adapters.requests.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.execute.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.getdisplayname.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.geticontype.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.id.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.iscompatible.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.type.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attribute_service_key.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getexplicitinputfromembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getinputasreftype.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getinputasvaluetype.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.inputisreftype.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.unwrapattributes.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.wrapattributes.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.chartactioncontext.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.addnewembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.children.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.createnewpanelstate.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.destroy.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getchild.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getchildids.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getfactory.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getinheritedinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getinputforchild.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getpanelstate.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.iscontainer.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.reload.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.removeembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.setchildloaded.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.untilembeddableloaded.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.updateinputforchild.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.hidepaneltitles.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.panels.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containeroutput.embeddableloaded.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containeroutput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.context_menu_trigger.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.contextmenutrigger.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.defaultembeddablefactoryprovider.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.currentappid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.execute.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.getapptarget.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.getdisplayname.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.gethref.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.geticontype.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.id.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.iscompatible.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.order.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.type.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.deferembeddableload.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.destroy.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.destroyed.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.fatalerror.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinput_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinspectoradapters.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getiscontainer.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getoutput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getoutput_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getroot.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.gettitle.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getupdated_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.id.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.input.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.iscontainer.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.onfatalerror.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.output.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.parent.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.reload.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.render.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.rendercomplete.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.runtimeid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.setinitializationfinished.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.supportedtriggers.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.type.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.updateinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.updateoutput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentdidmount.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentwillunmount.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.embeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.mounted.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.render.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.classname.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.container.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.embeddableid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.panelcomponent.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablecontext.embeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablecontext.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.embeddableid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingapp.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingpath.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.searchsessionid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.valueinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.cancreatenew.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.create.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.createfromsavedobject.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdefaultinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdescription.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdisplayname.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getexplicitinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.geticontype.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.grouping.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.iscontainertype.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.iseditable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.savedobjectmetadata.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.type.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorydefinition.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.code.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.id.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.savedobjectid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.defaulttitle.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editapp.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editpath.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editurl.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.error.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.loading.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.savedobjectid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.title.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.embeddableid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.input.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.searchsessionid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.type.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.closemycontextmenupanel.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.componentdidmount.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.componentwillunmount.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.onblur.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.onfocus.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.render.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.unsafe_componentwillmount.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanelhoc.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablerenderer.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablerendererprops.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidmount.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidupdate.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.render.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.shouldcomponentupdate.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.registerembeddablefactory.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.registerenhancement.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.setcustomembeddablefactoryprovider.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.uiactions.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.embeddablepanel.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getattributeservice.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactories.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactory.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getstatetransfer.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.inspector.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.uiactions.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.cleareditorstate.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getappnamefromid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingeditorstate.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingembeddablepackage.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.istransferinprogress.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetoeditor.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetowithembeddablepackage.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.id.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.destroy.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.error.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.reload.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.render.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.type.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.addnewembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.getchild.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.getinputforchild.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.removeembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.setchildloaded.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.untilembeddableloaded.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.updateinputforchild.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.deferembeddableload.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.destroy.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.enhancements.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.fatalerror.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinput_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinspectoradapters.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getiscontainer.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getoutput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getoutput_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getroot.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.gettitle.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.id.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.iscontainer.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.parent.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.reload.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.render.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.runtimeid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.supportedtriggers.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.type.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.updateinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iscontextmenutriggercontext.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iserrorembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.israngeselecttriggercontext.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isreferenceorvalueembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isrowclicktriggercontext.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.issavedobjectembeddableinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isvalueclicktriggercontext.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.openaddpanelflyout.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.outputspec.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panel_badge_trigger.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panel_notification_trigger.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelbadgetrigger.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror._constructor_.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror.code.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotificationtrigger.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.explicitinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.id.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.type.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.plugin.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.accesspath.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.description.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.displayname.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.id.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.value.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.data.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.embeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasreftype.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasvaluetype.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.inputisreftype.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.savedobjectid.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.select_range_trigger.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.useembeddablefactory.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.value_click_trigger.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.data.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.embeddable.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.viewmode.md delete mode 100644 docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.withembeddablesubscription.md delete mode 100644 docs/development/plugins/embeddable/server/index.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.id.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.getallmigrations.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.registerembeddablefactory.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.registerenhancement.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablestart.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.id.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.md delete mode 100644 docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.plugin.md delete mode 100644 docs/development/plugins/expressions/public/index.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.anyexpressionfunctiondefinition.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.anyexpressiontypedefinition.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.argumenttype.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.buildexpression.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.buildexpressionfunction.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.columns.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.rows.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.type.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.id.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.meta.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.name.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumntype.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablerow.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.cancel.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.cast.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.context.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.contract.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.execution.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.expression.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.input.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.inspectoradapters.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.interpret.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.invokechain.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.invokefunction.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.resolveargs.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.result.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.start.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.state.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontainer.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.abortsignal.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getexecutioncontext.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getkibanarequest.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getsearchcontext.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getsearchsessionid.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.inspectoradapters.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.issynccolorsenabled.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.types.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.variables.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.cancel.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.execution.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getast.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getdata.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getexpression.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.inspect.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.ispending.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.ast.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.executor.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.expression.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.params.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.ast.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.error.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.result.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.state.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.context.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.createexecution.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.createwithdefaults.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.extendcontext.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.extract.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.fork.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.functions.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getallmigrations.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getfunction.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getfunctions.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.gettype.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.gettypes.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.inject.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.migratetolatest.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.registerfunction.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.registertype.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.run.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.state.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.telemetry.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.types.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorcontainer.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.context.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.functions.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.types.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastargument.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpression.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.findfunction.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.functions.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.toast.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.tostring.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.type.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunction.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.addargument.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.arguments.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.getargument.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.name.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.removeargument.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.replaceargument.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.toast.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.tostring.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.type.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastnode.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionexecutor.interpreter.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionexecutor.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.accepts.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.aliases.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.args.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.disabled.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.extract.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.fn.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.help.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.inject.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.inputtypes.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.migrations.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.name.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.telemetry.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.type.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.aliases.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.args.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.context.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.disabled.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.fn.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.help.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.inputtypes.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.name.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.type.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.clog.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.cumulative_sum.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.derivative.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.font.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.moving_average.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.overall_metric.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.theme.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var_set.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.accepts.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.aliases.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.default.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.help.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.multi.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.name.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.options.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.required.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.resolve.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.types.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.dataurl.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.mode.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.type.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.displayname.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.help.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.name.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.render.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.reusedomnode.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.validate.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.displayname.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.help.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.name.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.render.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.reusedomnode.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.validate.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderercomponent.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.data.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.name.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.get.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.register.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.toarray.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.tojs.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.original.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.type.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.destroy.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.events_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.getelement.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.handlerendererror.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.render.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.render_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.update_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.ast.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.logast.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.setup.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.start.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.stop.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.execute.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.executor.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.extract.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.fork.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getallmigrations.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getfunction.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getfunctions.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getrenderer.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getrenderers.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.gettype.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.gettypes.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.inject.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.migratetolatest.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registerfunction.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registerrenderer.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registertype.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.renderers.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.run.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.setup.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.start.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.stop.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.telemetry.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicesetup.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.execute.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.fork.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.getfunction.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.getrenderer.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.gettype.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.run.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionssetup.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.expressionloader.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.expressionrenderhandler.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.loader.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.reactexpressionrenderer.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.render.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.castsfrom.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.caststo.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.create.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.deserialize.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.from.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.getfromfn.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.gettofn.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.help.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.name.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.serialize.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.to.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.validate.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.deserialize.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.from.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.help.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.name.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.serialize.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.to.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.validate.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.css.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.spec.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.type.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalue.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueboxed.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueconverter.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueerror.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluefilter.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluenum.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluerender.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueunboxed.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.label.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.value.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontlabel.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontstyle.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontvalue.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontweight.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.format.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.formatexpression.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.get.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.register.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.toarray.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.tojs.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.context.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customfunctions.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customrenderers.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.debug.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.disablecaching.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.executioncontext.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.hascompatibleactions.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.inspectoradapters.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.onrendererror.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.partial.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.rendermode.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchcontext.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchsessionid.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.synccolors.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.throttle.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.uistate.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.variables.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.done.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.event.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.getrendermode.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.hascompatibleactions.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.issynccolorsenabled.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.ondestroy.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.reload.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.uistate.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.update.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.interpretererrortype.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.get.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.toarray.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.tojs.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.isexpressionastbuilder.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.knowntypetostring.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.overflow.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.parse.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.parseexpression.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.plugin.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseries.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.expression.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.role.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.type.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumnname.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumns.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriesrow.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.from.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.label.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.to.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.type.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrenderer.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.classname.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.dataattrs.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.debounce.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.expression.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.ondata_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.onevent.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.padding.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.reload_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.rendererror.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrenderertype.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializeddatatable.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializeddatatable.rows.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.id.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.params.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.style.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.logdatatable.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.tables.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.textalignment.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.textdecoration.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry._constructor_.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.get.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.register.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.toarray.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.tojs.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typestring.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typetostring.md delete mode 100644 docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.unmappedtypestrings.md delete mode 100644 docs/development/plugins/expressions/server/index.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.anyexpressionfunctiondefinition.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.anyexpressiontypedefinition.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.argumenttype.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.buildexpression.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.buildexpressionfunction.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.columns.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.rows.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.type.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.id.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.meta.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.name.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumntype.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablerow.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution._constructor_.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.cancel.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.cast.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.context.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.contract.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.execution.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.expression.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.input.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.inspectoradapters.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.interpret.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.invokechain.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.invokefunction.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.resolveargs.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.result.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.start.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.state.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontainer.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.abortsignal.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getexecutioncontext.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getkibanarequest.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getsearchcontext.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getsearchsessionid.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.inspectoradapters.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.issynccolorsenabled.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.types.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.variables.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.ast.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.executor.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.expression.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.params.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.ast.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.error.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.result.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.state.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor._constructor_.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.context.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.createexecution.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.createwithdefaults.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.extendcontext.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.extract.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.fork.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.functions.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getallmigrations.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getfunction.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getfunctions.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.gettype.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.gettypes.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.inject.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.migratetolatest.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.registerfunction.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.registertype.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.run.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.state.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.telemetry.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.types.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorcontainer.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.context.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.functions.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.types.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastargument.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpression.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.findfunction.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.functions.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.toast.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.tostring.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.type.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunction.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.addargument.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.arguments.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.getargument.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.name.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.removeargument.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.replaceargument.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.toast.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.tostring.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.type.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastnode.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction._constructor_.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.accepts.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.aliases.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.args.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.disabled.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.extract.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.fn.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.help.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.inject.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.inputtypes.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.migrations.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.name.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.telemetry.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.type.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.aliases.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.args.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.context.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.disabled.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.fn.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.help.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.inputtypes.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.name.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.type.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.clog.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.cumulative_sum.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.derivative.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.font.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.moving_average.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.overall_metric.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.theme.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var_set.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter._constructor_.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.accepts.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.aliases.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.default.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.help.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.multi.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.name.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.options.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.required.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.resolve.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.types.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.dataurl.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.mode.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.type.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.displayname.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.help.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.name.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.render.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.reusedomnode.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.validate.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer._constructor_.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.displayname.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.help.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.name.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.render.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.reusedomnode.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.validate.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.get.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.register.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.toarray.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.tojs.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin._constructor_.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.expressions.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.setup.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.start.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.stop.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserversetup.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverstart.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype._constructor_.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.castsfrom.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.caststo.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.create.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.deserialize.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.from.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.getfromfn.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.gettofn.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.help.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.name.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.serialize.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.to.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.validate.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.deserialize.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.from.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.help.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.name.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.serialize.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.to.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.validate.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.css.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.spec.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.type.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalue.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueboxed.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueconverter.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueerror.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluefilter.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluenum.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluerender.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueunboxed.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.label.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.value.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontlabel.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontstyle.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontvalue.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontweight.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.format.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.formatexpression.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry._constructor_.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.get.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.register.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.toarray.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.tojs.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.done.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.event.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.getrendermode.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.hascompatibleactions.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.issynccolorsenabled.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.ondestroy.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.reload.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.uistate.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.update.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.interpretererrortype.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.get.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.toarray.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.tojs.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.isexpressionastbuilder.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.knowntypetostring.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.overflow.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.parse.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.parseexpression.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.plugin.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseries.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.expression.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.role.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.type.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumnname.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumns.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriesrow.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.from.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.label.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.to.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.type.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializeddatatable.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializeddatatable.rows.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.id.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.params.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.style.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.textalignment.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.textdecoration.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry._constructor_.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.get.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.register.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.toarray.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.tojs.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typestring.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typetostring.md delete mode 100644 docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.unmappedtypestrings.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/index.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestate.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.get.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.set.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.state_.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.comparator.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.connect.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_1.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_2.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.freeze.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainerreacthelpers.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.dispatch.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepureselector.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepuretransition.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.mapstatetoprops.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.middleware.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselector.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectorstoselectors.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectortoselector.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reducer.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.addmiddleware.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.dispatch.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.getstate.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.reducer.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.replacereducer.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.subscribe.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.selector.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.selectors.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.transitions.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.unboxstate.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerselector.md delete mode 100644 docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerstate.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/index.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.createkbnurlstatestorage.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.createsessionstoragestatestorage.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.cancel.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.change_.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.get.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.kbnurlcontrols.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.set.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.set.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.get.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.set.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.cancel.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.change_.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.get.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.set.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statecontainer.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statestorage.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.storagekey.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.start.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.stop.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.startsyncstatefntype.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.stopsyncstatefntype.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md delete mode 100644 docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.syncstates.md delete mode 100644 docs/development/plugins/ui_actions/public/index.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.execute.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.getdisplayname.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.gethref.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.geticontype.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.id.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.iscompatible.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.menuitem.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.order.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.shouldautoexecute.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.type.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_field.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_geo_field.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_lens_field.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutioncontext.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.trigger.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.buildcontextmenuforactions.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.createaction.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror._constructor_.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.code.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.plugin.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.row_click_trigger.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.data.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.embeddable.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclicktrigger.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.description.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.id.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.title.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.execute.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.gethref.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.id.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.iscompatible.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.shouldautoexecute.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.type.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplayname.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplaynametooltip.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.gethref.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.geticontype.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.grouping.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.id.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.iscompatible.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.menuitem.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.order.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentablegrouping.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice._constructor_.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.actions.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.addtriggeraction.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.attachaction.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.clear.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.detachaction.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.executetriggeractions.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.executionservice.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.fork.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.getaction.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettrigger.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggeractions.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggercompatibleactions.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.hasaction.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.registeraction.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.registertrigger.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggers.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggertoactions.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.unregisteraction.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.actions.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggers.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggertoactions.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionssetup.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsstart.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualize_field_trigger.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualize_geo_field_trigger.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.contextualfields.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.fieldname.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.indexpatternid.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldtrigger.md delete mode 100644 docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizegeofieldtrigger.md delete mode 100644 src/plugins/data/public/public.api.md delete mode 100644 src/plugins/data/server/plugins_data_server.api.md delete mode 100644 src/plugins/data/server/server.api.md delete mode 100644 src/plugins/embeddable/public/public.api.md delete mode 100644 src/plugins/embeddable/server/server.api.md delete mode 100644 src/plugins/expressions/public/public.api.md delete mode 100644 src/plugins/expressions/server/server.api.md delete mode 100644 src/plugins/kibana_utils/common/state_containers/common.api.md delete mode 100644 src/plugins/kibana_utils/public/state_sync/public.api.md delete mode 100644 src/plugins/ui_actions/public/public.api.md diff --git a/docs/development/plugins/data/public/index.md b/docs/development/plugins/data/public/index.md deleted file mode 100644 index 424cfd22d3d31..0000000000000 --- a/docs/development/plugins/data/public/index.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) - -## API Reference - -## Packages - -| Package | Description | -| --- | --- | -| [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.action_global_apply_filter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.action_global_apply_filter.md deleted file mode 100644 index 14075ba1beba0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.action_global_apply_filter.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ACTION\_GLOBAL\_APPLY\_FILTER](./kibana-plugin-plugins-data-public.action_global_apply_filter.md) - -## ACTION\_GLOBAL\_APPLY\_FILTER variable - -Signature: - -```typescript -ACTION_GLOBAL_APPLY_FILTER = "ACTION_GLOBAL_APPLY_FILTER" -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig._constructor_.md deleted file mode 100644 index 9287a08ff196b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig._constructor_.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [(constructor)](./kibana-plugin-plugins-data-public.aggconfig._constructor_.md) - -## AggConfig.(constructor) - -Constructs a new instance of the `AggConfig` class - -Signature: - -```typescript -constructor(aggConfigs: IAggConfigs, opts: AggConfigOptions); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| aggConfigs | IAggConfigs | | -| opts | AggConfigOptions | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.aggconfigs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.aggconfigs.md deleted file mode 100644 index f552bbd2d1cfc..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.aggconfigs.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [aggConfigs](./kibana-plugin-plugins-data-public.aggconfig.aggconfigs.md) - -## AggConfig.aggConfigs property - -Signature: - -```typescript -aggConfigs: IAggConfigs; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.brandnew.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.brandnew.md deleted file mode 100644 index eb1f3af4c5b01..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.brandnew.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [brandNew](./kibana-plugin-plugins-data-public.aggconfig.brandnew.md) - -## AggConfig.brandNew property - -Signature: - -```typescript -brandNew?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.createfilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.createfilter.md deleted file mode 100644 index 7ec0350f65321..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.createfilter.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [createFilter](./kibana-plugin-plugins-data-public.aggconfig.createfilter.md) - -## AggConfig.createFilter() method - -Signature: - -```typescript -createFilter(key: string, params?: {}): any; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| key | string | | -| params | {} | | - -Returns: - -`any` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.enabled.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.enabled.md deleted file mode 100644 index 82595ee5f5b63..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.enabled.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [enabled](./kibana-plugin-plugins-data-public.aggconfig.enabled.md) - -## AggConfig.enabled property - -Signature: - -```typescript -enabled: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.ensureids.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.ensureids.md deleted file mode 100644 index 04e0b82187a5f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.ensureids.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [ensureIds](./kibana-plugin-plugins-data-public.aggconfig.ensureids.md) - -## AggConfig.ensureIds() method - -Ensure that all of the objects in the list have ids, the objects and list are modified by reference. - -Signature: - -```typescript -static ensureIds(list: any[]): any[]; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| list | any[] | | - -Returns: - -`any[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.fieldistimefield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.fieldistimefield.md deleted file mode 100644 index 6e7b753320270..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.fieldistimefield.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [fieldIsTimeField](./kibana-plugin-plugins-data-public.aggconfig.fieldistimefield.md) - -## AggConfig.fieldIsTimeField() method - -Signature: - -```typescript -fieldIsTimeField(): boolean; -``` -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.fieldname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.fieldname.md deleted file mode 100644 index 2d3acb7f026ff..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.fieldname.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [fieldName](./kibana-plugin-plugins-data-public.aggconfig.fieldname.md) - -## AggConfig.fieldName() method - -Signature: - -```typescript -fieldName(): any; -``` -Returns: - -`any` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getaggparams.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getaggparams.md deleted file mode 100644 index f898844ff0273..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getaggparams.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getAggParams](./kibana-plugin-plugins-data-public.aggconfig.getaggparams.md) - -## AggConfig.getAggParams() method - -Signature: - -```typescript -getAggParams(): import("./param_types/agg").AggParamType[]; -``` -Returns: - -`import("./param_types/agg").AggParamType[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getfield.md deleted file mode 100644 index 1fb6f88c43171..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getfield.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getField](./kibana-plugin-plugins-data-public.aggconfig.getfield.md) - -## AggConfig.getField() method - -Signature: - -```typescript -getField(): any; -``` -Returns: - -`any` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getfielddisplayname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getfielddisplayname.md deleted file mode 100644 index 710499cee62dd..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getfielddisplayname.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getFieldDisplayName](./kibana-plugin-plugins-data-public.aggconfig.getfielddisplayname.md) - -## AggConfig.getFieldDisplayName() method - -Signature: - -```typescript -getFieldDisplayName(): any; -``` -Returns: - -`any` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getindexpattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getindexpattern.md deleted file mode 100644 index ed0e9d0fbb5de..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getindexpattern.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getIndexPattern](./kibana-plugin-plugins-data-public.aggconfig.getindexpattern.md) - -## AggConfig.getIndexPattern() method - -Signature: - -```typescript -getIndexPattern(): import("../../../public").IndexPattern; -``` -Returns: - -`import("../../../public").IndexPattern` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getkey.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getkey.md deleted file mode 100644 index a2a59fcf9ae31..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getkey.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getKey](./kibana-plugin-plugins-data-public.aggconfig.getkey.md) - -## AggConfig.getKey() method - -Signature: - -```typescript -getKey(bucket: any, key?: string): any; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| bucket | any | | -| key | string | | - -Returns: - -`any` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getparam.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getparam.md deleted file mode 100644 index ad4cd2fa175f8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getparam.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getParam](./kibana-plugin-plugins-data-public.aggconfig.getparam.md) - -## AggConfig.getParam() method - -Signature: - -```typescript -getParam(key: string): any; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| key | string | | - -Returns: - -`any` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getrequestaggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getrequestaggs.md deleted file mode 100644 index 773c2f5a7c0e9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getrequestaggs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getRequestAggs](./kibana-plugin-plugins-data-public.aggconfig.getrequestaggs.md) - -## AggConfig.getRequestAggs() method - -Signature: - -```typescript -getRequestAggs(): AggConfig[]; -``` -Returns: - -`AggConfig[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getresponseaggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getresponseaggs.md deleted file mode 100644 index cf515e68dcc57..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getresponseaggs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getResponseAggs](./kibana-plugin-plugins-data-public.aggconfig.getresponseaggs.md) - -## AggConfig.getResponseAggs() method - -Signature: - -```typescript -getResponseAggs(): AggConfig[]; -``` -Returns: - -`AggConfig[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.gettimerange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.gettimerange.md deleted file mode 100644 index 897a6d8dda3f1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.gettimerange.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getTimeRange](./kibana-plugin-plugins-data-public.aggconfig.gettimerange.md) - -## AggConfig.getTimeRange() method - -Signature: - -```typescript -getTimeRange(): import("../../../public").TimeRange | undefined; -``` -Returns: - -`import("../../../public").TimeRange | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.gettimeshift.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.gettimeshift.md deleted file mode 100644 index de0d41286c0bb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.gettimeshift.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getTimeShift](./kibana-plugin-plugins-data-public.aggconfig.gettimeshift.md) - -## AggConfig.getTimeShift() method - -Signature: - -```typescript -getTimeShift(): undefined | moment.Duration; -``` -Returns: - -`undefined | moment.Duration` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getvalue.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getvalue.md deleted file mode 100644 index 4fab1af3f6464..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getvalue.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getValue](./kibana-plugin-plugins-data-public.aggconfig.getvalue.md) - -## AggConfig.getValue() method - -Signature: - -```typescript -getValue(bucket: any): any; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| bucket | any | | - -Returns: - -`any` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getvaluebucketpath.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getvaluebucketpath.md deleted file mode 100644 index 5616064ddaa0a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.getvaluebucketpath.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [getValueBucketPath](./kibana-plugin-plugins-data-public.aggconfig.getvaluebucketpath.md) - -## AggConfig.getValueBucketPath() method - -Returns the bucket path containing the main value the agg will produce (e.g. for sum of bytes it will point to the sum, for median it will point to the 50 percentile in the percentile multi value bucket) - -Signature: - -```typescript -getValueBucketPath(): string; -``` -Returns: - -`string` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.hastimeshift.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.hastimeshift.md deleted file mode 100644 index 024b0766ffd7b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.hastimeshift.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [hasTimeShift](./kibana-plugin-plugins-data-public.aggconfig.hastimeshift.md) - -## AggConfig.hasTimeShift() method - -Signature: - -```typescript -hasTimeShift(): boolean; -``` -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.id.md deleted file mode 100644 index 1fa7a5c57e2a8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [id](./kibana-plugin-plugins-data-public.aggconfig.id.md) - -## AggConfig.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.isfilterable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.isfilterable.md deleted file mode 100644 index a795ab1e91c2c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.isfilterable.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [isFilterable](./kibana-plugin-plugins-data-public.aggconfig.isfilterable.md) - -## AggConfig.isFilterable() method - -Signature: - -```typescript -isFilterable(): boolean; -``` -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.makelabel.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.makelabel.md deleted file mode 100644 index 65923ed0ae889..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.makelabel.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [makeLabel](./kibana-plugin-plugins-data-public.aggconfig.makelabel.md) - -## AggConfig.makeLabel() method - -Signature: - -```typescript -makeLabel(percentageMode?: boolean): any; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| percentageMode | boolean | | - -Returns: - -`any` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.md deleted file mode 100644 index a96626d1a485d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.md +++ /dev/null @@ -1,65 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) - -## AggConfig class - -Signature: - -```typescript -export declare class AggConfig -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(aggConfigs, opts)](./kibana-plugin-plugins-data-public.aggconfig._constructor_.md) | | Constructs a new instance of the AggConfig class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [aggConfigs](./kibana-plugin-plugins-data-public.aggconfig.aggconfigs.md) | | IAggConfigs | | -| [brandNew](./kibana-plugin-plugins-data-public.aggconfig.brandnew.md) | | boolean | | -| [enabled](./kibana-plugin-plugins-data-public.aggconfig.enabled.md) | | boolean | | -| [id](./kibana-plugin-plugins-data-public.aggconfig.id.md) | | string | | -| [params](./kibana-plugin-plugins-data-public.aggconfig.params.md) | | any | | -| [parent](./kibana-plugin-plugins-data-public.aggconfig.parent.md) | | IAggConfigs | | -| [schema](./kibana-plugin-plugins-data-public.aggconfig.schema.md) | | string | | -| [type](./kibana-plugin-plugins-data-public.aggconfig.type.md) | | IAggType | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [createFilter(key, params)](./kibana-plugin-plugins-data-public.aggconfig.createfilter.md) | | | -| [ensureIds(list)](./kibana-plugin-plugins-data-public.aggconfig.ensureids.md) | static | Ensure that all of the objects in the list have ids, the objects and list are modified by reference. | -| [fieldIsTimeField()](./kibana-plugin-plugins-data-public.aggconfig.fieldistimefield.md) | | | -| [fieldName()](./kibana-plugin-plugins-data-public.aggconfig.fieldname.md) | | | -| [getAggParams()](./kibana-plugin-plugins-data-public.aggconfig.getaggparams.md) | | | -| [getField()](./kibana-plugin-plugins-data-public.aggconfig.getfield.md) | | | -| [getFieldDisplayName()](./kibana-plugin-plugins-data-public.aggconfig.getfielddisplayname.md) | | | -| [getIndexPattern()](./kibana-plugin-plugins-data-public.aggconfig.getindexpattern.md) | | | -| [getKey(bucket, key)](./kibana-plugin-plugins-data-public.aggconfig.getkey.md) | | | -| [getParam(key)](./kibana-plugin-plugins-data-public.aggconfig.getparam.md) | | | -| [getRequestAggs()](./kibana-plugin-plugins-data-public.aggconfig.getrequestaggs.md) | | | -| [getResponseAggs()](./kibana-plugin-plugins-data-public.aggconfig.getresponseaggs.md) | | | -| [getTimeRange()](./kibana-plugin-plugins-data-public.aggconfig.gettimerange.md) | | | -| [getTimeShift()](./kibana-plugin-plugins-data-public.aggconfig.gettimeshift.md) | | | -| [getValue(bucket)](./kibana-plugin-plugins-data-public.aggconfig.getvalue.md) | | | -| [getValueBucketPath()](./kibana-plugin-plugins-data-public.aggconfig.getvaluebucketpath.md) | | Returns the bucket path containing the main value the agg will produce (e.g. for sum of bytes it will point to the sum, for median it will point to the 50 percentile in the percentile multi value bucket) | -| [hasTimeShift()](./kibana-plugin-plugins-data-public.aggconfig.hastimeshift.md) | | | -| [isFilterable()](./kibana-plugin-plugins-data-public.aggconfig.isfilterable.md) | | | -| [makeLabel(percentageMode)](./kibana-plugin-plugins-data-public.aggconfig.makelabel.md) | | | -| [nextId(list)](./kibana-plugin-plugins-data-public.aggconfig.nextid.md) | static | Calculate the next id based on the ids in this list {array} list - a list of objects with id properties | -| [onSearchRequestStart(searchSource, options)](./kibana-plugin-plugins-data-public.aggconfig.onsearchrequeststart.md) | | Hook for pre-flight logic, see AggType\#onSearchRequestStart | -| [serialize()](./kibana-plugin-plugins-data-public.aggconfig.serialize.md) | | | -| [setParams(from)](./kibana-plugin-plugins-data-public.aggconfig.setparams.md) | | Write the current values to this.params, filling in the defaults as we go | -| [setType(type)](./kibana-plugin-plugins-data-public.aggconfig.settype.md) | | | -| [toDsl(aggConfigs)](./kibana-plugin-plugins-data-public.aggconfig.todsl.md) | | Convert this aggConfig to its dsl syntax.Adds params and adhoc subaggs to a pojo, then returns it | -| [toExpressionAst()](./kibana-plugin-plugins-data-public.aggconfig.toexpressionast.md) | | | -| [toJSON()](./kibana-plugin-plugins-data-public.aggconfig.tojson.md) | | | -| [toSerializedFieldFormat()](./kibana-plugin-plugins-data-public.aggconfig.toserializedfieldformat.md) | | Returns a serialized field format for the field used in this agg. This can be passed to fieldFormats.deserialize to get the field format instance. | -| [write(aggs)](./kibana-plugin-plugins-data-public.aggconfig.write.md) | | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.nextid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.nextid.md deleted file mode 100644 index ab524a6d1c4f1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.nextid.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [nextId](./kibana-plugin-plugins-data-public.aggconfig.nextid.md) - -## AggConfig.nextId() method - -Calculate the next id based on the ids in this list - - {array} list - a list of objects with id properties - -Signature: - -```typescript -static nextId(list: IAggConfig[]): number; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| list | IAggConfig[] | | - -Returns: - -`number` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.onsearchrequeststart.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.onsearchrequeststart.md deleted file mode 100644 index 81df7866560e3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.onsearchrequeststart.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [onSearchRequestStart](./kibana-plugin-plugins-data-public.aggconfig.onsearchrequeststart.md) - -## AggConfig.onSearchRequestStart() method - -Hook for pre-flight logic, see AggType\#onSearchRequestStart - -Signature: - -```typescript -onSearchRequestStart(searchSource: ISearchSource, options?: ISearchOptions): Promise | Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| searchSource | ISearchSource | | -| options | ISearchOptions | | - -Returns: - -`Promise | Promise` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.params.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.params.md deleted file mode 100644 index 5bdb67f53b519..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.params.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [params](./kibana-plugin-plugins-data-public.aggconfig.params.md) - -## AggConfig.params property - -Signature: - -```typescript -params: any; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.parent.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.parent.md deleted file mode 100644 index 53d028457a9ae..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.parent.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [parent](./kibana-plugin-plugins-data-public.aggconfig.parent.md) - -## AggConfig.parent property - -Signature: - -```typescript -parent?: IAggConfigs; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.schema.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.schema.md deleted file mode 100644 index afbf685951356..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.schema.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [schema](./kibana-plugin-plugins-data-public.aggconfig.schema.md) - -## AggConfig.schema property - -Signature: - -```typescript -schema?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.serialize.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.serialize.md deleted file mode 100644 index b0eebdbcc11ec..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.serialize.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [serialize](./kibana-plugin-plugins-data-public.aggconfig.serialize.md) - -## AggConfig.serialize() method - -Signature: - -```typescript -serialize(): AggConfigSerialized; -``` -Returns: - -`AggConfigSerialized` - -Returns a serialized representation of an AggConfig. - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.setparams.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.setparams.md deleted file mode 100644 index cb495b7653f8a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.setparams.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [setParams](./kibana-plugin-plugins-data-public.aggconfig.setparams.md) - -## AggConfig.setParams() method - -Write the current values to this.params, filling in the defaults as we go - -Signature: - -```typescript -setParams(from: any): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| from | any | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.settype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.settype.md deleted file mode 100644 index 0b07186a6ca33..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.settype.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [setType](./kibana-plugin-plugins-data-public.aggconfig.settype.md) - -## AggConfig.setType() method - -Signature: - -```typescript -setType(type: IAggType): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| type | IAggType | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.todsl.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.todsl.md deleted file mode 100644 index ac655c2a88a7b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.todsl.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [toDsl](./kibana-plugin-plugins-data-public.aggconfig.todsl.md) - -## AggConfig.toDsl() method - -Convert this aggConfig to its dsl syntax. - -Adds params and adhoc subaggs to a pojo, then returns it - -Signature: - -```typescript -toDsl(aggConfigs?: IAggConfigs): any; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| aggConfigs | IAggConfigs | | - -Returns: - -`any` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.toexpressionast.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.toexpressionast.md deleted file mode 100644 index 0684b03e14032..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.toexpressionast.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [toExpressionAst](./kibana-plugin-plugins-data-public.aggconfig.toexpressionast.md) - -## AggConfig.toExpressionAst() method - -Signature: - -```typescript -toExpressionAst(): ExpressionAstExpression | undefined; -``` -Returns: - -`ExpressionAstExpression | undefined` - -Returns an ExpressionAst representing the this agg type. - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.tojson.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.tojson.md deleted file mode 100644 index 2c93ae6143b44..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.tojson.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [toJSON](./kibana-plugin-plugins-data-public.aggconfig.tojson.md) - -## AggConfig.toJSON() method - -> Warning: This API is now obsolete. -> -> Use serialize() instead. 8.1 -> - -Signature: - -```typescript -toJSON(): AggConfigSerialized; -``` -Returns: - -`AggConfigSerialized` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.toserializedfieldformat.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.toserializedfieldformat.md deleted file mode 100644 index 73b415f0a0b86..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.toserializedfieldformat.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [toSerializedFieldFormat](./kibana-plugin-plugins-data-public.aggconfig.toserializedfieldformat.md) - -## AggConfig.toSerializedFieldFormat() method - -Returns a serialized field format for the field used in this agg. This can be passed to fieldFormats.deserialize to get the field format instance. - -Signature: - -```typescript -toSerializedFieldFormat(): {} | Ensure, SerializableRecord>; -``` -Returns: - -`{} | Ensure, SerializableRecord>` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.type.md deleted file mode 100644 index 9dc44caee42e8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [type](./kibana-plugin-plugins-data-public.aggconfig.type.md) - -## AggConfig.type property - -Signature: - -```typescript -get type(): IAggType; - -set type(type: IAggType); -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.write.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.write.md deleted file mode 100644 index f98394b57cac3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfig.write.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) > [write](./kibana-plugin-plugins-data-public.aggconfig.write.md) - -## AggConfig.write() method - -Signature: - -```typescript -write(aggs?: IAggConfigs): Record; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| aggs | IAggConfigs | | - -Returns: - -`Record` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigoptions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigoptions.md deleted file mode 100644 index ff8055b8cf1b1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigoptions.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigOptions](./kibana-plugin-plugins-data-public.aggconfigoptions.md) - -## AggConfigOptions type - -Signature: - -```typescript -export declare type AggConfigOptions = Assign; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs._constructor_.md deleted file mode 100644 index 9111941b368ee..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs._constructor_.md +++ /dev/null @@ -1,32 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [(constructor)](./kibana-plugin-plugins-data-public.aggconfigs._constructor_.md) - -## AggConfigs.(constructor) - -Constructs a new instance of the `AggConfigs` class - -Signature: - -```typescript -constructor(indexPattern: IndexPattern, configStates: Pick & Pick<{ - type: string | IAggType; - }, "type"> & Pick<{ - type: string | IAggType; - }, never>, "schema" | "type" | "enabled" | "id" | "params">[] | undefined, opts: AggConfigsOptions); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| indexPattern | IndexPattern | | -| configStates | Pick<Pick<{
type: string;
enabled?: boolean | undefined;
id?: string | undefined;
params?: {} | import("@kbn/utility-types").SerializableRecord | undefined;
schema?: string | undefined;
}, "schema" | "enabled" | "id" | "params"> & Pick<{
type: string | IAggType;
}, "type"> & Pick<{
type: string | IAggType;
}, never>, "schema" | "type" | "enabled" | "id" | "params">[] | undefined | | -| opts | AggConfigsOptions | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.aggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.aggs.md deleted file mode 100644 index 0d217e037ecb1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.aggs.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [aggs](./kibana-plugin-plugins-data-public.aggconfigs.aggs.md) - -## AggConfigs.aggs property - -Signature: - -```typescript -aggs: IAggConfig[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byid.md deleted file mode 100644 index 14d65ada5e39d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byid.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [byId](./kibana-plugin-plugins-data-public.aggconfigs.byid.md) - -## AggConfigs.byId() method - -Signature: - -```typescript -byId(id: string): AggConfig | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`AggConfig | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byindex.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byindex.md deleted file mode 100644 index 5977c81ddaf36..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byindex.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [byIndex](./kibana-plugin-plugins-data-public.aggconfigs.byindex.md) - -## AggConfigs.byIndex() method - -Signature: - -```typescript -byIndex(index: number): AggConfig; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| index | number | | - -Returns: - -`AggConfig` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byname.md deleted file mode 100644 index 772ba1f074d0d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byname.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [byName](./kibana-plugin-plugins-data-public.aggconfigs.byname.md) - -## AggConfigs.byName() method - -Signature: - -```typescript -byName(name: string): AggConfig[]; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`AggConfig[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byschemaname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byschemaname.md deleted file mode 100644 index 3a7c6a5f89e17..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.byschemaname.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [bySchemaName](./kibana-plugin-plugins-data-public.aggconfigs.byschemaname.md) - -## AggConfigs.bySchemaName() method - -Signature: - -```typescript -bySchemaName(schema: string): AggConfig[]; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| schema | string | | - -Returns: - -`AggConfig[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.bytype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.bytype.md deleted file mode 100644 index 8bbf85ce4f29b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.bytype.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [byType](./kibana-plugin-plugins-data-public.aggconfigs.bytype.md) - -## AggConfigs.byType() method - -Signature: - -```typescript -byType(type: string): AggConfig[]; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| type | string | | - -Returns: - -`AggConfig[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.bytypename.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.bytypename.md deleted file mode 100644 index 97f05837493f2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.bytypename.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [byTypeName](./kibana-plugin-plugins-data-public.aggconfigs.bytypename.md) - -## AggConfigs.byTypeName() method - -Signature: - -```typescript -byTypeName(type: string): AggConfig[]; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| type | string | | - -Returns: - -`AggConfig[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.clone.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.clone.md deleted file mode 100644 index 0206f3c6b4751..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.clone.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [clone](./kibana-plugin-plugins-data-public.aggconfigs.clone.md) - -## AggConfigs.clone() method - -Signature: - -```typescript -clone({ enabledOnly }?: { - enabledOnly?: boolean | undefined; - }): AggConfigs; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { enabledOnly } | {
enabledOnly?: boolean | undefined;
} | | - -Returns: - -`AggConfigs` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.createaggconfig.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.createaggconfig.md deleted file mode 100644 index 2ccded7c74e4c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.createaggconfig.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [createAggConfig](./kibana-plugin-plugins-data-public.aggconfigs.createaggconfig.md) - -## AggConfigs.createAggConfig property - -Signature: - -```typescript -createAggConfig: (params: CreateAggConfigParams, { addToAggConfigs }?: { - addToAggConfigs?: boolean | undefined; - }) => T; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.forcenow.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.forcenow.md deleted file mode 100644 index 8040c2939e2e4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.forcenow.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [forceNow](./kibana-plugin-plugins-data-public.aggconfigs.forcenow.md) - -## AggConfigs.forceNow property - -Signature: - -```typescript -forceNow?: Date; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getall.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getall.md deleted file mode 100644 index 091ec1ce416c3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getall.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [getAll](./kibana-plugin-plugins-data-public.aggconfigs.getall.md) - -## AggConfigs.getAll() method - -Signature: - -```typescript -getAll(): AggConfig[]; -``` -Returns: - -`AggConfig[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getrequestaggbyid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getrequestaggbyid.md deleted file mode 100644 index f375648ca1cb7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getrequestaggbyid.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [getRequestAggById](./kibana-plugin-plugins-data-public.aggconfigs.getrequestaggbyid.md) - -## AggConfigs.getRequestAggById() method - -Signature: - -```typescript -getRequestAggById(id: string): AggConfig | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`AggConfig | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getrequestaggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getrequestaggs.md deleted file mode 100644 index f4db6e373f5c3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getrequestaggs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [getRequestAggs](./kibana-plugin-plugins-data-public.aggconfigs.getrequestaggs.md) - -## AggConfigs.getRequestAggs() method - -Signature: - -```typescript -getRequestAggs(): AggConfig[]; -``` -Returns: - -`AggConfig[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresolvedtimerange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresolvedtimerange.md deleted file mode 100644 index 2af44037292a2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresolvedtimerange.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [getResolvedTimeRange](./kibana-plugin-plugins-data-public.aggconfigs.getresolvedtimerange.md) - -## AggConfigs.getResolvedTimeRange() method - -Returns the current time range as moment instance (date math will get resolved using the current "now" value or system time if not set) - -Signature: - -```typescript -getResolvedTimeRange(): import("../..").TimeRangeBounds | undefined; -``` -Returns: - -`import("../..").TimeRangeBounds | undefined` - -Current time range as resolved date. - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresponseaggbyid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresponseaggbyid.md deleted file mode 100644 index ab31c74f6000d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresponseaggbyid.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [getResponseAggById](./kibana-plugin-plugins-data-public.aggconfigs.getresponseaggbyid.md) - -## AggConfigs.getResponseAggById() method - -Find a response agg by it's id. This may be an agg in the aggConfigs, or one created specifically for a response value - -Signature: - -```typescript -getResponseAggById(id: string): AggConfig | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`AggConfig | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresponseaggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresponseaggs.md deleted file mode 100644 index 47e26bdea9e9c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getresponseaggs.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [getResponseAggs](./kibana-plugin-plugins-data-public.aggconfigs.getresponseaggs.md) - -## AggConfigs.getResponseAggs() method - -Gets the AggConfigs (and possibly ResponseAggConfigs) that represent the values that will be produced when all aggs are run. - -With multi-value metric aggs it is possible for a single agg request to result in multiple agg values, which is why the length of a vis' responseValuesAggs may be different than the vis' aggs - - {array\[AggConfig\]} - -Signature: - -```typescript -getResponseAggs(): AggConfig[]; -``` -Returns: - -`AggConfig[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getsearchsourcetimefilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getsearchsourcetimefilter.md deleted file mode 100644 index 9ebc685f2a77d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.getsearchsourcetimefilter.md +++ /dev/null @@ -1,72 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [getSearchSourceTimeFilter](./kibana-plugin-plugins-data-public.aggconfigs.getsearchsourcetimefilter.md) - -## AggConfigs.getSearchSourceTimeFilter() method - -Signature: - -```typescript -getSearchSourceTimeFilter(forceNow?: Date): import("@kbn/es-query").RangeFilter[] | { - meta: { - index: string | undefined; - params: {}; - alias: string; - disabled: boolean; - negate: boolean; - }; - query: { - bool: { - should: { - bool: { - filter: { - range: { - [x: string]: { - gte: string; - lte: string; - }; - }; - }[]; - }; - }[]; - minimum_should_match: number; - }; - }; - }[]; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| forceNow | Date | | - -Returns: - -`import("@kbn/es-query").RangeFilter[] | { - meta: { - index: string | undefined; - params: {}; - alias: string; - disabled: boolean; - negate: boolean; - }; - query: { - bool: { - should: { - bool: { - filter: { - range: { - [x: string]: { - gte: string; - lte: string; - }; - }; - }[]; - }; - }[]; - minimum_should_match: number; - }; - }; - }[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.gettimeshiftinterval.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.gettimeshiftinterval.md deleted file mode 100644 index d15ccbc5dc0a1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.gettimeshiftinterval.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [getTimeShiftInterval](./kibana-plugin-plugins-data-public.aggconfigs.gettimeshiftinterval.md) - -## AggConfigs.getTimeShiftInterval() method - -Signature: - -```typescript -getTimeShiftInterval(): moment.Duration | undefined; -``` -Returns: - -`moment.Duration | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.gettimeshifts.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.gettimeshifts.md deleted file mode 100644 index 44ab25cf30eb2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.gettimeshifts.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [getTimeShifts](./kibana-plugin-plugins-data-public.aggconfigs.gettimeshifts.md) - -## AggConfigs.getTimeShifts() method - -Signature: - -```typescript -getTimeShifts(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.hastimeshifts.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.hastimeshifts.md deleted file mode 100644 index db31e549666b4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.hastimeshifts.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [hasTimeShifts](./kibana-plugin-plugins-data-public.aggconfigs.hastimeshifts.md) - -## AggConfigs.hasTimeShifts() method - -Signature: - -```typescript -hasTimeShifts(): boolean; -``` -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.hierarchical.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.hierarchical.md deleted file mode 100644 index 66d540c48c3bc..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.hierarchical.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [hierarchical](./kibana-plugin-plugins-data-public.aggconfigs.hierarchical.md) - -## AggConfigs.hierarchical property - -Signature: - -```typescript -hierarchical?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.indexpattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.indexpattern.md deleted file mode 100644 index 9bd91e185df1e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.indexpattern.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [indexPattern](./kibana-plugin-plugins-data-public.aggconfigs.indexpattern.md) - -## AggConfigs.indexPattern property - -Signature: - -```typescript -indexPattern: IndexPattern; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.jsondataequals.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.jsondataequals.md deleted file mode 100644 index d94c3959cd6a2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.jsondataequals.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [jsonDataEquals](./kibana-plugin-plugins-data-public.aggconfigs.jsondataequals.md) - -## AggConfigs.jsonDataEquals() method - -Data-by-data comparison of this Aggregation Ignores the non-array indexes - -Signature: - -```typescript -jsonDataEquals(aggConfigs: AggConfig[]): boolean; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| aggConfigs | AggConfig[] | | - -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.md deleted file mode 100644 index 9e671675b0b29..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.md +++ /dev/null @@ -1,59 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) - -## AggConfigs class - -Signature: - -```typescript -export declare class AggConfigs -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(indexPattern, configStates, opts)](./kibana-plugin-plugins-data-public.aggconfigs._constructor_.md) | | Constructs a new instance of the AggConfigs class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [aggs](./kibana-plugin-plugins-data-public.aggconfigs.aggs.md) | | IAggConfig[] | | -| [createAggConfig](./kibana-plugin-plugins-data-public.aggconfigs.createaggconfig.md) | | <T extends AggConfig = AggConfig>(params: CreateAggConfigParams, { addToAggConfigs }?: {
addToAggConfigs?: boolean | undefined;
}) => T | | -| [forceNow](./kibana-plugin-plugins-data-public.aggconfigs.forcenow.md) | | Date | | -| [hierarchical](./kibana-plugin-plugins-data-public.aggconfigs.hierarchical.md) | | boolean | | -| [indexPattern](./kibana-plugin-plugins-data-public.aggconfigs.indexpattern.md) | | IndexPattern | | -| [timeFields](./kibana-plugin-plugins-data-public.aggconfigs.timefields.md) | | string[] | | -| [timeRange](./kibana-plugin-plugins-data-public.aggconfigs.timerange.md) | | TimeRange | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [byId(id)](./kibana-plugin-plugins-data-public.aggconfigs.byid.md) | | | -| [byIndex(index)](./kibana-plugin-plugins-data-public.aggconfigs.byindex.md) | | | -| [byName(name)](./kibana-plugin-plugins-data-public.aggconfigs.byname.md) | | | -| [bySchemaName(schema)](./kibana-plugin-plugins-data-public.aggconfigs.byschemaname.md) | | | -| [byType(type)](./kibana-plugin-plugins-data-public.aggconfigs.bytype.md) | | | -| [byTypeName(type)](./kibana-plugin-plugins-data-public.aggconfigs.bytypename.md) | | | -| [clone({ enabledOnly })](./kibana-plugin-plugins-data-public.aggconfigs.clone.md) | | | -| [getAll()](./kibana-plugin-plugins-data-public.aggconfigs.getall.md) | | | -| [getRequestAggById(id)](./kibana-plugin-plugins-data-public.aggconfigs.getrequestaggbyid.md) | | | -| [getRequestAggs()](./kibana-plugin-plugins-data-public.aggconfigs.getrequestaggs.md) | | | -| [getResolvedTimeRange()](./kibana-plugin-plugins-data-public.aggconfigs.getresolvedtimerange.md) | | Returns the current time range as moment instance (date math will get resolved using the current "now" value or system time if not set) | -| [getResponseAggById(id)](./kibana-plugin-plugins-data-public.aggconfigs.getresponseaggbyid.md) | | Find a response agg by it's id. This may be an agg in the aggConfigs, or one created specifically for a response value | -| [getResponseAggs()](./kibana-plugin-plugins-data-public.aggconfigs.getresponseaggs.md) | | Gets the AggConfigs (and possibly ResponseAggConfigs) that represent the values that will be produced when all aggs are run.With multi-value metric aggs it is possible for a single agg request to result in multiple agg values, which is why the length of a vis' responseValuesAggs may be different than the vis' aggs {array\[AggConfig\]} | -| [getSearchSourceTimeFilter(forceNow)](./kibana-plugin-plugins-data-public.aggconfigs.getsearchsourcetimefilter.md) | | | -| [getTimeShiftInterval()](./kibana-plugin-plugins-data-public.aggconfigs.gettimeshiftinterval.md) | | | -| [getTimeShifts()](./kibana-plugin-plugins-data-public.aggconfigs.gettimeshifts.md) | | | -| [hasTimeShifts()](./kibana-plugin-plugins-data-public.aggconfigs.hastimeshifts.md) | | | -| [jsonDataEquals(aggConfigs)](./kibana-plugin-plugins-data-public.aggconfigs.jsondataequals.md) | | Data-by-data comparison of this Aggregation Ignores the non-array indexes | -| [onSearchRequestStart(searchSource, options)](./kibana-plugin-plugins-data-public.aggconfigs.onsearchrequeststart.md) | | | -| [postFlightTransform(response)](./kibana-plugin-plugins-data-public.aggconfigs.postflighttransform.md) | | | -| [setForceNow(now)](./kibana-plugin-plugins-data-public.aggconfigs.setforcenow.md) | | | -| [setTimeFields(timeFields)](./kibana-plugin-plugins-data-public.aggconfigs.settimefields.md) | | | -| [setTimeRange(timeRange)](./kibana-plugin-plugins-data-public.aggconfigs.settimerange.md) | | | -| [toDsl()](./kibana-plugin-plugins-data-public.aggconfigs.todsl.md) | | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.onsearchrequeststart.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.onsearchrequeststart.md deleted file mode 100644 index 3ae7af408563c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.onsearchrequeststart.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [onSearchRequestStart](./kibana-plugin-plugins-data-public.aggconfigs.onsearchrequeststart.md) - -## AggConfigs.onSearchRequestStart() method - -Signature: - -```typescript -onSearchRequestStart(searchSource: ISearchSource, options?: ISearchOptions): Promise<[unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown]>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| searchSource | ISearchSource | | -| options | ISearchOptions | | - -Returns: - -`Promise<[unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown]>` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.postflighttransform.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.postflighttransform.md deleted file mode 100644 index b34fda40a3089..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.postflighttransform.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [postFlightTransform](./kibana-plugin-plugins-data-public.aggconfigs.postflighttransform.md) - -## AggConfigs.postFlightTransform() method - -Signature: - -```typescript -postFlightTransform(response: IEsSearchResponse): IEsSearchResponse; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| response | IEsSearchResponse<any> | | - -Returns: - -`IEsSearchResponse` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.setforcenow.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.setforcenow.md deleted file mode 100644 index 60a1bfe0872fa..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.setforcenow.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [setForceNow](./kibana-plugin-plugins-data-public.aggconfigs.setforcenow.md) - -## AggConfigs.setForceNow() method - -Signature: - -```typescript -setForceNow(now: Date | undefined): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| now | Date | undefined | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.settimefields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.settimefields.md deleted file mode 100644 index 31eadc5756d3d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.settimefields.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [setTimeFields](./kibana-plugin-plugins-data-public.aggconfigs.settimefields.md) - -## AggConfigs.setTimeFields() method - -Signature: - -```typescript -setTimeFields(timeFields: string[] | undefined): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| timeFields | string[] | undefined | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.settimerange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.settimerange.md deleted file mode 100644 index 77530f02bc9a3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.settimerange.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [setTimeRange](./kibana-plugin-plugins-data-public.aggconfigs.settimerange.md) - -## AggConfigs.setTimeRange() method - -Signature: - -```typescript -setTimeRange(timeRange: TimeRange): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| timeRange | TimeRange | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.timefields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.timefields.md deleted file mode 100644 index 903370fd8eb84..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.timefields.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [timeFields](./kibana-plugin-plugins-data-public.aggconfigs.timefields.md) - -## AggConfigs.timeFields property - -Signature: - -```typescript -timeFields?: string[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.timerange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.timerange.md deleted file mode 100644 index b4caef6c7f6d2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.timerange.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [timeRange](./kibana-plugin-plugins-data-public.aggconfigs.timerange.md) - -## AggConfigs.timeRange property - -Signature: - -```typescript -timeRange?: TimeRange; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.todsl.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.todsl.md deleted file mode 100644 index 1327e976db0ce..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigs.todsl.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) > [toDsl](./kibana-plugin-plugins-data-public.aggconfigs.todsl.md) - -## AggConfigs.toDsl() method - -Signature: - -```typescript -toDsl(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigserialized.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigserialized.md deleted file mode 100644 index 631569464e176..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigserialized.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigSerialized](./kibana-plugin-plugins-data-public.aggconfigserialized.md) - -## AggConfigSerialized type - -\* - -Signature: - -```typescript -export declare type AggConfigSerialized = Ensure<{ - type: string; - enabled?: boolean; - id?: string; - params?: {} | SerializableRecord; - schema?: string; -}, SerializableRecord>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggavg.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggavg.md deleted file mode 100644 index c201cdb624583..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggavg.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggAvg](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggavg.md) - -## AggFunctionsMapping.aggAvg property - -Signature: - -```typescript -aggAvg: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketavg.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketavg.md deleted file mode 100644 index f3ae1f8c24e10..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketavg.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggBucketAvg](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketavg.md) - -## AggFunctionsMapping.aggBucketAvg property - -Signature: - -```typescript -aggBucketAvg: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmax.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmax.md deleted file mode 100644 index 9623e94f0523f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmax.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggBucketMax](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmax.md) - -## AggFunctionsMapping.aggBucketMax property - -Signature: - -```typescript -aggBucketMax: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmin.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmin.md deleted file mode 100644 index 071c4fb0de82c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmin.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggBucketMin](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmin.md) - -## AggFunctionsMapping.aggBucketMin property - -Signature: - -```typescript -aggBucketMin: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketsum.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketsum.md deleted file mode 100644 index 51770e0d5ef5b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketsum.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggBucketSum](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketsum.md) - -## AggFunctionsMapping.aggBucketSum property - -Signature: - -```typescript -aggBucketSum: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcardinality.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcardinality.md deleted file mode 100644 index eaa0604571399..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcardinality.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggCardinality](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcardinality.md) - -## AggFunctionsMapping.aggCardinality property - -Signature: - -```typescript -aggCardinality: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcount.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcount.md deleted file mode 100644 index e0ab80bcd5dd0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcount.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggCount](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcount.md) - -## AggFunctionsMapping.aggCount property - -Signature: - -```typescript -aggCount: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcumulativesum.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcumulativesum.md deleted file mode 100644 index d1befc3fa4ad6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcumulativesum.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggCumulativeSum](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcumulativesum.md) - -## AggFunctionsMapping.aggCumulativeSum property - -Signature: - -```typescript -aggCumulativeSum: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdatehistogram.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdatehistogram.md deleted file mode 100644 index edf96654c63f0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdatehistogram.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggDateHistogram](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdatehistogram.md) - -## AggFunctionsMapping.aggDateHistogram property - -Signature: - -```typescript -aggDateHistogram: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdaterange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdaterange.md deleted file mode 100644 index 770a3fe049d44..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdaterange.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggDateRange](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdaterange.md) - -## AggFunctionsMapping.aggDateRange property - -Signature: - -```typescript -aggDateRange: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggderivative.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggderivative.md deleted file mode 100644 index db97b3224914c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggderivative.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggDerivative](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggderivative.md) - -## AggFunctionsMapping.aggDerivative property - -Signature: - -```typescript -aggDerivative: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilter.md deleted file mode 100644 index a862d0b8edc47..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilter.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggFilter](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilter.md) - -## AggFunctionsMapping.aggFilter property - -Signature: - -```typescript -aggFilter: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilteredmetric.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilteredmetric.md deleted file mode 100644 index 71e3e025b931d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilteredmetric.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggFilteredMetric](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilteredmetric.md) - -## AggFunctionsMapping.aggFilteredMetric property - -Signature: - -```typescript -aggFilteredMetric: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilters.md deleted file mode 100644 index 1e3b4a2945a41..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggFilters](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilters.md) - -## AggFunctionsMapping.aggFilters property - -Signature: - -```typescript -aggFilters: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeobounds.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeobounds.md deleted file mode 100644 index 48191ee288470..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeobounds.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggGeoBounds](./kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeobounds.md) - -## AggFunctionsMapping.aggGeoBounds property - -Signature: - -```typescript -aggGeoBounds: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeocentroid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeocentroid.md deleted file mode 100644 index bde4347681545..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeocentroid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggGeoCentroid](./kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeocentroid.md) - -## AggFunctionsMapping.aggGeoCentroid property - -Signature: - -```typescript -aggGeoCentroid: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeohash.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeohash.md deleted file mode 100644 index 2636d64609c07..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeohash.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggGeoHash](./kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeohash.md) - -## AggFunctionsMapping.aggGeoHash property - -Signature: - -```typescript -aggGeoHash: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeotile.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeotile.md deleted file mode 100644 index 4a3e50acb836b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeotile.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggGeoTile](./kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeotile.md) - -## AggFunctionsMapping.aggGeoTile property - -Signature: - -```typescript -aggGeoTile: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agghistogram.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agghistogram.md deleted file mode 100644 index 9b89c6f4b44f8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.agghistogram.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggHistogram](./kibana-plugin-plugins-data-public.aggfunctionsmapping.agghistogram.md) - -## AggFunctionsMapping.aggHistogram property - -Signature: - -```typescript -aggHistogram: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggiprange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggiprange.md deleted file mode 100644 index 24085d0f185d3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggiprange.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggIpRange](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggiprange.md) - -## AggFunctionsMapping.aggIpRange property - -Signature: - -```typescript -aggIpRange: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmax.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmax.md deleted file mode 100644 index a9fc4eb8c1b62..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmax.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggMax](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmax.md) - -## AggFunctionsMapping.aggMax property - -Signature: - -```typescript -aggMax: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmedian.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmedian.md deleted file mode 100644 index ee266c05cce53..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmedian.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggMedian](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmedian.md) - -## AggFunctionsMapping.aggMedian property - -Signature: - -```typescript -aggMedian: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmin.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmin.md deleted file mode 100644 index d1af0e02d961b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmin.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggMin](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmin.md) - -## AggFunctionsMapping.aggMin property - -Signature: - -```typescript -aggMin: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmovingavg.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmovingavg.md deleted file mode 100644 index 954bb4c427c50..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmovingavg.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggMovingAvg](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmovingavg.md) - -## AggFunctionsMapping.aggMovingAvg property - -Signature: - -```typescript -aggMovingAvg: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentileranks.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentileranks.md deleted file mode 100644 index a332b986ea70b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentileranks.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggPercentileRanks](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentileranks.md) - -## AggFunctionsMapping.aggPercentileRanks property - -Signature: - -```typescript -aggPercentileRanks: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentiles.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentiles.md deleted file mode 100644 index 14f279ea8d7c4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentiles.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggPercentiles](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentiles.md) - -## AggFunctionsMapping.aggPercentiles property - -Signature: - -```typescript -aggPercentiles: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggrange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggrange.md deleted file mode 100644 index 8dab1873fc637..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggrange.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggRange](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggrange.md) - -## AggFunctionsMapping.aggRange property - -Signature: - -```typescript -aggRange: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggserialdiff.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggserialdiff.md deleted file mode 100644 index ed0eaa8226117..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggserialdiff.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggSerialDiff](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggserialdiff.md) - -## AggFunctionsMapping.aggSerialDiff property - -Signature: - -```typescript -aggSerialDiff: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsignificantterms.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsignificantterms.md deleted file mode 100644 index 22c5ffd6f30b5..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsignificantterms.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggSignificantTerms](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsignificantterms.md) - -## AggFunctionsMapping.aggSignificantTerms property - -Signature: - -```typescript -aggSignificantTerms: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsinglepercentile.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsinglepercentile.md deleted file mode 100644 index 4e432b8d365a3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsinglepercentile.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggSinglePercentile](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsinglepercentile.md) - -## AggFunctionsMapping.aggSinglePercentile property - -Signature: - -```typescript -aggSinglePercentile: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggstddeviation.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggstddeviation.md deleted file mode 100644 index f5c349f5586b4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggstddeviation.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggStdDeviation](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggstddeviation.md) - -## AggFunctionsMapping.aggStdDeviation property - -Signature: - -```typescript -aggStdDeviation: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsum.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsum.md deleted file mode 100644 index 977f7ebf33a53..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsum.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggSum](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsum.md) - -## AggFunctionsMapping.aggSum property - -Signature: - -```typescript -aggSum: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggterms.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggterms.md deleted file mode 100644 index b42e643859e73..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggterms.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggTerms](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggterms.md) - -## AggFunctionsMapping.aggTerms property - -Signature: - -```typescript -aggTerms: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggtophit.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggtophit.md deleted file mode 100644 index 681d6a0b95489..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.aggtophit.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) > [aggTopHit](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggtophit.md) - -## AggFunctionsMapping.aggTopHit property - -Signature: - -```typescript -aggTopHit: ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.md deleted file mode 100644 index 852c6d5f1c00b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggfunctionsmapping.md +++ /dev/null @@ -1,53 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) - -## AggFunctionsMapping interface - -A global list of the expression function definitions for each agg type function. - -Signature: - -```typescript -export interface AggFunctionsMapping -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [aggAvg](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggavg.md) | ReturnType<typeof aggAvg> | | -| [aggBucketAvg](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketavg.md) | ReturnType<typeof aggBucketAvg> | | -| [aggBucketMax](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmax.md) | ReturnType<typeof aggBucketMax> | | -| [aggBucketMin](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketmin.md) | ReturnType<typeof aggBucketMin> | | -| [aggBucketSum](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggbucketsum.md) | ReturnType<typeof aggBucketSum> | | -| [aggCardinality](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcardinality.md) | ReturnType<typeof aggCardinality> | | -| [aggCount](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcount.md) | ReturnType<typeof aggCount> | | -| [aggCumulativeSum](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggcumulativesum.md) | ReturnType<typeof aggCumulativeSum> | | -| [aggDateHistogram](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdatehistogram.md) | ReturnType<typeof aggDateHistogram> | | -| [aggDateRange](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggdaterange.md) | ReturnType<typeof aggDateRange> | | -| [aggDerivative](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggderivative.md) | ReturnType<typeof aggDerivative> | | -| [aggFilter](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilter.md) | ReturnType<typeof aggFilter> | | -| [aggFilteredMetric](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilteredmetric.md) | ReturnType<typeof aggFilteredMetric> | | -| [aggFilters](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggfilters.md) | ReturnType<typeof aggFilters> | | -| [aggGeoBounds](./kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeobounds.md) | ReturnType<typeof aggGeoBounds> | | -| [aggGeoCentroid](./kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeocentroid.md) | ReturnType<typeof aggGeoCentroid> | | -| [aggGeoHash](./kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeohash.md) | ReturnType<typeof aggGeoHash> | | -| [aggGeoTile](./kibana-plugin-plugins-data-public.aggfunctionsmapping.agggeotile.md) | ReturnType<typeof aggGeoTile> | | -| [aggHistogram](./kibana-plugin-plugins-data-public.aggfunctionsmapping.agghistogram.md) | ReturnType<typeof aggHistogram> | | -| [aggIpRange](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggiprange.md) | ReturnType<typeof aggIpRange> | | -| [aggMax](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmax.md) | ReturnType<typeof aggMax> | | -| [aggMedian](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmedian.md) | ReturnType<typeof aggMedian> | | -| [aggMin](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmin.md) | ReturnType<typeof aggMin> | | -| [aggMovingAvg](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggmovingavg.md) | ReturnType<typeof aggMovingAvg> | | -| [aggPercentileRanks](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentileranks.md) | ReturnType<typeof aggPercentileRanks> | | -| [aggPercentiles](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggpercentiles.md) | ReturnType<typeof aggPercentiles> | | -| [aggRange](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggrange.md) | ReturnType<typeof aggRange> | | -| [aggSerialDiff](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggserialdiff.md) | ReturnType<typeof aggSerialDiff> | | -| [aggSignificantTerms](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsignificantterms.md) | ReturnType<typeof aggSignificantTerms> | | -| [aggSinglePercentile](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsinglepercentile.md) | ReturnType<typeof aggSinglePercentile> | | -| [aggStdDeviation](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggstddeviation.md) | ReturnType<typeof aggStdDeviation> | | -| [aggSum](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggsum.md) | ReturnType<typeof aggSum> | | -| [aggTerms](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggterms.md) | ReturnType<typeof aggTerms> | | -| [aggTopHit](./kibana-plugin-plugins-data-public.aggfunctionsmapping.aggtophit.md) | ReturnType<typeof aggTopHit> | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggrouplabels.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggrouplabels.md deleted file mode 100644 index ccb386eb7bfff..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggrouplabels.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggGroupLabels](./kibana-plugin-plugins-data-public.agggrouplabels.md) - -## AggGroupLabels variable - -Signature: - -```typescript -AggGroupLabels: { - buckets: string; - metrics: string; - none: string; -} -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggroupname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggroupname.md deleted file mode 100644 index d4476398680a8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggroupname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggGroupName](./kibana-plugin-plugins-data-public.agggroupname.md) - -## AggGroupName type - -Signature: - -```typescript -export declare type AggGroupName = $Values; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggroupnames.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggroupnames.md deleted file mode 100644 index b62578ef96323..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.agggroupnames.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggGroupNames](./kibana-plugin-plugins-data-public.agggroupnames.md) - -## AggGroupNames variable - -Signature: - -```typescript -AggGroupNames: Readonly<{ - Buckets: "buckets"; - Metrics: "metrics"; - None: "none"; -}> -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparam.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparam.md deleted file mode 100644 index aa9f64e4d566d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparam.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggParam](./kibana-plugin-plugins-data-public.aggparam.md) - -## AggParam type - -Signature: - -```typescript -export declare type AggParam = BaseParamType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.display.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.display.md deleted file mode 100644 index 9c6141a50c02f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.display.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggParamOption](./kibana-plugin-plugins-data-public.aggparamoption.md) > [display](./kibana-plugin-plugins-data-public.aggparamoption.display.md) - -## AggParamOption.display property - -Signature: - -```typescript -display: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.enabled.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.enabled.md deleted file mode 100644 index 5de2c2230d362..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.enabled.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggParamOption](./kibana-plugin-plugins-data-public.aggparamoption.md) > [enabled](./kibana-plugin-plugins-data-public.aggparamoption.enabled.md) - -## AggParamOption.enabled() method - -Signature: - -```typescript -enabled?(agg: AggConfig): boolean; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| agg | AggConfig | | - -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.md deleted file mode 100644 index 7a38dbb0a4415..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggParamOption](./kibana-plugin-plugins-data-public.aggparamoption.md) - -## AggParamOption interface - -Signature: - -```typescript -export interface AggParamOption -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [display](./kibana-plugin-plugins-data-public.aggparamoption.display.md) | string | | -| [val](./kibana-plugin-plugins-data-public.aggparamoption.val.md) | string | | - -## Methods - -| Method | Description | -| --- | --- | -| [enabled(agg)](./kibana-plugin-plugins-data-public.aggparamoption.enabled.md) | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.val.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.val.md deleted file mode 100644 index 8cdf71c767211..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamoption.val.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggParamOption](./kibana-plugin-plugins-data-public.aggparamoption.md) > [val](./kibana-plugin-plugins-data-public.aggparamoption.val.md) - -## AggParamOption.val property - -Signature: - -```typescript -val: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype._constructor_.md deleted file mode 100644 index 5fdcd53d57c65..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggParamType](./kibana-plugin-plugins-data-public.aggparamtype.md) > [(constructor)](./kibana-plugin-plugins-data-public.aggparamtype._constructor_.md) - -## AggParamType.(constructor) - -Constructs a new instance of the `AggParamType` class - -Signature: - -```typescript -constructor(config: Record); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| config | Record<string, any> | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.allowedaggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.allowedaggs.md deleted file mode 100644 index 9dc0b788f29a6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.allowedaggs.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggParamType](./kibana-plugin-plugins-data-public.aggparamtype.md) > [allowedAggs](./kibana-plugin-plugins-data-public.aggparamtype.allowedaggs.md) - -## AggParamType.allowedAggs property - -Signature: - -```typescript -allowedAggs: string[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.makeagg.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.makeagg.md deleted file mode 100644 index a91db7e7aac8b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.makeagg.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggParamType](./kibana-plugin-plugins-data-public.aggparamtype.md) > [makeAgg](./kibana-plugin-plugins-data-public.aggparamtype.makeagg.md) - -## AggParamType.makeAgg property - -Signature: - -```typescript -makeAgg: (agg: TAggConfig, state?: AggConfigSerialized) => TAggConfig; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.md deleted file mode 100644 index f9733529a315d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggParamType](./kibana-plugin-plugins-data-public.aggparamtype.md) - -## AggParamType class - -Signature: - -```typescript -export declare class AggParamType extends BaseParamType -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(config)](./kibana-plugin-plugins-data-public.aggparamtype._constructor_.md) | | Constructs a new instance of the AggParamType class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [allowedAggs](./kibana-plugin-plugins-data-public.aggparamtype.allowedaggs.md) | | string[] | | -| [makeAgg](./kibana-plugin-plugins-data-public.aggparamtype.makeagg.md) | | (agg: TAggConfig, state?: AggConfigSerialized) => TAggConfig | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggregationrestrictions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggregationrestrictions.md deleted file mode 100644 index b3d04027980ca..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggregationrestrictions.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggregationRestrictions](./kibana-plugin-plugins-data-public.aggregationrestrictions.md) - -## AggregationRestrictions type - -Signature: - -```typescript -export declare type AggregationRestrictions = Record; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggsstart.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggsstart.md deleted file mode 100644 index 7bdf9d6501203..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggsstart.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggsStart](./kibana-plugin-plugins-data-public.aggsstart.md) - -## AggsStart type - -AggsStart represents the actual external contract as AggsCommonStart is only used internally. The difference is that AggsStart includes the typings for the registry with initialized agg types. - -Signature: - -```typescript -export declare type AggsStart = Assign; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.apply_filter_trigger.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.apply_filter_trigger.md deleted file mode 100644 index aaed18b3b8890..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.apply_filter_trigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [APPLY\_FILTER\_TRIGGER](./kibana-plugin-plugins-data-public.apply_filter_trigger.md) - -## APPLY\_FILTER\_TRIGGER variable - -Signature: - -```typescript -APPLY_FILTER_TRIGGER = "FILTER_TRIGGER" -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.controlledby.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.controlledby.md deleted file mode 100644 index d9c47dec9e9d4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.controlledby.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ApplyGlobalFilterActionContext](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.md) > [controlledBy](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.controlledby.md) - -## ApplyGlobalFilterActionContext.controlledBy property - -Signature: - -```typescript -controlledBy?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.embeddable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.embeddable.md deleted file mode 100644 index dbeeeb9979aae..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.embeddable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ApplyGlobalFilterActionContext](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.md) > [embeddable](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.embeddable.md) - -## ApplyGlobalFilterActionContext.embeddable property - -Signature: - -```typescript -embeddable?: unknown; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.filters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.filters.md deleted file mode 100644 index 6d1d20580fb19..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.filters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ApplyGlobalFilterActionContext](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.md) > [filters](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.filters.md) - -## ApplyGlobalFilterActionContext.filters property - -Signature: - -```typescript -filters: Filter[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.md deleted file mode 100644 index 01ccd4819d906..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ApplyGlobalFilterActionContext](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.md) - -## ApplyGlobalFilterActionContext interface - -Signature: - -```typescript -export interface ApplyGlobalFilterActionContext -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [controlledBy](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.controlledby.md) | string | | -| [embeddable](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.embeddable.md) | unknown | | -| [filters](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.filters.md) | Filter[] | | -| [timeFieldName](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.timefieldname.md) | string | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.timefieldname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.timefieldname.md deleted file mode 100644 index a5cf58018ec65..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.timefieldname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ApplyGlobalFilterActionContext](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.md) > [timeFieldName](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.timefieldname.md) - -## ApplyGlobalFilterActionContext.timeFieldName property - -Signature: - -```typescript -timeFieldName?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.autocompletestart.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.autocompletestart.md deleted file mode 100644 index 44cee8c32421d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.autocompletestart.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AutocompleteStart](./kibana-plugin-plugins-data-public.autocompletestart.md) - -## AutocompleteStart type - -\* - -Signature: - -```typescript -export declare type AutocompleteStart = ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.autorefreshdonefn.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.autorefreshdonefn.md deleted file mode 100644 index a5694ea2d1af9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.autorefreshdonefn.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AutoRefreshDoneFn](./kibana-plugin-plugins-data-public.autorefreshdonefn.md) - -## AutoRefreshDoneFn type - -Signature: - -```typescript -export declare type AutoRefreshDoneFn = () => void; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.bucket_types.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.bucket_types.md deleted file mode 100644 index 4bd6070bf2125..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.bucket_types.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [BUCKET\_TYPES](./kibana-plugin-plugins-data-public.bucket_types.md) - -## BUCKET\_TYPES enum - -Signature: - -```typescript -export declare enum BUCKET_TYPES -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| DATE\_HISTOGRAM | "date_histogram" | | -| DATE\_RANGE | "date_range" | | -| FILTER | "filter" | | -| FILTERS | "filters" | | -| GEOHASH\_GRID | "geohash_grid" | | -| GEOTILE\_GRID | "geotile_grid" | | -| HISTOGRAM | "histogram" | | -| IP\_RANGE | "ip_range" | | -| RANGE | "range" | | -| SIGNIFICANT\_TERMS | "significant_terms" | | -| TERMS | "terms" | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.castestokbnfieldtypename.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.castestokbnfieldtypename.md deleted file mode 100644 index 90aa0b0a8a313..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.castestokbnfieldtypename.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [castEsToKbnFieldTypeName](./kibana-plugin-plugins-data-public.castestokbnfieldtypename.md) - -## castEsToKbnFieldTypeName variable - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/field-types" package directly instead. 8.1 -> - -Signature: - -```typescript -castEsToKbnFieldTypeName: (esType: string) => import("@kbn/field-types").KBN_FIELD_TYPES -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.connecttoquerystate.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.connecttoquerystate.md deleted file mode 100644 index 7c937b39cda87..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.connecttoquerystate.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [connectToQueryState](./kibana-plugin-plugins-data-public.connecttoquerystate.md) - -## connectToQueryState variable - -Helper to setup two-way syncing of global data and a state container - -Signature: - -```typescript -connectToQueryState: ({ timefilter: { timefilter }, filterManager, queryString, state$, }: Pick, stateContainer: BaseStateContainer, syncConfig: { - time?: boolean; - refreshInterval?: boolean; - filters?: FilterStateStore | boolean; - query?: boolean; -}) => () => void -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.createsavedqueryservice.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.createsavedqueryservice.md deleted file mode 100644 index 694f7e3628dd1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.createsavedqueryservice.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [createSavedQueryService](./kibana-plugin-plugins-data-public.createsavedqueryservice.md) - -## createSavedQueryService variable - -Signature: - -```typescript -createSavedQueryService: (savedObjectsClient: SavedObjectsClientContract) => SavedQueryService -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.customfilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.customfilter.md deleted file mode 100644 index 6addd931ce22d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.customfilter.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [CustomFilter](./kibana-plugin-plugins-data-public.customfilter.md) - -## CustomFilter type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type CustomFilter = oldCustomFilter; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin._constructor_.md deleted file mode 100644 index 3eaf2176edf26..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPlugin](./kibana-plugin-plugins-data-public.dataplugin.md) > [(constructor)](./kibana-plugin-plugins-data-public.dataplugin._constructor_.md) - -## DataPlugin.(constructor) - -Constructs a new instance of the `DataPublicPlugin` class - -Signature: - -```typescript -constructor(initializerContext: PluginInitializerContext); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initializerContext | PluginInitializerContext<ConfigSchema> | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.md deleted file mode 100644 index b970a408e5130..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPlugin](./kibana-plugin-plugins-data-public.dataplugin.md) - -## DataPlugin class - -Signature: - -```typescript -export declare class DataPublicPlugin implements Plugin -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(initializerContext)](./kibana-plugin-plugins-data-public.dataplugin._constructor_.md) | | Constructs a new instance of the DataPublicPlugin class | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [setup(core, { bfetch, expressions, uiActions, usageCollection, inspector, fieldFormats, })](./kibana-plugin-plugins-data-public.dataplugin.setup.md) | | | -| [start(core, { uiActions, fieldFormats })](./kibana-plugin-plugins-data-public.dataplugin.start.md) | | | -| [stop()](./kibana-plugin-plugins-data-public.dataplugin.stop.md) | | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.setup.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.setup.md deleted file mode 100644 index 3c9a3e5c0751f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.setup.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPlugin](./kibana-plugin-plugins-data-public.dataplugin.md) > [setup](./kibana-plugin-plugins-data-public.dataplugin.setup.md) - -## DataPlugin.setup() method - -Signature: - -```typescript -setup(core: CoreSetup, { bfetch, expressions, uiActions, usageCollection, inspector, fieldFormats, }: DataSetupDependencies): DataPublicPluginSetup; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| core | CoreSetup<DataStartDependencies, DataPublicPluginStart> | | -| { bfetch, expressions, uiActions, usageCollection, inspector, fieldFormats, } | DataSetupDependencies | | - -Returns: - -`DataPublicPluginSetup` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.start.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.start.md deleted file mode 100644 index c7611ac761bb9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.start.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPlugin](./kibana-plugin-plugins-data-public.dataplugin.md) > [start](./kibana-plugin-plugins-data-public.dataplugin.start.md) - -## DataPlugin.start() method - -Signature: - -```typescript -start(core: CoreStart, { uiActions, fieldFormats }: DataStartDependencies): DataPublicPluginStart; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| core | CoreStart | | -| { uiActions, fieldFormats } | DataStartDependencies | | - -Returns: - -`DataPublicPluginStart` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.stop.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.stop.md deleted file mode 100644 index b7067a01b4467..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.dataplugin.stop.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPlugin](./kibana-plugin-plugins-data-public.dataplugin.md) > [stop](./kibana-plugin-plugins-data-public.dataplugin.stop.md) - -## DataPlugin.stop() method - -Signature: - -```typescript -stop(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.autocomplete.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.autocomplete.md deleted file mode 100644 index 9ded30c531bed..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.autocomplete.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginSetup](./kibana-plugin-plugins-data-public.datapublicpluginsetup.md) > [autocomplete](./kibana-plugin-plugins-data-public.datapublicpluginsetup.autocomplete.md) - -## DataPublicPluginSetup.autocomplete property - -Signature: - -```typescript -autocomplete: AutocompleteSetup; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.md deleted file mode 100644 index a43aad10132fc..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginSetup](./kibana-plugin-plugins-data-public.datapublicpluginsetup.md) - -## DataPublicPluginSetup interface - -Data plugin public Setup contract - -Signature: - -```typescript -export interface DataPublicPluginSetup -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [autocomplete](./kibana-plugin-plugins-data-public.datapublicpluginsetup.autocomplete.md) | AutocompleteSetup | | -| [query](./kibana-plugin-plugins-data-public.datapublicpluginsetup.query.md) | QuerySetup | | -| [search](./kibana-plugin-plugins-data-public.datapublicpluginsetup.search.md) | ISearchSetup | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.query.md deleted file mode 100644 index b8882bdf671b6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.query.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginSetup](./kibana-plugin-plugins-data-public.datapublicpluginsetup.md) > [query](./kibana-plugin-plugins-data-public.datapublicpluginsetup.query.md) - -## DataPublicPluginSetup.query property - -Signature: - -```typescript -query: QuerySetup; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.search.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.search.md deleted file mode 100644 index a957c1acc4194..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.search.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginSetup](./kibana-plugin-plugins-data-public.datapublicpluginsetup.md) > [search](./kibana-plugin-plugins-data-public.datapublicpluginsetup.search.md) - -## DataPublicPluginSetup.search property - -Signature: - -```typescript -search: ISearchSetup; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.actions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.actions.md deleted file mode 100644 index 10997c94fab06..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.actions.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) > [actions](./kibana-plugin-plugins-data-public.datapublicpluginstart.actions.md) - -## DataPublicPluginStart.actions property - -filter creation utilities [DataPublicPluginStartActions](./kibana-plugin-plugins-data-public.datapublicpluginstartactions.md) - -Signature: - -```typescript -actions: DataPublicPluginStartActions; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.autocomplete.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.autocomplete.md deleted file mode 100644 index 8a09a10cccb24..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.autocomplete.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) > [autocomplete](./kibana-plugin-plugins-data-public.datapublicpluginstart.autocomplete.md) - -## DataPublicPluginStart.autocomplete property - -autocomplete service [AutocompleteStart](./kibana-plugin-plugins-data-public.autocompletestart.md) - -Signature: - -```typescript -autocomplete: AutocompleteStart; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.fieldformats.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.fieldformats.md deleted file mode 100644 index a60e631835ea4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.fieldformats.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) > [fieldFormats](./kibana-plugin-plugins-data-public.datapublicpluginstart.fieldformats.md) - -## DataPublicPluginStart.fieldFormats property - -> Warning: This API is now obsolete. -> -> Use fieldFormats plugin instead -> - -Signature: - -```typescript -fieldFormats: FieldFormatsStart; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.indexpatterns.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.indexpatterns.md deleted file mode 100644 index 0cf1e3101713d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.indexpatterns.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) > [indexPatterns](./kibana-plugin-plugins-data-public.datapublicpluginstart.indexpatterns.md) - -## DataPublicPluginStart.indexPatterns property - -index patterns service [IndexPatternsContract](./kibana-plugin-plugins-data-public.indexpatternscontract.md) - -Signature: - -```typescript -indexPatterns: IndexPatternsContract; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.md deleted file mode 100644 index 341ec0d7e514c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) - -## DataPublicPluginStart interface - -Data plugin public Start contract - -Signature: - -```typescript -export interface DataPublicPluginStart -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [actions](./kibana-plugin-plugins-data-public.datapublicpluginstart.actions.md) | DataPublicPluginStartActions | filter creation utilities [DataPublicPluginStartActions](./kibana-plugin-plugins-data-public.datapublicpluginstartactions.md) | -| [autocomplete](./kibana-plugin-plugins-data-public.datapublicpluginstart.autocomplete.md) | AutocompleteStart | autocomplete service [AutocompleteStart](./kibana-plugin-plugins-data-public.autocompletestart.md) | -| [fieldFormats](./kibana-plugin-plugins-data-public.datapublicpluginstart.fieldformats.md) | FieldFormatsStart | | -| [indexPatterns](./kibana-plugin-plugins-data-public.datapublicpluginstart.indexpatterns.md) | IndexPatternsContract | index patterns service [IndexPatternsContract](./kibana-plugin-plugins-data-public.indexpatternscontract.md) | -| [nowProvider](./kibana-plugin-plugins-data-public.datapublicpluginstart.nowprovider.md) | NowProviderPublicContract | | -| [query](./kibana-plugin-plugins-data-public.datapublicpluginstart.query.md) | QueryStart | query service [QueryStart](./kibana-plugin-plugins-data-public.querystart.md) | -| [search](./kibana-plugin-plugins-data-public.datapublicpluginstart.search.md) | ISearchStart | search service [ISearchStart](./kibana-plugin-plugins-data-public.isearchstart.md) | -| [ui](./kibana-plugin-plugins-data-public.datapublicpluginstart.ui.md) | DataPublicPluginStartUi | prewired UI components [DataPublicPluginStartUi](./kibana-plugin-plugins-data-public.datapublicpluginstartui.md) | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.nowprovider.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.nowprovider.md deleted file mode 100644 index 4a93c25e28815..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.nowprovider.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) > [nowProvider](./kibana-plugin-plugins-data-public.datapublicpluginstart.nowprovider.md) - -## DataPublicPluginStart.nowProvider property - -Signature: - -```typescript -nowProvider: NowProviderPublicContract; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.query.md deleted file mode 100644 index 16ba5dafbb264..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.query.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) > [query](./kibana-plugin-plugins-data-public.datapublicpluginstart.query.md) - -## DataPublicPluginStart.query property - -query service [QueryStart](./kibana-plugin-plugins-data-public.querystart.md) - -Signature: - -```typescript -query: QueryStart; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.search.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.search.md deleted file mode 100644 index 98832d7ca11d8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.search.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) > [search](./kibana-plugin-plugins-data-public.datapublicpluginstart.search.md) - -## DataPublicPluginStart.search property - -search service [ISearchStart](./kibana-plugin-plugins-data-public.isearchstart.md) - -Signature: - -```typescript -search: ISearchStart; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.ui.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.ui.md deleted file mode 100644 index 671a1814ac644..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.ui.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) > [ui](./kibana-plugin-plugins-data-public.datapublicpluginstart.ui.md) - -## DataPublicPluginStart.ui property - -prewired UI components [DataPublicPluginStartUi](./kibana-plugin-plugins-data-public.datapublicpluginstartui.md) - -Signature: - -```typescript -ui: DataPublicPluginStartUi; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromrangeselectaction.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromrangeselectaction.md deleted file mode 100644 index c954e0095cbb6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromrangeselectaction.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStartActions](./kibana-plugin-plugins-data-public.datapublicpluginstartactions.md) > [createFiltersFromRangeSelectAction](./kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromrangeselectaction.md) - -## DataPublicPluginStartActions.createFiltersFromRangeSelectAction property - -Signature: - -```typescript -createFiltersFromRangeSelectAction: typeof createFiltersFromRangeSelectAction; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromvalueclickaction.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromvalueclickaction.md deleted file mode 100644 index 70bd5091f3604..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromvalueclickaction.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStartActions](./kibana-plugin-plugins-data-public.datapublicpluginstartactions.md) > [createFiltersFromValueClickAction](./kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromvalueclickaction.md) - -## DataPublicPluginStartActions.createFiltersFromValueClickAction property - -Signature: - -```typescript -createFiltersFromValueClickAction: typeof createFiltersFromValueClickAction; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.md deleted file mode 100644 index d44c9e892cb80..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartactions.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStartActions](./kibana-plugin-plugins-data-public.datapublicpluginstartactions.md) - -## DataPublicPluginStartActions interface - -utilities to generate filters from action context - -Signature: - -```typescript -export interface DataPublicPluginStartActions -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [createFiltersFromRangeSelectAction](./kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromrangeselectaction.md) | typeof createFiltersFromRangeSelectAction | | -| [createFiltersFromValueClickAction](./kibana-plugin-plugins-data-public.datapublicpluginstartactions.createfiltersfromvalueclickaction.md) | typeof createFiltersFromValueClickAction | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.indexpatternselect.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.indexpatternselect.md deleted file mode 100644 index eac29dc5de70d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.indexpatternselect.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStartUi](./kibana-plugin-plugins-data-public.datapublicpluginstartui.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.datapublicpluginstartui.indexpatternselect.md) - -## DataPublicPluginStartUi.IndexPatternSelect property - -Signature: - -```typescript -IndexPatternSelect: React.ComponentType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.md deleted file mode 100644 index 3d827c0db465b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStartUi](./kibana-plugin-plugins-data-public.datapublicpluginstartui.md) - -## DataPublicPluginStartUi interface - -Data plugin prewired UI components - -Signature: - -```typescript -export interface DataPublicPluginStartUi -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [IndexPatternSelect](./kibana-plugin-plugins-data-public.datapublicpluginstartui.indexpatternselect.md) | React.ComponentType<IndexPatternSelectProps> | | -| [SearchBar](./kibana-plugin-plugins-data-public.datapublicpluginstartui.searchbar.md) | React.ComponentType<StatefulSearchBarProps> | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.searchbar.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.searchbar.md deleted file mode 100644 index 06339d14cde24..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstartui.searchbar.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStartUi](./kibana-plugin-plugins-data-public.datapublicpluginstartui.md) > [SearchBar](./kibana-plugin-plugins-data-public.datapublicpluginstartui.searchbar.md) - -## DataPublicPluginStartUi.SearchBar property - -Signature: - -```typescript -SearchBar: React.ComponentType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.duplicateindexpatternerror._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.duplicateindexpatternerror._constructor_.md deleted file mode 100644 index 676f1a2c785f8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.duplicateindexpatternerror._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DuplicateIndexPatternError](./kibana-plugin-plugins-data-public.duplicateindexpatternerror.md) > [(constructor)](./kibana-plugin-plugins-data-public.duplicateindexpatternerror._constructor_.md) - -## DuplicateIndexPatternError.(constructor) - -Constructs a new instance of the `DuplicateIndexPatternError` class - -Signature: - -```typescript -constructor(message: string); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| message | string | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.duplicateindexpatternerror.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.duplicateindexpatternerror.md deleted file mode 100644 index 7ed8f97976464..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.duplicateindexpatternerror.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DuplicateIndexPatternError](./kibana-plugin-plugins-data-public.duplicateindexpatternerror.md) - -## DuplicateIndexPatternError class - -Signature: - -```typescript -export declare class DuplicateIndexPatternError extends Error -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(message)](./kibana-plugin-plugins-data-public.duplicateindexpatternerror._constructor_.md) | | Constructs a new instance of the DuplicateIndexPatternError class | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.es_search_strategy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.es_search_strategy.md deleted file mode 100644 index 9cf3720e330c2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.es_search_strategy.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ES\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-public.es_search_strategy.md) - -## ES\_SEARCH\_STRATEGY variable - -Signature: - -```typescript -ES_SEARCH_STRATEGY = "es" -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esaggsexpressionfunctiondefinition.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esaggsexpressionfunctiondefinition.md deleted file mode 100644 index 6cf05dde27627..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esaggsexpressionfunctiondefinition.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [EsaggsExpressionFunctionDefinition](./kibana-plugin-plugins-data-public.esaggsexpressionfunctiondefinition.md) - -## EsaggsExpressionFunctionDefinition type - -Signature: - -```typescript -export declare type EsaggsExpressionFunctionDefinition = ExpressionFunctionDefinition<'esaggs', Input, Arguments, Output>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esfilters.md deleted file mode 100644 index 1b61d9a253026..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esfilters.md +++ /dev/null @@ -1,72 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [esFilters](./kibana-plugin-plugins-data-public.esfilters.md) - -## esFilters variable - -> Warning: This API is now obsolete. -> -> Import helpers from the "@kbn/es-query" package directly instead. 8.1 -> - -Filter helpers namespace: - -Signature: - -```typescript -esFilters: { - FilterLabel: (props: import("./ui/filter_bar/filter_editor/lib/filter_label").FilterLabelProps) => JSX.Element; - FilterItem: (props: import("./ui/filter_bar/filter_item").FilterItemProps) => JSX.Element; - FILTERS: typeof import("@kbn/es-query").FILTERS; - FilterStateStore: typeof FilterStateStore; - buildEmptyFilter: (isPinned: boolean, index?: string | undefined) => import("@kbn/es-query").Filter; - buildPhrasesFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, params: (string | number | boolean)[], indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").PhrasesFilter; - buildExistsFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").ExistsFilter; - buildPhraseFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, value: string | number | boolean, indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").PhraseFilter | import("@kbn/es-query").ScriptedPhraseFilter; - buildQueryFilter: (query: (Record & { - query_string?: { - query: string; - } | undefined; - }) | undefined, index: string, alias: string) => import("@kbn/es-query").QueryStringFilter; - buildRangeFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, params: import("@kbn/es-query").RangeFilterParams, indexPattern: import("@kbn/es-query").IndexPatternBase, formattedValue?: string | undefined) => import("@kbn/es-query").RangeFilter | import("@kbn/es-query").ScriptedRangeFilter | import("@kbn/es-query/target_types/filters/build_filters").MatchAllRangeFilter; - isPhraseFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").PhraseFilter; - isExistsFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").ExistsFilter; - isPhrasesFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").PhrasesFilter; - isRangeFilter: (filter?: import("@kbn/es-query").Filter | undefined) => filter is import("@kbn/es-query").RangeFilter; - isMatchAllFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").MatchAllFilter; - isMissingFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").MissingFilter; - isQueryStringFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").QueryStringFilter; - isFilterPinned: (filter: import("@kbn/es-query").Filter) => boolean | undefined; - toggleFilterNegated: (filter: import("@kbn/es-query").Filter) => { - meta: { - negate: boolean; - alias?: string | null | undefined; - disabled?: boolean | undefined; - controlledBy?: string | undefined; - index?: string | undefined; - isMultiIndex?: boolean | undefined; - type?: string | undefined; - key?: string | undefined; - params?: any; - value?: string | undefined; - }; - $state?: { - store: FilterStateStore; - } | undefined; - query?: Record | undefined; - }; - disableFilter: (filter: import("@kbn/es-query").Filter) => import("@kbn/es-query").Filter; - getPhraseFilterField: (filter: import("@kbn/es-query").PhraseFilter) => string; - getPhraseFilterValue: (filter: import("@kbn/es-query").PhraseFilter | import("@kbn/es-query").ScriptedPhraseFilter) => string | number | boolean; - getDisplayValueFromFilter: typeof getDisplayValueFromFilter; - compareFilters: (first: import("@kbn/es-query").Filter | import("@kbn/es-query").Filter[], second: import("@kbn/es-query").Filter | import("@kbn/es-query").Filter[], comparatorOptions?: import("@kbn/es-query").FilterCompareOptions | undefined) => boolean; - COMPARE_ALL_OPTIONS: import("@kbn/es-query").FilterCompareOptions; - generateFilters: typeof generateFilters; - onlyDisabledFiltersChanged: (newFilters?: import("@kbn/es-query").Filter[] | undefined, oldFilters?: import("@kbn/es-query").Filter[] | undefined) => boolean; - changeTimeFilter: typeof oldChangeTimeFilter; - convertRangeFilterToTimeRangeString: typeof oldConvertRangeFilterToTimeRangeString; - mapAndFlattenFilters: (filters: import("@kbn/es-query").Filter[]) => import("@kbn/es-query").Filter[]; - extractTimeFilter: typeof oldExtractTimeFilter; - extractTimeRange: typeof extractTimeRange; -} -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.eskuery.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.eskuery.md deleted file mode 100644 index e16db4415f248..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.eskuery.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [esKuery](./kibana-plugin-plugins-data-public.eskuery.md) - -## esKuery variable - -> Warning: This API is now obsolete. -> -> Import helpers from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -esKuery: { - nodeTypes: import("@kbn/es-query/target_types/kuery/node_types").NodeTypes; - fromKueryExpression: (expression: string | import("@elastic/elasticsearch/api/types").QueryDslQueryContainer, parseOptions?: Partial | undefined) => import("@kbn/es-query").KueryNode; - toElasticsearchQuery: (node: import("@kbn/es-query").KueryNode, indexPattern?: import("@kbn/es-query").IndexPatternBase | undefined, config?: import("@kbn/es-query").KueryQueryOptions | undefined, context?: Record | undefined) => import("@elastic/elasticsearch/api/types").QueryDslQueryContainer; -} -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esquery.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esquery.md deleted file mode 100644 index 0ffdf8c98b920..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esquery.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [esQuery](./kibana-plugin-plugins-data-public.esquery.md) - -## esQuery variable - -> Warning: This API is now obsolete. -> -> Import helpers from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -esQuery: { - buildEsQuery: typeof import("@kbn/es-query").buildEsQuery; - getEsQueryConfig: typeof getEsQueryConfig; - buildQueryFromFilters: (filters: import("@kbn/es-query").Filter[] | undefined, indexPattern: import("@kbn/es-query").IndexPatternBase | undefined, ignoreFilterIfFieldNotInIndex?: boolean | undefined) => import("@kbn/es-query").BoolQuery; - luceneStringToDsl: typeof import("@kbn/es-query").luceneStringToDsl; - decorateQuery: typeof import("@kbn/es-query").decorateQuery; -} -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.md deleted file mode 100644 index 48a32cd9abe61..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [EsQueryConfig](./kibana-plugin-plugins-data-public.esqueryconfig.md) - -## EsQueryConfig type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type EsQueryConfig = oldEsQueryConfig; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esquerysortvalue.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esquerysortvalue.md deleted file mode 100644 index 15f45532cce2f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esquerysortvalue.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [EsQuerySortValue](./kibana-plugin-plugins-data-public.esquerysortvalue.md) - -## EsQuerySortValue type - -Signature: - -```typescript -export declare type EsQuerySortValue = Record; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.executioncontextsearch.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.executioncontextsearch.md deleted file mode 100644 index 67dcb2fa44241..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.executioncontextsearch.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ExecutionContextSearch](./kibana-plugin-plugins-data-public.executioncontextsearch.md) - -## ExecutionContextSearch type - -Signature: - -```typescript -export declare type ExecutionContextSearch = { - filters?: Filter[]; - query?: Query | Query[]; - timeRange?: TimeRange; -}; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.existsfilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.existsfilter.md deleted file mode 100644 index 79c92cfe52dd7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.existsfilter.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ExistsFilter](./kibana-plugin-plugins-data-public.existsfilter.md) - -## ExistsFilter type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type ExistsFilter = oldExistsFilter; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.exporters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.exporters.md deleted file mode 100644 index efba24c008264..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.exporters.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [exporters](./kibana-plugin-plugins-data-public.exporters.md) - -## exporters variable - -Signature: - -```typescript -exporters: { - datatableToCSV: typeof datatableToCSV; - CSV_MIME_TYPE: string; - cellHasFormulas: (val: string) => boolean; - tableHasFormulas: (columns: import("../../expressions").DatatableColumn[], rows: Record[]) => boolean; -} -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionfunctionkibana.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionfunctionkibana.md deleted file mode 100644 index c91f2e8144ead..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionfunctionkibana.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ExpressionFunctionKibana](./kibana-plugin-plugins-data-public.expressionfunctionkibana.md) - -## ExpressionFunctionKibana type - -Signature: - -```typescript -export declare type ExpressionFunctionKibana = ExpressionFunctionDefinition<'kibana', ExpressionValueSearchContext | null, object, ExpressionValueSearchContext, ExecutionContext>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionfunctionkibanacontext.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionfunctionkibanacontext.md deleted file mode 100644 index 97d2e81d45554..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionfunctionkibanacontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ExpressionFunctionKibanaContext](./kibana-plugin-plugins-data-public.expressionfunctionkibanacontext.md) - -## ExpressionFunctionKibanaContext type - -Signature: - -```typescript -export declare type ExpressionFunctionKibanaContext = ExpressionFunctionDefinition<'kibana_context', KibanaContext | null, Arguments, Promise, ExecutionContext>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionvaluesearchcontext.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionvaluesearchcontext.md deleted file mode 100644 index 4849d82b94a62..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.expressionvaluesearchcontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ExpressionValueSearchContext](./kibana-plugin-plugins-data-public.expressionvaluesearchcontext.md) - -## ExpressionValueSearchContext type - -Signature: - -```typescript -export declare type ExpressionValueSearchContext = ExpressionValueBoxed<'kibana_context', ExecutionContextSearch>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.extractsearchsourcereferences.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.extractsearchsourcereferences.md deleted file mode 100644 index 565369699ea5e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.extractsearchsourcereferences.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [extractSearchSourceReferences](./kibana-plugin-plugins-data-public.extractsearchsourcereferences.md) - -## extractSearchSourceReferences variable - -Signature: - -```typescript -extractReferences: (state: SearchSourceFields) => [SearchSourceFields & { - indexRefName?: string; -}, SavedObjectReference[]] -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.extracttimerange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.extracttimerange.md deleted file mode 100644 index e0d9fcef130b6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.extracttimerange.md +++ /dev/null @@ -1,29 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [extractTimeRange](./kibana-plugin-plugins-data-public.extracttimerange.md) - -## extractTimeRange() function - -Signature: - -```typescript -export declare function extractTimeRange(filters: Filter[], timeFieldName?: string): { - restOfFilters: Filter[]; - timeRange?: TimeRange; -}; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| filters | Filter[] | | -| timeFieldName | string | | - -Returns: - -`{ - restOfFilters: Filter[]; - timeRange?: TimeRange; -}` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldlist.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldlist.md deleted file mode 100644 index 79bcaf9700cf0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldlist.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [fieldList](./kibana-plugin-plugins-data-public.fieldlist.md) - -## fieldList variable - -Signature: - -```typescript -fieldList: (specs?: FieldSpec[], shortDotsEnable?: boolean) => IIndexPatternFieldList -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.md deleted file mode 100644 index 247760305db9c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Filter](./kibana-plugin-plugins-data-public.filter.md) - -## Filter type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type Filter = oldFilter; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filteritem.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filteritem.md deleted file mode 100644 index 1bb193521b429..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filteritem.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterItem](./kibana-plugin-plugins-data-public.filteritem.md) - -## FilterItem variable - -Signature: - -```typescript -FilterItem: (props: FilterItemProps) => JSX.Element -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filterlabel.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filterlabel.md deleted file mode 100644 index 59425a2e3605d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filterlabel.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterLabel](./kibana-plugin-plugins-data-public.filterlabel.md) - -## FilterLabel variable - -Signature: - -```typescript -FilterLabel: (props: FilterLabelProps) => JSX.Element -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager._constructor_.md deleted file mode 100644 index 6f9c3058928d1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [(constructor)](./kibana-plugin-plugins-data-public.filtermanager._constructor_.md) - -## FilterManager.(constructor) - -Constructs a new instance of the `FilterManager` class - -Signature: - -```typescript -constructor(uiSettings: IUiSettingsClient); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| uiSettings | IUiSettingsClient | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.addfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.addfilters.md deleted file mode 100644 index 98b21800ee655..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.addfilters.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [addFilters](./kibana-plugin-plugins-data-public.filtermanager.addfilters.md) - -## FilterManager.addFilters() method - -Signature: - -```typescript -addFilters(filters: Filter[] | Filter, pinFilterStatus?: boolean): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| filters | Filter[] | Filter | | -| pinFilterStatus | boolean | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.extract.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.extract.md deleted file mode 100644 index 60ea060cf6323..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.extract.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [extract](./kibana-plugin-plugins-data-public.filtermanager.extract.md) - -## FilterManager.extract property - -Signature: - -```typescript -extract: any; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getallmigrations.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getallmigrations.md deleted file mode 100644 index 0d46d806f0563..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getallmigrations.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [getAllMigrations](./kibana-plugin-plugins-data-public.filtermanager.getallmigrations.md) - -## FilterManager.getAllMigrations property - -Signature: - -```typescript -getAllMigrations: () => {}; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getappfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getappfilters.md deleted file mode 100644 index 7bb1f5971b740..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getappfilters.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [getAppFilters](./kibana-plugin-plugins-data-public.filtermanager.getappfilters.md) - -## FilterManager.getAppFilters() method - -Signature: - -```typescript -getAppFilters(): Filter[]; -``` -Returns: - -`Filter[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getfetches_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getfetches_.md deleted file mode 100644 index fa47d1552de39..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getfetches_.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [getFetches$](./kibana-plugin-plugins-data-public.filtermanager.getfetches_.md) - -## FilterManager.getFetches$() method - -Signature: - -```typescript -getFetches$(): import("rxjs").Observable; -``` -Returns: - -`import("rxjs").Observable` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getfilters.md deleted file mode 100644 index 234354e7f674a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getfilters.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [getFilters](./kibana-plugin-plugins-data-public.filtermanager.getfilters.md) - -## FilterManager.getFilters() method - -Signature: - -```typescript -getFilters(): Filter[]; -``` -Returns: - -`Filter[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getglobalfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getglobalfilters.md deleted file mode 100644 index 933a0522ea2fd..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getglobalfilters.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [getGlobalFilters](./kibana-plugin-plugins-data-public.filtermanager.getglobalfilters.md) - -## FilterManager.getGlobalFilters() method - -Signature: - -```typescript -getGlobalFilters(): Filter[]; -``` -Returns: - -`Filter[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getpartitionedfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getpartitionedfilters.md deleted file mode 100644 index ca8e9b8b4ff42..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getpartitionedfilters.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [getPartitionedFilters](./kibana-plugin-plugins-data-public.filtermanager.getpartitionedfilters.md) - -## FilterManager.getPartitionedFilters() method - -Signature: - -```typescript -getPartitionedFilters(): PartitionedFilters; -``` -Returns: - -`PartitionedFilters` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getupdates_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getupdates_.md deleted file mode 100644 index ca121c4a51877..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getupdates_.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [getUpdates$](./kibana-plugin-plugins-data-public.filtermanager.getupdates_.md) - -## FilterManager.getUpdates$() method - -Signature: - -```typescript -getUpdates$(): import("rxjs").Observable; -``` -Returns: - -`import("rxjs").Observable` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.inject.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.inject.md deleted file mode 100644 index 0e3b84cd3cf80..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.inject.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [inject](./kibana-plugin-plugins-data-public.filtermanager.inject.md) - -## FilterManager.inject property - -Signature: - -```typescript -inject: any; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.md deleted file mode 100644 index 7cfc8c4e48805..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.md +++ /dev/null @@ -1,46 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) - -## FilterManager class - -Signature: - -```typescript -export declare class FilterManager implements PersistableStateService -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(uiSettings)](./kibana-plugin-plugins-data-public.filtermanager._constructor_.md) | | Constructs a new instance of the FilterManager class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [extract](./kibana-plugin-plugins-data-public.filtermanager.extract.md) | | any | | -| [getAllMigrations](./kibana-plugin-plugins-data-public.filtermanager.getallmigrations.md) | | () => {} | | -| [inject](./kibana-plugin-plugins-data-public.filtermanager.inject.md) | | any | | -| [migrateToLatest](./kibana-plugin-plugins-data-public.filtermanager.migratetolatest.md) | | any | | -| [telemetry](./kibana-plugin-plugins-data-public.filtermanager.telemetry.md) | | (filters: import("@kbn/utility-types").SerializableRecord, collector: unknown) => {} | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [addFilters(filters, pinFilterStatus)](./kibana-plugin-plugins-data-public.filtermanager.addfilters.md) | | | -| [getAppFilters()](./kibana-plugin-plugins-data-public.filtermanager.getappfilters.md) | | | -| [getFetches$()](./kibana-plugin-plugins-data-public.filtermanager.getfetches_.md) | | | -| [getFilters()](./kibana-plugin-plugins-data-public.filtermanager.getfilters.md) | | | -| [getGlobalFilters()](./kibana-plugin-plugins-data-public.filtermanager.getglobalfilters.md) | | | -| [getPartitionedFilters()](./kibana-plugin-plugins-data-public.filtermanager.getpartitionedfilters.md) | | | -| [getUpdates$()](./kibana-plugin-plugins-data-public.filtermanager.getupdates_.md) | | | -| [removeAll()](./kibana-plugin-plugins-data-public.filtermanager.removeall.md) | | | -| [removeFilter(filter)](./kibana-plugin-plugins-data-public.filtermanager.removefilter.md) | | | -| [setAppFilters(newAppFilters)](./kibana-plugin-plugins-data-public.filtermanager.setappfilters.md) | | Sets new app filters and leaves global filters untouched, Removes app filters for which there is a duplicate within new global filters | -| [setFilters(newFilters, pinFilterStatus)](./kibana-plugin-plugins-data-public.filtermanager.setfilters.md) | | | -| [setFiltersStore(filters, store, shouldOverrideStore)](./kibana-plugin-plugins-data-public.filtermanager.setfiltersstore.md) | static | | -| [setGlobalFilters(newGlobalFilters)](./kibana-plugin-plugins-data-public.filtermanager.setglobalfilters.md) | | Sets new global filters and leaves app filters untouched, Removes app filters for which there is a duplicate within new global filters | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.migratetolatest.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.migratetolatest.md deleted file mode 100644 index 2235c55947865..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.migratetolatest.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [migrateToLatest](./kibana-plugin-plugins-data-public.filtermanager.migratetolatest.md) - -## FilterManager.migrateToLatest property - -Signature: - -```typescript -migrateToLatest: any; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removeall.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removeall.md deleted file mode 100644 index 745e62f36503d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removeall.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [removeAll](./kibana-plugin-plugins-data-public.filtermanager.removeall.md) - -## FilterManager.removeAll() method - -Signature: - -```typescript -removeAll(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removefilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removefilter.md deleted file mode 100644 index a048cc2e21c8f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removefilter.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [removeFilter](./kibana-plugin-plugins-data-public.filtermanager.removefilter.md) - -## FilterManager.removeFilter() method - -Signature: - -```typescript -removeFilter(filter: Filter): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| filter | Filter | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setappfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setappfilters.md deleted file mode 100644 index 36743fc0d3cad..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setappfilters.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [setAppFilters](./kibana-plugin-plugins-data-public.filtermanager.setappfilters.md) - -## FilterManager.setAppFilters() method - -Sets new app filters and leaves global filters untouched, Removes app filters for which there is a duplicate within new global filters - -Signature: - -```typescript -setAppFilters(newAppFilters: Filter[]): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| newAppFilters | Filter[] | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setfilters.md deleted file mode 100644 index 0e37e55cee324..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setfilters.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [setFilters](./kibana-plugin-plugins-data-public.filtermanager.setfilters.md) - -## FilterManager.setFilters() method - -Signature: - -```typescript -setFilters(newFilters: Filter[], pinFilterStatus?: boolean): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| newFilters | Filter[] | | -| pinFilterStatus | boolean | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setfiltersstore.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setfiltersstore.md deleted file mode 100644 index 1f0982b20353a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setfiltersstore.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [setFiltersStore](./kibana-plugin-plugins-data-public.filtermanager.setfiltersstore.md) - -## FilterManager.setFiltersStore() method - -Signature: - -```typescript -static setFiltersStore(filters: Filter[], store: FilterStateStore, shouldOverrideStore?: boolean): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| filters | Filter[] | | -| store | FilterStateStore | | -| shouldOverrideStore | boolean | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setglobalfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setglobalfilters.md deleted file mode 100644 index cd234d2350696..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setglobalfilters.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [setGlobalFilters](./kibana-plugin-plugins-data-public.filtermanager.setglobalfilters.md) - -## FilterManager.setGlobalFilters() method - -Sets new global filters and leaves app filters untouched, Removes app filters for which there is a duplicate within new global filters - -Signature: - -```typescript -setGlobalFilters(newGlobalFilters: Filter[]): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| newGlobalFilters | Filter[] | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.telemetry.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.telemetry.md deleted file mode 100644 index 0eeb026abf2e1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.telemetry.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) > [telemetry](./kibana-plugin-plugins-data-public.filtermanager.telemetry.md) - -## FilterManager.telemetry property - -Signature: - -```typescript -telemetry: (filters: import("@kbn/utility-types").SerializableRecord, collector: unknown) => {}; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.generatefilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.generatefilters.md deleted file mode 100644 index 31c8c3e98c639..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.generatefilters.md +++ /dev/null @@ -1,30 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [generateFilters](./kibana-plugin-plugins-data-public.generatefilters.md) - -## generateFilters() function - -Generate filter objects, as a result of triggering a filter action on a specific index pattern field. - -Signature: - -```typescript -export declare function generateFilters(filterManager: FilterManager, field: IFieldType | string, values: any, operation: string, index: string): Filter[]; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| filterManager | FilterManager | | -| field | IFieldType | string | | -| values | any | | -| operation | string | | -| index | string | | - -Returns: - -`Filter[]` - -{object} An array of filters to be added back to filterManager - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getdefaultquery.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getdefaultquery.md deleted file mode 100644 index 5e6627880333e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getdefaultquery.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [getDefaultQuery](./kibana-plugin-plugins-data-public.getdefaultquery.md) - -## getDefaultQuery() function - -Signature: - -```typescript -export declare function getDefaultQuery(language?: QueryLanguage): { - query: string; - language: QueryLanguage; -}; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| language | QueryLanguage | | - -Returns: - -`{ - query: string; - language: QueryLanguage; -}` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getdisplayvaluefromfilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getdisplayvaluefromfilter.md deleted file mode 100644 index 3666047e3cecb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getdisplayvaluefromfilter.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [getDisplayValueFromFilter](./kibana-plugin-plugins-data-public.getdisplayvaluefromfilter.md) - -## getDisplayValueFromFilter() function - -Signature: - -```typescript -export declare function getDisplayValueFromFilter(filter: Filter, indexPatterns: IIndexPattern[]): string; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| filter | Filter | | -| indexPatterns | IIndexPattern[] | | - -Returns: - -`string` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getesqueryconfig.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getesqueryconfig.md deleted file mode 100644 index 9c00719badc5e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getesqueryconfig.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [getEsQueryConfig](./kibana-plugin-plugins-data-public.getesqueryconfig.md) - -## getEsQueryConfig() function - -Signature: - -```typescript -export declare function getEsQueryConfig(config: KibanaConfig): EsQueryConfig; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| config | KibanaConfig | | - -Returns: - -`EsQueryConfig` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.allownoindex.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.allownoindex.md deleted file mode 100644 index 091fb4d8aaa44..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.allownoindex.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [GetFieldsOptions](./kibana-plugin-plugins-data-public.getfieldsoptions.md) > [allowNoIndex](./kibana-plugin-plugins-data-public.getfieldsoptions.allownoindex.md) - -## GetFieldsOptions.allowNoIndex property - -Signature: - -```typescript -allowNoIndex?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.lookback.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.lookback.md deleted file mode 100644 index 0e8c7e34b1fe8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.lookback.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [GetFieldsOptions](./kibana-plugin-plugins-data-public.getfieldsoptions.md) > [lookBack](./kibana-plugin-plugins-data-public.getfieldsoptions.lookback.md) - -## GetFieldsOptions.lookBack property - -Signature: - -```typescript -lookBack?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.md deleted file mode 100644 index 056018174baf6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [GetFieldsOptions](./kibana-plugin-plugins-data-public.getfieldsoptions.md) - -## GetFieldsOptions interface - -Signature: - -```typescript -export interface GetFieldsOptions -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [allowNoIndex](./kibana-plugin-plugins-data-public.getfieldsoptions.allownoindex.md) | boolean | | -| [lookBack](./kibana-plugin-plugins-data-public.getfieldsoptions.lookback.md) | boolean | | -| [metaFields](./kibana-plugin-plugins-data-public.getfieldsoptions.metafields.md) | string[] | | -| [pattern](./kibana-plugin-plugins-data-public.getfieldsoptions.pattern.md) | string | | -| [rollupIndex](./kibana-plugin-plugins-data-public.getfieldsoptions.rollupindex.md) | string | | -| [type](./kibana-plugin-plugins-data-public.getfieldsoptions.type.md) | string | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.metafields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.metafields.md deleted file mode 100644 index 87c0f9d9bfe5b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.metafields.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [GetFieldsOptions](./kibana-plugin-plugins-data-public.getfieldsoptions.md) > [metaFields](./kibana-plugin-plugins-data-public.getfieldsoptions.metafields.md) - -## GetFieldsOptions.metaFields property - -Signature: - -```typescript -metaFields?: string[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.pattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.pattern.md deleted file mode 100644 index c6c53b2cf7bc8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.pattern.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [GetFieldsOptions](./kibana-plugin-plugins-data-public.getfieldsoptions.md) > [pattern](./kibana-plugin-plugins-data-public.getfieldsoptions.pattern.md) - -## GetFieldsOptions.pattern property - -Signature: - -```typescript -pattern: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.rollupindex.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.rollupindex.md deleted file mode 100644 index 4711e3bdfce92..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.rollupindex.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [GetFieldsOptions](./kibana-plugin-plugins-data-public.getfieldsoptions.md) > [rollupIndex](./kibana-plugin-plugins-data-public.getfieldsoptions.rollupindex.md) - -## GetFieldsOptions.rollupIndex property - -Signature: - -```typescript -rollupIndex?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.type.md deleted file mode 100644 index cdc4c562b5611..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getfieldsoptions.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [GetFieldsOptions](./kibana-plugin-plugins-data-public.getfieldsoptions.md) > [type](./kibana-plugin-plugins-data-public.getfieldsoptions.type.md) - -## GetFieldsOptions.type property - -Signature: - -```typescript -type?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getkbntypenames.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getkbntypenames.md deleted file mode 100644 index db741f74f538d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getkbntypenames.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [getKbnTypeNames](./kibana-plugin-plugins-data-public.getkbntypenames.md) - -## getKbnTypeNames variable - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/field-types" package directly instead. 8.1 -> - -Signature: - -```typescript -getKbnTypeNames: () => string[] -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getsearchparamsfromrequest.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getsearchparamsfromrequest.md deleted file mode 100644 index d32e9a955f890..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getsearchparamsfromrequest.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [getSearchParamsFromRequest](./kibana-plugin-plugins-data-public.getsearchparamsfromrequest.md) - -## getSearchParamsFromRequest() function - - -Signature: - -```typescript -export declare function getSearchParamsFromRequest(searchRequest: SearchRequest, dependencies: { - getConfig: GetConfigFn; -}): ISearchRequestParams; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| searchRequest | SearchRequest | | -| dependencies | {
getConfig: GetConfigFn;
} | | - -Returns: - -`ISearchRequestParams` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.gettime.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.gettime.md deleted file mode 100644 index 5e208a9bcf0a9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.gettime.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [getTime](./kibana-plugin-plugins-data-public.gettime.md) - -## getTime() function - -Signature: - -```typescript -export declare function getTime(indexPattern: IIndexPattern | undefined, timeRange: TimeRange, options?: { - forceNow?: Date; - fieldName?: string; -}): import("@kbn/es-query").RangeFilter | import("@kbn/es-query").ScriptedRangeFilter | import("@kbn/es-query/target_types/filters/build_filters").MatchAllRangeFilter | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| indexPattern | IIndexPattern | undefined | | -| timeRange | TimeRange | | -| options | {
forceNow?: Date;
fieldName?: string;
} | | - -Returns: - -`import("@kbn/es-query").RangeFilter | import("@kbn/es-query").ScriptedRangeFilter | import("@kbn/es-query/target_types/filters/build_filters").MatchAllRangeFilter | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iaggconfig.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iaggconfig.md deleted file mode 100644 index 9d07f610ba32a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iaggconfig.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IAggConfig](./kibana-plugin-plugins-data-public.iaggconfig.md) - -## IAggConfig type - - AggConfig - - This class represents an aggregation, which is displayed in the left-hand nav of the Visualize app. - -Signature: - -```typescript -export declare type IAggConfig = AggConfig; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iaggtype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iaggtype.md deleted file mode 100644 index 15505fed16bd4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iaggtype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IAggType](./kibana-plugin-plugins-data-public.iaggtype.md) - -## IAggType type - -Signature: - -```typescript -export declare type IAggType = AggType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.appname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.appname.md deleted file mode 100644 index b58ee46f638db..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.appname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) > [appName](./kibana-plugin-plugins-data-public.idatapluginservices.appname.md) - -## IDataPluginServices.appName property - -Signature: - -```typescript -appName: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.data.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.data.md deleted file mode 100644 index 8a94974a7dd6b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.data.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) > [data](./kibana-plugin-plugins-data-public.idatapluginservices.data.md) - -## IDataPluginServices.data property - -Signature: - -```typescript -data: DataPublicPluginStart; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.http.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.http.md deleted file mode 100644 index 48a04c1204d14..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.http.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) > [http](./kibana-plugin-plugins-data-public.idatapluginservices.http.md) - -## IDataPluginServices.http property - -Signature: - -```typescript -http: CoreStart['http']; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.md deleted file mode 100644 index 44cfb0c65e387..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) - -## IDataPluginServices interface - -Signature: - -```typescript -export interface IDataPluginServices extends Partial -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [appName](./kibana-plugin-plugins-data-public.idatapluginservices.appname.md) | string | | -| [data](./kibana-plugin-plugins-data-public.idatapluginservices.data.md) | DataPublicPluginStart | | -| [http](./kibana-plugin-plugins-data-public.idatapluginservices.http.md) | CoreStart['http'] | | -| [notifications](./kibana-plugin-plugins-data-public.idatapluginservices.notifications.md) | CoreStart['notifications'] | | -| [savedObjects](./kibana-plugin-plugins-data-public.idatapluginservices.savedobjects.md) | CoreStart['savedObjects'] | | -| [storage](./kibana-plugin-plugins-data-public.idatapluginservices.storage.md) | IStorageWrapper | | -| [uiSettings](./kibana-plugin-plugins-data-public.idatapluginservices.uisettings.md) | CoreStart['uiSettings'] | | -| [usageCollection](./kibana-plugin-plugins-data-public.idatapluginservices.usagecollection.md) | UsageCollectionStart | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.notifications.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.notifications.md deleted file mode 100644 index 79b9e8a26e199..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.notifications.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) > [notifications](./kibana-plugin-plugins-data-public.idatapluginservices.notifications.md) - -## IDataPluginServices.notifications property - -Signature: - -```typescript -notifications: CoreStart['notifications']; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.savedobjects.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.savedobjects.md deleted file mode 100644 index 2128d12a56b79..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.savedobjects.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) > [savedObjects](./kibana-plugin-plugins-data-public.idatapluginservices.savedobjects.md) - -## IDataPluginServices.savedObjects property - -Signature: - -```typescript -savedObjects: CoreStart['savedObjects']; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.storage.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.storage.md deleted file mode 100644 index 923c60e7245d3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.storage.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) > [storage](./kibana-plugin-plugins-data-public.idatapluginservices.storage.md) - -## IDataPluginServices.storage property - -Signature: - -```typescript -storage: IStorageWrapper; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.uisettings.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.uisettings.md deleted file mode 100644 index ccdd2ec23dc84..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.uisettings.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) > [uiSettings](./kibana-plugin-plugins-data-public.idatapluginservices.uisettings.md) - -## IDataPluginServices.uiSettings property - -Signature: - -```typescript -uiSettings: CoreStart['uiSettings']; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.usagecollection.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.usagecollection.md deleted file mode 100644 index b803dca76203f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.usagecollection.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) > [usageCollection](./kibana-plugin-plugins-data-public.idatapluginservices.usagecollection.md) - -## IDataPluginServices.usageCollection property - -Signature: - -```typescript -usageCollection?: UsageCollectionStart; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ieserror.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ieserror.md deleted file mode 100644 index df571e4ed4961..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ieserror.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IEsError](./kibana-plugin-plugins-data-public.ieserror.md) - -## IEsError type - -Signature: - -```typescript -export declare type IEsError = KibanaServerError; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.indextype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.indextype.md deleted file mode 100644 index 55b43efc52305..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.indextype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IEsSearchRequest](./kibana-plugin-plugins-data-public.iessearchrequest.md) > [indexType](./kibana-plugin-plugins-data-public.iessearchrequest.indextype.md) - -## IEsSearchRequest.indexType property - -Signature: - -```typescript -indexType?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.md deleted file mode 100644 index 45cd088ee1203..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IEsSearchRequest](./kibana-plugin-plugins-data-public.iessearchrequest.md) - -## IEsSearchRequest interface - -Signature: - -```typescript -export interface IEsSearchRequest extends IKibanaSearchRequest -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [indexType](./kibana-plugin-plugins-data-public.iessearchrequest.indextype.md) | string | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchresponse.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchresponse.md deleted file mode 100644 index 073b1d462986c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchresponse.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IEsSearchResponse](./kibana-plugin-plugins-data-public.iessearchresponse.md) - -## IEsSearchResponse type - -Signature: - -```typescript -export declare type IEsSearchResponse = IKibanaSearchResponse>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldparamtype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldparamtype.md deleted file mode 100644 index 1226106895bdb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldparamtype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldParamType](./kibana-plugin-plugins-data-public.ifieldparamtype.md) - -## IFieldParamType type - -Signature: - -```typescript -export declare type IFieldParamType = FieldParamType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.md deleted file mode 100644 index 8fe65d5a86de1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldSubType](./kibana-plugin-plugins-data-public.ifieldsubtype.md) - -## IFieldSubType type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type IFieldSubType = oldIFieldSubType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.aggregatable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.aggregatable.md deleted file mode 100644 index ac657500dc30e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.aggregatable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [aggregatable](./kibana-plugin-plugins-data-public.ifieldtype.aggregatable.md) - -## IFieldType.aggregatable property - -Signature: - -```typescript -aggregatable?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.count.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.count.md deleted file mode 100644 index 58e66820d90e8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.count.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [count](./kibana-plugin-plugins-data-public.ifieldtype.count.md) - -## IFieldType.count property - -Signature: - -```typescript -count?: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.customlabel.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.customlabel.md deleted file mode 100644 index 6a997d517e98d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.customlabel.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [customLabel](./kibana-plugin-plugins-data-public.ifieldtype.customlabel.md) - -## IFieldType.customLabel property - -Signature: - -```typescript -customLabel?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.displayname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.displayname.md deleted file mode 100644 index 3a367ff86bd4d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.displayname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [displayName](./kibana-plugin-plugins-data-public.ifieldtype.displayname.md) - -## IFieldType.displayName property - -Signature: - -```typescript -displayName?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.estypes.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.estypes.md deleted file mode 100644 index 9500ef64687d3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.estypes.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [esTypes](./kibana-plugin-plugins-data-public.ifieldtype.estypes.md) - -## IFieldType.esTypes property - -Signature: - -```typescript -esTypes?: string[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.filterable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.filterable.md deleted file mode 100644 index b02424a2f7bf7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.filterable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [filterable](./kibana-plugin-plugins-data-public.ifieldtype.filterable.md) - -## IFieldType.filterable property - -Signature: - -```typescript -filterable?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.format.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.format.md deleted file mode 100644 index d2de74398e416..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.format.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [format](./kibana-plugin-plugins-data-public.ifieldtype.format.md) - -## IFieldType.format property - -Signature: - -```typescript -format?: any; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.md deleted file mode 100644 index 6a798c3a4add1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.md +++ /dev/null @@ -1,34 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) - -## IFieldType interface - -> Warning: This API is now obsolete. -> -> Use [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) 8.1 -> - -Signature: - -```typescript -export interface IFieldType extends IndexPatternFieldBase -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [aggregatable](./kibana-plugin-plugins-data-public.ifieldtype.aggregatable.md) | boolean | | -| [count](./kibana-plugin-plugins-data-public.ifieldtype.count.md) | number | | -| [customLabel](./kibana-plugin-plugins-data-public.ifieldtype.customlabel.md) | string | | -| [displayName](./kibana-plugin-plugins-data-public.ifieldtype.displayname.md) | string | | -| [esTypes](./kibana-plugin-plugins-data-public.ifieldtype.estypes.md) | string[] | | -| [filterable](./kibana-plugin-plugins-data-public.ifieldtype.filterable.md) | boolean | | -| [format](./kibana-plugin-plugins-data-public.ifieldtype.format.md) | any | | -| [readFromDocValues](./kibana-plugin-plugins-data-public.ifieldtype.readfromdocvalues.md) | boolean | | -| [searchable](./kibana-plugin-plugins-data-public.ifieldtype.searchable.md) | boolean | | -| [sortable](./kibana-plugin-plugins-data-public.ifieldtype.sortable.md) | boolean | | -| [toSpec](./kibana-plugin-plugins-data-public.ifieldtype.tospec.md) | (options?: {
getFormatterForField?: IndexPattern['getFormatterForField'];
}) => FieldSpec | | -| [visualizable](./kibana-plugin-plugins-data-public.ifieldtype.visualizable.md) | boolean | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.readfromdocvalues.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.readfromdocvalues.md deleted file mode 100644 index 9f16b29edc9fe..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.readfromdocvalues.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [readFromDocValues](./kibana-plugin-plugins-data-public.ifieldtype.readfromdocvalues.md) - -## IFieldType.readFromDocValues property - -Signature: - -```typescript -readFromDocValues?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.searchable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.searchable.md deleted file mode 100644 index f977628f76698..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.searchable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [searchable](./kibana-plugin-plugins-data-public.ifieldtype.searchable.md) - -## IFieldType.searchable property - -Signature: - -```typescript -searchable?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.sortable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.sortable.md deleted file mode 100644 index 0fd3943fb3c6e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.sortable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [sortable](./kibana-plugin-plugins-data-public.ifieldtype.sortable.md) - -## IFieldType.sortable property - -Signature: - -```typescript -sortable?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.tospec.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.tospec.md deleted file mode 100644 index 52238ea2a00ca..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.tospec.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [toSpec](./kibana-plugin-plugins-data-public.ifieldtype.tospec.md) - -## IFieldType.toSpec property - -Signature: - -```typescript -toSpec?: (options?: { - getFormatterForField?: IndexPattern['getFormatterForField']; - }) => FieldSpec; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.visualizable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.visualizable.md deleted file mode 100644 index 19a50bee9638d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.visualizable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [visualizable](./kibana-plugin-plugins-data-public.ifieldtype.visualizable.md) - -## IFieldType.visualizable property - -Signature: - -```typescript -visualizable?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.fieldformatmap.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.fieldformatmap.md deleted file mode 100644 index 60ac95bc21af2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.fieldformatmap.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) > [fieldFormatMap](./kibana-plugin-plugins-data-public.iindexpattern.fieldformatmap.md) - -## IIndexPattern.fieldFormatMap property - -Signature: - -```typescript -fieldFormatMap?: Record | undefined>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.fields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.fields.md deleted file mode 100644 index 792bee44f96a8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.fields.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) > [fields](./kibana-plugin-plugins-data-public.iindexpattern.fields.md) - -## IIndexPattern.fields property - -Signature: - -```typescript -fields: IFieldType[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.getformatterforfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.getformatterforfield.md deleted file mode 100644 index 5fc29ca5031b4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.getformatterforfield.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) > [getFormatterForField](./kibana-plugin-plugins-data-public.iindexpattern.getformatterforfield.md) - -## IIndexPattern.getFormatterForField property - -Look up a formatter for a given field - -Signature: - -```typescript -getFormatterForField?: (field: IndexPatternField | IndexPatternField['spec'] | IFieldType) => FieldFormat; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.gettimefield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.gettimefield.md deleted file mode 100644 index c3998876c9712..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.gettimefield.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) > [getTimeField](./kibana-plugin-plugins-data-public.iindexpattern.gettimefield.md) - -## IIndexPattern.getTimeField() method - -Signature: - -```typescript -getTimeField?(): IFieldType | undefined; -``` -Returns: - -`IFieldType | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.md deleted file mode 100644 index c441073781169..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.md +++ /dev/null @@ -1,34 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) - -## IIndexPattern interface - -> Warning: This API is now obsolete. -> -> IIndexPattern allows for an IndexPattern OR an index pattern saved object Use IndexPattern or IndexPatternSpec instead -> - -Signature: - -```typescript -export interface IIndexPattern extends IndexPatternBase -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [fieldFormatMap](./kibana-plugin-plugins-data-public.iindexpattern.fieldformatmap.md) | Record<string, SerializedFieldFormat<unknown> | undefined> | | -| [fields](./kibana-plugin-plugins-data-public.iindexpattern.fields.md) | IFieldType[] | | -| [getFormatterForField](./kibana-plugin-plugins-data-public.iindexpattern.getformatterforfield.md) | (field: IndexPatternField | IndexPatternField['spec'] | IFieldType) => FieldFormat | Look up a formatter for a given field | -| [timeFieldName](./kibana-plugin-plugins-data-public.iindexpattern.timefieldname.md) | string | | -| [title](./kibana-plugin-plugins-data-public.iindexpattern.title.md) | string | | -| [type](./kibana-plugin-plugins-data-public.iindexpattern.type.md) | string | Type is used for identifying rollup indices, otherwise left undefined | - -## Methods - -| Method | Description | -| --- | --- | -| [getTimeField()](./kibana-plugin-plugins-data-public.iindexpattern.gettimefield.md) | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.timefieldname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.timefieldname.md deleted file mode 100644 index 791e9e53ee3da..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.timefieldname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) > [timeFieldName](./kibana-plugin-plugins-data-public.iindexpattern.timefieldname.md) - -## IIndexPattern.timeFieldName property - -Signature: - -```typescript -timeFieldName?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.title.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.title.md deleted file mode 100644 index c3a8644307b64..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.title.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) > [title](./kibana-plugin-plugins-data-public.iindexpattern.title.md) - -## IIndexPattern.title property - -Signature: - -```typescript -title: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.type.md deleted file mode 100644 index d517163090c85..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) > [type](./kibana-plugin-plugins-data-public.iindexpattern.type.md) - -## IIndexPattern.type property - -Type is used for identifying rollup indices, otherwise left undefined - -Signature: - -```typescript -type?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.id.md deleted file mode 100644 index 61976abca3d6a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.id.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchRequest](./kibana-plugin-plugins-data-public.ikibanasearchrequest.md) > [id](./kibana-plugin-plugins-data-public.ikibanasearchrequest.id.md) - -## IKibanaSearchRequest.id property - -An id can be used to uniquely identify this request. - -Signature: - -```typescript -id?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.md deleted file mode 100644 index bba051037e29b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchRequest](./kibana-plugin-plugins-data-public.ikibanasearchrequest.md) - -## IKibanaSearchRequest interface - -Signature: - -```typescript -export interface IKibanaSearchRequest -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-data-public.ikibanasearchrequest.id.md) | string | An id can be used to uniquely identify this request. | -| [params](./kibana-plugin-plugins-data-public.ikibanasearchrequest.params.md) | Params | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.params.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.params.md deleted file mode 100644 index b7e2006a66c14..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.params.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchRequest](./kibana-plugin-plugins-data-public.ikibanasearchrequest.md) > [params](./kibana-plugin-plugins-data-public.ikibanasearchrequest.params.md) - -## IKibanaSearchRequest.params property - -Signature: - -```typescript -params?: Params; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.id.md deleted file mode 100644 index 33dbf0d97b705..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.id.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.md) > [id](./kibana-plugin-plugins-data-public.ikibanasearchresponse.id.md) - -## IKibanaSearchResponse.id property - -Some responses may contain a unique id to identify the request this response came from. - -Signature: - -```typescript -id?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.ispartial.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.ispartial.md deleted file mode 100644 index 702c774eb8818..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.ispartial.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.md) > [isPartial](./kibana-plugin-plugins-data-public.ikibanasearchresponse.ispartial.md) - -## IKibanaSearchResponse.isPartial property - -Indicates whether the results returned are complete or partial - -Signature: - -```typescript -isPartial?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.isrestored.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.isrestored.md deleted file mode 100644 index d649212ae0547..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.isrestored.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.md) > [isRestored](./kibana-plugin-plugins-data-public.ikibanasearchresponse.isrestored.md) - -## IKibanaSearchResponse.isRestored property - -Indicates whether the results returned are from the async-search index - -Signature: - -```typescript -isRestored?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.isrunning.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.isrunning.md deleted file mode 100644 index 1e625ccff26f9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.isrunning.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.md) > [isRunning](./kibana-plugin-plugins-data-public.ikibanasearchresponse.isrunning.md) - -## IKibanaSearchResponse.isRunning property - -Indicates whether search is still in flight - -Signature: - -```typescript -isRunning?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.loaded.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.loaded.md deleted file mode 100644 index efa86795ffca5..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.loaded.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.md) > [loaded](./kibana-plugin-plugins-data-public.ikibanasearchresponse.loaded.md) - -## IKibanaSearchResponse.loaded property - -If relevant to the search strategy, return a loaded number that represents how progress is indicated. - -Signature: - -```typescript -loaded?: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.md deleted file mode 100644 index 73261cd49d6d2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.md) - -## IKibanaSearchResponse interface - -Signature: - -```typescript -export interface IKibanaSearchResponse -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-data-public.ikibanasearchresponse.id.md) | string | Some responses may contain a unique id to identify the request this response came from. | -| [isPartial](./kibana-plugin-plugins-data-public.ikibanasearchresponse.ispartial.md) | boolean | Indicates whether the results returned are complete or partial | -| [isRestored](./kibana-plugin-plugins-data-public.ikibanasearchresponse.isrestored.md) | boolean | Indicates whether the results returned are from the async-search index | -| [isRunning](./kibana-plugin-plugins-data-public.ikibanasearchresponse.isrunning.md) | boolean | Indicates whether search is still in flight | -| [loaded](./kibana-plugin-plugins-data-public.ikibanasearchresponse.loaded.md) | number | If relevant to the search strategy, return a loaded number that represents how progress is indicated. | -| [rawResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.rawresponse.md) | RawResponse | The raw response returned by the internal search method (usually the raw ES response) | -| [total](./kibana-plugin-plugins-data-public.ikibanasearchresponse.total.md) | number | If relevant to the search strategy, return a total number that represents how progress is indicated. | -| [warning](./kibana-plugin-plugins-data-public.ikibanasearchresponse.warning.md) | string | Optional warnings that should be surfaced to the end user | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.rawresponse.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.rawresponse.md deleted file mode 100644 index 5857911259e12..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.rawresponse.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.md) > [rawResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.rawresponse.md) - -## IKibanaSearchResponse.rawResponse property - -The raw response returned by the internal search method (usually the raw ES response) - -Signature: - -```typescript -rawResponse: RawResponse; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.total.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.total.md deleted file mode 100644 index cfa3567da86fc..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.total.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.md) > [total](./kibana-plugin-plugins-data-public.ikibanasearchresponse.total.md) - -## IKibanaSearchResponse.total property - -If relevant to the search strategy, return a total number that represents how progress is indicated. - -Signature: - -```typescript -total?: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.warning.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.warning.md deleted file mode 100644 index cc0b8e2bea56e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.warning.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.md) > [warning](./kibana-plugin-plugins-data-public.ikibanasearchresponse.warning.md) - -## IKibanaSearchResponse.warning property - -Optional warnings that should be surfaced to the end user - -Signature: - -```typescript -warning?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.imetricaggtype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.imetricaggtype.md deleted file mode 100644 index 4f36d3ef7a16e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.imetricaggtype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IMetricAggType](./kibana-plugin-plugins-data-public.imetricaggtype.md) - -## IMetricAggType type - -Signature: - -```typescript -export declare type IMetricAggType = MetricAggType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.index_pattern_saved_object_type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.index_pattern_saved_object_type.md deleted file mode 100644 index 552d131984517..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.index_pattern_saved_object_type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [INDEX\_PATTERN\_SAVED\_OBJECT\_TYPE](./kibana-plugin-plugins-data-public.index_pattern_saved_object_type.md) - -## INDEX\_PATTERN\_SAVED\_OBJECT\_TYPE variable - -\* - -Signature: - -```typescript -INDEX_PATTERN_SAVED_OBJECT_TYPE = "index-pattern" -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern._constructor_.md deleted file mode 100644 index f81d03a28ec12..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [(constructor)](./kibana-plugin-plugins-data-public.indexpattern._constructor_.md) - -## IndexPattern.(constructor) - -Constructs a new instance of the `IndexPattern` class - -Signature: - -```typescript -constructor({ spec, fieldFormats, shortDotsEnable, metaFields, }: IndexPatternDeps); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { spec, fieldFormats, shortDotsEnable, metaFields, } | IndexPatternDeps | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.addruntimefield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.addruntimefield.md deleted file mode 100644 index 5640395139ba6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.addruntimefield.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [addRuntimeField](./kibana-plugin-plugins-data-public.indexpattern.addruntimefield.md) - -## IndexPattern.addRuntimeField() method - -Add a runtime field - Appended to existing mapped field or a new field is created as appropriate - -Signature: - -```typescript -addRuntimeField(name: string, runtimeField: RuntimeField): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | -| runtimeField | RuntimeField | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.addscriptedfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.addscriptedfield.md deleted file mode 100644 index 99caa646c17b0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.addscriptedfield.md +++ /dev/null @@ -1,31 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [addScriptedField](./kibana-plugin-plugins-data-public.indexpattern.addscriptedfield.md) - -## IndexPattern.addScriptedField() method - -> Warning: This API is now obsolete. -> -> use runtime field instead 8.1 -> - -Add scripted field to field list - -Signature: - -```typescript -addScriptedField(name: string, script: string, fieldType?: string): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | -| script | string | | -| fieldType | string | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.allownoindex.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.allownoindex.md deleted file mode 100644 index 5e397d11b0a89..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.allownoindex.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [allowNoIndex](./kibana-plugin-plugins-data-public.indexpattern.allownoindex.md) - -## IndexPattern.allowNoIndex property - -prevents errors when index pattern exists before indices - -Signature: - -```typescript -readonly allowNoIndex: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.deletefieldformat.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.deletefieldformat.md deleted file mode 100644 index 3ef42968d85cd..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.deletefieldformat.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [deleteFieldFormat](./kibana-plugin-plugins-data-public.indexpattern.deletefieldformat.md) - -## IndexPattern.deleteFieldFormat property - -Signature: - -```typescript -readonly deleteFieldFormat: (fieldName: string) => void; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fieldformatmap.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fieldformatmap.md deleted file mode 100644 index 904d52fcd5751..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fieldformatmap.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [fieldFormatMap](./kibana-plugin-plugins-data-public.indexpattern.fieldformatmap.md) - -## IndexPattern.fieldFormatMap property - -Signature: - -```typescript -fieldFormatMap: Record; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fields.md deleted file mode 100644 index 76bc41238526e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fields.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [fields](./kibana-plugin-plugins-data-public.indexpattern.fields.md) - -## IndexPattern.fields property - -Signature: - -```typescript -fields: IIndexPatternFieldList & { - toSpec: () => IndexPatternFieldMap; - }; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.flattenhit.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.flattenhit.md deleted file mode 100644 index 049c3e5e990f7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.flattenhit.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [flattenHit](./kibana-plugin-plugins-data-public.indexpattern.flattenhit.md) - -## IndexPattern.flattenHit property - -Signature: - -```typescript -flattenHit: (hit: Record, deep?: boolean) => Record; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.formatfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.formatfield.md deleted file mode 100644 index aadaddca6cc85..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.formatfield.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [formatField](./kibana-plugin-plugins-data-public.indexpattern.formatfield.md) - -## IndexPattern.formatField property - -Signature: - -```typescript -formatField: FormatFieldFn; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.formathit.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.formathit.md deleted file mode 100644 index 2be76bf1c1e05..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.formathit.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [formatHit](./kibana-plugin-plugins-data-public.indexpattern.formathit.md) - -## IndexPattern.formatHit property - -Signature: - -```typescript -formatHit: { - (hit: Record, type?: string): any; - formatField: FormatFieldFn; - }; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getaggregationrestrictions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getaggregationrestrictions.md deleted file mode 100644 index e42980bb53af4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getaggregationrestrictions.md +++ /dev/null @@ -1,29 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getAggregationRestrictions](./kibana-plugin-plugins-data-public.indexpattern.getaggregationrestrictions.md) - -## IndexPattern.getAggregationRestrictions() method - -Signature: - -```typescript -getAggregationRestrictions(): Record> | undefined; -``` -Returns: - -`Record> | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getassavedobjectbody.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getassavedobjectbody.md deleted file mode 100644 index cc40ab8bb1173..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getassavedobjectbody.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getAsSavedObjectBody](./kibana-plugin-plugins-data-public.indexpattern.getassavedobjectbody.md) - -## IndexPattern.getAsSavedObjectBody() method - -Returns index pattern as saved object body for saving - -Signature: - -```typescript -getAsSavedObjectBody(): IndexPatternAttributes; -``` -Returns: - -`IndexPatternAttributes` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getcomputedfields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getcomputedfields.md deleted file mode 100644 index 37d31a35167df..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getcomputedfields.md +++ /dev/null @@ -1,31 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getComputedFields](./kibana-plugin-plugins-data-public.indexpattern.getcomputedfields.md) - -## IndexPattern.getComputedFields() method - -Signature: - -```typescript -getComputedFields(): { - storedFields: string[]; - scriptFields: any; - docvalueFields: { - field: any; - format: string; - }[]; - runtimeFields: Record; - }; -``` -Returns: - -`{ - storedFields: string[]; - scriptFields: any; - docvalueFields: { - field: any; - format: string; - }[]; - runtimeFields: Record; - }` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getfieldattrs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getfieldattrs.md deleted file mode 100644 index a0b54c6de50c9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getfieldattrs.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getFieldAttrs](./kibana-plugin-plugins-data-public.indexpattern.getfieldattrs.md) - -## IndexPattern.getFieldAttrs property - -Signature: - -```typescript -getFieldAttrs: () => { - [x: string]: FieldAttrSet; - }; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getfieldbyname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getfieldbyname.md deleted file mode 100644 index 75cdfd0a2e22e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getfieldbyname.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getFieldByName](./kibana-plugin-plugins-data-public.indexpattern.getfieldbyname.md) - -## IndexPattern.getFieldByName() method - -Signature: - -```typescript -getFieldByName(name: string): IndexPatternField | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`IndexPatternField | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getformatterforfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getformatterforfield.md deleted file mode 100644 index ba31d60b56892..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getformatterforfield.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getFormatterForField](./kibana-plugin-plugins-data-public.indexpattern.getformatterforfield.md) - -## IndexPattern.getFormatterForField() method - -Provide a field, get its formatter - -Signature: - -```typescript -getFormatterForField(field: IndexPatternField | IndexPatternField['spec'] | IFieldType): FieldFormat; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| field | IndexPatternField | IndexPatternField['spec'] | IFieldType | | - -Returns: - -`FieldFormat` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getformatterforfieldnodefault.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getformatterforfieldnodefault.md deleted file mode 100644 index 0dd171108b20b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getformatterforfieldnodefault.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getFormatterForFieldNoDefault](./kibana-plugin-plugins-data-public.indexpattern.getformatterforfieldnodefault.md) - -## IndexPattern.getFormatterForFieldNoDefault() method - -Get formatter for a given field name. Return undefined if none exists - -Signature: - -```typescript -getFormatterForFieldNoDefault(fieldname: string): FieldFormat | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fieldname | string | | - -Returns: - -`FieldFormat | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getnonscriptedfields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getnonscriptedfields.md deleted file mode 100644 index 7a704b917daaf..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getnonscriptedfields.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getNonScriptedFields](./kibana-plugin-plugins-data-public.indexpattern.getnonscriptedfields.md) - -## IndexPattern.getNonScriptedFields() method - -> Warning: This API is now obsolete. -> -> use runtime field instead 8.1 -> - -Signature: - -```typescript -getNonScriptedFields(): IndexPatternField[]; -``` -Returns: - -`IndexPatternField[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getoriginalsavedobjectbody.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getoriginalsavedobjectbody.md deleted file mode 100644 index 0c89a6a3d20ba..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getoriginalsavedobjectbody.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getOriginalSavedObjectBody](./kibana-plugin-plugins-data-public.indexpattern.getoriginalsavedobjectbody.md) - -## IndexPattern.getOriginalSavedObjectBody property - -Get last saved saved object fields - -Signature: - -```typescript -getOriginalSavedObjectBody: () => { - fieldAttrs?: string | undefined; - title?: string | undefined; - timeFieldName?: string | undefined; - intervalName?: string | undefined; - fields?: string | undefined; - sourceFilters?: string | undefined; - fieldFormatMap?: string | undefined; - typeMeta?: string | undefined; - type?: string | undefined; - }; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getruntimefield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getruntimefield.md deleted file mode 100644 index c0aca53255b8f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getruntimefield.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getRuntimeField](./kibana-plugin-plugins-data-public.indexpattern.getruntimefield.md) - -## IndexPattern.getRuntimeField() method - -Returns runtime field if exists - -Signature: - -```typescript -getRuntimeField(name: string): RuntimeField | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`RuntimeField | null` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getscriptedfields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getscriptedfields.md deleted file mode 100644 index cd91bdcebce60..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getscriptedfields.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getScriptedFields](./kibana-plugin-plugins-data-public.indexpattern.getscriptedfields.md) - -## IndexPattern.getScriptedFields() method - -> Warning: This API is now obsolete. -> -> use runtime field instead 8.1 -> - -Signature: - -```typescript -getScriptedFields(): IndexPatternField[]; -``` -Returns: - -`IndexPatternField[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getsourcefiltering.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getsourcefiltering.md deleted file mode 100644 index 4ce0144b73882..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getsourcefiltering.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getSourceFiltering](./kibana-plugin-plugins-data-public.indexpattern.getsourcefiltering.md) - -## IndexPattern.getSourceFiltering() method - -Get the source filtering configuration for that index. - -Signature: - -```typescript -getSourceFiltering(): { - excludes: any[]; - }; -``` -Returns: - -`{ - excludes: any[]; - }` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.gettimefield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.gettimefield.md deleted file mode 100644 index 24de0be3794bb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.gettimefield.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [getTimeField](./kibana-plugin-plugins-data-public.indexpattern.gettimefield.md) - -## IndexPattern.getTimeField() method - -Signature: - -```typescript -getTimeField(): IndexPatternField | undefined; -``` -Returns: - -`IndexPatternField | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.hasruntimefield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.hasruntimefield.md deleted file mode 100644 index 96dbe13a7f197..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.hasruntimefield.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [hasRuntimeField](./kibana-plugin-plugins-data-public.indexpattern.hasruntimefield.md) - -## IndexPattern.hasRuntimeField() method - -Checks if runtime field exists - -Signature: - -```typescript -hasRuntimeField(name: string): boolean; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.id.md deleted file mode 100644 index 85e680170d6ea..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [id](./kibana-plugin-plugins-data-public.indexpattern.id.md) - -## IndexPattern.id property - -Signature: - -```typescript -id?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.intervalname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.intervalname.md deleted file mode 100644 index 774601daf4a87..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.intervalname.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [intervalName](./kibana-plugin-plugins-data-public.indexpattern.intervalname.md) - -## IndexPattern.intervalName property - -> Warning: This API is now obsolete. -> -> Used by time range index patterns 8.1 -> - -Signature: - -```typescript -intervalName: string | undefined; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimebased.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimebased.md deleted file mode 100644 index aca243496d083..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimebased.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [isTimeBased](./kibana-plugin-plugins-data-public.indexpattern.istimebased.md) - -## IndexPattern.isTimeBased() method - -Signature: - -```typescript -isTimeBased(): boolean; -``` -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimenanosbased.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimenanosbased.md deleted file mode 100644 index 3a3767ae64149..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimenanosbased.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [isTimeNanosBased](./kibana-plugin-plugins-data-public.indexpattern.istimenanosbased.md) - -## IndexPattern.isTimeNanosBased() method - -Signature: - -```typescript -isTimeNanosBased(): boolean; -``` -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.md deleted file mode 100644 index 51ca42fdce70a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.md +++ /dev/null @@ -1,71 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) - -## IndexPattern class - -Signature: - -```typescript -export declare class IndexPattern implements IIndexPattern -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)({ spec, fieldFormats, shortDotsEnable, metaFields, })](./kibana-plugin-plugins-data-public.indexpattern._constructor_.md) | | Constructs a new instance of the IndexPattern class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [allowNoIndex](./kibana-plugin-plugins-data-public.indexpattern.allownoindex.md) | | boolean | prevents errors when index pattern exists before indices | -| [deleteFieldFormat](./kibana-plugin-plugins-data-public.indexpattern.deletefieldformat.md) | | (fieldName: string) => void | | -| [fieldFormatMap](./kibana-plugin-plugins-data-public.indexpattern.fieldformatmap.md) | | Record<string, any> | | -| [fields](./kibana-plugin-plugins-data-public.indexpattern.fields.md) | | IIndexPatternFieldList & {
toSpec: () => IndexPatternFieldMap;
} | | -| [flattenHit](./kibana-plugin-plugins-data-public.indexpattern.flattenhit.md) | | (hit: Record<string, any>, deep?: boolean) => Record<string, any> | | -| [formatField](./kibana-plugin-plugins-data-public.indexpattern.formatfield.md) | | FormatFieldFn | | -| [formatHit](./kibana-plugin-plugins-data-public.indexpattern.formathit.md) | | {
(hit: Record<string, any>, type?: string): any;
formatField: FormatFieldFn;
} | | -| [getFieldAttrs](./kibana-plugin-plugins-data-public.indexpattern.getfieldattrs.md) | | () => {
[x: string]: FieldAttrSet;
} | | -| [getOriginalSavedObjectBody](./kibana-plugin-plugins-data-public.indexpattern.getoriginalsavedobjectbody.md) | | () => {
fieldAttrs?: string | undefined;
title?: string | undefined;
timeFieldName?: string | undefined;
intervalName?: string | undefined;
fields?: string | undefined;
sourceFilters?: string | undefined;
fieldFormatMap?: string | undefined;
typeMeta?: string | undefined;
type?: string | undefined;
} | Get last saved saved object fields | -| [id](./kibana-plugin-plugins-data-public.indexpattern.id.md) | | string | | -| [intervalName](./kibana-plugin-plugins-data-public.indexpattern.intervalname.md) | | string | undefined | | -| [metaFields](./kibana-plugin-plugins-data-public.indexpattern.metafields.md) | | string[] | | -| [resetOriginalSavedObjectBody](./kibana-plugin-plugins-data-public.indexpattern.resetoriginalsavedobjectbody.md) | | () => void | Reset last saved saved object fields. used after saving | -| [setFieldFormat](./kibana-plugin-plugins-data-public.indexpattern.setfieldformat.md) | | (fieldName: string, format: SerializedFieldFormat) => void | | -| [sourceFilters](./kibana-plugin-plugins-data-public.indexpattern.sourcefilters.md) | | SourceFilter[] | | -| [timeFieldName](./kibana-plugin-plugins-data-public.indexpattern.timefieldname.md) | | string | undefined | | -| [title](./kibana-plugin-plugins-data-public.indexpattern.title.md) | | string | | -| [type](./kibana-plugin-plugins-data-public.indexpattern.type.md) | | string | undefined | Type is used to identify rollup index patterns | -| [typeMeta](./kibana-plugin-plugins-data-public.indexpattern.typemeta.md) | | TypeMeta | Only used by rollup indices, used by rollup specific endpoint to load field list | -| [version](./kibana-plugin-plugins-data-public.indexpattern.version.md) | | string | undefined | SavedObject version | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [addRuntimeField(name, runtimeField)](./kibana-plugin-plugins-data-public.indexpattern.addruntimefield.md) | | Add a runtime field - Appended to existing mapped field or a new field is created as appropriate | -| [addScriptedField(name, script, fieldType)](./kibana-plugin-plugins-data-public.indexpattern.addscriptedfield.md) | | Add scripted field to field list | -| [getAggregationRestrictions()](./kibana-plugin-plugins-data-public.indexpattern.getaggregationrestrictions.md) | | | -| [getAsSavedObjectBody()](./kibana-plugin-plugins-data-public.indexpattern.getassavedobjectbody.md) | | Returns index pattern as saved object body for saving | -| [getComputedFields()](./kibana-plugin-plugins-data-public.indexpattern.getcomputedfields.md) | | | -| [getFieldByName(name)](./kibana-plugin-plugins-data-public.indexpattern.getfieldbyname.md) | | | -| [getFormatterForField(field)](./kibana-plugin-plugins-data-public.indexpattern.getformatterforfield.md) | | Provide a field, get its formatter | -| [getFormatterForFieldNoDefault(fieldname)](./kibana-plugin-plugins-data-public.indexpattern.getformatterforfieldnodefault.md) | | Get formatter for a given field name. Return undefined if none exists | -| [getNonScriptedFields()](./kibana-plugin-plugins-data-public.indexpattern.getnonscriptedfields.md) | | | -| [getRuntimeField(name)](./kibana-plugin-plugins-data-public.indexpattern.getruntimefield.md) | | Returns runtime field if exists | -| [getScriptedFields()](./kibana-plugin-plugins-data-public.indexpattern.getscriptedfields.md) | | | -| [getSourceFiltering()](./kibana-plugin-plugins-data-public.indexpattern.getsourcefiltering.md) | | Get the source filtering configuration for that index. | -| [getTimeField()](./kibana-plugin-plugins-data-public.indexpattern.gettimefield.md) | | | -| [hasRuntimeField(name)](./kibana-plugin-plugins-data-public.indexpattern.hasruntimefield.md) | | Checks if runtime field exists | -| [isTimeBased()](./kibana-plugin-plugins-data-public.indexpattern.istimebased.md) | | | -| [isTimeNanosBased()](./kibana-plugin-plugins-data-public.indexpattern.istimenanosbased.md) | | | -| [removeRuntimeField(name)](./kibana-plugin-plugins-data-public.indexpattern.removeruntimefield.md) | | Remove a runtime field - removed from mapped field or removed unmapped field as appropriate. Doesn't clear associated field attributes. | -| [removeScriptedField(fieldName)](./kibana-plugin-plugins-data-public.indexpattern.removescriptedfield.md) | | Remove scripted field from field list | -| [replaceAllRuntimeFields(newFields)](./kibana-plugin-plugins-data-public.indexpattern.replaceallruntimefields.md) | | Replaces all existing runtime fields with new fields | -| [setFieldAttrs(fieldName, attrName, value)](./kibana-plugin-plugins-data-public.indexpattern.setfieldattrs.md) | | | -| [setFieldCount(fieldName, count)](./kibana-plugin-plugins-data-public.indexpattern.setfieldcount.md) | | | -| [setFieldCustomLabel(fieldName, customLabel)](./kibana-plugin-plugins-data-public.indexpattern.setfieldcustomlabel.md) | | | -| [toSpec()](./kibana-plugin-plugins-data-public.indexpattern.tospec.md) | | Create static representation of index pattern | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.metafields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.metafields.md deleted file mode 100644 index 9f56bad35383c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.metafields.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [metaFields](./kibana-plugin-plugins-data-public.indexpattern.metafields.md) - -## IndexPattern.metaFields property - -Signature: - -```typescript -metaFields: string[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.removeruntimefield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.removeruntimefield.md deleted file mode 100644 index f2774924fc73c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.removeruntimefield.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [removeRuntimeField](./kibana-plugin-plugins-data-public.indexpattern.removeruntimefield.md) - -## IndexPattern.removeRuntimeField() method - -Remove a runtime field - removed from mapped field or removed unmapped field as appropriate. Doesn't clear associated field attributes. - -Signature: - -```typescript -removeRuntimeField(name: string): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | Field name to remove | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.removescriptedfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.removescriptedfield.md deleted file mode 100644 index 052ccc2ae97b4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.removescriptedfield.md +++ /dev/null @@ -1,29 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [removeScriptedField](./kibana-plugin-plugins-data-public.indexpattern.removescriptedfield.md) - -## IndexPattern.removeScriptedField() method - -> Warning: This API is now obsolete. -> -> use runtime field instead 8.1 -> - -Remove scripted field from field list - -Signature: - -```typescript -removeScriptedField(fieldName: string): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fieldName | string | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.replaceallruntimefields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.replaceallruntimefields.md deleted file mode 100644 index 076b2b38cf474..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.replaceallruntimefields.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [replaceAllRuntimeFields](./kibana-plugin-plugins-data-public.indexpattern.replaceallruntimefields.md) - -## IndexPattern.replaceAllRuntimeFields() method - -Replaces all existing runtime fields with new fields - -Signature: - -```typescript -replaceAllRuntimeFields(newFields: Record): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| newFields | Record<string, RuntimeField> | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.resetoriginalsavedobjectbody.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.resetoriginalsavedobjectbody.md deleted file mode 100644 index 6bbc13d8fd410..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.resetoriginalsavedobjectbody.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [resetOriginalSavedObjectBody](./kibana-plugin-plugins-data-public.indexpattern.resetoriginalsavedobjectbody.md) - -## IndexPattern.resetOriginalSavedObjectBody property - -Reset last saved saved object fields. used after saving - -Signature: - -```typescript -resetOriginalSavedObjectBody: () => void; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldattrs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldattrs.md deleted file mode 100644 index 034081be71cb7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldattrs.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [setFieldAttrs](./kibana-plugin-plugins-data-public.indexpattern.setfieldattrs.md) - -## IndexPattern.setFieldAttrs() method - -Signature: - -```typescript -protected setFieldAttrs(fieldName: string, attrName: K, value: FieldAttrSet[K]): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fieldName | string | | -| attrName | K | | -| value | FieldAttrSet[K] | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldcount.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldcount.md deleted file mode 100644 index c0783a6b13270..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldcount.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [setFieldCount](./kibana-plugin-plugins-data-public.indexpattern.setfieldcount.md) - -## IndexPattern.setFieldCount() method - -Signature: - -```typescript -setFieldCount(fieldName: string, count: number | undefined | null): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fieldName | string | | -| count | number | undefined | null | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldcustomlabel.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldcustomlabel.md deleted file mode 100644 index 174041ba9736a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldcustomlabel.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [setFieldCustomLabel](./kibana-plugin-plugins-data-public.indexpattern.setfieldcustomlabel.md) - -## IndexPattern.setFieldCustomLabel() method - -Signature: - -```typescript -setFieldCustomLabel(fieldName: string, customLabel: string | undefined | null): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fieldName | string | | -| customLabel | string | undefined | null | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldformat.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldformat.md deleted file mode 100644 index 1a705659e8c43..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.setfieldformat.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [setFieldFormat](./kibana-plugin-plugins-data-public.indexpattern.setfieldformat.md) - -## IndexPattern.setFieldFormat property - -Signature: - -```typescript -readonly setFieldFormat: (fieldName: string, format: SerializedFieldFormat) => void; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.sourcefilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.sourcefilters.md deleted file mode 100644 index 10ccf8e137627..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.sourcefilters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [sourceFilters](./kibana-plugin-plugins-data-public.indexpattern.sourcefilters.md) - -## IndexPattern.sourceFilters property - -Signature: - -```typescript -sourceFilters?: SourceFilter[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.timefieldname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.timefieldname.md deleted file mode 100644 index dc1cab592baac..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.timefieldname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [timeFieldName](./kibana-plugin-plugins-data-public.indexpattern.timefieldname.md) - -## IndexPattern.timeFieldName property - -Signature: - -```typescript -timeFieldName: string | undefined; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.title.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.title.md deleted file mode 100644 index aca6028bee96a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.title.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [title](./kibana-plugin-plugins-data-public.indexpattern.title.md) - -## IndexPattern.title property - -Signature: - -```typescript -title: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.tospec.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.tospec.md deleted file mode 100644 index d8153530e5c13..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.tospec.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [toSpec](./kibana-plugin-plugins-data-public.indexpattern.tospec.md) - -## IndexPattern.toSpec() method - -Create static representation of index pattern - -Signature: - -```typescript -toSpec(): IndexPatternSpec; -``` -Returns: - -`IndexPatternSpec` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.type.md deleted file mode 100644 index 0f9572d1bad24..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [type](./kibana-plugin-plugins-data-public.indexpattern.type.md) - -## IndexPattern.type property - -Type is used to identify rollup index patterns - -Signature: - -```typescript -type: string | undefined; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.typemeta.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.typemeta.md deleted file mode 100644 index ce316ff9638ac..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.typemeta.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [typeMeta](./kibana-plugin-plugins-data-public.indexpattern.typemeta.md) - -## IndexPattern.typeMeta property - -Only used by rollup indices, used by rollup specific endpoint to load field list - -Signature: - -```typescript -typeMeta?: TypeMeta; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.version.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.version.md deleted file mode 100644 index 2083bd65e9b0a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.version.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [version](./kibana-plugin-plugins-data-public.indexpattern.version.md) - -## IndexPattern.version property - -SavedObject version - -Signature: - -```typescript -version: string | undefined; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.allownoindex.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.allownoindex.md deleted file mode 100644 index 9438f38194493..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.allownoindex.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [allowNoIndex](./kibana-plugin-plugins-data-public.indexpatternattributes.allownoindex.md) - -## IndexPatternAttributes.allowNoIndex property - -prevents errors when index pattern exists before indices - -Signature: - -```typescript -allowNoIndex?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fieldattrs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fieldattrs.md deleted file mode 100644 index 6af981eb6996c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fieldattrs.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [fieldAttrs](./kibana-plugin-plugins-data-public.indexpatternattributes.fieldattrs.md) - -## IndexPatternAttributes.fieldAttrs property - -Signature: - -```typescript -fieldAttrs?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fieldformatmap.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fieldformatmap.md deleted file mode 100644 index 9a454feab1e0e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fieldformatmap.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [fieldFormatMap](./kibana-plugin-plugins-data-public.indexpatternattributes.fieldformatmap.md) - -## IndexPatternAttributes.fieldFormatMap property - -Signature: - -```typescript -fieldFormatMap?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fields.md deleted file mode 100644 index a72184bf0111d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fields.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [fields](./kibana-plugin-plugins-data-public.indexpatternattributes.fields.md) - -## IndexPatternAttributes.fields property - -Signature: - -```typescript -fields: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.intervalname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.intervalname.md deleted file mode 100644 index 5902496fcd0e7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.intervalname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [intervalName](./kibana-plugin-plugins-data-public.indexpatternattributes.intervalname.md) - -## IndexPatternAttributes.intervalName property - -Signature: - -```typescript -intervalName?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.md deleted file mode 100644 index 41a4d3c55694b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.md +++ /dev/null @@ -1,30 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) - -## IndexPatternAttributes interface - -Interface for an index pattern saved object - -Signature: - -```typescript -export interface IndexPatternAttributes -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [allowNoIndex](./kibana-plugin-plugins-data-public.indexpatternattributes.allownoindex.md) | boolean | prevents errors when index pattern exists before indices | -| [fieldAttrs](./kibana-plugin-plugins-data-public.indexpatternattributes.fieldattrs.md) | string | | -| [fieldFormatMap](./kibana-plugin-plugins-data-public.indexpatternattributes.fieldformatmap.md) | string | | -| [fields](./kibana-plugin-plugins-data-public.indexpatternattributes.fields.md) | string | | -| [intervalName](./kibana-plugin-plugins-data-public.indexpatternattributes.intervalname.md) | string | | -| [runtimeFieldMap](./kibana-plugin-plugins-data-public.indexpatternattributes.runtimefieldmap.md) | string | | -| [sourceFilters](./kibana-plugin-plugins-data-public.indexpatternattributes.sourcefilters.md) | string | | -| [timeFieldName](./kibana-plugin-plugins-data-public.indexpatternattributes.timefieldname.md) | string | | -| [title](./kibana-plugin-plugins-data-public.indexpatternattributes.title.md) | string | | -| [type](./kibana-plugin-plugins-data-public.indexpatternattributes.type.md) | string | | -| [typeMeta](./kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md) | string | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.runtimefieldmap.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.runtimefieldmap.md deleted file mode 100644 index 0df7a9841e41f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.runtimefieldmap.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [runtimeFieldMap](./kibana-plugin-plugins-data-public.indexpatternattributes.runtimefieldmap.md) - -## IndexPatternAttributes.runtimeFieldMap property - -Signature: - -```typescript -runtimeFieldMap?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.sourcefilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.sourcefilters.md deleted file mode 100644 index 43966112b97c3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.sourcefilters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [sourceFilters](./kibana-plugin-plugins-data-public.indexpatternattributes.sourcefilters.md) - -## IndexPatternAttributes.sourceFilters property - -Signature: - -```typescript -sourceFilters?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.timefieldname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.timefieldname.md deleted file mode 100644 index 22c241c58f202..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.timefieldname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [timeFieldName](./kibana-plugin-plugins-data-public.indexpatternattributes.timefieldname.md) - -## IndexPatternAttributes.timeFieldName property - -Signature: - -```typescript -timeFieldName?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.title.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.title.md deleted file mode 100644 index bfdb775c19e9b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.title.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [title](./kibana-plugin-plugins-data-public.indexpatternattributes.title.md) - -## IndexPatternAttributes.title property - -Signature: - -```typescript -title: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.type.md deleted file mode 100644 index 58a0485c80f34..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [type](./kibana-plugin-plugins-data-public.indexpatternattributes.type.md) - -## IndexPatternAttributes.type property - -Signature: - -```typescript -type?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md deleted file mode 100644 index 2d19454ac48a8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) > [typeMeta](./kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md) - -## IndexPatternAttributes.typeMeta property - -Signature: - -```typescript -typeMeta?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield._constructor_.md deleted file mode 100644 index e0abf8aeeaee6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [(constructor)](./kibana-plugin-plugins-data-public.indexpatternfield._constructor_.md) - -## IndexPatternField.(constructor) - -Constructs a new instance of the `IndexPatternField` class - -Signature: - -```typescript -constructor(spec: FieldSpec); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| spec | FieldSpec | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.aggregatable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.aggregatable.md deleted file mode 100644 index 6ef87d08600a3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.aggregatable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [aggregatable](./kibana-plugin-plugins-data-public.indexpatternfield.aggregatable.md) - -## IndexPatternField.aggregatable property - -Signature: - -```typescript -get aggregatable(): boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.conflictdescriptions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.conflictdescriptions.md deleted file mode 100644 index 9b226266f0b5a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.conflictdescriptions.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [conflictDescriptions](./kibana-plugin-plugins-data-public.indexpatternfield.conflictdescriptions.md) - -## IndexPatternField.conflictDescriptions property - -Description of field type conflicts across different indices in the same index pattern - -Signature: - -```typescript -get conflictDescriptions(): Record | undefined; - -set conflictDescriptions(conflictDescriptions: Record | undefined); -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.count.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.count.md deleted file mode 100644 index 1b8e13a38c6d9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.count.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [count](./kibana-plugin-plugins-data-public.indexpatternfield.count.md) - -## IndexPatternField.count property - -Count is used for field popularity - -Signature: - -```typescript -get count(): number; - -set count(count: number); -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.customlabel.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.customlabel.md deleted file mode 100644 index 8d9c1b7a1161e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.customlabel.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [customLabel](./kibana-plugin-plugins-data-public.indexpatternfield.customlabel.md) - -## IndexPatternField.customLabel property - -Signature: - -```typescript -get customLabel(): string | undefined; - -set customLabel(customLabel: string | undefined); -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.deletecount.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.deletecount.md deleted file mode 100644 index 015894d4cdd25..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.deletecount.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [deleteCount](./kibana-plugin-plugins-data-public.indexpatternfield.deletecount.md) - -## IndexPatternField.deleteCount() method - -Signature: - -```typescript -deleteCount(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.displayname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.displayname.md deleted file mode 100644 index 913d63c93e3c0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.displayname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [displayName](./kibana-plugin-plugins-data-public.indexpatternfield.displayname.md) - -## IndexPatternField.displayName property - -Signature: - -```typescript -get displayName(): string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.estypes.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.estypes.md deleted file mode 100644 index ac088cb69a3d6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.estypes.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [esTypes](./kibana-plugin-plugins-data-public.indexpatternfield.estypes.md) - -## IndexPatternField.esTypes property - -Signature: - -```typescript -get esTypes(): string[] | undefined; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.filterable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.filterable.md deleted file mode 100644 index 1149047c0eccd..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.filterable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [filterable](./kibana-plugin-plugins-data-public.indexpatternfield.filterable.md) - -## IndexPatternField.filterable property - -Signature: - -```typescript -get filterable(): boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.ismapped.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.ismapped.md deleted file mode 100644 index 653a1f2b39c29..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.ismapped.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [isMapped](./kibana-plugin-plugins-data-public.indexpatternfield.ismapped.md) - -## IndexPatternField.isMapped property - -Is the field part of the index mapping? - -Signature: - -```typescript -get isMapped(): boolean | undefined; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.lang.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.lang.md deleted file mode 100644 index 3666e503e2722..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.lang.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [lang](./kibana-plugin-plugins-data-public.indexpatternfield.lang.md) - -## IndexPatternField.lang property - -Script field language - -Signature: - -```typescript -get lang(): "painless" | "expression" | "mustache" | "java" | undefined; - -set lang(lang: "painless" | "expression" | "mustache" | "java" | undefined); -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.md deleted file mode 100644 index d42ff9270df97..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.md +++ /dev/null @@ -1,52 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) - -## IndexPatternField class - - -Signature: - -```typescript -export declare class IndexPatternField implements IFieldType -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(spec)](./kibana-plugin-plugins-data-public.indexpatternfield._constructor_.md) | | Constructs a new instance of the IndexPatternField class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [aggregatable](./kibana-plugin-plugins-data-public.indexpatternfield.aggregatable.md) | | boolean | | -| [conflictDescriptions](./kibana-plugin-plugins-data-public.indexpatternfield.conflictdescriptions.md) | | Record<string, string[]> | undefined | Description of field type conflicts across different indices in the same index pattern | -| [count](./kibana-plugin-plugins-data-public.indexpatternfield.count.md) | | number | Count is used for field popularity | -| [customLabel](./kibana-plugin-plugins-data-public.indexpatternfield.customlabel.md) | | string | undefined | | -| [displayName](./kibana-plugin-plugins-data-public.indexpatternfield.displayname.md) | | string | | -| [esTypes](./kibana-plugin-plugins-data-public.indexpatternfield.estypes.md) | | string[] | undefined | | -| [filterable](./kibana-plugin-plugins-data-public.indexpatternfield.filterable.md) | | boolean | | -| [isMapped](./kibana-plugin-plugins-data-public.indexpatternfield.ismapped.md) | | boolean | undefined | Is the field part of the index mapping? | -| [lang](./kibana-plugin-plugins-data-public.indexpatternfield.lang.md) | | "painless" | "expression" | "mustache" | "java" | undefined | Script field language | -| [name](./kibana-plugin-plugins-data-public.indexpatternfield.name.md) | | string | | -| [readFromDocValues](./kibana-plugin-plugins-data-public.indexpatternfield.readfromdocvalues.md) | | boolean | | -| [runtimeField](./kibana-plugin-plugins-data-public.indexpatternfield.runtimefield.md) | | RuntimeField | undefined | | -| [script](./kibana-plugin-plugins-data-public.indexpatternfield.script.md) | | string | undefined | Script field code | -| [scripted](./kibana-plugin-plugins-data-public.indexpatternfield.scripted.md) | | boolean | | -| [searchable](./kibana-plugin-plugins-data-public.indexpatternfield.searchable.md) | | boolean | | -| [sortable](./kibana-plugin-plugins-data-public.indexpatternfield.sortable.md) | | boolean | | -| [spec](./kibana-plugin-plugins-data-public.indexpatternfield.spec.md) | | FieldSpec | | -| [subType](./kibana-plugin-plugins-data-public.indexpatternfield.subtype.md) | | import("@kbn/es-query").IFieldSubType | undefined | | -| [type](./kibana-plugin-plugins-data-public.indexpatternfield.type.md) | | string | | -| [visualizable](./kibana-plugin-plugins-data-public.indexpatternfield.visualizable.md) | | boolean | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [deleteCount()](./kibana-plugin-plugins-data-public.indexpatternfield.deletecount.md) | | | -| [toJSON()](./kibana-plugin-plugins-data-public.indexpatternfield.tojson.md) | | | -| [toSpec({ getFormatterForField, })](./kibana-plugin-plugins-data-public.indexpatternfield.tospec.md) | | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.name.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.name.md deleted file mode 100644 index c690edeafea6e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [name](./kibana-plugin-plugins-data-public.indexpatternfield.name.md) - -## IndexPatternField.name property - -Signature: - -```typescript -get name(): string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.readfromdocvalues.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.readfromdocvalues.md deleted file mode 100644 index 22f727e3c00e8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.readfromdocvalues.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [readFromDocValues](./kibana-plugin-plugins-data-public.indexpatternfield.readfromdocvalues.md) - -## IndexPatternField.readFromDocValues property - -Signature: - -```typescript -get readFromDocValues(): boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.runtimefield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.runtimefield.md deleted file mode 100644 index ad3b81eb23edc..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.runtimefield.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [runtimeField](./kibana-plugin-plugins-data-public.indexpatternfield.runtimefield.md) - -## IndexPatternField.runtimeField property - -Signature: - -```typescript -get runtimeField(): RuntimeField | undefined; - -set runtimeField(runtimeField: RuntimeField | undefined); -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.script.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.script.md deleted file mode 100644 index 7501e191d9363..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.script.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [script](./kibana-plugin-plugins-data-public.indexpatternfield.script.md) - -## IndexPatternField.script property - -Script field code - -Signature: - -```typescript -get script(): string | undefined; - -set script(script: string | undefined); -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.scripted.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.scripted.md deleted file mode 100644 index f3810b9698a11..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.scripted.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [scripted](./kibana-plugin-plugins-data-public.indexpatternfield.scripted.md) - -## IndexPatternField.scripted property - -Signature: - -```typescript -get scripted(): boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.searchable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.searchable.md deleted file mode 100644 index 431907b154dc0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.searchable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [searchable](./kibana-plugin-plugins-data-public.indexpatternfield.searchable.md) - -## IndexPatternField.searchable property - -Signature: - -```typescript -get searchable(): boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.sortable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.sortable.md deleted file mode 100644 index 871320c9586d3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.sortable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [sortable](./kibana-plugin-plugins-data-public.indexpatternfield.sortable.md) - -## IndexPatternField.sortable property - -Signature: - -```typescript -get sortable(): boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.spec.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.spec.md deleted file mode 100644 index 9884faaa6c7bb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.spec.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [spec](./kibana-plugin-plugins-data-public.indexpatternfield.spec.md) - -## IndexPatternField.spec property - -Signature: - -```typescript -readonly spec: FieldSpec; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.subtype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.subtype.md deleted file mode 100644 index f5e25e3191f72..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.subtype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [subType](./kibana-plugin-plugins-data-public.indexpatternfield.subtype.md) - -## IndexPatternField.subType property - -Signature: - -```typescript -get subType(): import("@kbn/es-query").IFieldSubType | undefined; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.tojson.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.tojson.md deleted file mode 100644 index 9afcef6afed3a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.tojson.md +++ /dev/null @@ -1,43 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [toJSON](./kibana-plugin-plugins-data-public.indexpatternfield.tojson.md) - -## IndexPatternField.toJSON() method - -Signature: - -```typescript -toJSON(): { - count: number; - script: string | undefined; - lang: "painless" | "expression" | "mustache" | "java" | undefined; - conflictDescriptions: Record | undefined; - name: string; - type: string; - esTypes: string[] | undefined; - scripted: boolean; - searchable: boolean; - aggregatable: boolean; - readFromDocValues: boolean; - subType: import("@kbn/es-query").IFieldSubType | undefined; - customLabel: string | undefined; - }; -``` -Returns: - -`{ - count: number; - script: string | undefined; - lang: "painless" | "expression" | "mustache" | "java" | undefined; - conflictDescriptions: Record | undefined; - name: string; - type: string; - esTypes: string[] | undefined; - scripted: boolean; - searchable: boolean; - aggregatable: boolean; - readFromDocValues: boolean; - subType: import("@kbn/es-query").IFieldSubType | undefined; - customLabel: string | undefined; - }` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.tospec.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.tospec.md deleted file mode 100644 index 711d6ad660450..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.tospec.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [toSpec](./kibana-plugin-plugins-data-public.indexpatternfield.tospec.md) - -## IndexPatternField.toSpec() method - -Signature: - -```typescript -toSpec({ getFormatterForField, }?: { - getFormatterForField?: IndexPattern['getFormatterForField']; - }): FieldSpec; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { getFormatterForField, } | {
getFormatterForField?: IndexPattern['getFormatterForField'];
} | | - -Returns: - -`FieldSpec` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.type.md deleted file mode 100644 index 45085b9e74bcc..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [type](./kibana-plugin-plugins-data-public.indexpatternfield.type.md) - -## IndexPatternField.type property - -Signature: - -```typescript -get type(): string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.visualizable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.visualizable.md deleted file mode 100644 index 9ed689752503a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.visualizable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [visualizable](./kibana-plugin-plugins-data-public.indexpatternfield.visualizable.md) - -## IndexPatternField.visualizable property - -Signature: - -```typescript -get visualizable(): boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.id.md deleted file mode 100644 index 88c3a7d3654be..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternListItem](./kibana-plugin-plugins-data-public.indexpatternlistitem.md) > [id](./kibana-plugin-plugins-data-public.indexpatternlistitem.id.md) - -## IndexPatternListItem.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.md deleted file mode 100644 index 609a5e0d9ef2c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternListItem](./kibana-plugin-plugins-data-public.indexpatternlistitem.md) - -## IndexPatternListItem interface - -Signature: - -```typescript -export interface IndexPatternListItem -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-data-public.indexpatternlistitem.id.md) | string | | -| [title](./kibana-plugin-plugins-data-public.indexpatternlistitem.title.md) | string | | -| [type](./kibana-plugin-plugins-data-public.indexpatternlistitem.type.md) | string | | -| [typeMeta](./kibana-plugin-plugins-data-public.indexpatternlistitem.typemeta.md) | TypeMeta | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.title.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.title.md deleted file mode 100644 index 26f292bf0d17b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.title.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternListItem](./kibana-plugin-plugins-data-public.indexpatternlistitem.md) > [title](./kibana-plugin-plugins-data-public.indexpatternlistitem.title.md) - -## IndexPatternListItem.title property - -Signature: - -```typescript -title: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.type.md deleted file mode 100644 index 467e8bb81b159..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternListItem](./kibana-plugin-plugins-data-public.indexpatternlistitem.md) > [type](./kibana-plugin-plugins-data-public.indexpatternlistitem.type.md) - -## IndexPatternListItem.type property - -Signature: - -```typescript -type?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.typemeta.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.typemeta.md deleted file mode 100644 index 3b93c5111f8dd..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternlistitem.typemeta.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternListItem](./kibana-plugin-plugins-data-public.indexpatternlistitem.md) > [typeMeta](./kibana-plugin-plugins-data-public.indexpatternlistitem.typemeta.md) - -## IndexPatternListItem.typeMeta property - -Signature: - -```typescript -typeMeta?: TypeMeta; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternloadexpressionfunctiondefinition.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternloadexpressionfunctiondefinition.md deleted file mode 100644 index ec18a4da2eef7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternloadexpressionfunctiondefinition.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternLoadExpressionFunctionDefinition](./kibana-plugin-plugins-data-public.indexpatternloadexpressionfunctiondefinition.md) - -## IndexPatternLoadExpressionFunctionDefinition type - -Signature: - -```typescript -export declare type IndexPatternLoadExpressionFunctionDefinition = ExpressionFunctionDefinition; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterns.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterns.md deleted file mode 100644 index 75ae06480a781..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterns.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [indexPatterns](./kibana-plugin-plugins-data-public.indexpatterns.md) - -## indexPatterns variable - -Signature: - -```typescript -indexPatterns: { - ILLEGAL_CHARACTERS_KEY: string; - CONTAINS_SPACES_KEY: string; - ILLEGAL_CHARACTERS_VISIBLE: string[]; - ILLEGAL_CHARACTERS: string[]; - isDefault: (indexPattern: import("../common").IIndexPattern) => boolean; - isFilterable: typeof isFilterable; - isNestedField: typeof isNestedField; - validate: typeof validateIndexPattern; - flattenHitWrapper: typeof flattenHitWrapper; -} -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternscontract.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternscontract.md deleted file mode 100644 index f83ed272c089c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternscontract.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsContract](./kibana-plugin-plugins-data-public.indexpatternscontract.md) - -## IndexPatternsContract type - -Signature: - -```typescript -export declare type IndexPatternsContract = PublicMethodsOf; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselectprops.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselectprops.md deleted file mode 100644 index e7d58f538c8ce..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselectprops.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelectProps](./kibana-plugin-plugins-data-public.indexpatternselectprops.md) - -## IndexPatternSelectProps type - -Signature: - -```typescript -export declare type IndexPatternSelectProps = Required, 'isLoading' | 'onSearchChange' | 'options' | 'selectedOptions' | 'onChange'>, 'placeholder'> & { - onChange: (indexPatternId?: string) => void; - indexPatternId: string; - onNoIndexPatterns?: () => void; -}; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.allownoindex.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.allownoindex.md deleted file mode 100644 index 50adef8268694..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.allownoindex.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [allowNoIndex](./kibana-plugin-plugins-data-public.indexpatternspec.allownoindex.md) - -## IndexPatternSpec.allowNoIndex property - -Signature: - -```typescript -allowNoIndex?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fieldattrs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fieldattrs.md deleted file mode 100644 index e558c3ab19189..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fieldattrs.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [fieldAttrs](./kibana-plugin-plugins-data-public.indexpatternspec.fieldattrs.md) - -## IndexPatternSpec.fieldAttrs property - -Signature: - -```typescript -fieldAttrs?: FieldAttrs; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fieldformats.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fieldformats.md deleted file mode 100644 index af4115e4c4e09..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fieldformats.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [fieldFormats](./kibana-plugin-plugins-data-public.indexpatternspec.fieldformats.md) - -## IndexPatternSpec.fieldFormats property - -Signature: - -```typescript -fieldFormats?: Record; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fields.md deleted file mode 100644 index 386e080dbe6c2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.fields.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [fields](./kibana-plugin-plugins-data-public.indexpatternspec.fields.md) - -## IndexPatternSpec.fields property - -Signature: - -```typescript -fields?: IndexPatternFieldMap; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.id.md deleted file mode 100644 index 807f777841685..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.id.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [id](./kibana-plugin-plugins-data-public.indexpatternspec.id.md) - -## IndexPatternSpec.id property - -saved object id - -Signature: - -```typescript -id?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.intervalname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.intervalname.md deleted file mode 100644 index 90c5ee5666231..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.intervalname.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [intervalName](./kibana-plugin-plugins-data-public.indexpatternspec.intervalname.md) - -## IndexPatternSpec.intervalName property - -> Warning: This API is now obsolete. -> -> Deprecated. Was used by time range based index patterns -> - -Signature: - -```typescript -intervalName?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.md deleted file mode 100644 index ae514e3fc6a8a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.md +++ /dev/null @@ -1,32 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) - -## IndexPatternSpec interface - -Static index pattern format Serialized data object, representing index pattern attributes and state - -Signature: - -```typescript -export interface IndexPatternSpec -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [allowNoIndex](./kibana-plugin-plugins-data-public.indexpatternspec.allownoindex.md) | boolean | | -| [fieldAttrs](./kibana-plugin-plugins-data-public.indexpatternspec.fieldattrs.md) | FieldAttrs | | -| [fieldFormats](./kibana-plugin-plugins-data-public.indexpatternspec.fieldformats.md) | Record<string, SerializedFieldFormat> | | -| [fields](./kibana-plugin-plugins-data-public.indexpatternspec.fields.md) | IndexPatternFieldMap | | -| [id](./kibana-plugin-plugins-data-public.indexpatternspec.id.md) | string | saved object id | -| [intervalName](./kibana-plugin-plugins-data-public.indexpatternspec.intervalname.md) | string | | -| [runtimeFieldMap](./kibana-plugin-plugins-data-public.indexpatternspec.runtimefieldmap.md) | Record<string, RuntimeField> | | -| [sourceFilters](./kibana-plugin-plugins-data-public.indexpatternspec.sourcefilters.md) | SourceFilter[] | | -| [timeFieldName](./kibana-plugin-plugins-data-public.indexpatternspec.timefieldname.md) | string | | -| [title](./kibana-plugin-plugins-data-public.indexpatternspec.title.md) | string | | -| [type](./kibana-plugin-plugins-data-public.indexpatternspec.type.md) | string | | -| [typeMeta](./kibana-plugin-plugins-data-public.indexpatternspec.typemeta.md) | TypeMeta | | -| [version](./kibana-plugin-plugins-data-public.indexpatternspec.version.md) | string | saved object version string | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.runtimefieldmap.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.runtimefieldmap.md deleted file mode 100644 index e208760ff188f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.runtimefieldmap.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [runtimeFieldMap](./kibana-plugin-plugins-data-public.indexpatternspec.runtimefieldmap.md) - -## IndexPatternSpec.runtimeFieldMap property - -Signature: - -```typescript -runtimeFieldMap?: Record; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.sourcefilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.sourcefilters.md deleted file mode 100644 index cda5285730135..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.sourcefilters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [sourceFilters](./kibana-plugin-plugins-data-public.indexpatternspec.sourcefilters.md) - -## IndexPatternSpec.sourceFilters property - -Signature: - -```typescript -sourceFilters?: SourceFilter[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.timefieldname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.timefieldname.md deleted file mode 100644 index a527e3ac0658b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.timefieldname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [timeFieldName](./kibana-plugin-plugins-data-public.indexpatternspec.timefieldname.md) - -## IndexPatternSpec.timeFieldName property - -Signature: - -```typescript -timeFieldName?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.title.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.title.md deleted file mode 100644 index 4cc6d3c2524a7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.title.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [title](./kibana-plugin-plugins-data-public.indexpatternspec.title.md) - -## IndexPatternSpec.title property - -Signature: - -```typescript -title?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.type.md deleted file mode 100644 index d1c49be1b706f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [type](./kibana-plugin-plugins-data-public.indexpatternspec.type.md) - -## IndexPatternSpec.type property - -Signature: - -```typescript -type?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.typemeta.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.typemeta.md deleted file mode 100644 index 9303047e905d3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.typemeta.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [typeMeta](./kibana-plugin-plugins-data-public.indexpatternspec.typemeta.md) - -## IndexPatternSpec.typeMeta property - -Signature: - -```typescript -typeMeta?: TypeMeta; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.version.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.version.md deleted file mode 100644 index 60975b94e9633..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternspec.version.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) > [version](./kibana-plugin-plugins-data-public.indexpatternspec.version.md) - -## IndexPatternSpec.version property - -saved object version string - -Signature: - -```typescript -version?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice._constructor_.md deleted file mode 100644 index ab397efb1fe0e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [(constructor)](./kibana-plugin-plugins-data-public.indexpatternsservice._constructor_.md) - -## IndexPatternsService.(constructor) - -Constructs a new instance of the `IndexPatternsService` class - -Signature: - -```typescript -constructor({ uiSettings, savedObjectsClient, apiClient, fieldFormats, onNotification, onError, onRedirectNoIndexPattern, }: IndexPatternsServiceDeps); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { uiSettings, savedObjectsClient, apiClient, fieldFormats, onNotification, onError, onRedirectNoIndexPattern, } | IndexPatternsServiceDeps | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.clearcache.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.clearcache.md deleted file mode 100644 index b371218325086..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.clearcache.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [clearCache](./kibana-plugin-plugins-data-public.indexpatternsservice.clearcache.md) - -## IndexPatternsService.clearCache property - -Clear index pattern list cache - -Signature: - -```typescript -clearCache: (id?: string | undefined) => void; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.create.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.create.md deleted file mode 100644 index c8e845eb1d1bf..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.create.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [create](./kibana-plugin-plugins-data-public.indexpatternsservice.create.md) - -## IndexPatternsService.create() method - -Create a new index pattern instance - -Signature: - -```typescript -create(spec: IndexPatternSpec, skipFetchFields?: boolean): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| spec | IndexPatternSpec | | -| skipFetchFields | boolean | | - -Returns: - -`Promise` - -IndexPattern - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.createandsave.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.createandsave.md deleted file mode 100644 index eebfbb506fb77..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.createandsave.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [createAndSave](./kibana-plugin-plugins-data-public.indexpatternsservice.createandsave.md) - -## IndexPatternsService.createAndSave() method - -Create a new index pattern and save it right away - -Signature: - -```typescript -createAndSave(spec: IndexPatternSpec, override?: boolean, skipFetchFields?: boolean): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| spec | IndexPatternSpec | | -| override | boolean | | -| skipFetchFields | boolean | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.createsavedobject.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.createsavedobject.md deleted file mode 100644 index 8efb33c423b01..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.createsavedobject.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [createSavedObject](./kibana-plugin-plugins-data-public.indexpatternsservice.createsavedobject.md) - -## IndexPatternsService.createSavedObject() method - -Save a new index pattern - -Signature: - -```typescript -createSavedObject(indexPattern: IndexPattern, override?: boolean): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| indexPattern | IndexPattern | | -| override | boolean | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.delete.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.delete.md deleted file mode 100644 index aba31ab2c0d29..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.delete.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [delete](./kibana-plugin-plugins-data-public.indexpatternsservice.delete.md) - -## IndexPatternsService.delete() method - -Deletes an index pattern from .kibana index - -Signature: - -```typescript -delete(indexPatternId: string): Promise<{}>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| indexPatternId | string | | - -Returns: - -`Promise<{}>` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.ensuredefaultindexpattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.ensuredefaultindexpattern.md deleted file mode 100644 index 3b6a8c7e4a04f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.ensuredefaultindexpattern.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [ensureDefaultIndexPattern](./kibana-plugin-plugins-data-public.indexpatternsservice.ensuredefaultindexpattern.md) - -## IndexPatternsService.ensureDefaultIndexPattern property - -Signature: - -```typescript -ensureDefaultIndexPattern: EnsureDefaultIndexPattern; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.fieldarraytomap.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.fieldarraytomap.md deleted file mode 100644 index 2a09d5b3adb1d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.fieldarraytomap.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [fieldArrayToMap](./kibana-plugin-plugins-data-public.indexpatternsservice.fieldarraytomap.md) - -## IndexPatternsService.fieldArrayToMap property - -Converts field array to map - -Signature: - -```typescript -fieldArrayToMap: (fields: FieldSpec[], fieldAttrs?: FieldAttrs | undefined) => Record; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.find.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.find.md deleted file mode 100644 index 929322fc4794c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.find.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [find](./kibana-plugin-plugins-data-public.indexpatternsservice.find.md) - -## IndexPatternsService.find property - -Find and load index patterns by title - -Signature: - -```typescript -find: (search: string, size?: number) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.get.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.get.md deleted file mode 100644 index 4aad6df6b413b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.get.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [get](./kibana-plugin-plugins-data-public.indexpatternsservice.get.md) - -## IndexPatternsService.get property - -Get an index pattern by id. Cache optimized - -Signature: - -```typescript -get: (id: string) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getcache.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getcache.md deleted file mode 100644 index 1f0148df596af..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getcache.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [getCache](./kibana-plugin-plugins-data-public.indexpatternsservice.getcache.md) - -## IndexPatternsService.getCache property - -Signature: - -```typescript -getCache: () => Promise>[] | null | undefined>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getdefault.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getdefault.md deleted file mode 100644 index 01d4efeffe921..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getdefault.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [getDefault](./kibana-plugin-plugins-data-public.indexpatternsservice.getdefault.md) - -## IndexPatternsService.getDefault property - -Get default index pattern - -Signature: - -```typescript -getDefault: () => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getdefaultid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getdefaultid.md deleted file mode 100644 index 3b64ce079b522..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getdefaultid.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [getDefaultId](./kibana-plugin-plugins-data-public.indexpatternsservice.getdefaultid.md) - -## IndexPatternsService.getDefaultId property - -Get default index pattern id - -Signature: - -```typescript -getDefaultId: () => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforindexpattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforindexpattern.md deleted file mode 100644 index f288573cd7abb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforindexpattern.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [getFieldsForIndexPattern](./kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforindexpattern.md) - -## IndexPatternsService.getFieldsForIndexPattern property - -Get field list by providing an index patttern (or spec) - -Signature: - -```typescript -getFieldsForIndexPattern: (indexPattern: IndexPattern | IndexPatternSpec, options?: GetFieldsOptions | undefined) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforwildcard.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforwildcard.md deleted file mode 100644 index 32bf6fc13b02c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforwildcard.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [getFieldsForWildcard](./kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforwildcard.md) - -## IndexPatternsService.getFieldsForWildcard property - -Get field list by providing { pattern } - -Signature: - -```typescript -getFieldsForWildcard: (options: GetFieldsOptions) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getids.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getids.md deleted file mode 100644 index a012e0dc9d9c5..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getids.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [getIds](./kibana-plugin-plugins-data-public.indexpatternsservice.getids.md) - -## IndexPatternsService.getIds property - -Get list of index pattern ids - -Signature: - -```typescript -getIds: (refresh?: boolean) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getidswithtitle.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getidswithtitle.md deleted file mode 100644 index b2dcddce0457c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.getidswithtitle.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [getIdsWithTitle](./kibana-plugin-plugins-data-public.indexpatternsservice.getidswithtitle.md) - -## IndexPatternsService.getIdsWithTitle property - -Get list of index pattern ids with titles - -Signature: - -```typescript -getIdsWithTitle: (refresh?: boolean) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.gettitles.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.gettitles.md deleted file mode 100644 index 04cc294a79dfc..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.gettitles.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [getTitles](./kibana-plugin-plugins-data-public.indexpatternsservice.gettitles.md) - -## IndexPatternsService.getTitles property - -Get list of index pattern titles - -Signature: - -```typescript -getTitles: (refresh?: boolean) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.hasuserindexpattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.hasuserindexpattern.md deleted file mode 100644 index 31d1b9b9c16a9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.hasuserindexpattern.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [hasUserIndexPattern](./kibana-plugin-plugins-data-public.indexpatternsservice.hasuserindexpattern.md) - -## IndexPatternsService.hasUserIndexPattern() method - -Checks if current user has a user created index pattern ignoring fleet's server default index patterns - -Signature: - -```typescript -hasUserIndexPattern(): Promise; -``` -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.md deleted file mode 100644 index 7b3ad2a379c83..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.md +++ /dev/null @@ -1,50 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) - -## IndexPatternsService class - -Signature: - -```typescript -export declare class IndexPatternsService -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)({ uiSettings, savedObjectsClient, apiClient, fieldFormats, onNotification, onError, onRedirectNoIndexPattern, })](./kibana-plugin-plugins-data-public.indexpatternsservice._constructor_.md) | | Constructs a new instance of the IndexPatternsService class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [clearCache](./kibana-plugin-plugins-data-public.indexpatternsservice.clearcache.md) | | (id?: string | undefined) => void | Clear index pattern list cache | -| [ensureDefaultIndexPattern](./kibana-plugin-plugins-data-public.indexpatternsservice.ensuredefaultindexpattern.md) | | EnsureDefaultIndexPattern | | -| [fieldArrayToMap](./kibana-plugin-plugins-data-public.indexpatternsservice.fieldarraytomap.md) | | (fields: FieldSpec[], fieldAttrs?: FieldAttrs | undefined) => Record<string, FieldSpec> | Converts field array to map | -| [find](./kibana-plugin-plugins-data-public.indexpatternsservice.find.md) | | (search: string, size?: number) => Promise<IndexPattern[]> | Find and load index patterns by title | -| [get](./kibana-plugin-plugins-data-public.indexpatternsservice.get.md) | | (id: string) => Promise<IndexPattern> | Get an index pattern by id. Cache optimized | -| [getCache](./kibana-plugin-plugins-data-public.indexpatternsservice.getcache.md) | | () => Promise<SavedObject<Pick<IndexPatternAttributes, "type" | "title" | "typeMeta">>[] | null | undefined> | | -| [getDefault](./kibana-plugin-plugins-data-public.indexpatternsservice.getdefault.md) | | () => Promise<IndexPattern | null> | Get default index pattern | -| [getDefaultId](./kibana-plugin-plugins-data-public.indexpatternsservice.getdefaultid.md) | | () => Promise<string | null> | Get default index pattern id | -| [getFieldsForIndexPattern](./kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforindexpattern.md) | | (indexPattern: IndexPattern | IndexPatternSpec, options?: GetFieldsOptions | undefined) => Promise<any> | Get field list by providing an index patttern (or spec) | -| [getFieldsForWildcard](./kibana-plugin-plugins-data-public.indexpatternsservice.getfieldsforwildcard.md) | | (options: GetFieldsOptions) => Promise<any> | Get field list by providing { pattern } | -| [getIds](./kibana-plugin-plugins-data-public.indexpatternsservice.getids.md) | | (refresh?: boolean) => Promise<string[]> | Get list of index pattern ids | -| [getIdsWithTitle](./kibana-plugin-plugins-data-public.indexpatternsservice.getidswithtitle.md) | | (refresh?: boolean) => Promise<IndexPatternListItem[]> | Get list of index pattern ids with titles | -| [getTitles](./kibana-plugin-plugins-data-public.indexpatternsservice.gettitles.md) | | (refresh?: boolean) => Promise<string[]> | Get list of index pattern titles | -| [refreshFields](./kibana-plugin-plugins-data-public.indexpatternsservice.refreshfields.md) | | (indexPattern: IndexPattern) => Promise<void> | Refresh field list for a given index pattern | -| [savedObjectToSpec](./kibana-plugin-plugins-data-public.indexpatternsservice.savedobjecttospec.md) | | (savedObject: SavedObject<IndexPatternAttributes>) => IndexPatternSpec | Converts index pattern saved object to index pattern spec | -| [setDefault](./kibana-plugin-plugins-data-public.indexpatternsservice.setdefault.md) | | (id: string | null, force?: boolean) => Promise<void> | Optionally set default index pattern, unless force = true | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [create(spec, skipFetchFields)](./kibana-plugin-plugins-data-public.indexpatternsservice.create.md) | | Create a new index pattern instance | -| [createAndSave(spec, override, skipFetchFields)](./kibana-plugin-plugins-data-public.indexpatternsservice.createandsave.md) | | Create a new index pattern and save it right away | -| [createSavedObject(indexPattern, override)](./kibana-plugin-plugins-data-public.indexpatternsservice.createsavedobject.md) | | Save a new index pattern | -| [delete(indexPatternId)](./kibana-plugin-plugins-data-public.indexpatternsservice.delete.md) | | Deletes an index pattern from .kibana index | -| [hasUserIndexPattern()](./kibana-plugin-plugins-data-public.indexpatternsservice.hasuserindexpattern.md) | | Checks if current user has a user created index pattern ignoring fleet's server default index patterns | -| [updateSavedObject(indexPattern, saveAttempts, ignoreErrors)](./kibana-plugin-plugins-data-public.indexpatternsservice.updatesavedobject.md) | | Save existing index pattern. Will attempt to merge differences if there are conflicts | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.refreshfields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.refreshfields.md deleted file mode 100644 index b7c47efbb445a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.refreshfields.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [refreshFields](./kibana-plugin-plugins-data-public.indexpatternsservice.refreshfields.md) - -## IndexPatternsService.refreshFields property - -Refresh field list for a given index pattern - -Signature: - -```typescript -refreshFields: (indexPattern: IndexPattern) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.savedobjecttospec.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.savedobjecttospec.md deleted file mode 100644 index 7bd40c9cafd42..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.savedobjecttospec.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [savedObjectToSpec](./kibana-plugin-plugins-data-public.indexpatternsservice.savedobjecttospec.md) - -## IndexPatternsService.savedObjectToSpec property - -Converts index pattern saved object to index pattern spec - -Signature: - -```typescript -savedObjectToSpec: (savedObject: SavedObject) => IndexPatternSpec; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.setdefault.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.setdefault.md deleted file mode 100644 index 1d216e781c7bb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.setdefault.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [setDefault](./kibana-plugin-plugins-data-public.indexpatternsservice.setdefault.md) - -## IndexPatternsService.setDefault property - -Optionally set default index pattern, unless force = true - -Signature: - -```typescript -setDefault: (id: string | null, force?: boolean) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.updatesavedobject.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.updatesavedobject.md deleted file mode 100644 index 5fc16c70de7ed..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternsservice.updatesavedobject.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) > [updateSavedObject](./kibana-plugin-plugins-data-public.indexpatternsservice.updatesavedobject.md) - -## IndexPatternsService.updateSavedObject() method - -Save existing index pattern. Will attempt to merge differences if there are conflicts - -Signature: - -```typescript -updateSavedObject(indexPattern: IndexPattern, saveAttempts?: number, ignoreErrors?: boolean): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| indexPattern | IndexPattern | | -| saveAttempts | number | | -| ignoreErrors | boolean | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterntype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterntype.md deleted file mode 100644 index 46fd3a0725e40..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterntype.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternType](./kibana-plugin-plugins-data-public.indexpatterntype.md) - -## IndexPatternType enum - -Signature: - -```typescript -export declare enum IndexPatternType -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| DEFAULT | "default" | | -| ROLLUP | "rollup" | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.injectsearchsourcereferences.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.injectsearchsourcereferences.md deleted file mode 100644 index b55f5b866244d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.injectsearchsourcereferences.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [injectSearchSourceReferences](./kibana-plugin-plugins-data-public.injectsearchsourcereferences.md) - -## injectSearchSourceReferences variable - -Signature: - -```typescript -injectReferences: (searchSourceFields: SearchSourceFields & { - indexRefName: string; -}, references: SavedObjectReference[]) => SearchSourceFields -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iscompleteresponse.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iscompleteresponse.md deleted file mode 100644 index 799cf90003f61..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iscompleteresponse.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [isCompleteResponse](./kibana-plugin-plugins-data-public.iscompleteresponse.md) - -## isCompleteResponse variable - -Signature: - -```typescript -isCompleteResponse: (response?: IKibanaSearchResponse | undefined) => boolean -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchgeneric.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchgeneric.md deleted file mode 100644 index 025ca6681d39b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchgeneric.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchGeneric](./kibana-plugin-plugins-data-public.isearchgeneric.md) - -## ISearchGeneric type - -Signature: - -```typescript -export declare type ISearchGeneric = (request: SearchStrategyRequest, options?: ISearchOptions) => Observable; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.abortsignal.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.abortsignal.md deleted file mode 100644 index fd8d322d54b26..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.abortsignal.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) > [abortSignal](./kibana-plugin-plugins-data-public.isearchoptions.abortsignal.md) - -## ISearchOptions.abortSignal property - -An `AbortSignal` that allows the caller of `search` to abort a search request. - -Signature: - -```typescript -abortSignal?: AbortSignal; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.executioncontext.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.executioncontext.md deleted file mode 100644 index 18fce3e273a39..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.executioncontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) > [executionContext](./kibana-plugin-plugins-data-public.isearchoptions.executioncontext.md) - -## ISearchOptions.executionContext property - -Signature: - -```typescript -executionContext?: KibanaExecutionContext; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.indexpattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.indexpattern.md deleted file mode 100644 index baf44de5088fb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.indexpattern.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) > [indexPattern](./kibana-plugin-plugins-data-public.isearchoptions.indexpattern.md) - -## ISearchOptions.indexPattern property - -Index pattern reference is used for better error messages - -Signature: - -```typescript -indexPattern?: IndexPattern; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.inspector.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.inspector.md deleted file mode 100644 index 9961292aaf217..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.inspector.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) > [inspector](./kibana-plugin-plugins-data-public.isearchoptions.inspector.md) - -## ISearchOptions.inspector property - -Inspector integration options - -Signature: - -```typescript -inspector?: IInspectorInfo; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.isrestore.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.isrestore.md deleted file mode 100644 index 672d77719962f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.isrestore.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) > [isRestore](./kibana-plugin-plugins-data-public.isearchoptions.isrestore.md) - -## ISearchOptions.isRestore property - -Whether the session is restored (i.e. search requests should re-use the stored search IDs, rather than starting from scratch) - -Signature: - -```typescript -isRestore?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.isstored.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.isstored.md deleted file mode 100644 index 0d2c173f351c8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.isstored.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) > [isStored](./kibana-plugin-plugins-data-public.isearchoptions.isstored.md) - -## ISearchOptions.isStored property - -Whether the session is already saved (i.e. sent to background) - -Signature: - -```typescript -isStored?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.legacyhitstotal.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.legacyhitstotal.md deleted file mode 100644 index 937e20a7a9579..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.legacyhitstotal.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) > [legacyHitsTotal](./kibana-plugin-plugins-data-public.isearchoptions.legacyhitstotal.md) - -## ISearchOptions.legacyHitsTotal property - -Request the legacy format for the total number of hits. If sending `rest_total_hits_as_int` to something other than `true`, this should be set to `false`. - -Signature: - -```typescript -legacyHitsTotal?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.md deleted file mode 100644 index 488695475dcbe..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) - -## ISearchOptions interface - -Signature: - -```typescript -export interface ISearchOptions -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [abortSignal](./kibana-plugin-plugins-data-public.isearchoptions.abortsignal.md) | AbortSignal | An AbortSignal that allows the caller of search to abort a search request. | -| [executionContext](./kibana-plugin-plugins-data-public.isearchoptions.executioncontext.md) | KibanaExecutionContext | | -| [indexPattern](./kibana-plugin-plugins-data-public.isearchoptions.indexpattern.md) | IndexPattern | Index pattern reference is used for better error messages | -| [inspector](./kibana-plugin-plugins-data-public.isearchoptions.inspector.md) | IInspectorInfo | Inspector integration options | -| [isRestore](./kibana-plugin-plugins-data-public.isearchoptions.isrestore.md) | boolean | Whether the session is restored (i.e. search requests should re-use the stored search IDs, rather than starting from scratch) | -| [isStored](./kibana-plugin-plugins-data-public.isearchoptions.isstored.md) | boolean | Whether the session is already saved (i.e. sent to background) | -| [legacyHitsTotal](./kibana-plugin-plugins-data-public.isearchoptions.legacyhitstotal.md) | boolean | Request the legacy format for the total number of hits. If sending rest_total_hits_as_int to something other than true, this should be set to false. | -| [sessionId](./kibana-plugin-plugins-data-public.isearchoptions.sessionid.md) | string | A session ID, grouping multiple search requests into a single session. | -| [strategy](./kibana-plugin-plugins-data-public.isearchoptions.strategy.md) | string | Use this option to force using a specific server side search strategy. Leave empty to use the default strategy. | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.sessionid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.sessionid.md deleted file mode 100644 index b1d569e58bf1d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.sessionid.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) > [sessionId](./kibana-plugin-plugins-data-public.isearchoptions.sessionid.md) - -## ISearchOptions.sessionId property - -A session ID, grouping multiple search requests into a single session. - -Signature: - -```typescript -sessionId?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.strategy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.strategy.md deleted file mode 100644 index bd2580957f6c1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.strategy.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) > [strategy](./kibana-plugin-plugins-data-public.isearchoptions.strategy.md) - -## ISearchOptions.strategy property - -Use this option to force using a specific server side search strategy. Leave empty to use the default strategy. - -Signature: - -```typescript -strategy?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.aggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.aggs.md deleted file mode 100644 index ad97820d4d760..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.aggs.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchSetup](./kibana-plugin-plugins-data-public.isearchsetup.md) > [aggs](./kibana-plugin-plugins-data-public.isearchsetup.aggs.md) - -## ISearchSetup.aggs property - -Signature: - -```typescript -aggs: AggsSetup; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.md deleted file mode 100644 index 6768712f38529..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchSetup](./kibana-plugin-plugins-data-public.isearchsetup.md) - -## ISearchSetup interface - -The setup contract exposed by the Search plugin exposes the search strategy extension point. - -Signature: - -```typescript -export interface ISearchSetup -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [aggs](./kibana-plugin-plugins-data-public.isearchsetup.aggs.md) | AggsSetup | | -| [session](./kibana-plugin-plugins-data-public.isearchsetup.session.md) | ISessionService | Current session management [ISessionService](./kibana-plugin-plugins-data-public.isessionservice.md) | -| [sessionsClient](./kibana-plugin-plugins-data-public.isearchsetup.sessionsclient.md) | ISessionsClient | Search sessions SO CRUD [ISessionsClient](./kibana-plugin-plugins-data-public.isessionsclient.md) | -| [usageCollector](./kibana-plugin-plugins-data-public.isearchsetup.usagecollector.md) | SearchUsageCollector | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.session.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.session.md deleted file mode 100644 index 451dbc86b86b6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.session.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchSetup](./kibana-plugin-plugins-data-public.isearchsetup.md) > [session](./kibana-plugin-plugins-data-public.isearchsetup.session.md) - -## ISearchSetup.session property - -Current session management [ISessionService](./kibana-plugin-plugins-data-public.isessionservice.md) - -Signature: - -```typescript -session: ISessionService; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.sessionsclient.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.sessionsclient.md deleted file mode 100644 index 4c3c10dec6ab9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.sessionsclient.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchSetup](./kibana-plugin-plugins-data-public.isearchsetup.md) > [sessionsClient](./kibana-plugin-plugins-data-public.isearchsetup.sessionsclient.md) - -## ISearchSetup.sessionsClient property - -Search sessions SO CRUD [ISessionsClient](./kibana-plugin-plugins-data-public.isessionsclient.md) - -Signature: - -```typescript -sessionsClient: ISessionsClient; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.usagecollector.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.usagecollector.md deleted file mode 100644 index 908a842974f25..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsetup.usagecollector.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchSetup](./kibana-plugin-plugins-data-public.isearchsetup.md) > [usageCollector](./kibana-plugin-plugins-data-public.isearchsetup.usagecollector.md) - -## ISearchSetup.usageCollector property - -Signature: - -```typescript -usageCollector?: SearchUsageCollector; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsource.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsource.md deleted file mode 100644 index 43e10d0bef57a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsource.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchSource](./kibana-plugin-plugins-data-public.isearchsource.md) - -## ISearchSource type - -search source interface - -Signature: - -```typescript -export declare type ISearchSource = Pick; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.aggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.aggs.md deleted file mode 100644 index 993c6bf5a922b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.aggs.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStart](./kibana-plugin-plugins-data-public.isearchstart.md) > [aggs](./kibana-plugin-plugins-data-public.isearchstart.aggs.md) - -## ISearchStart.aggs property - -agg config sub service [AggsStart](./kibana-plugin-plugins-data-public.aggsstart.md) - -Signature: - -```typescript -aggs: AggsStart; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.md deleted file mode 100644 index 34a7614ff2ae3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStart](./kibana-plugin-plugins-data-public.isearchstart.md) - -## ISearchStart interface - -search service - -Signature: - -```typescript -export interface ISearchStart -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [aggs](./kibana-plugin-plugins-data-public.isearchstart.aggs.md) | AggsStart | agg config sub service [AggsStart](./kibana-plugin-plugins-data-public.aggsstart.md) | -| [search](./kibana-plugin-plugins-data-public.isearchstart.search.md) | ISearchGeneric | low level search [ISearchGeneric](./kibana-plugin-plugins-data-public.isearchgeneric.md) | -| [searchSource](./kibana-plugin-plugins-data-public.isearchstart.searchsource.md) | ISearchStartSearchSource | high level search [ISearchStartSearchSource](./kibana-plugin-plugins-data-public.isearchstartsearchsource.md) | -| [session](./kibana-plugin-plugins-data-public.isearchstart.session.md) | ISessionService | Current session management [ISessionService](./kibana-plugin-plugins-data-public.isessionservice.md) | -| [sessionsClient](./kibana-plugin-plugins-data-public.isearchstart.sessionsclient.md) | ISessionsClient | Search sessions SO CRUD [ISessionsClient](./kibana-plugin-plugins-data-public.isessionsclient.md) | -| [showError](./kibana-plugin-plugins-data-public.isearchstart.showerror.md) | (e: Error) => void | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.search.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.search.md deleted file mode 100644 index 80e140e9fdd5c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.search.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStart](./kibana-plugin-plugins-data-public.isearchstart.md) > [search](./kibana-plugin-plugins-data-public.isearchstart.search.md) - -## ISearchStart.search property - -low level search [ISearchGeneric](./kibana-plugin-plugins-data-public.isearchgeneric.md) - -Signature: - -```typescript -search: ISearchGeneric; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.searchsource.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.searchsource.md deleted file mode 100644 index 5d4b884b2c25b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.searchsource.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStart](./kibana-plugin-plugins-data-public.isearchstart.md) > [searchSource](./kibana-plugin-plugins-data-public.isearchstart.searchsource.md) - -## ISearchStart.searchSource property - -high level search [ISearchStartSearchSource](./kibana-plugin-plugins-data-public.isearchstartsearchsource.md) - -Signature: - -```typescript -searchSource: ISearchStartSearchSource; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.session.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.session.md deleted file mode 100644 index 892b0fa6acb60..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.session.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStart](./kibana-plugin-plugins-data-public.isearchstart.md) > [session](./kibana-plugin-plugins-data-public.isearchstart.session.md) - -## ISearchStart.session property - -Current session management [ISessionService](./kibana-plugin-plugins-data-public.isessionservice.md) - -Signature: - -```typescript -session: ISessionService; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.sessionsclient.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.sessionsclient.md deleted file mode 100644 index 2248a9b2f8229..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.sessionsclient.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStart](./kibana-plugin-plugins-data-public.isearchstart.md) > [sessionsClient](./kibana-plugin-plugins-data-public.isearchstart.sessionsclient.md) - -## ISearchStart.sessionsClient property - -Search sessions SO CRUD [ISessionsClient](./kibana-plugin-plugins-data-public.isessionsclient.md) - -Signature: - -```typescript -sessionsClient: ISessionsClient; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.showerror.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.showerror.md deleted file mode 100644 index fb14057d83d5c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstart.showerror.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStart](./kibana-plugin-plugins-data-public.isearchstart.md) > [showError](./kibana-plugin-plugins-data-public.isearchstart.showerror.md) - -## ISearchStart.showError property - -Signature: - -```typescript -showError: (e: Error) => void; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.create.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.create.md deleted file mode 100644 index 7f6344b82d27c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.create.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStartSearchSource](./kibana-plugin-plugins-data-public.isearchstartsearchsource.md) > [create](./kibana-plugin-plugins-data-public.isearchstartsearchsource.create.md) - -## ISearchStartSearchSource.create property - -creates [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) based on provided serialized [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) - -Signature: - -```typescript -create: (fields?: SearchSourceFields) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.createempty.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.createempty.md deleted file mode 100644 index b13b5d227c8b4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.createempty.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStartSearchSource](./kibana-plugin-plugins-data-public.isearchstartsearchsource.md) > [createEmpty](./kibana-plugin-plugins-data-public.isearchstartsearchsource.createempty.md) - -## ISearchStartSearchSource.createEmpty property - -creates empty [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) - -Signature: - -```typescript -createEmpty: () => ISearchSource; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.md deleted file mode 100644 index f10d5bb002a0f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstartsearchsource.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStartSearchSource](./kibana-plugin-plugins-data-public.isearchstartsearchsource.md) - -## ISearchStartSearchSource interface - -high level search service - -Signature: - -```typescript -export interface ISearchStartSearchSource -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [create](./kibana-plugin-plugins-data-public.isearchstartsearchsource.create.md) | (fields?: SearchSourceFields) => Promise<ISearchSource> | creates [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) based on provided serialized [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) | -| [createEmpty](./kibana-plugin-plugins-data-public.isearchstartsearchsource.createempty.md) | () => ISearchSource | creates empty [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iserrorresponse.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iserrorresponse.md deleted file mode 100644 index 93dfdeb056f15..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iserrorresponse.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [isErrorResponse](./kibana-plugin-plugins-data-public.iserrorresponse.md) - -## isErrorResponse variable - -Signature: - -```typescript -isErrorResponse: (response?: IKibanaSearchResponse | undefined) => boolean -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iseserror.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iseserror.md deleted file mode 100644 index 379877c9b5c0a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iseserror.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [isEsError](./kibana-plugin-plugins-data-public.iseserror.md) - -## isEsError() function - -Checks if a given errors originated from Elasticsearch. Those params are assigned to the attributes property of an error. - -Signature: - -```typescript -export declare function isEsError(e: any): e is IEsError; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| e | any | | - -Returns: - -`e is IEsError` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isessionsclient.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isessionsclient.md deleted file mode 100644 index d6efabb1b9518..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isessionsclient.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISessionsClient](./kibana-plugin-plugins-data-public.isessionsclient.md) - -## ISessionsClient type - -Signature: - -```typescript -export declare type ISessionsClient = PublicContract; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isessionservice.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isessionservice.md deleted file mode 100644 index 8938c880a0471..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isessionservice.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISessionService](./kibana-plugin-plugins-data-public.isessionservice.md) - -## ISessionService type - -Signature: - -```typescript -export declare type ISessionService = PublicContract; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isfilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isfilter.md deleted file mode 100644 index 39da5c0548da0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isfilter.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [isFilter](./kibana-plugin-plugins-data-public.isfilter.md) - -## isFilter variable - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -isFilter: (x: unknown) => x is oldFilter -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isfilters.md deleted file mode 100644 index 047a9861002b5..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isfilters.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [isFilters](./kibana-plugin-plugins-data-public.isfilters.md) - -## isFilters variable - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -isFilters: (x: unknown) => x is oldFilter[] -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ispartialresponse.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ispartialresponse.md deleted file mode 100644 index 052b99a211400..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ispartialresponse.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [isPartialResponse](./kibana-plugin-plugins-data-public.ispartialresponse.md) - -## isPartialResponse variable - -Signature: - -```typescript -isPartialResponse: (response?: IKibanaSearchResponse | undefined) => boolean -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isquery.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isquery.md deleted file mode 100644 index 0884566333aa8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isquery.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [isQuery](./kibana-plugin-plugins-data-public.isquery.md) - -## isQuery variable - -Signature: - -```typescript -isQuery: (x: unknown) => x is Query -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.istimerange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.istimerange.md deleted file mode 100644 index e9420493c82fb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.istimerange.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [isTimeRange](./kibana-plugin-plugins-data-public.istimerange.md) - -## isTimeRange variable - -Signature: - -```typescript -isTimeRange: (x: unknown) => x is TimeRange -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kibanacontext.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kibanacontext.md deleted file mode 100644 index cb8842c66761d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kibanacontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [KibanaContext](./kibana-plugin-plugins-data-public.kibanacontext.md) - -## KibanaContext type - -Signature: - -```typescript -export declare type KibanaContext = ExpressionValueSearchContext; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kuerynode.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kuerynode.md deleted file mode 100644 index 73d82c25228bb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kuerynode.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [KueryNode](./kibana-plugin-plugins-data-public.kuerynode.md) - -## KueryNode type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type KueryNode = oldKueryNode; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.matchallfilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.matchallfilter.md deleted file mode 100644 index 51d0f8a139da5..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.matchallfilter.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [MatchAllFilter](./kibana-plugin-plugins-data-public.matchallfilter.md) - -## MatchAllFilter type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type MatchAllFilter = oldMatchAllFilter; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md deleted file mode 100644 index 7548aa62eb313..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md +++ /dev/null @@ -1,185 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) - -## kibana-plugin-plugins-data-public package - -## Classes - -| Class | Description | -| --- | --- | -| [AggConfig](./kibana-plugin-plugins-data-public.aggconfig.md) | | -| [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) | | -| [AggParamType](./kibana-plugin-plugins-data-public.aggparamtype.md) | | -| [DataPlugin](./kibana-plugin-plugins-data-public.dataplugin.md) | | -| [DuplicateIndexPatternError](./kibana-plugin-plugins-data-public.duplicateindexpatternerror.md) | | -| [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) | | -| [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) | | -| [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) | | -| [IndexPatternsService](./kibana-plugin-plugins-data-public.indexpatternsservice.md) | | -| [OptionedParamType](./kibana-plugin-plugins-data-public.optionedparamtype.md) | | -| [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) | \* | -| [TimeHistory](./kibana-plugin-plugins-data-public.timehistory.md) | | - -## Enumerations - -| Enumeration | Description | -| --- | --- | -| [BUCKET\_TYPES](./kibana-plugin-plugins-data-public.bucket_types.md) | | -| [IndexPatternType](./kibana-plugin-plugins-data-public.indexpatterntype.md) | | -| [METRIC\_TYPES](./kibana-plugin-plugins-data-public.metric_types.md) | | -| [QuerySuggestionTypes](./kibana-plugin-plugins-data-public.querysuggestiontypes.md) | | -| [SearchSessionState](./kibana-plugin-plugins-data-public.searchsessionstate.md) | Possible state that current session can be in | -| [SortDirection](./kibana-plugin-plugins-data-public.sortdirection.md) | | - -## Functions - -| Function | Description | -| --- | --- | -| [extractTimeRange(filters, timeFieldName)](./kibana-plugin-plugins-data-public.extracttimerange.md) | | -| [generateFilters(filterManager, field, values, operation, index)](./kibana-plugin-plugins-data-public.generatefilters.md) | Generate filter objects, as a result of triggering a filter action on a specific index pattern field. | -| [getDefaultQuery(language)](./kibana-plugin-plugins-data-public.getdefaultquery.md) | | -| [getDisplayValueFromFilter(filter, indexPatterns)](./kibana-plugin-plugins-data-public.getdisplayvaluefromfilter.md) | | -| [getEsQueryConfig(config)](./kibana-plugin-plugins-data-public.getesqueryconfig.md) | | -| [getSearchParamsFromRequest(searchRequest, dependencies)](./kibana-plugin-plugins-data-public.getsearchparamsfromrequest.md) | | -| [getTime(indexPattern, timeRange, options)](./kibana-plugin-plugins-data-public.gettime.md) | | -| [isEsError(e)](./kibana-plugin-plugins-data-public.iseserror.md) | Checks if a given errors originated from Elasticsearch. Those params are assigned to the attributes property of an error. | -| [plugin(initializerContext)](./kibana-plugin-plugins-data-public.plugin.md) | | -| [waitUntilNextSessionCompletes$(sessionService, { waitForIdle })](./kibana-plugin-plugins-data-public.waituntilnextsessioncompletes_.md) | Creates an observable that emits when next search session completes. This utility is helpful to use in the application to delay some tasks until next session completes. | - -## Interfaces - -| Interface | Description | -| --- | --- | -| [AggFunctionsMapping](./kibana-plugin-plugins-data-public.aggfunctionsmapping.md) | A global list of the expression function definitions for each agg type function. | -| [AggParamOption](./kibana-plugin-plugins-data-public.aggparamoption.md) | | -| [ApplyGlobalFilterActionContext](./kibana-plugin-plugins-data-public.applyglobalfilteractioncontext.md) | | -| [DataPublicPluginSetup](./kibana-plugin-plugins-data-public.datapublicpluginsetup.md) | Data plugin public Setup contract | -| [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) | Data plugin public Start contract | -| [DataPublicPluginStartActions](./kibana-plugin-plugins-data-public.datapublicpluginstartactions.md) | utilities to generate filters from action context | -| [DataPublicPluginStartUi](./kibana-plugin-plugins-data-public.datapublicpluginstartui.md) | Data plugin prewired UI components | -| [GetFieldsOptions](./kibana-plugin-plugins-data-public.getfieldsoptions.md) | | -| [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) | | -| [IEsSearchRequest](./kibana-plugin-plugins-data-public.iessearchrequest.md) | | -| [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) | | -| [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) | | -| [IKibanaSearchRequest](./kibana-plugin-plugins-data-public.ikibanasearchrequest.md) | | -| [IKibanaSearchResponse](./kibana-plugin-plugins-data-public.ikibanasearchresponse.md) | | -| [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) | Interface for an index pattern saved object | -| [IndexPatternListItem](./kibana-plugin-plugins-data-public.indexpatternlistitem.md) | | -| [IndexPatternSpec](./kibana-plugin-plugins-data-public.indexpatternspec.md) | Static index pattern format Serialized data object, representing index pattern attributes and state | -| [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) | | -| [ISearchSetup](./kibana-plugin-plugins-data-public.isearchsetup.md) | The setup contract exposed by the Search plugin exposes the search strategy extension point. | -| [ISearchStart](./kibana-plugin-plugins-data-public.isearchstart.md) | search service | -| [ISearchStartSearchSource](./kibana-plugin-plugins-data-public.isearchstartsearchsource.md) | high level search service | -| [OptionedValueProp](./kibana-plugin-plugins-data-public.optionedvalueprop.md) | | -| [QueryState](./kibana-plugin-plugins-data-public.querystate.md) | All query state service state | -| [QueryStateChange](./kibana-plugin-plugins-data-public.querystatechange.md) | | -| [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) | | -| [QuerySuggestionBasic](./kibana-plugin-plugins-data-public.querysuggestionbasic.md) | \* | -| [QuerySuggestionField](./kibana-plugin-plugins-data-public.querysuggestionfield.md) | \* | -| [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) | \* | -| [Reason](./kibana-plugin-plugins-data-public.reason.md) | | -| [SavedQuery](./kibana-plugin-plugins-data-public.savedquery.md) | | -| [SavedQueryService](./kibana-plugin-plugins-data-public.savedqueryservice.md) | | -| [SearchSessionInfoProvider](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.md) | Provide info about current search session to be stored in the Search Session saved object | -| [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) | search source fields | -| [TypeMeta](./kibana-plugin-plugins-data-public.typemeta.md) | | -| [WaitUntilNextSessionCompletesOptions](./kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.md) | Options for [waitUntilNextSessionCompletes$()](./kibana-plugin-plugins-data-public.waituntilnextsessioncompletes_.md) | - -## Variables - -| Variable | Description | -| --- | --- | -| [ACTION\_GLOBAL\_APPLY\_FILTER](./kibana-plugin-plugins-data-public.action_global_apply_filter.md) | | -| [AggGroupLabels](./kibana-plugin-plugins-data-public.agggrouplabels.md) | | -| [AggGroupNames](./kibana-plugin-plugins-data-public.agggroupnames.md) | | -| [APPLY\_FILTER\_TRIGGER](./kibana-plugin-plugins-data-public.apply_filter_trigger.md) | | -| [castEsToKbnFieldTypeName](./kibana-plugin-plugins-data-public.castestokbnfieldtypename.md) | | -| [connectToQueryState](./kibana-plugin-plugins-data-public.connecttoquerystate.md) | Helper to setup two-way syncing of global data and a state container | -| [createSavedQueryService](./kibana-plugin-plugins-data-public.createsavedqueryservice.md) | | -| [ES\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-public.es_search_strategy.md) | | -| [esFilters](./kibana-plugin-plugins-data-public.esfilters.md) | Filter helpers namespace: | -| [esKuery](./kibana-plugin-plugins-data-public.eskuery.md) | | -| [esQuery](./kibana-plugin-plugins-data-public.esquery.md) | | -| [exporters](./kibana-plugin-plugins-data-public.exporters.md) | | -| [extractSearchSourceReferences](./kibana-plugin-plugins-data-public.extractsearchsourcereferences.md) | | -| [fieldList](./kibana-plugin-plugins-data-public.fieldlist.md) | | -| [FilterItem](./kibana-plugin-plugins-data-public.filteritem.md) | | -| [FilterLabel](./kibana-plugin-plugins-data-public.filterlabel.md) | | -| [getKbnTypeNames](./kibana-plugin-plugins-data-public.getkbntypenames.md) | | -| [INDEX\_PATTERN\_SAVED\_OBJECT\_TYPE](./kibana-plugin-plugins-data-public.index_pattern_saved_object_type.md) | \* | -| [indexPatterns](./kibana-plugin-plugins-data-public.indexpatterns.md) | | -| [injectSearchSourceReferences](./kibana-plugin-plugins-data-public.injectsearchsourcereferences.md) | | -| [isCompleteResponse](./kibana-plugin-plugins-data-public.iscompleteresponse.md) | | -| [isErrorResponse](./kibana-plugin-plugins-data-public.iserrorresponse.md) | | -| [isFilter](./kibana-plugin-plugins-data-public.isfilter.md) | | -| [isFilters](./kibana-plugin-plugins-data-public.isfilters.md) | | -| [isPartialResponse](./kibana-plugin-plugins-data-public.ispartialresponse.md) | | -| [isQuery](./kibana-plugin-plugins-data-public.isquery.md) | | -| [isTimeRange](./kibana-plugin-plugins-data-public.istimerange.md) | | -| [noSearchSessionStorageCapabilityMessage](./kibana-plugin-plugins-data-public.nosearchsessionstoragecapabilitymessage.md) | Message to display in case storing session session is disabled due to turned off capability | -| [parseSearchSourceJSON](./kibana-plugin-plugins-data-public.parsesearchsourcejson.md) | | -| [QueryStringInput](./kibana-plugin-plugins-data-public.querystringinput.md) | | -| [SEARCH\_SESSIONS\_MANAGEMENT\_ID](./kibana-plugin-plugins-data-public.search_sessions_management_id.md) | | -| [search](./kibana-plugin-plugins-data-public.search.md) | | -| [SearchBar](./kibana-plugin-plugins-data-public.searchbar.md) | | -| [syncQueryStateWithUrl](./kibana-plugin-plugins-data-public.syncquerystatewithurl.md) | Helper to setup syncing of global data with the URL | -| [UI\_SETTINGS](./kibana-plugin-plugins-data-public.ui_settings.md) | | - -## Type Aliases - -| Type Alias | Description | -| --- | --- | -| [AggConfigOptions](./kibana-plugin-plugins-data-public.aggconfigoptions.md) | | -| [AggConfigSerialized](./kibana-plugin-plugins-data-public.aggconfigserialized.md) | \* | -| [AggGroupName](./kibana-plugin-plugins-data-public.agggroupname.md) | | -| [AggParam](./kibana-plugin-plugins-data-public.aggparam.md) | | -| [AggregationRestrictions](./kibana-plugin-plugins-data-public.aggregationrestrictions.md) | | -| [AggsStart](./kibana-plugin-plugins-data-public.aggsstart.md) | AggsStart represents the actual external contract as AggsCommonStart is only used internally. The difference is that AggsStart includes the typings for the registry with initialized agg types. | -| [AutocompleteStart](./kibana-plugin-plugins-data-public.autocompletestart.md) | \* | -| [AutoRefreshDoneFn](./kibana-plugin-plugins-data-public.autorefreshdonefn.md) | | -| [CustomFilter](./kibana-plugin-plugins-data-public.customfilter.md) | | -| [EsaggsExpressionFunctionDefinition](./kibana-plugin-plugins-data-public.esaggsexpressionfunctiondefinition.md) | | -| [EsQueryConfig](./kibana-plugin-plugins-data-public.esqueryconfig.md) | | -| [EsQuerySortValue](./kibana-plugin-plugins-data-public.esquerysortvalue.md) | | -| [ExecutionContextSearch](./kibana-plugin-plugins-data-public.executioncontextsearch.md) | | -| [ExistsFilter](./kibana-plugin-plugins-data-public.existsfilter.md) | | -| [ExpressionFunctionKibana](./kibana-plugin-plugins-data-public.expressionfunctionkibana.md) | | -| [ExpressionFunctionKibanaContext](./kibana-plugin-plugins-data-public.expressionfunctionkibanacontext.md) | | -| [ExpressionValueSearchContext](./kibana-plugin-plugins-data-public.expressionvaluesearchcontext.md) | | -| [Filter](./kibana-plugin-plugins-data-public.filter.md) | | -| [IAggConfig](./kibana-plugin-plugins-data-public.iaggconfig.md) | AggConfig This class represents an aggregation, which is displayed in the left-hand nav of the Visualize app. | -| [IAggType](./kibana-plugin-plugins-data-public.iaggtype.md) | | -| [IEsError](./kibana-plugin-plugins-data-public.ieserror.md) | | -| [IEsSearchResponse](./kibana-plugin-plugins-data-public.iessearchresponse.md) | | -| [IFieldParamType](./kibana-plugin-plugins-data-public.ifieldparamtype.md) | | -| [IFieldSubType](./kibana-plugin-plugins-data-public.ifieldsubtype.md) | | -| [IMetricAggType](./kibana-plugin-plugins-data-public.imetricaggtype.md) | | -| [IndexPatternLoadExpressionFunctionDefinition](./kibana-plugin-plugins-data-public.indexpatternloadexpressionfunctiondefinition.md) | | -| [IndexPatternsContract](./kibana-plugin-plugins-data-public.indexpatternscontract.md) | | -| [IndexPatternSelectProps](./kibana-plugin-plugins-data-public.indexpatternselectprops.md) | | -| [ISearchGeneric](./kibana-plugin-plugins-data-public.isearchgeneric.md) | | -| [ISearchSource](./kibana-plugin-plugins-data-public.isearchsource.md) | search source interface | -| [ISessionsClient](./kibana-plugin-plugins-data-public.isessionsclient.md) | | -| [ISessionService](./kibana-plugin-plugins-data-public.isessionservice.md) | | -| [KibanaContext](./kibana-plugin-plugins-data-public.kibanacontext.md) | | -| [KueryNode](./kibana-plugin-plugins-data-public.kuerynode.md) | | -| [MatchAllFilter](./kibana-plugin-plugins-data-public.matchallfilter.md) | | -| [ParsedInterval](./kibana-plugin-plugins-data-public.parsedinterval.md) | | -| [PhraseFilter](./kibana-plugin-plugins-data-public.phrasefilter.md) | | -| [PhrasesFilter](./kibana-plugin-plugins-data-public.phrasesfilter.md) | | -| [QueryStart](./kibana-plugin-plugins-data-public.querystart.md) | | -| [QuerySuggestion](./kibana-plugin-plugins-data-public.querysuggestion.md) | \* | -| [QuerySuggestionGetFn](./kibana-plugin-plugins-data-public.querysuggestiongetfn.md) | | -| [RangeFilter](./kibana-plugin-plugins-data-public.rangefilter.md) | | -| [RangeFilterMeta](./kibana-plugin-plugins-data-public.rangefiltermeta.md) | | -| [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) | | -| [RefreshInterval](./kibana-plugin-plugins-data-public.refreshinterval.md) | | -| [SavedQueryTimeFilter](./kibana-plugin-plugins-data-public.savedquerytimefilter.md) | | -| [SearchBarProps](./kibana-plugin-plugins-data-public.searchbarprops.md) | | -| [StatefulSearchBarProps](./kibana-plugin-plugins-data-public.statefulsearchbarprops.md) | | -| [TimefilterContract](./kibana-plugin-plugins-data-public.timefiltercontract.md) | | -| [TimeHistoryContract](./kibana-plugin-plugins-data-public.timehistorycontract.md) | | -| [TimeRange](./kibana-plugin-plugins-data-public.timerange.md) | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.metric_types.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.metric_types.md deleted file mode 100644 index bdae3ec738ac3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.metric_types.md +++ /dev/null @@ -1,40 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [METRIC\_TYPES](./kibana-plugin-plugins-data-public.metric_types.md) - -## METRIC\_TYPES enum - -Signature: - -```typescript -export declare enum METRIC_TYPES -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| AVG | "avg" | | -| AVG\_BUCKET | "avg_bucket" | | -| CARDINALITY | "cardinality" | | -| COUNT | "count" | | -| CUMULATIVE\_SUM | "cumulative_sum" | | -| DERIVATIVE | "derivative" | | -| FILTERED\_METRIC | "filtered_metric" | | -| GEO\_BOUNDS | "geo_bounds" | | -| GEO\_CENTROID | "geo_centroid" | | -| MAX | "max" | | -| MAX\_BUCKET | "max_bucket" | | -| MEDIAN | "median" | | -| MIN | "min" | | -| MIN\_BUCKET | "min_bucket" | | -| MOVING\_FN | "moving_avg" | | -| PERCENTILE\_RANKS | "percentile_ranks" | | -| PERCENTILES | "percentiles" | | -| SERIAL\_DIFF | "serial_diff" | | -| SINGLE\_PERCENTILE | "single_percentile" | | -| STD\_DEV | "std_dev" | | -| SUM | "sum" | | -| SUM\_BUCKET | "sum_bucket" | | -| TOP\_HITS | "top_hits" | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.nosearchsessionstoragecapabilitymessage.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.nosearchsessionstoragecapabilitymessage.md deleted file mode 100644 index 2bb0a0db8f9b3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.nosearchsessionstoragecapabilitymessage.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [noSearchSessionStorageCapabilityMessage](./kibana-plugin-plugins-data-public.nosearchsessionstoragecapabilitymessage.md) - -## noSearchSessionStorageCapabilityMessage variable - -Message to display in case storing session session is disabled due to turned off capability - -Signature: - -```typescript -noSearchSessionStorageCapabilityMessage: string -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype._constructor_.md deleted file mode 100644 index 47272c7683e65..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [OptionedParamType](./kibana-plugin-plugins-data-public.optionedparamtype.md) > [(constructor)](./kibana-plugin-plugins-data-public.optionedparamtype._constructor_.md) - -## OptionedParamType.(constructor) - -Constructs a new instance of the `OptionedParamType` class - -Signature: - -```typescript -constructor(config: Record); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| config | Record<string, any> | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype.md deleted file mode 100644 index 911f9bdd17113..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [OptionedParamType](./kibana-plugin-plugins-data-public.optionedparamtype.md) - -## OptionedParamType class - -Signature: - -```typescript -export declare class OptionedParamType extends BaseParamType -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(config)](./kibana-plugin-plugins-data-public.optionedparamtype._constructor_.md) | | Constructs a new instance of the OptionedParamType class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [options](./kibana-plugin-plugins-data-public.optionedparamtype.options.md) | | OptionedValueProp[] | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype.options.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype.options.md deleted file mode 100644 index 3d99beaca47c4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedparamtype.options.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [OptionedParamType](./kibana-plugin-plugins-data-public.optionedparamtype.md) > [options](./kibana-plugin-plugins-data-public.optionedparamtype.options.md) - -## OptionedParamType.options property - -Signature: - -```typescript -options: OptionedValueProp[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.disabled.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.disabled.md deleted file mode 100644 index 49516d7e42615..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.disabled.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [OptionedValueProp](./kibana-plugin-plugins-data-public.optionedvalueprop.md) > [disabled](./kibana-plugin-plugins-data-public.optionedvalueprop.disabled.md) - -## OptionedValueProp.disabled property - -Signature: - -```typescript -disabled?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.iscompatible.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.iscompatible.md deleted file mode 100644 index 90fc6ac80b1fe..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.iscompatible.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [OptionedValueProp](./kibana-plugin-plugins-data-public.optionedvalueprop.md) > [isCompatible](./kibana-plugin-plugins-data-public.optionedvalueprop.iscompatible.md) - -## OptionedValueProp.isCompatible property - -Signature: - -```typescript -isCompatible: (agg: IAggConfig) => boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.md deleted file mode 100644 index 11c907db5ead2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [OptionedValueProp](./kibana-plugin-plugins-data-public.optionedvalueprop.md) - -## OptionedValueProp interface - -Signature: - -```typescript -export interface OptionedValueProp -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [disabled](./kibana-plugin-plugins-data-public.optionedvalueprop.disabled.md) | boolean | | -| [isCompatible](./kibana-plugin-plugins-data-public.optionedvalueprop.iscompatible.md) | (agg: IAggConfig) => boolean | | -| [text](./kibana-plugin-plugins-data-public.optionedvalueprop.text.md) | string | | -| [value](./kibana-plugin-plugins-data-public.optionedvalueprop.value.md) | string | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.text.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.text.md deleted file mode 100644 index ce83780da63a9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.text.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [OptionedValueProp](./kibana-plugin-plugins-data-public.optionedvalueprop.md) > [text](./kibana-plugin-plugins-data-public.optionedvalueprop.text.md) - -## OptionedValueProp.text property - -Signature: - -```typescript -text: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.value.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.value.md deleted file mode 100644 index 3403a080d7507..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.optionedvalueprop.value.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [OptionedValueProp](./kibana-plugin-plugins-data-public.optionedvalueprop.md) > [value](./kibana-plugin-plugins-data-public.optionedvalueprop.value.md) - -## OptionedValueProp.value property - -Signature: - -```typescript -value: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parsedinterval.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parsedinterval.md deleted file mode 100644 index 6a940fa9a78b7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parsedinterval.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ParsedInterval](./kibana-plugin-plugins-data-public.parsedinterval.md) - -## ParsedInterval type - -Signature: - -```typescript -export declare type ParsedInterval = ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parsesearchsourcejson.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parsesearchsourcejson.md deleted file mode 100644 index f5014c55fdaab..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parsesearchsourcejson.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [parseSearchSourceJSON](./kibana-plugin-plugins-data-public.parsesearchsourcejson.md) - -## parseSearchSourceJSON variable - -Signature: - -```typescript -parseSearchSourceJSON: (searchSourceJSON: string) => SearchSourceFields -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasefilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasefilter.md deleted file mode 100644 index cc1007655ecf3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasefilter.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [PhraseFilter](./kibana-plugin-plugins-data-public.phrasefilter.md) - -## PhraseFilter type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type PhraseFilter = oldPhraseFilter; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasesfilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasesfilter.md deleted file mode 100644 index 48a41dc34497f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasesfilter.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [PhrasesFilter](./kibana-plugin-plugins-data-public.phrasesfilter.md) - -## PhrasesFilter type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type PhrasesFilter = oldPhrasesFilter; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.md deleted file mode 100644 index 0dad92a0a27ca..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [plugin](./kibana-plugin-plugins-data-public.plugin.md) - -## plugin() function - -Signature: - -```typescript -export declare function plugin(initializerContext: PluginInitializerContext): DataPublicPlugin; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initializerContext | PluginInitializerContext<ConfigSchema> | | - -Returns: - -`DataPublicPlugin` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystart.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystart.md deleted file mode 100644 index f48a9ee7a79e4..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystart.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStart](./kibana-plugin-plugins-data-public.querystart.md) - -## QueryStart type - -Signature: - -```typescript -export declare type QueryStart = ReturnType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.filters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.filters.md deleted file mode 100644 index 7155ea92d82ec..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.filters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryState](./kibana-plugin-plugins-data-public.querystate.md) > [filters](./kibana-plugin-plugins-data-public.querystate.filters.md) - -## QueryState.filters property - -Signature: - -```typescript -filters?: Filter[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.md deleted file mode 100644 index 021d808afecb5..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryState](./kibana-plugin-plugins-data-public.querystate.md) - -## QueryState interface - -All query state service state - -Signature: - -```typescript -export interface QueryState -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [filters](./kibana-plugin-plugins-data-public.querystate.filters.md) | Filter[] | | -| [query](./kibana-plugin-plugins-data-public.querystate.query.md) | Query | | -| [refreshInterval](./kibana-plugin-plugins-data-public.querystate.refreshinterval.md) | RefreshInterval | | -| [time](./kibana-plugin-plugins-data-public.querystate.time.md) | TimeRange | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.query.md deleted file mode 100644 index b0ac376a358dc..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.query.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryState](./kibana-plugin-plugins-data-public.querystate.md) > [query](./kibana-plugin-plugins-data-public.querystate.query.md) - -## QueryState.query property - -Signature: - -```typescript -query?: Query; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.refreshinterval.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.refreshinterval.md deleted file mode 100644 index 04745f94a05af..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.refreshinterval.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryState](./kibana-plugin-plugins-data-public.querystate.md) > [refreshInterval](./kibana-plugin-plugins-data-public.querystate.refreshinterval.md) - -## QueryState.refreshInterval property - -Signature: - -```typescript -refreshInterval?: RefreshInterval; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.time.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.time.md deleted file mode 100644 index 8d08c8250387a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.time.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryState](./kibana-plugin-plugins-data-public.querystate.md) > [time](./kibana-plugin-plugins-data-public.querystate.time.md) - -## QueryState.time property - -Signature: - -```typescript -time?: TimeRange; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.appfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.appfilters.md deleted file mode 100644 index b358e9477e515..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.appfilters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStateChange](./kibana-plugin-plugins-data-public.querystatechange.md) > [appFilters](./kibana-plugin-plugins-data-public.querystatechange.appfilters.md) - -## QueryStateChange.appFilters property - -Signature: - -```typescript -appFilters?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.globalfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.globalfilters.md deleted file mode 100644 index c395f169c35a5..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.globalfilters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStateChange](./kibana-plugin-plugins-data-public.querystatechange.md) > [globalFilters](./kibana-plugin-plugins-data-public.querystatechange.globalfilters.md) - -## QueryStateChange.globalFilters property - -Signature: - -```typescript -globalFilters?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.md deleted file mode 100644 index 71fb211da11d2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystatechange.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStateChange](./kibana-plugin-plugins-data-public.querystatechange.md) - -## QueryStateChange interface - -Signature: - -```typescript -export interface QueryStateChange extends QueryStateChangePartial -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [appFilters](./kibana-plugin-plugins-data-public.querystatechange.appfilters.md) | boolean | | -| [globalFilters](./kibana-plugin-plugins-data-public.querystatechange.globalfilters.md) | boolean | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinput.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinput.md deleted file mode 100644 index 3a0786a110ab6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinput.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInput](./kibana-plugin-plugins-data-public.querystringinput.md) - -## QueryStringInput variable - -Signature: - -```typescript -QueryStringInput: (props: QueryStringInputProps) => JSX.Element -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.autosubmit.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.autosubmit.md deleted file mode 100644 index a221c3fe8ce61..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.autosubmit.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [autoSubmit](./kibana-plugin-plugins-data-public.querystringinputprops.autosubmit.md) - -## QueryStringInputProps.autoSubmit property - -Signature: - -```typescript -autoSubmit?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.bubblesubmitevent.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.bubblesubmitevent.md deleted file mode 100644 index 5a41852001ac0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.bubblesubmitevent.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [bubbleSubmitEvent](./kibana-plugin-plugins-data-public.querystringinputprops.bubblesubmitevent.md) - -## QueryStringInputProps.bubbleSubmitEvent property - -Signature: - -```typescript -bubbleSubmitEvent?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.classname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.classname.md deleted file mode 100644 index 7fa3b76977183..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.classname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [className](./kibana-plugin-plugins-data-public.querystringinputprops.classname.md) - -## QueryStringInputProps.className property - -Signature: - -```typescript -className?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.datatestsubj.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.datatestsubj.md deleted file mode 100644 index edaedf49f4b10..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.datatestsubj.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [dataTestSubj](./kibana-plugin-plugins-data-public.querystringinputprops.datatestsubj.md) - -## QueryStringInputProps.dataTestSubj property - -Signature: - -```typescript -dataTestSubj?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.disableautofocus.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.disableautofocus.md deleted file mode 100644 index cc4c6f606409e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.disableautofocus.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [disableAutoFocus](./kibana-plugin-plugins-data-public.querystringinputprops.disableautofocus.md) - -## QueryStringInputProps.disableAutoFocus property - -Signature: - -```typescript -disableAutoFocus?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.disablelanguageswitcher.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.disablelanguageswitcher.md deleted file mode 100644 index c11edd95a891b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.disablelanguageswitcher.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [disableLanguageSwitcher](./kibana-plugin-plugins-data-public.querystringinputprops.disablelanguageswitcher.md) - -## QueryStringInputProps.disableLanguageSwitcher property - -Signature: - -```typescript -disableLanguageSwitcher?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.icontype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.icontype.md deleted file mode 100644 index 3de186cf77514..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.icontype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [iconType](./kibana-plugin-plugins-data-public.querystringinputprops.icontype.md) - -## QueryStringInputProps.iconType property - -Signature: - -```typescript -iconType?: EuiIconProps['type']; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.indexpatterns.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.indexpatterns.md deleted file mode 100644 index 3783138696020..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.indexpatterns.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [indexPatterns](./kibana-plugin-plugins-data-public.querystringinputprops.indexpatterns.md) - -## QueryStringInputProps.indexPatterns property - -Signature: - -```typescript -indexPatterns: Array; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.isclearable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.isclearable.md deleted file mode 100644 index 738041c2d5750..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.isclearable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [isClearable](./kibana-plugin-plugins-data-public.querystringinputprops.isclearable.md) - -## QueryStringInputProps.isClearable property - -Signature: - -```typescript -isClearable?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.isinvalid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.isinvalid.md deleted file mode 100644 index a282ac3bc5049..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.isinvalid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [isInvalid](./kibana-plugin-plugins-data-public.querystringinputprops.isinvalid.md) - -## QueryStringInputProps.isInvalid property - -Signature: - -```typescript -isInvalid?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.languageswitcherpopoveranchorposition.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.languageswitcherpopoveranchorposition.md deleted file mode 100644 index d133a0930b53d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.languageswitcherpopoveranchorposition.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [languageSwitcherPopoverAnchorPosition](./kibana-plugin-plugins-data-public.querystringinputprops.languageswitcherpopoveranchorposition.md) - -## QueryStringInputProps.languageSwitcherPopoverAnchorPosition property - -Signature: - -```typescript -languageSwitcherPopoverAnchorPosition?: PopoverAnchorPosition; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.md deleted file mode 100644 index f9ef1d87a2dcc..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.md +++ /dev/null @@ -1,43 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) - -## QueryStringInputProps interface - -Signature: - -```typescript -export interface QueryStringInputProps -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [autoSubmit](./kibana-plugin-plugins-data-public.querystringinputprops.autosubmit.md) | boolean | | -| [bubbleSubmitEvent](./kibana-plugin-plugins-data-public.querystringinputprops.bubblesubmitevent.md) | boolean | | -| [className](./kibana-plugin-plugins-data-public.querystringinputprops.classname.md) | string | | -| [dataTestSubj](./kibana-plugin-plugins-data-public.querystringinputprops.datatestsubj.md) | string | | -| [disableAutoFocus](./kibana-plugin-plugins-data-public.querystringinputprops.disableautofocus.md) | boolean | | -| [disableLanguageSwitcher](./kibana-plugin-plugins-data-public.querystringinputprops.disablelanguageswitcher.md) | boolean | | -| [iconType](./kibana-plugin-plugins-data-public.querystringinputprops.icontype.md) | EuiIconProps['type'] | | -| [indexPatterns](./kibana-plugin-plugins-data-public.querystringinputprops.indexpatterns.md) | Array<IIndexPattern | string> | | -| [isClearable](./kibana-plugin-plugins-data-public.querystringinputprops.isclearable.md) | boolean | | -| [isInvalid](./kibana-plugin-plugins-data-public.querystringinputprops.isinvalid.md) | boolean | | -| [languageSwitcherPopoverAnchorPosition](./kibana-plugin-plugins-data-public.querystringinputprops.languageswitcherpopoveranchorposition.md) | PopoverAnchorPosition | | -| [nonKqlMode](./kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmode.md) | 'lucene' | 'text' | | -| [nonKqlModeHelpText](./kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmodehelptext.md) | string | | -| [onBlur](./kibana-plugin-plugins-data-public.querystringinputprops.onblur.md) | () => void | | -| [onChange](./kibana-plugin-plugins-data-public.querystringinputprops.onchange.md) | (query: Query) => void | | -| [onChangeQueryInputFocus](./kibana-plugin-plugins-data-public.querystringinputprops.onchangequeryinputfocus.md) | (isFocused: boolean) => void | | -| [onSubmit](./kibana-plugin-plugins-data-public.querystringinputprops.onsubmit.md) | (query: Query) => void | | -| [persistedLog](./kibana-plugin-plugins-data-public.querystringinputprops.persistedlog.md) | PersistedLog | | -| [placeholder](./kibana-plugin-plugins-data-public.querystringinputprops.placeholder.md) | string | | -| [prepend](./kibana-plugin-plugins-data-public.querystringinputprops.prepend.md) | any | | -| [query](./kibana-plugin-plugins-data-public.querystringinputprops.query.md) | Query | | -| [screenTitle](./kibana-plugin-plugins-data-public.querystringinputprops.screentitle.md) | string | | -| [size](./kibana-plugin-plugins-data-public.querystringinputprops.size.md) | SuggestionsListSize | | -| [storageKey](./kibana-plugin-plugins-data-public.querystringinputprops.storagekey.md) | string | | -| [submitOnBlur](./kibana-plugin-plugins-data-public.querystringinputprops.submitonblur.md) | boolean | | -| [timeRangeForSuggestionsOverride](./kibana-plugin-plugins-data-public.querystringinputprops.timerangeforsuggestionsoverride.md) | boolean | Override whether autocomplete suggestions are restricted by time range. | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmode.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmode.md deleted file mode 100644 index 809bf0bb56b28..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmode.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [nonKqlMode](./kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmode.md) - -## QueryStringInputProps.nonKqlMode property - -Signature: - -```typescript -nonKqlMode?: 'lucene' | 'text'; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmodehelptext.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmodehelptext.md deleted file mode 100644 index 8caf492bebeb1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmodehelptext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [nonKqlModeHelpText](./kibana-plugin-plugins-data-public.querystringinputprops.nonkqlmodehelptext.md) - -## QueryStringInputProps.nonKqlModeHelpText property - -Signature: - -```typescript -nonKqlModeHelpText?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onblur.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onblur.md deleted file mode 100644 index 10f2ae2ea4f14..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onblur.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [onBlur](./kibana-plugin-plugins-data-public.querystringinputprops.onblur.md) - -## QueryStringInputProps.onBlur property - -Signature: - -```typescript -onBlur?: () => void; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onchange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onchange.md deleted file mode 100644 index fee44d7afd506..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onchange.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [onChange](./kibana-plugin-plugins-data-public.querystringinputprops.onchange.md) - -## QueryStringInputProps.onChange property - -Signature: - -```typescript -onChange?: (query: Query) => void; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onchangequeryinputfocus.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onchangequeryinputfocus.md deleted file mode 100644 index 0421ae9c8bac5..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onchangequeryinputfocus.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [onChangeQueryInputFocus](./kibana-plugin-plugins-data-public.querystringinputprops.onchangequeryinputfocus.md) - -## QueryStringInputProps.onChangeQueryInputFocus property - -Signature: - -```typescript -onChangeQueryInputFocus?: (isFocused: boolean) => void; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onsubmit.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onsubmit.md deleted file mode 100644 index 951ec7419485f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.onsubmit.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [onSubmit](./kibana-plugin-plugins-data-public.querystringinputprops.onsubmit.md) - -## QueryStringInputProps.onSubmit property - -Signature: - -```typescript -onSubmit?: (query: Query) => void; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.persistedlog.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.persistedlog.md deleted file mode 100644 index d1a8efb364016..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.persistedlog.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [persistedLog](./kibana-plugin-plugins-data-public.querystringinputprops.persistedlog.md) - -## QueryStringInputProps.persistedLog property - -Signature: - -```typescript -persistedLog?: PersistedLog; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.placeholder.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.placeholder.md deleted file mode 100644 index 31e41f4d55205..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.placeholder.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [placeholder](./kibana-plugin-plugins-data-public.querystringinputprops.placeholder.md) - -## QueryStringInputProps.placeholder property - -Signature: - -```typescript -placeholder?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.prepend.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.prepend.md deleted file mode 100644 index 7be882058d3fd..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.prepend.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [prepend](./kibana-plugin-plugins-data-public.querystringinputprops.prepend.md) - -## QueryStringInputProps.prepend property - -Signature: - -```typescript -prepend?: any; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.query.md deleted file mode 100644 index f15f6d082332b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.query.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [query](./kibana-plugin-plugins-data-public.querystringinputprops.query.md) - -## QueryStringInputProps.query property - -Signature: - -```typescript -query: Query; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.screentitle.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.screentitle.md deleted file mode 100644 index 0c80252d74571..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.screentitle.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [screenTitle](./kibana-plugin-plugins-data-public.querystringinputprops.screentitle.md) - -## QueryStringInputProps.screenTitle property - -Signature: - -```typescript -screenTitle?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.size.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.size.md deleted file mode 100644 index 6b0e53a23e07b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.size.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [size](./kibana-plugin-plugins-data-public.querystringinputprops.size.md) - -## QueryStringInputProps.size property - -Signature: - -```typescript -size?: SuggestionsListSize; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.storagekey.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.storagekey.md deleted file mode 100644 index dd77fe3ee8c32..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.storagekey.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [storageKey](./kibana-plugin-plugins-data-public.querystringinputprops.storagekey.md) - -## QueryStringInputProps.storageKey property - -Signature: - -```typescript -storageKey?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.submitonblur.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.submitonblur.md deleted file mode 100644 index 5188a951c149f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.submitonblur.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [submitOnBlur](./kibana-plugin-plugins-data-public.querystringinputprops.submitonblur.md) - -## QueryStringInputProps.submitOnBlur property - -Signature: - -```typescript -submitOnBlur?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.timerangeforsuggestionsoverride.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.timerangeforsuggestionsoverride.md deleted file mode 100644 index baa6c34aeadba..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinputprops.timerangeforsuggestionsoverride.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QueryStringInputProps](./kibana-plugin-plugins-data-public.querystringinputprops.md) > [timeRangeForSuggestionsOverride](./kibana-plugin-plugins-data-public.querystringinputprops.timerangeforsuggestionsoverride.md) - -## QueryStringInputProps.timeRangeForSuggestionsOverride property - -Override whether autocomplete suggestions are restricted by time range. - -Signature: - -```typescript -timeRangeForSuggestionsOverride?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestion.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestion.md deleted file mode 100644 index 5586b3843d777..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestion.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestion](./kibana-plugin-plugins-data-public.querysuggestion.md) - -## QuerySuggestion type - -\* - -Signature: - -```typescript -export declare type QuerySuggestion = QuerySuggestionBasic | QuerySuggestionField; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.cursorindex.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.cursorindex.md deleted file mode 100644 index bc0a080739746..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.cursorindex.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionBasic](./kibana-plugin-plugins-data-public.querysuggestionbasic.md) > [cursorIndex](./kibana-plugin-plugins-data-public.querysuggestionbasic.cursorindex.md) - -## QuerySuggestionBasic.cursorIndex property - -Signature: - -```typescript -cursorIndex?: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.description.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.description.md deleted file mode 100644 index 2e322c8225a27..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.description.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionBasic](./kibana-plugin-plugins-data-public.querysuggestionbasic.md) > [description](./kibana-plugin-plugins-data-public.querysuggestionbasic.description.md) - -## QuerySuggestionBasic.description property - -Signature: - -```typescript -description?: string | JSX.Element; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.end.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.end.md deleted file mode 100644 index a76e301ca257d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.end.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionBasic](./kibana-plugin-plugins-data-public.querysuggestionbasic.md) > [end](./kibana-plugin-plugins-data-public.querysuggestionbasic.end.md) - -## QuerySuggestionBasic.end property - -Signature: - -```typescript -end: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.md deleted file mode 100644 index ab8fc45cd49dd..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionBasic](./kibana-plugin-plugins-data-public.querysuggestionbasic.md) - -## QuerySuggestionBasic interface - -\* - -Signature: - -```typescript -export interface QuerySuggestionBasic -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [cursorIndex](./kibana-plugin-plugins-data-public.querysuggestionbasic.cursorindex.md) | number | | -| [description](./kibana-plugin-plugins-data-public.querysuggestionbasic.description.md) | string | JSX.Element | | -| [end](./kibana-plugin-plugins-data-public.querysuggestionbasic.end.md) | number | | -| [start](./kibana-plugin-plugins-data-public.querysuggestionbasic.start.md) | number | | -| [text](./kibana-plugin-plugins-data-public.querysuggestionbasic.text.md) | string | | -| [type](./kibana-plugin-plugins-data-public.querysuggestionbasic.type.md) | QuerySuggestionTypes | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.start.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.start.md deleted file mode 100644 index 2b24fc9b2f078..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.start.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionBasic](./kibana-plugin-plugins-data-public.querysuggestionbasic.md) > [start](./kibana-plugin-plugins-data-public.querysuggestionbasic.start.md) - -## QuerySuggestionBasic.start property - -Signature: - -```typescript -start: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.text.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.text.md deleted file mode 100644 index 4054b5e1623d0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.text.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionBasic](./kibana-plugin-plugins-data-public.querysuggestionbasic.md) > [text](./kibana-plugin-plugins-data-public.querysuggestionbasic.text.md) - -## QuerySuggestionBasic.text property - -Signature: - -```typescript -text: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.type.md deleted file mode 100644 index 1bce656d94b57..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionBasic](./kibana-plugin-plugins-data-public.querysuggestionbasic.md) > [type](./kibana-plugin-plugins-data-public.querysuggestionbasic.type.md) - -## QuerySuggestionBasic.type property - -Signature: - -```typescript -type: QuerySuggestionTypes; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.field.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.field.md deleted file mode 100644 index ce4e3a9afeb4e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.field.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionField](./kibana-plugin-plugins-data-public.querysuggestionfield.md) > [field](./kibana-plugin-plugins-data-public.querysuggestionfield.field.md) - -## QuerySuggestionField.field property - -Signature: - -```typescript -field: IFieldType; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.md deleted file mode 100644 index 88eb29d4ed66f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionField](./kibana-plugin-plugins-data-public.querysuggestionfield.md) - -## QuerySuggestionField interface - -\* - -Signature: - -```typescript -export interface QuerySuggestionField extends QuerySuggestionBasic -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [field](./kibana-plugin-plugins-data-public.querysuggestionfield.field.md) | IFieldType | | -| [type](./kibana-plugin-plugins-data-public.querysuggestionfield.type.md) | QuerySuggestionTypes.Field | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.type.md deleted file mode 100644 index 185ee7dc47f22..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionField](./kibana-plugin-plugins-data-public.querysuggestionfield.md) > [type](./kibana-plugin-plugins-data-public.querysuggestionfield.type.md) - -## QuerySuggestionField.type property - -Signature: - -```typescript -type: QuerySuggestionTypes.Field; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfn.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfn.md deleted file mode 100644 index 30a4630d6a983..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfn.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFn](./kibana-plugin-plugins-data-public.querysuggestiongetfn.md) - -## QuerySuggestionGetFn type - -Signature: - -```typescript -export declare type QuerySuggestionGetFn = (args: QuerySuggestionGetFnArgs) => Promise | undefined; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.boolfilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.boolfilter.md deleted file mode 100644 index e5fecb8a2db16..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.boolfilter.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) > [boolFilter](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.boolfilter.md) - -## QuerySuggestionGetFnArgs.boolFilter property - -Signature: - -```typescript -boolFilter?: any; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.indexpatterns.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.indexpatterns.md deleted file mode 100644 index 2ad3b2ea63308..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.indexpatterns.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) > [indexPatterns](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.indexpatterns.md) - -## QuerySuggestionGetFnArgs.indexPatterns property - -Signature: - -```typescript -indexPatterns: IIndexPattern[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.language.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.language.md deleted file mode 100644 index adebd05d21a1f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.language.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) > [language](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.language.md) - -## QuerySuggestionGetFnArgs.language property - -Signature: - -```typescript -language: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md deleted file mode 100644 index 7c850a89dff13..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) - -## QuerySuggestionGetFnArgs interface - -\* - -Signature: - -```typescript -export interface QuerySuggestionGetFnArgs -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [boolFilter](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.boolfilter.md) | any | | -| [indexPatterns](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.indexpatterns.md) | IIndexPattern[] | | -| [language](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.language.md) | string | | -| [method](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.method.md) | ValueSuggestionsMethod | | -| [query](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.query.md) | string | | -| [selectionEnd](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionend.md) | number | | -| [selectionStart](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionstart.md) | number | | -| [signal](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.signal.md) | AbortSignal | | -| [useTimeRange](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.usetimerange.md) | boolean | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.method.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.method.md deleted file mode 100644 index 2bc9a4fba61c3..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.method.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) > [method](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.method.md) - -## QuerySuggestionGetFnArgs.method property - -Signature: - -```typescript -method?: ValueSuggestionsMethod; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.query.md deleted file mode 100644 index 4cbe5a255841c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.query.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) > [query](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.query.md) - -## QuerySuggestionGetFnArgs.query property - -Signature: - -```typescript -query: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionend.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionend.md deleted file mode 100644 index 458a28cb6b1fa..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionend.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) > [selectionEnd](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionend.md) - -## QuerySuggestionGetFnArgs.selectionEnd property - -Signature: - -```typescript -selectionEnd: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionstart.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionstart.md deleted file mode 100644 index c253140468746..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionstart.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) > [selectionStart](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionstart.md) - -## QuerySuggestionGetFnArgs.selectionStart property - -Signature: - -```typescript -selectionStart: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.signal.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.signal.md deleted file mode 100644 index 9a24fd2b47a14..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.signal.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) > [signal](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.signal.md) - -## QuerySuggestionGetFnArgs.signal property - -Signature: - -```typescript -signal?: AbortSignal; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.usetimerange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.usetimerange.md deleted file mode 100644 index a29cddd81d885..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.usetimerange.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) > [useTimeRange](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.usetimerange.md) - -## QuerySuggestionGetFnArgs.useTimeRange property - -Signature: - -```typescript -useTimeRange?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiontypes.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiontypes.md deleted file mode 100644 index fd5010167eaa1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiontypes.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [QuerySuggestionTypes](./kibana-plugin-plugins-data-public.querysuggestiontypes.md) - -## QuerySuggestionTypes enum - -Signature: - -```typescript -export declare enum QuerySuggestionTypes -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| Conjunction | "conjunction" | | -| Field | "field" | | -| Operator | "operator" | | -| RecentSearch | "recentSearch" | | -| Value | "value" | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilter.md deleted file mode 100644 index 5d452d759c934..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilter.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilter](./kibana-plugin-plugins-data-public.rangefilter.md) - -## RangeFilter type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type RangeFilter = oldRangeFilter; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefiltermeta.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefiltermeta.md deleted file mode 100644 index eefb773f5727f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefiltermeta.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterMeta](./kibana-plugin-plugins-data-public.rangefiltermeta.md) - -## RangeFilterMeta type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type RangeFilterMeta = oldRangeFilterMeta; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.md deleted file mode 100644 index df78be16e6d01..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) - -## RangeFilterParams type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type RangeFilterParams = oldRangeFilterParams; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.caused_by.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.caused_by.md deleted file mode 100644 index f1df7f98aad4c..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.caused_by.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Reason](./kibana-plugin-plugins-data-public.reason.md) > [caused\_by](./kibana-plugin-plugins-data-public.reason.caused_by.md) - -## Reason.caused\_by property - -Signature: - -```typescript -caused_by?: { - type: string; - reason: string; - }; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.lang.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.lang.md deleted file mode 100644 index 757d8f34a0c3a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.lang.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Reason](./kibana-plugin-plugins-data-public.reason.md) > [lang](./kibana-plugin-plugins-data-public.reason.lang.md) - -## Reason.lang property - -Signature: - -```typescript -lang?: estypes.ScriptLanguage; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.md deleted file mode 100644 index fb39333cf245e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Reason](./kibana-plugin-plugins-data-public.reason.md) - -## Reason interface - -Signature: - -```typescript -export interface Reason -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [caused\_by](./kibana-plugin-plugins-data-public.reason.caused_by.md) | {
type: string;
reason: string;
} | | -| [lang](./kibana-plugin-plugins-data-public.reason.lang.md) | estypes.ScriptLanguage | | -| [position](./kibana-plugin-plugins-data-public.reason.position.md) | {
offset: number;
start: number;
end: number;
} | | -| [reason](./kibana-plugin-plugins-data-public.reason.reason.md) | string | | -| [script\_stack](./kibana-plugin-plugins-data-public.reason.script_stack.md) | string[] | | -| [script](./kibana-plugin-plugins-data-public.reason.script.md) | string | | -| [type](./kibana-plugin-plugins-data-public.reason.type.md) | string | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.position.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.position.md deleted file mode 100644 index fc727f0aaf59e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.position.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Reason](./kibana-plugin-plugins-data-public.reason.md) > [position](./kibana-plugin-plugins-data-public.reason.position.md) - -## Reason.position property - -Signature: - -```typescript -position?: { - offset: number; - start: number; - end: number; - }; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.reason.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.reason.md deleted file mode 100644 index 0e435cc7c5b85..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.reason.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Reason](./kibana-plugin-plugins-data-public.reason.md) > [reason](./kibana-plugin-plugins-data-public.reason.reason.md) - -## Reason.reason property - -Signature: - -```typescript -reason: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.script.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.script.md deleted file mode 100644 index 09451d51f087a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.script.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Reason](./kibana-plugin-plugins-data-public.reason.md) > [script](./kibana-plugin-plugins-data-public.reason.script.md) - -## Reason.script property - -Signature: - -```typescript -script?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.script_stack.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.script_stack.md deleted file mode 100644 index e322481147ae9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.script_stack.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Reason](./kibana-plugin-plugins-data-public.reason.md) > [script\_stack](./kibana-plugin-plugins-data-public.reason.script_stack.md) - -## Reason.script\_stack property - -Signature: - -```typescript -script_stack?: string[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.type.md deleted file mode 100644 index 482f191ae4aab..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.reason.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Reason](./kibana-plugin-plugins-data-public.reason.md) > [type](./kibana-plugin-plugins-data-public.reason.type.md) - -## Reason.type property - -Signature: - -```typescript -type: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.md deleted file mode 100644 index b6067e081b943..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RefreshInterval](./kibana-plugin-plugins-data-public.refreshinterval.md) - -## RefreshInterval type - -Signature: - -```typescript -export declare type RefreshInterval = { - pause: boolean; - value: number; -}; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.attributes.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.attributes.md deleted file mode 100644 index 6c5277162fd51..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.attributes.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQuery](./kibana-plugin-plugins-data-public.savedquery.md) > [attributes](./kibana-plugin-plugins-data-public.savedquery.attributes.md) - -## SavedQuery.attributes property - -Signature: - -```typescript -attributes: SavedQueryAttributes; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.id.md deleted file mode 100644 index 386a1d048e937..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQuery](./kibana-plugin-plugins-data-public.savedquery.md) > [id](./kibana-plugin-plugins-data-public.savedquery.id.md) - -## SavedQuery.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.md deleted file mode 100644 index 14c143edf13c1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQuery](./kibana-plugin-plugins-data-public.savedquery.md) - -## SavedQuery interface - -Signature: - -```typescript -export interface SavedQuery -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [attributes](./kibana-plugin-plugins-data-public.savedquery.attributes.md) | SavedQueryAttributes | | -| [id](./kibana-plugin-plugins-data-public.savedquery.id.md) | string | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.deletesavedquery.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.deletesavedquery.md deleted file mode 100644 index 5dd12a011ceca..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.deletesavedquery.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryService](./kibana-plugin-plugins-data-public.savedqueryservice.md) > [deleteSavedQuery](./kibana-plugin-plugins-data-public.savedqueryservice.deletesavedquery.md) - -## SavedQueryService.deleteSavedQuery property - -Signature: - -```typescript -deleteSavedQuery: (id: string) => Promise<{}>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.findsavedqueries.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.findsavedqueries.md deleted file mode 100644 index ef3f6ea1645f0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.findsavedqueries.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryService](./kibana-plugin-plugins-data-public.savedqueryservice.md) > [findSavedQueries](./kibana-plugin-plugins-data-public.savedqueryservice.findsavedqueries.md) - -## SavedQueryService.findSavedQueries property - -Signature: - -```typescript -findSavedQueries: (searchText?: string, perPage?: number, activePage?: number) => Promise<{ - total: number; - queries: SavedQuery[]; - }>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getallsavedqueries.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getallsavedqueries.md deleted file mode 100644 index ef5048f3b22b8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getallsavedqueries.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryService](./kibana-plugin-plugins-data-public.savedqueryservice.md) > [getAllSavedQueries](./kibana-plugin-plugins-data-public.savedqueryservice.getallsavedqueries.md) - -## SavedQueryService.getAllSavedQueries property - -Signature: - -```typescript -getAllSavedQueries: () => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getsavedquery.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getsavedquery.md deleted file mode 100644 index 19c8fcc2a3f40..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getsavedquery.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryService](./kibana-plugin-plugins-data-public.savedqueryservice.md) > [getSavedQuery](./kibana-plugin-plugins-data-public.savedqueryservice.getsavedquery.md) - -## SavedQueryService.getSavedQuery property - -Signature: - -```typescript -getSavedQuery: (id: string) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getsavedquerycount.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getsavedquerycount.md deleted file mode 100644 index 225c74abe289f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getsavedquerycount.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryService](./kibana-plugin-plugins-data-public.savedqueryservice.md) > [getSavedQueryCount](./kibana-plugin-plugins-data-public.savedqueryservice.getsavedquerycount.md) - -## SavedQueryService.getSavedQueryCount property - -Signature: - -```typescript -getSavedQueryCount: () => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.md deleted file mode 100644 index de48d867a9580..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryService](./kibana-plugin-plugins-data-public.savedqueryservice.md) - -## SavedQueryService interface - -Signature: - -```typescript -export interface SavedQueryService -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [deleteSavedQuery](./kibana-plugin-plugins-data-public.savedqueryservice.deletesavedquery.md) | (id: string) => Promise<{}> | | -| [findSavedQueries](./kibana-plugin-plugins-data-public.savedqueryservice.findsavedqueries.md) | (searchText?: string, perPage?: number, activePage?: number) => Promise<{
total: number;
queries: SavedQuery[];
}> | | -| [getAllSavedQueries](./kibana-plugin-plugins-data-public.savedqueryservice.getallsavedqueries.md) | () => Promise<SavedQuery[]> | | -| [getSavedQuery](./kibana-plugin-plugins-data-public.savedqueryservice.getsavedquery.md) | (id: string) => Promise<SavedQuery> | | -| [getSavedQueryCount](./kibana-plugin-plugins-data-public.savedqueryservice.getsavedquerycount.md) | () => Promise<number> | | -| [saveQuery](./kibana-plugin-plugins-data-public.savedqueryservice.savequery.md) | (attributes: SavedQueryAttributes, config?: {
overwrite: boolean;
}) => Promise<SavedQuery> | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.savequery.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.savequery.md deleted file mode 100644 index 64bced8ace292..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.savequery.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryService](./kibana-plugin-plugins-data-public.savedqueryservice.md) > [saveQuery](./kibana-plugin-plugins-data-public.savedqueryservice.savequery.md) - -## SavedQueryService.saveQuery property - -Signature: - -```typescript -saveQuery: (attributes: SavedQueryAttributes, config?: { - overwrite: boolean; - }) => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquerytimefilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquerytimefilter.md deleted file mode 100644 index 542ed16ec1ef6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquerytimefilter.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryTimeFilter](./kibana-plugin-plugins-data-public.savedquerytimefilter.md) - -## SavedQueryTimeFilter type - -Signature: - -```typescript -export declare type SavedQueryTimeFilter = TimeRange & { - refreshInterval: RefreshInterval; -}; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.search.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.search.md deleted file mode 100644 index c54ffedf61034..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.search.md +++ /dev/null @@ -1,62 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [search](./kibana-plugin-plugins-data-public.search.md) - -## search variable - -Signature: - -```typescript -search: { - aggs: { - CidrMask: typeof CidrMask; - dateHistogramInterval: typeof dateHistogramInterval; - intervalOptions: ({ - display: string; - val: string; - enabled(agg: import("../common").IBucketAggConfig): boolean; - } | { - display: string; - val: string; - })[]; - InvalidEsCalendarIntervalError: typeof InvalidEsCalendarIntervalError; - InvalidEsIntervalFormatError: typeof InvalidEsIntervalFormatError; - IpAddress: typeof IpAddress; - isDateHistogramBucketAggConfig: typeof isDateHistogramBucketAggConfig; - isNumberType: (agg: import("../common").AggConfig) => boolean; - isStringType: (agg: import("../common").AggConfig) => boolean; - isType: (...types: string[]) => (agg: import("../common").AggConfig) => boolean; - isValidEsInterval: typeof isValidEsInterval; - isValidInterval: typeof isValidInterval; - parentPipelineType: string; - parseEsInterval: typeof parseEsInterval; - parseInterval: typeof parseInterval; - propFilter: typeof propFilter; - siblingPipelineType: string; - termsAggFilter: string[]; - toAbsoluteDates: typeof toAbsoluteDates; - boundsDescendingRaw: ({ - bound: number; - interval: import("moment").Duration; - boundLabel: string; - intervalLabel: string; - } | { - bound: import("moment").Duration; - interval: import("moment").Duration; - boundLabel: string; - intervalLabel: string; - })[]; - getNumberHistogramIntervalByDatatableColumn: (column: import("../../expressions").DatatableColumn) => number | undefined; - getDateHistogramMetaDataByDatatableColumn: (column: import("../../expressions").DatatableColumn, defaults?: Partial<{ - timeZone: string; - }>) => { - interval: string | undefined; - timeZone: string | undefined; - timeRange: import("../common").TimeRange | undefined; - } | undefined; - }; - getResponseInspectorStats: typeof getResponseInspectorStats; - tabifyAggResponse: typeof tabifyAggResponse; - tabifyGetColumns: typeof tabifyGetColumns; -} -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.search_sessions_management_id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.search_sessions_management_id.md deleted file mode 100644 index ad16d21403a98..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.search_sessions_management_id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SEARCH\_SESSIONS\_MANAGEMENT\_ID](./kibana-plugin-plugins-data-public.search_sessions_management_id.md) - -## SEARCH\_SESSIONS\_MANAGEMENT\_ID variable - -Signature: - -```typescript -SEARCH_SESSIONS_MANAGEMENT_ID = "search_sessions" -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbar.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbar.md deleted file mode 100644 index cd9bd61736225..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbar.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchBar](./kibana-plugin-plugins-data-public.searchbar.md) - -## SearchBar variable - -Signature: - -```typescript -SearchBar: React.ComponentClass, "query" | "placeholder" | "isLoading" | "iconType" | "indexPatterns" | "filters" | "dataTestSubj" | "refreshInterval" | "isClearable" | "nonKqlMode" | "nonKqlModeHelpText" | "screenTitle" | "onRefresh" | "onRefreshChange" | "showQueryInput" | "showDatePicker" | "showAutoRefreshOnly" | "dateRangeFrom" | "dateRangeTo" | "isRefreshPaused" | "customSubmitButton" | "timeHistory" | "indicateNoData" | "onFiltersUpdated" | "savedQuery" | "showSaveQuery" | "onClearSavedQuery" | "showQueryBar" | "showFilterBar" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "displayStyle">, any> & { - WrappedComponent: React.ComponentType & ReactIntl.InjectedIntlProps>; -} -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbarprops.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbarprops.md deleted file mode 100644 index 7ab0c19fd37ba..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbarprops.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchBarProps](./kibana-plugin-plugins-data-public.searchbarprops.md) - -## SearchBarProps type - -Signature: - -```typescript -export declare type SearchBarProps = SearchBarOwnProps & SearchBarInjectedDeps; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.appendsessionstarttimetoname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.appendsessionstarttimetoname.md deleted file mode 100644 index 6b6b58d1838c9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.appendsessionstarttimetoname.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSessionInfoProvider](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.md) > [appendSessionStartTimeToName](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.appendsessionstarttimetoname.md) - -## SearchSessionInfoProvider.appendSessionStartTimeToName property - -Append session start time to a session name, `true` by default - -Signature: - -```typescript -appendSessionStartTimeToName?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.getname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.getname.md deleted file mode 100644 index 75351434a7bb9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.getname.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSessionInfoProvider](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.md) > [getName](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.getname.md) - -## SearchSessionInfoProvider.getName property - -User-facing name of the session. e.g. will be displayed in saved Search Sessions management list - -Signature: - -```typescript -getName: () => Promise; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.geturlgeneratordata.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.geturlgeneratordata.md deleted file mode 100644 index 01558ed3dddad..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.geturlgeneratordata.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSessionInfoProvider](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.md) > [getUrlGeneratorData](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.geturlgeneratordata.md) - -## SearchSessionInfoProvider.getUrlGeneratorData property - -Signature: - -```typescript -getUrlGeneratorData: () => Promise<{ - urlGeneratorId: ID; - initialState: UrlGeneratorStateMapping[ID]['State']; - restoreState: UrlGeneratorStateMapping[ID]['State']; - }>; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.md deleted file mode 100644 index b6dfbd9fbb7cf..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessioninfoprovider.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSessionInfoProvider](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.md) - -## SearchSessionInfoProvider interface - -Provide info about current search session to be stored in the Search Session saved object - -Signature: - -```typescript -export interface SearchSessionInfoProvider -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [appendSessionStartTimeToName](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.appendsessionstarttimetoname.md) | boolean | Append session start time to a session name, true by default | -| [getName](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.getname.md) | () => Promise<string> | User-facing name of the session. e.g. will be displayed in saved Search Sessions management list | -| [getUrlGeneratorData](./kibana-plugin-plugins-data-public.searchsessioninfoprovider.geturlgeneratordata.md) | () => Promise<{
urlGeneratorId: ID;
initialState: UrlGeneratorStateMapping[ID]['State'];
restoreState: UrlGeneratorStateMapping[ID]['State'];
}> | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessionstate.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessionstate.md deleted file mode 100644 index c650ec6b26166..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsessionstate.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSessionState](./kibana-plugin-plugins-data-public.searchsessionstate.md) - -## SearchSessionState enum - -Possible state that current session can be in - -Signature: - -```typescript -export declare enum SearchSessionState -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| BackgroundCompleted | "backgroundCompleted" | Page load completed with search session created. | -| BackgroundLoading | "backgroundLoading" | Search session was sent to the background. The page is loading in background. | -| Canceled | "canceled" | Current session requests where explicitly canceled by user Displaying none or partial results | -| Completed | "completed" | No action was taken and the page completed loading without search session creation. | -| Loading | "loading" | Pending search request has not been sent to the background yet | -| None | "none" | Session is not active, e.g. didn't start | -| Restored | "restored" | Revisiting the page after background completion | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource._constructor_.md deleted file mode 100644 index 00e9050ee8ff9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource._constructor_.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [(constructor)](./kibana-plugin-plugins-data-public.searchsource._constructor_.md) - -## SearchSource.(constructor) - -Constructs a new instance of the `SearchSource` class - -Signature: - -```typescript -constructor(fields: SearchSourceFields | undefined, dependencies: SearchSourceDependencies); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fields | SearchSourceFields | undefined | | -| dependencies | SearchSourceDependencies | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.create.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.create.md deleted file mode 100644 index 4264c3ff224b1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.create.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [create](./kibana-plugin-plugins-data-public.searchsource.create.md) - -## SearchSource.create() method - -> Warning: This API is now obsolete. -> -> Don't use. -> - -Signature: - -```typescript -create(): SearchSource; -``` -Returns: - -`SearchSource` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.createchild.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.createchild.md deleted file mode 100644 index 0c2e75651b354..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.createchild.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [createChild](./kibana-plugin-plugins-data-public.searchsource.createchild.md) - -## SearchSource.createChild() method - -creates a new child search source - -Signature: - -```typescript -createChild(options?: {}): SearchSource; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| options | {} | | - -Returns: - -`SearchSource` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.createcopy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.createcopy.md deleted file mode 100644 index 1053d31010d00..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.createcopy.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [createCopy](./kibana-plugin-plugins-data-public.searchsource.createcopy.md) - -## SearchSource.createCopy() method - -creates a copy of this search source (without its children) - -Signature: - -```typescript -createCopy(): SearchSource; -``` -Returns: - -`SearchSource` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.destroy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.destroy.md deleted file mode 100644 index 8a7cc5ee75d11..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.destroy.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [destroy](./kibana-plugin-plugins-data-public.searchsource.destroy.md) - -## SearchSource.destroy() method - -Completely destroy the SearchSource. {undefined} - -Signature: - -```typescript -destroy(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.fetch.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.fetch.md deleted file mode 100644 index b00a7f31318eb..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.fetch.md +++ /dev/null @@ -1,29 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [fetch](./kibana-plugin-plugins-data-public.searchsource.fetch.md) - -## SearchSource.fetch() method - -> Warning: This API is now obsolete. -> -> Use the `fetch$` method instead 8.1 -> - -Fetch this source and reject the returned Promise on error - -Signature: - -```typescript -fetch(options?: ISearchOptions): Promise>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| options | ISearchOptions | | - -Returns: - -`Promise>` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.fetch_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.fetch_.md deleted file mode 100644 index 8bc4b7606ab51..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.fetch_.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [fetch$](./kibana-plugin-plugins-data-public.searchsource.fetch_.md) - -## SearchSource.fetch$() method - -Fetch this source from Elasticsearch, returning an observable over the response(s) - -Signature: - -```typescript -fetch$(options?: ISearchOptions): Observable>>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| options | ISearchOptions | | - -Returns: - -`Observable>>` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getfield.md deleted file mode 100644 index 7c516cc29df15..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getfield.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [getField](./kibana-plugin-plugins-data-public.searchsource.getfield.md) - -## SearchSource.getField() method - -Gets a single field from the fields - -Signature: - -```typescript -getField(field: K, recurse?: boolean): SearchSourceFields[K]; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| field | K | | -| recurse | boolean | | - -Returns: - -`SearchSourceFields[K]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getfields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getfields.md deleted file mode 100644 index 856e43588ffb7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getfields.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [getFields](./kibana-plugin-plugins-data-public.searchsource.getfields.md) - -## SearchSource.getFields() method - -returns all search source fields - -Signature: - -```typescript -getFields(): SearchSourceFields; -``` -Returns: - -`SearchSourceFields` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getid.md deleted file mode 100644 index b33410d86ae85..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getid.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [getId](./kibana-plugin-plugins-data-public.searchsource.getid.md) - -## SearchSource.getId() method - -returns search source id - -Signature: - -```typescript -getId(): string; -``` -Returns: - -`string` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getownfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getownfield.md deleted file mode 100644 index d5a133772264e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getownfield.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [getOwnField](./kibana-plugin-plugins-data-public.searchsource.getownfield.md) - -## SearchSource.getOwnField() method - -Get the field from our own fields, don't traverse up the chain - -Signature: - -```typescript -getOwnField(field: K): SearchSourceFields[K]; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| field | K | | - -Returns: - -`SearchSourceFields[K]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getparent.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getparent.md deleted file mode 100644 index 14578f7949ba6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getparent.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [getParent](./kibana-plugin-plugins-data-public.searchsource.getparent.md) - -## SearchSource.getParent() method - -Get the parent of this SearchSource {undefined\|searchSource} - -Signature: - -```typescript -getParent(): SearchSource | undefined; -``` -Returns: - -`SearchSource | undefined` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getsearchrequestbody.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getsearchrequestbody.md deleted file mode 100644 index d384b9659dbcd..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getsearchrequestbody.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [getSearchRequestBody](./kibana-plugin-plugins-data-public.searchsource.getsearchrequestbody.md) - -## SearchSource.getSearchRequestBody() method - -Returns body contents of the search request, often referred as query DSL. - -Signature: - -```typescript -getSearchRequestBody(): any; -``` -Returns: - -`any` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getserializedfields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getserializedfields.md deleted file mode 100644 index 19bd4a7888bf2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getserializedfields.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [getSerializedFields](./kibana-plugin-plugins-data-public.searchsource.getserializedfields.md) - -## SearchSource.getSerializedFields() method - -serializes search source fields (which can later be passed to [ISearchStartSearchSource](./kibana-plugin-plugins-data-public.isearchstartsearchsource.md)) - -Signature: - -```typescript -getSerializedFields(recurse?: boolean): SearchSourceFields; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| recurse | boolean | | - -Returns: - -`SearchSourceFields` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.history.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.history.md deleted file mode 100644 index e77c9dac7239f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.history.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [history](./kibana-plugin-plugins-data-public.searchsource.history.md) - -## SearchSource.history property - -Signature: - -```typescript -history: SearchRequest[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.md deleted file mode 100644 index b2382d35f7d76..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.md +++ /dev/null @@ -1,51 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) - -## SearchSource class - -\* - -Signature: - -```typescript -export declare class SearchSource -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(fields, dependencies)](./kibana-plugin-plugins-data-public.searchsource._constructor_.md) | | Constructs a new instance of the SearchSource class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [history](./kibana-plugin-plugins-data-public.searchsource.history.md) | | SearchRequest[] | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [create()](./kibana-plugin-plugins-data-public.searchsource.create.md) | | | -| [createChild(options)](./kibana-plugin-plugins-data-public.searchsource.createchild.md) | | creates a new child search source | -| [createCopy()](./kibana-plugin-plugins-data-public.searchsource.createcopy.md) | | creates a copy of this search source (without its children) | -| [destroy()](./kibana-plugin-plugins-data-public.searchsource.destroy.md) | | Completely destroy the SearchSource. {undefined} | -| [fetch(options)](./kibana-plugin-plugins-data-public.searchsource.fetch.md) | | Fetch this source and reject the returned Promise on error | -| [fetch$(options)](./kibana-plugin-plugins-data-public.searchsource.fetch_.md) | | Fetch this source from Elasticsearch, returning an observable over the response(s) | -| [getField(field, recurse)](./kibana-plugin-plugins-data-public.searchsource.getfield.md) | | Gets a single field from the fields | -| [getFields()](./kibana-plugin-plugins-data-public.searchsource.getfields.md) | | returns all search source fields | -| [getId()](./kibana-plugin-plugins-data-public.searchsource.getid.md) | | returns search source id | -| [getOwnField(field)](./kibana-plugin-plugins-data-public.searchsource.getownfield.md) | | Get the field from our own fields, don't traverse up the chain | -| [getParent()](./kibana-plugin-plugins-data-public.searchsource.getparent.md) | | Get the parent of this SearchSource {undefined\|searchSource} | -| [getSearchRequestBody()](./kibana-plugin-plugins-data-public.searchsource.getsearchrequestbody.md) | | Returns body contents of the search request, often referred as query DSL. | -| [getSerializedFields(recurse)](./kibana-plugin-plugins-data-public.searchsource.getserializedfields.md) | | serializes search source fields (which can later be passed to [ISearchStartSearchSource](./kibana-plugin-plugins-data-public.isearchstartsearchsource.md)) | -| [onRequestStart(handler)](./kibana-plugin-plugins-data-public.searchsource.onrequeststart.md) | | Add a handler that will be notified whenever requests start | -| [removeField(field)](./kibana-plugin-plugins-data-public.searchsource.removefield.md) | | remove field | -| [serialize()](./kibana-plugin-plugins-data-public.searchsource.serialize.md) | | Serializes the instance to a JSON string and a set of referenced objects. Use this method to get a representation of the search source which can be stored in a saved object.The references returned by this function can be mixed with other references in the same object, however make sure there are no name-collisions. The references will be named kibanaSavedObjectMeta.searchSourceJSON.index and kibanaSavedObjectMeta.searchSourceJSON.filter[<number>].meta.index.Using createSearchSource, the instance can be re-created. | -| [setField(field, value)](./kibana-plugin-plugins-data-public.searchsource.setfield.md) | | sets value to a single search source field | -| [setFields(newFields)](./kibana-plugin-plugins-data-public.searchsource.setfields.md) | | Internal, do not use. Overrides all search source fields with the new field array. | -| [setParent(parent, options)](./kibana-plugin-plugins-data-public.searchsource.setparent.md) | | Set a searchSource that this source should inherit from | -| [setPreferredSearchStrategyId(searchStrategyId)](./kibana-plugin-plugins-data-public.searchsource.setpreferredsearchstrategyid.md) | | internal, dont use | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.onrequeststart.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.onrequeststart.md deleted file mode 100644 index a9386ddae44e1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.onrequeststart.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [onRequestStart](./kibana-plugin-plugins-data-public.searchsource.onrequeststart.md) - -## SearchSource.onRequestStart() method - -Add a handler that will be notified whenever requests start - -Signature: - -```typescript -onRequestStart(handler: (searchSource: SearchSource, options?: ISearchOptions) => Promise): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| handler | (searchSource: SearchSource, options?: ISearchOptions) => Promise<unknown> | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.removefield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.removefield.md deleted file mode 100644 index 1e6b63be997ff..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.removefield.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [removeField](./kibana-plugin-plugins-data-public.searchsource.removefield.md) - -## SearchSource.removeField() method - -remove field - -Signature: - -```typescript -removeField(field: K): this; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| field | K | | - -Returns: - -`this` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.serialize.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.serialize.md deleted file mode 100644 index 496e1ae9677d8..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.serialize.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [serialize](./kibana-plugin-plugins-data-public.searchsource.serialize.md) - -## SearchSource.serialize() method - -Serializes the instance to a JSON string and a set of referenced objects. Use this method to get a representation of the search source which can be stored in a saved object. - -The references returned by this function can be mixed with other references in the same object, however make sure there are no name-collisions. The references will be named `kibanaSavedObjectMeta.searchSourceJSON.index` and `kibanaSavedObjectMeta.searchSourceJSON.filter[].meta.index`. - -Using `createSearchSource`, the instance can be re-created. - -Signature: - -```typescript -serialize(): { - searchSourceJSON: string; - references: import("../../../../../core/types").SavedObjectReference[]; - }; -``` -Returns: - -`{ - searchSourceJSON: string; - references: import("../../../../../core/types").SavedObjectReference[]; - }` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setfield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setfield.md deleted file mode 100644 index e96a35d8deee9..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setfield.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [setField](./kibana-plugin-plugins-data-public.searchsource.setfield.md) - -## SearchSource.setField() method - -sets value to a single search source field - -Signature: - -```typescript -setField(field: K, value: SearchSourceFields[K]): this; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| field | K | | -| value | SearchSourceFields[K] | | - -Returns: - -`this` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setfields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setfields.md deleted file mode 100644 index f92ffc0fc991d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setfields.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [setFields](./kibana-plugin-plugins-data-public.searchsource.setfields.md) - -## SearchSource.setFields() method - -Internal, do not use. Overrides all search source fields with the new field array. - - -Signature: - -```typescript -setFields(newFields: SearchSourceFields): this; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| newFields | SearchSourceFields | | - -Returns: - -`this` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setparent.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setparent.md deleted file mode 100644 index 19bf10bec210f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setparent.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [setParent](./kibana-plugin-plugins-data-public.searchsource.setparent.md) - -## SearchSource.setParent() method - -Set a searchSource that this source should inherit from - -Signature: - -```typescript -setParent(parent?: ISearchSource, options?: SearchSourceOptions): this; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| parent | ISearchSource | | -| options | SearchSourceOptions | | - -Returns: - -`this` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setpreferredsearchstrategyid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setpreferredsearchstrategyid.md deleted file mode 100644 index e3261873ba104..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setpreferredsearchstrategyid.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) > [setPreferredSearchStrategyId](./kibana-plugin-plugins-data-public.searchsource.setpreferredsearchstrategyid.md) - -## SearchSource.setPreferredSearchStrategyId() method - -internal, dont use - -Signature: - -```typescript -setPreferredSearchStrategyId(searchStrategyId: string): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| searchStrategyId | string | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.aggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.aggs.md deleted file mode 100644 index 12011f8242996..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.aggs.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [aggs](./kibana-plugin-plugins-data-public.searchsourcefields.aggs.md) - -## SearchSourceFields.aggs property - -[AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) - -Signature: - -```typescript -aggs?: object | IAggConfigs | (() => object); -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fields.md deleted file mode 100644 index 87f6a0cb7b80f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fields.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [fields](./kibana-plugin-plugins-data-public.searchsourcefields.fields.md) - -## SearchSourceFields.fields property - -Retrieve fields via the search Fields API - -Signature: - -```typescript -fields?: SearchFieldValue[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md deleted file mode 100644 index bd5fe56df98b6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [fieldsFromSource](./kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md) - -## SearchSourceFields.fieldsFromSource property - -> Warning: This API is now obsolete. -> -> It is recommended to use `fields` wherever possible. -> - -Retreive fields directly from \_source (legacy behavior) - -Signature: - -```typescript -fieldsFromSource?: estypes.Fields; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.filter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.filter.md deleted file mode 100644 index 5fd615cc647d2..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.filter.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [filter](./kibana-plugin-plugins-data-public.searchsourcefields.filter.md) - -## SearchSourceFields.filter property - -[Filter](./kibana-plugin-plugins-data-public.filter.md) - -Signature: - -```typescript -filter?: Filter[] | Filter | (() => Filter[] | Filter | undefined); -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.from.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.from.md deleted file mode 100644 index 0b8bbfc3ef378..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.from.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [from](./kibana-plugin-plugins-data-public.searchsourcefields.from.md) - -## SearchSourceFields.from property - -Signature: - -```typescript -from?: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.highlight.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.highlight.md deleted file mode 100644 index 0541fb7cf9212..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.highlight.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [highlight](./kibana-plugin-plugins-data-public.searchsourcefields.highlight.md) - -## SearchSourceFields.highlight property - -Signature: - -```typescript -highlight?: any; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.highlightall.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.highlightall.md deleted file mode 100644 index 82f18e73856a6..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.highlightall.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [highlightAll](./kibana-plugin-plugins-data-public.searchsourcefields.highlightall.md) - -## SearchSourceFields.highlightAll property - -Signature: - -```typescript -highlightAll?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.index.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.index.md deleted file mode 100644 index cf1b1cfa253fd..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.index.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [index](./kibana-plugin-plugins-data-public.searchsourcefields.index.md) - -## SearchSourceFields.index property - - -Signature: - -```typescript -index?: IndexPattern; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.md deleted file mode 100644 index e83e2261dc2a0..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.md +++ /dev/null @@ -1,38 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) - -## SearchSourceFields interface - -search source fields - -Signature: - -```typescript -export interface SearchSourceFields -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [aggs](./kibana-plugin-plugins-data-public.searchsourcefields.aggs.md) | object | IAggConfigs | (() => object) | [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) | -| [fields](./kibana-plugin-plugins-data-public.searchsourcefields.fields.md) | SearchFieldValue[] | Retrieve fields via the search Fields API | -| [fieldsFromSource](./kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md) | estypes.Fields | Retreive fields directly from \_source (legacy behavior) | -| [filter](./kibana-plugin-plugins-data-public.searchsourcefields.filter.md) | Filter[] | Filter | (() => Filter[] | Filter | undefined) | [Filter](./kibana-plugin-plugins-data-public.filter.md) | -| [from](./kibana-plugin-plugins-data-public.searchsourcefields.from.md) | number | | -| [highlight](./kibana-plugin-plugins-data-public.searchsourcefields.highlight.md) | any | | -| [highlightAll](./kibana-plugin-plugins-data-public.searchsourcefields.highlightall.md) | boolean | | -| [index](./kibana-plugin-plugins-data-public.searchsourcefields.index.md) | IndexPattern | | -| [parent](./kibana-plugin-plugins-data-public.searchsourcefields.parent.md) | SearchSourceFields | | -| [query](./kibana-plugin-plugins-data-public.searchsourcefields.query.md) | Query | | -| [searchAfter](./kibana-plugin-plugins-data-public.searchsourcefields.searchafter.md) | EsQuerySearchAfter | | -| [size](./kibana-plugin-plugins-data-public.searchsourcefields.size.md) | number | | -| [sort](./kibana-plugin-plugins-data-public.searchsourcefields.sort.md) | EsQuerySortValue | EsQuerySortValue[] | [EsQuerySortValue](./kibana-plugin-plugins-data-public.esquerysortvalue.md) | -| [source](./kibana-plugin-plugins-data-public.searchsourcefields.source.md) | boolean | estypes.Fields | | -| [terminate\_after](./kibana-plugin-plugins-data-public.searchsourcefields.terminate_after.md) | number | | -| [timeout](./kibana-plugin-plugins-data-public.searchsourcefields.timeout.md) | string | | -| [trackTotalHits](./kibana-plugin-plugins-data-public.searchsourcefields.tracktotalhits.md) | boolean | number | | -| [type](./kibana-plugin-plugins-data-public.searchsourcefields.type.md) | string | | -| [version](./kibana-plugin-plugins-data-public.searchsourcefields.version.md) | boolean | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.parent.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.parent.md deleted file mode 100644 index 3adb34a50ff9e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.parent.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [parent](./kibana-plugin-plugins-data-public.searchsourcefields.parent.md) - -## SearchSourceFields.parent property - -Signature: - -```typescript -parent?: SearchSourceFields; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.query.md deleted file mode 100644 index 78bf800c58c20..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.query.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [query](./kibana-plugin-plugins-data-public.searchsourcefields.query.md) - -## SearchSourceFields.query property - - -Signature: - -```typescript -query?: Query; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.searchafter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.searchafter.md deleted file mode 100644 index fca9efcae8406..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.searchafter.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [searchAfter](./kibana-plugin-plugins-data-public.searchsourcefields.searchafter.md) - -## SearchSourceFields.searchAfter property - -Signature: - -```typescript -searchAfter?: EsQuerySearchAfter; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.size.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.size.md deleted file mode 100644 index 38a5f1856644b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.size.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [size](./kibana-plugin-plugins-data-public.searchsourcefields.size.md) - -## SearchSourceFields.size property - -Signature: - -```typescript -size?: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.sort.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.sort.md deleted file mode 100644 index 32f513378e35e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.sort.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [sort](./kibana-plugin-plugins-data-public.searchsourcefields.sort.md) - -## SearchSourceFields.sort property - -[EsQuerySortValue](./kibana-plugin-plugins-data-public.esquerysortvalue.md) - -Signature: - -```typescript -sort?: EsQuerySortValue | EsQuerySortValue[]; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.source.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.source.md deleted file mode 100644 index 09b347223418f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.source.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [source](./kibana-plugin-plugins-data-public.searchsourcefields.source.md) - -## SearchSourceFields.source property - -Signature: - -```typescript -source?: boolean | estypes.Fields; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.terminate_after.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.terminate_after.md deleted file mode 100644 index e863c8ef77ef7..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.terminate_after.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [terminate\_after](./kibana-plugin-plugins-data-public.searchsourcefields.terminate_after.md) - -## SearchSourceFields.terminate\_after property - -Signature: - -```typescript -terminate_after?: number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.timeout.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.timeout.md deleted file mode 100644 index 04fcaf455323a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.timeout.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [timeout](./kibana-plugin-plugins-data-public.searchsourcefields.timeout.md) - -## SearchSourceFields.timeout property - -Signature: - -```typescript -timeout?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.tracktotalhits.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.tracktotalhits.md deleted file mode 100644 index e9f389319c836..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.tracktotalhits.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [trackTotalHits](./kibana-plugin-plugins-data-public.searchsourcefields.tracktotalhits.md) - -## SearchSourceFields.trackTotalHits property - -Signature: - -```typescript -trackTotalHits?: boolean | number; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.type.md deleted file mode 100644 index 97e5f469fb62f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [type](./kibana-plugin-plugins-data-public.searchsourcefields.type.md) - -## SearchSourceFields.type property - -Signature: - -```typescript -type?: string; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.version.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.version.md deleted file mode 100644 index c940be14f3cde..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.version.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) > [version](./kibana-plugin-plugins-data-public.searchsourcefields.version.md) - -## SearchSourceFields.version property - -Signature: - -```typescript -version?: boolean; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.sortdirection.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.sortdirection.md deleted file mode 100644 index bea20c323b850..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.sortdirection.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SortDirection](./kibana-plugin-plugins-data-public.sortdirection.md) - -## SortDirection enum - -Signature: - -```typescript -export declare enum SortDirection -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| asc | "asc" | | -| desc | "desc" | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.statefulsearchbarprops.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.statefulsearchbarprops.md deleted file mode 100644 index 7e10306857b8a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.statefulsearchbarprops.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [StatefulSearchBarProps](./kibana-plugin-plugins-data-public.statefulsearchbarprops.md) - -## StatefulSearchBarProps type - -Signature: - -```typescript -export declare type StatefulSearchBarProps = SearchBarOwnProps & { - appName: string; - useDefaultBehaviors?: boolean; - savedQueryId?: string; - onSavedQueryIdChange?: (savedQueryId?: string) => void; -}; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.syncquerystatewithurl.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.syncquerystatewithurl.md deleted file mode 100644 index 1aafa022f9690..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.syncquerystatewithurl.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [syncQueryStateWithUrl](./kibana-plugin-plugins-data-public.syncquerystatewithurl.md) - -## syncQueryStateWithUrl variable - -Helper to setup syncing of global data with the URL - -Signature: - -```typescript -syncQueryStateWithUrl: (query: Pick, kbnUrlStateStorage: IKbnUrlStateStorage) => { - stop: () => void; - hasInheritedQueryFromUrl: boolean; -} -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltercontract.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltercontract.md deleted file mode 100644 index 0e5e8707fec63..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltercontract.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimefilterContract](./kibana-plugin-plugins-data-public.timefiltercontract.md) - -## TimefilterContract type - -Signature: - -```typescript -export declare type TimefilterContract = PublicMethodsOf; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory._constructor_.md deleted file mode 100644 index 3d0e7aea5be1f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimeHistory](./kibana-plugin-plugins-data-public.timehistory.md) > [(constructor)](./kibana-plugin-plugins-data-public.timehistory._constructor_.md) - -## TimeHistory.(constructor) - -Constructs a new instance of the `TimeHistory` class - -Signature: - -```typescript -constructor(storage: IStorageWrapper); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| storage | IStorageWrapper | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.add.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.add.md deleted file mode 100644 index 393e10403652d..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.add.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimeHistory](./kibana-plugin-plugins-data-public.timehistory.md) > [add](./kibana-plugin-plugins-data-public.timehistory.add.md) - -## TimeHistory.add() method - -Signature: - -```typescript -add(time: TimeRange): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| time | TimeRange | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.get.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.get.md deleted file mode 100644 index fc9983836cd0b..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.get.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimeHistory](./kibana-plugin-plugins-data-public.timehistory.md) > [get](./kibana-plugin-plugins-data-public.timehistory.get.md) - -## TimeHistory.get() method - -Signature: - -```typescript -get(): TimeRange[]; -``` -Returns: - -`TimeRange[]` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.md deleted file mode 100644 index 86b9865cbd53f..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimeHistory](./kibana-plugin-plugins-data-public.timehistory.md) - -## TimeHistory class - -Signature: - -```typescript -export declare class TimeHistory -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(storage)](./kibana-plugin-plugins-data-public.timehistory._constructor_.md) | | Constructs a new instance of the TimeHistory class | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [add(time)](./kibana-plugin-plugins-data-public.timehistory.add.md) | | | -| [get()](./kibana-plugin-plugins-data-public.timehistory.get.md) | | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistorycontract.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistorycontract.md deleted file mode 100644 index 15dea14c08b19..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistorycontract.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimeHistoryContract](./kibana-plugin-plugins-data-public.timehistorycontract.md) - -## TimeHistoryContract type - -Signature: - -```typescript -export declare type TimeHistoryContract = PublicMethodsOf; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.md deleted file mode 100644 index 482501e494c7a..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimeRange](./kibana-plugin-plugins-data-public.timerange.md) - -## TimeRange type - -Signature: - -```typescript -export declare type TimeRange = { - from: string; - to: string; - mode?: 'absolute' | 'relative'; -}; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.aggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.aggs.md deleted file mode 100644 index d2ab7ef72a4a5..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.aggs.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TypeMeta](./kibana-plugin-plugins-data-public.typemeta.md) > [aggs](./kibana-plugin-plugins-data-public.typemeta.aggs.md) - -## TypeMeta.aggs property - -Signature: - -```typescript -aggs?: Record; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.md deleted file mode 100644 index dcc6500d54c5e..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TypeMeta](./kibana-plugin-plugins-data-public.typemeta.md) - -## TypeMeta interface - -Signature: - -```typescript -export interface TypeMeta -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [aggs](./kibana-plugin-plugins-data-public.typemeta.aggs.md) | Record<string, AggregationRestrictions> | | -| [params](./kibana-plugin-plugins-data-public.typemeta.params.md) | {
rollup_index: string;
} | | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.params.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.params.md deleted file mode 100644 index 6646f3c63ecc1..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.typemeta.params.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TypeMeta](./kibana-plugin-plugins-data-public.typemeta.md) > [params](./kibana-plugin-plugins-data-public.typemeta.params.md) - -## TypeMeta.params property - -Signature: - -```typescript -params?: { - rollup_index: string; - }; -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ui_settings.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ui_settings.md deleted file mode 100644 index b0cafe9ecf853..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ui_settings.md +++ /dev/null @@ -1,35 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [UI\_SETTINGS](./kibana-plugin-plugins-data-public.ui_settings.md) - -## UI\_SETTINGS variable - -Signature: - -```typescript -UI_SETTINGS: { - readonly META_FIELDS: "metaFields"; - readonly DOC_HIGHLIGHT: "doc_table:highlight"; - readonly QUERY_STRING_OPTIONS: "query:queryString:options"; - readonly QUERY_ALLOW_LEADING_WILDCARDS: "query:allowLeadingWildcards"; - readonly SEARCH_QUERY_LANGUAGE: "search:queryLanguage"; - readonly SORT_OPTIONS: "sort:options"; - readonly COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX: "courier:ignoreFilterIfFieldNotInIndex"; - readonly COURIER_SET_REQUEST_PREFERENCE: "courier:setRequestPreference"; - readonly COURIER_CUSTOM_REQUEST_PREFERENCE: "courier:customRequestPreference"; - readonly COURIER_MAX_CONCURRENT_SHARD_REQUESTS: "courier:maxConcurrentShardRequests"; - readonly SEARCH_INCLUDE_FROZEN: "search:includeFrozen"; - readonly SEARCH_TIMEOUT: "search:timeout"; - readonly HISTOGRAM_BAR_TARGET: "histogram:barTarget"; - readonly HISTOGRAM_MAX_BARS: "histogram:maxBars"; - readonly HISTORY_LIMIT: "history:limit"; - readonly TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: "timepicker:refreshIntervalDefaults"; - readonly TIMEPICKER_QUICK_RANGES: "timepicker:quickRanges"; - readonly TIMEPICKER_TIME_DEFAULTS: "timepicker:timeDefaults"; - readonly INDEXPATTERN_PLACEHOLDER: "indexPattern:placeholder"; - readonly FILTERS_PINNED_BY_DEFAULT: "filters:pinnedByDefault"; - readonly FILTERS_EDITOR_SUGGEST_VALUES: "filterEditor:suggestValues"; - readonly AUTOCOMPLETE_USE_TIMERANGE: "autocomplete:useTimeRange"; - readonly AUTOCOMPLETE_VALUE_SUGGESTION_METHOD: "autocomplete:valueSuggestionMethod"; -} -``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletes_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletes_.md deleted file mode 100644 index a4b294fb1decd..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletes_.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [waitUntilNextSessionCompletes$](./kibana-plugin-plugins-data-public.waituntilnextsessioncompletes_.md) - -## waitUntilNextSessionCompletes$() function - -Creates an observable that emits when next search session completes. This utility is helpful to use in the application to delay some tasks until next session completes. - -Signature: - -```typescript -export declare function waitUntilNextSessionCompletes$(sessionService: ISessionService, { waitForIdle }?: WaitUntilNextSessionCompletesOptions): import("rxjs").Observable; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| sessionService | ISessionService | [ISessionService](./kibana-plugin-plugins-data-public.isessionservice.md) | -| { waitForIdle } | WaitUntilNextSessionCompletesOptions | | - -Returns: - -`import("rxjs").Observable` - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.md deleted file mode 100644 index d575722a22453..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [WaitUntilNextSessionCompletesOptions](./kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.md) - -## WaitUntilNextSessionCompletesOptions interface - -Options for [waitUntilNextSessionCompletes$()](./kibana-plugin-plugins-data-public.waituntilnextsessioncompletes_.md) - -Signature: - -```typescript -export interface WaitUntilNextSessionCompletesOptions -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [waitForIdle](./kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.waitforidle.md) | number | For how long to wait between session state transitions before considering that session completed | - diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.waitforidle.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.waitforidle.md deleted file mode 100644 index 60d3df7783852..0000000000000 --- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.waitforidle.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [WaitUntilNextSessionCompletesOptions](./kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.md) > [waitForIdle](./kibana-plugin-plugins-data-public.waituntilnextsessioncompletesoptions.waitforidle.md) - -## WaitUntilNextSessionCompletesOptions.waitForIdle property - -For how long to wait between session state transitions before considering that session completed - -Signature: - -```typescript -waitForIdle?: number; -``` diff --git a/docs/development/plugins/data/server/index.md b/docs/development/plugins/data/server/index.md deleted file mode 100644 index d2cba1b6c2d9c..0000000000000 --- a/docs/development/plugins/data/server/index.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) - -## API Reference - -## Packages - -| Package | Description | -| --- | --- | -| [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md deleted file mode 100644 index 3235bb08cfbf7..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [AsyncSearchStatusResponse](./kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md) > [\_shards](./kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md) - -## AsyncSearchStatusResponse.\_shards property - -Signature: - -```typescript -_shards: estypes.ShardStatistics; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.completion_status.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.completion_status.md deleted file mode 100644 index 16cd3af3f8d49..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.completion_status.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [AsyncSearchStatusResponse](./kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md) > [completion\_status](./kibana-plugin-plugins-data-server.asyncsearchstatusresponse.completion_status.md) - -## AsyncSearchStatusResponse.completion\_status property - -Signature: - -```typescript -completion_status: number; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md deleted file mode 100644 index 2d1d6fbce4e27..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [AsyncSearchStatusResponse](./kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md) - -## AsyncSearchStatusResponse interface - -Signature: - -```typescript -export interface AsyncSearchStatusResponse extends Omit -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [\_shards](./kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md) | estypes.ShardStatistics | | -| [completion\_status](./kibana-plugin-plugins-data-server.asyncsearchstatusresponse.completion_status.md) | number | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.castestokbnfieldtypename.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.castestokbnfieldtypename.md deleted file mode 100644 index a3f92491e8983..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.castestokbnfieldtypename.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [castEsToKbnFieldTypeName](./kibana-plugin-plugins-data-server.castestokbnfieldtypename.md) - -## castEsToKbnFieldTypeName variable - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/field-types" package directly instead. 8.1 -> - -Signature: - -```typescript -castEsToKbnFieldTypeName: (esType: string) => import("@kbn/field-types").KBN_FIELD_TYPES -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.config.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.config.md deleted file mode 100644 index 49b5f6040fc84..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.config.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [config](./kibana-plugin-plugins-data-server.config.md) - -## config variable - -Signature: - -```typescript -config: PluginConfigDescriptor -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.es_search_strategy.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.es_search_strategy.md deleted file mode 100644 index 8fac5cf4d7a9e..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.es_search_strategy.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ES\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-server.es_search_strategy.md) - -## ES\_SEARCH\_STRATEGY variable - -Signature: - -```typescript -ES_SEARCH_STRATEGY = "es" -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esfilters.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esfilters.md deleted file mode 100644 index fa95ea72035dd..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esfilters.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [esFilters](./kibana-plugin-plugins-data-server.esfilters.md) - -## esFilters variable - -Signature: - -```typescript -esFilters: { - buildQueryFilter: (query: (Record & { - query_string?: { - query: string; - } | undefined; - }) | undefined, index: string, alias: string) => import("@kbn/es-query").QueryStringFilter; - buildCustomFilter: typeof import("@kbn/es-query").buildCustomFilter; - buildEmptyFilter: (isPinned: boolean, index?: string | undefined) => import("@kbn/es-query").Filter; - buildExistsFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").ExistsFilter; - buildFilter: typeof import("@kbn/es-query").buildFilter; - buildPhraseFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, value: string | number | boolean, indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").PhraseFilter | import("@kbn/es-query").ScriptedPhraseFilter; - buildPhrasesFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, params: (string | number | boolean)[], indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").PhrasesFilter; - buildRangeFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, params: import("@kbn/es-query").RangeFilterParams, indexPattern: import("@kbn/es-query").IndexPatternBase, formattedValue?: string | undefined) => import("@kbn/es-query").RangeFilter | import("@kbn/es-query").ScriptedRangeFilter | import("@kbn/es-query/target_types/filters/build_filters").MatchAllRangeFilter; - isFilterDisabled: (filter: import("@kbn/es-query").Filter) => boolean; -} -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.eskuery.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.eskuery.md deleted file mode 100644 index d4365550c2a38..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.eskuery.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [esKuery](./kibana-plugin-plugins-data-server.eskuery.md) - -## esKuery variable - -Signature: - -```typescript -esKuery: { - nodeTypes: import("@kbn/es-query/target_types/kuery/node_types").NodeTypes; - fromKueryExpression: (expression: string | import("@elastic/elasticsearch/api/types").QueryDslQueryContainer, parseOptions?: Partial | undefined) => import("@kbn/es-query").KueryNode; - toElasticsearchQuery: (node: import("@kbn/es-query").KueryNode, indexPattern?: import("@kbn/es-query").IndexPatternBase | undefined, config?: import("@kbn/es-query").KueryQueryOptions | undefined, context?: Record | undefined) => import("@elastic/elasticsearch/api/types").QueryDslQueryContainer; -} -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esquery.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esquery.md deleted file mode 100644 index 38cad914e72d0..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esquery.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [esQuery](./kibana-plugin-plugins-data-server.esquery.md) - -## esQuery variable - -Signature: - -```typescript -esQuery: { - buildQueryFromFilters: (filters: import("@kbn/es-query").Filter[] | undefined, indexPattern: import("@kbn/es-query").IndexPatternBase | undefined, ignoreFilterIfFieldNotInIndex?: boolean | undefined) => import("@kbn/es-query").BoolQuery; - getEsQueryConfig: typeof getEsQueryConfig; - buildEsQuery: typeof import("@kbn/es-query").buildEsQuery; -} -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.md deleted file mode 100644 index b3487b1a0f863..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [EsQueryConfig](./kibana-plugin-plugins-data-server.esqueryconfig.md) - -## EsQueryConfig type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type EsQueryConfig = oldEsQueryConfig; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.exporters.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.exporters.md deleted file mode 100644 index 6fda400d09fd0..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.exporters.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [exporters](./kibana-plugin-plugins-data-server.exporters.md) - -## exporters variable - -Signature: - -```typescript -exporters: { - datatableToCSV: typeof datatableToCSV; - CSV_MIME_TYPE: string; -} -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.aggregatable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.aggregatable.md deleted file mode 100644 index 2889ee34ad77b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.aggregatable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldDescriptor](./kibana-plugin-plugins-data-server.fielddescriptor.md) > [aggregatable](./kibana-plugin-plugins-data-server.fielddescriptor.aggregatable.md) - -## FieldDescriptor.aggregatable property - -Signature: - -```typescript -aggregatable: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.estypes.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.estypes.md deleted file mode 100644 index 9caa374d8da48..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.estypes.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldDescriptor](./kibana-plugin-plugins-data-server.fielddescriptor.md) > [esTypes](./kibana-plugin-plugins-data-server.fielddescriptor.estypes.md) - -## FieldDescriptor.esTypes property - -Signature: - -```typescript -esTypes: string[]; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.md deleted file mode 100644 index 693de675da940..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldDescriptor](./kibana-plugin-plugins-data-server.fielddescriptor.md) - -## FieldDescriptor interface - -Signature: - -```typescript -export interface FieldDescriptor -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [aggregatable](./kibana-plugin-plugins-data-server.fielddescriptor.aggregatable.md) | boolean | | -| [esTypes](./kibana-plugin-plugins-data-server.fielddescriptor.estypes.md) | string[] | | -| [name](./kibana-plugin-plugins-data-server.fielddescriptor.name.md) | string | | -| [readFromDocValues](./kibana-plugin-plugins-data-server.fielddescriptor.readfromdocvalues.md) | boolean | | -| [searchable](./kibana-plugin-plugins-data-server.fielddescriptor.searchable.md) | boolean | | -| [subType](./kibana-plugin-plugins-data-server.fielddescriptor.subtype.md) | FieldSubType | | -| [type](./kibana-plugin-plugins-data-server.fielddescriptor.type.md) | string | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.name.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.name.md deleted file mode 100644 index 178880a34cd4d..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldDescriptor](./kibana-plugin-plugins-data-server.fielddescriptor.md) > [name](./kibana-plugin-plugins-data-server.fielddescriptor.name.md) - -## FieldDescriptor.name property - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.readfromdocvalues.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.readfromdocvalues.md deleted file mode 100644 index b60dc5d0dfed0..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.readfromdocvalues.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldDescriptor](./kibana-plugin-plugins-data-server.fielddescriptor.md) > [readFromDocValues](./kibana-plugin-plugins-data-server.fielddescriptor.readfromdocvalues.md) - -## FieldDescriptor.readFromDocValues property - -Signature: - -```typescript -readFromDocValues: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.searchable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.searchable.md deleted file mode 100644 index efc7b4219a355..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.searchable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldDescriptor](./kibana-plugin-plugins-data-server.fielddescriptor.md) > [searchable](./kibana-plugin-plugins-data-server.fielddescriptor.searchable.md) - -## FieldDescriptor.searchable property - -Signature: - -```typescript -searchable: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.subtype.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.subtype.md deleted file mode 100644 index b08179f12f250..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.subtype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldDescriptor](./kibana-plugin-plugins-data-server.fielddescriptor.md) > [subType](./kibana-plugin-plugins-data-server.fielddescriptor.subtype.md) - -## FieldDescriptor.subType property - -Signature: - -```typescript -subType?: FieldSubType; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.type.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.type.md deleted file mode 100644 index 7b0513a60c90e..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fielddescriptor.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldDescriptor](./kibana-plugin-plugins-data-server.fielddescriptor.md) > [type](./kibana-plugin-plugins-data-server.fielddescriptor.type.md) - -## FieldDescriptor.type property - -Signature: - -```typescript -type: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.md deleted file mode 100644 index 821c1a0168205..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Filter](./kibana-plugin-plugins-data-server.filter.md) - -## Filter type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type Filter = oldFilter; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getcapabilitiesforrollupindices.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getcapabilitiesforrollupindices.md deleted file mode 100644 index cef5abbbe3755..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getcapabilitiesforrollupindices.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [getCapabilitiesForRollupIndices](./kibana-plugin-plugins-data-server.getcapabilitiesforrollupindices.md) - -## getCapabilitiesForRollupIndices() function - -Signature: - -```typescript -export declare function getCapabilitiesForRollupIndices(indices: Record): { - [key: string]: any; -}; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| indices | Record<string, {
rollup_jobs: any;
}> | | - -Returns: - -`{ - [key: string]: any; -}` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getesqueryconfig.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getesqueryconfig.md deleted file mode 100644 index f8909a7e7715f..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getesqueryconfig.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [getEsQueryConfig](./kibana-plugin-plugins-data-server.getesqueryconfig.md) - -## getEsQueryConfig() function - -Signature: - -```typescript -export declare function getEsQueryConfig(config: KibanaConfig): EsQueryConfig; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| config | KibanaConfig | | - -Returns: - -`EsQueryConfig` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.gettime.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.gettime.md deleted file mode 100644 index 168be5db779a2..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.gettime.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [getTime](./kibana-plugin-plugins-data-server.gettime.md) - -## getTime() function - -Signature: - -```typescript -export declare function getTime(indexPattern: IIndexPattern | undefined, timeRange: TimeRange, options?: { - forceNow?: Date; - fieldName?: string; -}): import("@kbn/es-query").RangeFilter | import("@kbn/es-query").ScriptedRangeFilter | import("@kbn/es-query/target_types/filters/build_filters").MatchAllRangeFilter | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| indexPattern | IIndexPattern | undefined | | -| timeRange | TimeRange | | -| options | {
forceNow?: Date;
fieldName?: string;
} | | - -Returns: - -`import("@kbn/es-query").RangeFilter | import("@kbn/es-query").ScriptedRangeFilter | import("@kbn/es-query/target_types/filters/build_filters").MatchAllRangeFilter | undefined` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchrequest.indextype.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchrequest.indextype.md deleted file mode 100644 index aaf4e55ee007b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchrequest.indextype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IEsSearchRequest](./kibana-plugin-plugins-data-server.iessearchrequest.md) > [indexType](./kibana-plugin-plugins-data-server.iessearchrequest.indextype.md) - -## IEsSearchRequest.indexType property - -Signature: - -```typescript -indexType?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchrequest.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchrequest.md deleted file mode 100644 index 9141bcdd2e8d7..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchrequest.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IEsSearchRequest](./kibana-plugin-plugins-data-server.iessearchrequest.md) - -## IEsSearchRequest interface - -Signature: - -```typescript -export interface IEsSearchRequest extends IKibanaSearchRequest -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [indexType](./kibana-plugin-plugins-data-server.iessearchrequest.indextype.md) | string | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchresponse.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchresponse.md deleted file mode 100644 index be208c0a51c81..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iessearchresponse.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IEsSearchResponse](./kibana-plugin-plugins-data-server.iessearchresponse.md) - -## IEsSearchResponse type - -Signature: - -```typescript -export declare type IEsSearchResponse = IKibanaSearchResponse>; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.md deleted file mode 100644 index 7f812fb08fd51..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldSubType](./kibana-plugin-plugins-data-server.ifieldsubtype.md) - -## IFieldSubType type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type IFieldSubType = oldIFieldSubType; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.aggregatable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.aggregatable.md deleted file mode 100644 index 74ea0e0181a11..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.aggregatable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [aggregatable](./kibana-plugin-plugins-data-server.ifieldtype.aggregatable.md) - -## IFieldType.aggregatable property - -Signature: - -```typescript -aggregatable?: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.count.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.count.md deleted file mode 100644 index 81dfce2024fc9..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.count.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [count](./kibana-plugin-plugins-data-server.ifieldtype.count.md) - -## IFieldType.count property - -Signature: - -```typescript -count?: number; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.customlabel.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.customlabel.md deleted file mode 100644 index 8d4868cb8e9ab..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.customlabel.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [customLabel](./kibana-plugin-plugins-data-server.ifieldtype.customlabel.md) - -## IFieldType.customLabel property - -Signature: - -```typescript -customLabel?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.displayname.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.displayname.md deleted file mode 100644 index b00f829c8909d..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.displayname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [displayName](./kibana-plugin-plugins-data-server.ifieldtype.displayname.md) - -## IFieldType.displayName property - -Signature: - -```typescript -displayName?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.estypes.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.estypes.md deleted file mode 100644 index 779e3d0ecedf4..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.estypes.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [esTypes](./kibana-plugin-plugins-data-server.ifieldtype.estypes.md) - -## IFieldType.esTypes property - -Signature: - -```typescript -esTypes?: string[]; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.filterable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.filterable.md deleted file mode 100644 index eaf8e91e0fe7d..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.filterable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [filterable](./kibana-plugin-plugins-data-server.ifieldtype.filterable.md) - -## IFieldType.filterable property - -Signature: - -```typescript -filterable?: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.format.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.format.md deleted file mode 100644 index afdbfc9b65d05..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.format.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [format](./kibana-plugin-plugins-data-server.ifieldtype.format.md) - -## IFieldType.format property - -Signature: - -```typescript -format?: any; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.md deleted file mode 100644 index 93f91f6264dbc..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.md +++ /dev/null @@ -1,34 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) - -## IFieldType interface - -> Warning: This API is now obsolete. -> -> Use [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) 8.1 -> - -Signature: - -```typescript -export interface IFieldType extends IndexPatternFieldBase -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [aggregatable](./kibana-plugin-plugins-data-server.ifieldtype.aggregatable.md) | boolean | | -| [count](./kibana-plugin-plugins-data-server.ifieldtype.count.md) | number | | -| [customLabel](./kibana-plugin-plugins-data-server.ifieldtype.customlabel.md) | string | | -| [displayName](./kibana-plugin-plugins-data-server.ifieldtype.displayname.md) | string | | -| [esTypes](./kibana-plugin-plugins-data-server.ifieldtype.estypes.md) | string[] | | -| [filterable](./kibana-plugin-plugins-data-server.ifieldtype.filterable.md) | boolean | | -| [format](./kibana-plugin-plugins-data-server.ifieldtype.format.md) | any | | -| [readFromDocValues](./kibana-plugin-plugins-data-server.ifieldtype.readfromdocvalues.md) | boolean | | -| [searchable](./kibana-plugin-plugins-data-server.ifieldtype.searchable.md) | boolean | | -| [sortable](./kibana-plugin-plugins-data-server.ifieldtype.sortable.md) | boolean | | -| [toSpec](./kibana-plugin-plugins-data-server.ifieldtype.tospec.md) | (options?: {
getFormatterForField?: IndexPattern['getFormatterForField'];
}) => FieldSpec | | -| [visualizable](./kibana-plugin-plugins-data-server.ifieldtype.visualizable.md) | boolean | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.readfromdocvalues.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.readfromdocvalues.md deleted file mode 100644 index a77ce1821ed92..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.readfromdocvalues.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [readFromDocValues](./kibana-plugin-plugins-data-server.ifieldtype.readfromdocvalues.md) - -## IFieldType.readFromDocValues property - -Signature: - -```typescript -readFromDocValues?: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.searchable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.searchable.md deleted file mode 100644 index 002a48b60ec7d..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.searchable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [searchable](./kibana-plugin-plugins-data-server.ifieldtype.searchable.md) - -## IFieldType.searchable property - -Signature: - -```typescript -searchable?: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.sortable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.sortable.md deleted file mode 100644 index c6c8bffc743be..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.sortable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [sortable](./kibana-plugin-plugins-data-server.ifieldtype.sortable.md) - -## IFieldType.sortable property - -Signature: - -```typescript -sortable?: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.tospec.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.tospec.md deleted file mode 100644 index 6f8ee9d9eebf0..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.tospec.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [toSpec](./kibana-plugin-plugins-data-server.ifieldtype.tospec.md) - -## IFieldType.toSpec property - -Signature: - -```typescript -toSpec?: (options?: { - getFormatterForField?: IndexPattern['getFormatterForField']; - }) => FieldSpec; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.visualizable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.visualizable.md deleted file mode 100644 index 3d0987f685db4..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.visualizable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [visualizable](./kibana-plugin-plugins-data-server.ifieldtype.visualizable.md) - -## IFieldType.visualizable property - -Signature: - -```typescript -visualizable?: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.index_pattern_saved_object_type.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.index_pattern_saved_object_type.md deleted file mode 100644 index 34f76d4ab13b1..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.index_pattern_saved_object_type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [INDEX\_PATTERN\_SAVED\_OBJECT\_TYPE](./kibana-plugin-plugins-data-server.index_pattern_saved_object_type.md) - -## INDEX\_PATTERN\_SAVED\_OBJECT\_TYPE variable - -\* - -Signature: - -```typescript -INDEX_PATTERN_SAVED_OBJECT_TYPE = "index-pattern" -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern._constructor_.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern._constructor_.md deleted file mode 100644 index 22ee6f15933ea..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [(constructor)](./kibana-plugin-plugins-data-server.indexpattern._constructor_.md) - -## IndexPattern.(constructor) - -Constructs a new instance of the `IndexPattern` class - -Signature: - -```typescript -constructor({ spec, fieldFormats, shortDotsEnable, metaFields, }: IndexPatternDeps); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { spec, fieldFormats, shortDotsEnable, metaFields, } | IndexPatternDeps | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.addruntimefield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.addruntimefield.md deleted file mode 100644 index ebd7f46d3598e..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.addruntimefield.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [addRuntimeField](./kibana-plugin-plugins-data-server.indexpattern.addruntimefield.md) - -## IndexPattern.addRuntimeField() method - -Add a runtime field - Appended to existing mapped field or a new field is created as appropriate - -Signature: - -```typescript -addRuntimeField(name: string, runtimeField: RuntimeField): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | -| runtimeField | RuntimeField | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.addscriptedfield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.addscriptedfield.md deleted file mode 100644 index 829cc9c0752a0..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.addscriptedfield.md +++ /dev/null @@ -1,31 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [addScriptedField](./kibana-plugin-plugins-data-server.indexpattern.addscriptedfield.md) - -## IndexPattern.addScriptedField() method - -> Warning: This API is now obsolete. -> -> use runtime field instead 8.1 -> - -Add scripted field to field list - -Signature: - -```typescript -addScriptedField(name: string, script: string, fieldType?: string): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | -| script | string | | -| fieldType | string | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.allownoindex.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.allownoindex.md deleted file mode 100644 index fe7bec70196c8..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.allownoindex.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [allowNoIndex](./kibana-plugin-plugins-data-server.indexpattern.allownoindex.md) - -## IndexPattern.allowNoIndex property - -prevents errors when index pattern exists before indices - -Signature: - -```typescript -readonly allowNoIndex: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.deletefieldformat.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.deletefieldformat.md deleted file mode 100644 index 9f580b2e3b48b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.deletefieldformat.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [deleteFieldFormat](./kibana-plugin-plugins-data-server.indexpattern.deletefieldformat.md) - -## IndexPattern.deleteFieldFormat property - -Signature: - -```typescript -readonly deleteFieldFormat: (fieldName: string) => void; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.fieldformatmap.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.fieldformatmap.md deleted file mode 100644 index 2f686bd313d58..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.fieldformatmap.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [fieldFormatMap](./kibana-plugin-plugins-data-server.indexpattern.fieldformatmap.md) - -## IndexPattern.fieldFormatMap property - -Signature: - -```typescript -fieldFormatMap: Record; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.fields.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.fields.md deleted file mode 100644 index 5b22014486c02..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.fields.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [fields](./kibana-plugin-plugins-data-server.indexpattern.fields.md) - -## IndexPattern.fields property - -Signature: - -```typescript -fields: IIndexPatternFieldList & { - toSpec: () => IndexPatternFieldMap; - }; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.flattenhit.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.flattenhit.md deleted file mode 100644 index 33c6dedc6dcd8..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.flattenhit.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [flattenHit](./kibana-plugin-plugins-data-server.indexpattern.flattenhit.md) - -## IndexPattern.flattenHit property - -Signature: - -```typescript -flattenHit: (hit: Record, deep?: boolean) => Record; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.formatfield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.formatfield.md deleted file mode 100644 index 07db8a0805b07..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.formatfield.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [formatField](./kibana-plugin-plugins-data-server.indexpattern.formatfield.md) - -## IndexPattern.formatField property - -Signature: - -```typescript -formatField: FormatFieldFn; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.formathit.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.formathit.md deleted file mode 100644 index 75f282a8991fc..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.formathit.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [formatHit](./kibana-plugin-plugins-data-server.indexpattern.formathit.md) - -## IndexPattern.formatHit property - -Signature: - -```typescript -formatHit: { - (hit: Record, type?: string): any; - formatField: FormatFieldFn; - }; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getaggregationrestrictions.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getaggregationrestrictions.md deleted file mode 100644 index b655e779e4fa4..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getaggregationrestrictions.md +++ /dev/null @@ -1,29 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getAggregationRestrictions](./kibana-plugin-plugins-data-server.indexpattern.getaggregationrestrictions.md) - -## IndexPattern.getAggregationRestrictions() method - -Signature: - -```typescript -getAggregationRestrictions(): Record> | undefined; -``` -Returns: - -`Record> | undefined` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getassavedobjectbody.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getassavedobjectbody.md deleted file mode 100644 index f5e87638e2f1c..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getassavedobjectbody.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getAsSavedObjectBody](./kibana-plugin-plugins-data-server.indexpattern.getassavedobjectbody.md) - -## IndexPattern.getAsSavedObjectBody() method - -Returns index pattern as saved object body for saving - -Signature: - -```typescript -getAsSavedObjectBody(): IndexPatternAttributes; -``` -Returns: - -`IndexPatternAttributes` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getcomputedfields.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getcomputedfields.md deleted file mode 100644 index 0030adf1261e4..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getcomputedfields.md +++ /dev/null @@ -1,31 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getComputedFields](./kibana-plugin-plugins-data-server.indexpattern.getcomputedfields.md) - -## IndexPattern.getComputedFields() method - -Signature: - -```typescript -getComputedFields(): { - storedFields: string[]; - scriptFields: any; - docvalueFields: { - field: any; - format: string; - }[]; - runtimeFields: Record; - }; -``` -Returns: - -`{ - storedFields: string[]; - scriptFields: any; - docvalueFields: { - field: any; - format: string; - }[]; - runtimeFields: Record; - }` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getfieldattrs.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getfieldattrs.md deleted file mode 100644 index f98acd766ac33..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getfieldattrs.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getFieldAttrs](./kibana-plugin-plugins-data-server.indexpattern.getfieldattrs.md) - -## IndexPattern.getFieldAttrs property - -Signature: - -```typescript -getFieldAttrs: () => { - [x: string]: FieldAttrSet; - }; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getfieldbyname.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getfieldbyname.md deleted file mode 100644 index 712be3b72828a..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getfieldbyname.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getFieldByName](./kibana-plugin-plugins-data-server.indexpattern.getfieldbyname.md) - -## IndexPattern.getFieldByName() method - -Signature: - -```typescript -getFieldByName(name: string): IndexPatternField | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`IndexPatternField | undefined` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getformatterforfield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getformatterforfield.md deleted file mode 100644 index 7dc2756009f4e..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getformatterforfield.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getFormatterForField](./kibana-plugin-plugins-data-server.indexpattern.getformatterforfield.md) - -## IndexPattern.getFormatterForField() method - -Provide a field, get its formatter - -Signature: - -```typescript -getFormatterForField(field: IndexPatternField | IndexPatternField['spec'] | IFieldType): FieldFormat; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| field | IndexPatternField | IndexPatternField['spec'] | IFieldType | | - -Returns: - -`FieldFormat` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getformatterforfieldnodefault.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getformatterforfieldnodefault.md deleted file mode 100644 index 77cc879e2f2f2..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getformatterforfieldnodefault.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getFormatterForFieldNoDefault](./kibana-plugin-plugins-data-server.indexpattern.getformatterforfieldnodefault.md) - -## IndexPattern.getFormatterForFieldNoDefault() method - -Get formatter for a given field name. Return undefined if none exists - -Signature: - -```typescript -getFormatterForFieldNoDefault(fieldname: string): FieldFormat | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fieldname | string | | - -Returns: - -`FieldFormat | undefined` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getnonscriptedfields.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getnonscriptedfields.md deleted file mode 100644 index deb71a9df8cc5..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getnonscriptedfields.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getNonScriptedFields](./kibana-plugin-plugins-data-server.indexpattern.getnonscriptedfields.md) - -## IndexPattern.getNonScriptedFields() method - -> Warning: This API is now obsolete. -> -> use runtime field instead 8.1 -> - -Signature: - -```typescript -getNonScriptedFields(): IndexPatternField[]; -``` -Returns: - -`IndexPatternField[]` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getoriginalsavedobjectbody.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getoriginalsavedobjectbody.md deleted file mode 100644 index 9923c82f389ad..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getoriginalsavedobjectbody.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getOriginalSavedObjectBody](./kibana-plugin-plugins-data-server.indexpattern.getoriginalsavedobjectbody.md) - -## IndexPattern.getOriginalSavedObjectBody property - -Get last saved saved object fields - -Signature: - -```typescript -getOriginalSavedObjectBody: () => { - fieldAttrs?: string | undefined; - title?: string | undefined; - timeFieldName?: string | undefined; - intervalName?: string | undefined; - fields?: string | undefined; - sourceFilters?: string | undefined; - fieldFormatMap?: string | undefined; - typeMeta?: string | undefined; - type?: string | undefined; - }; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getruntimefield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getruntimefield.md deleted file mode 100644 index d5dc8f966316b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getruntimefield.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getRuntimeField](./kibana-plugin-plugins-data-server.indexpattern.getruntimefield.md) - -## IndexPattern.getRuntimeField() method - -Returns runtime field if exists - -Signature: - -```typescript -getRuntimeField(name: string): RuntimeField | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`RuntimeField | null` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getscriptedfields.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getscriptedfields.md deleted file mode 100644 index 3beef6e08ed3f..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getscriptedfields.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getScriptedFields](./kibana-plugin-plugins-data-server.indexpattern.getscriptedfields.md) - -## IndexPattern.getScriptedFields() method - -> Warning: This API is now obsolete. -> -> use runtime field instead 8.1 -> - -Signature: - -```typescript -getScriptedFields(): IndexPatternField[]; -``` -Returns: - -`IndexPatternField[]` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getsourcefiltering.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getsourcefiltering.md deleted file mode 100644 index 240f9b4fb0aa2..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.getsourcefiltering.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getSourceFiltering](./kibana-plugin-plugins-data-server.indexpattern.getsourcefiltering.md) - -## IndexPattern.getSourceFiltering() method - -Get the source filtering configuration for that index. - -Signature: - -```typescript -getSourceFiltering(): { - excludes: any[]; - }; -``` -Returns: - -`{ - excludes: any[]; - }` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.gettimefield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.gettimefield.md deleted file mode 100644 index b5806f883fb9f..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.gettimefield.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [getTimeField](./kibana-plugin-plugins-data-server.indexpattern.gettimefield.md) - -## IndexPattern.getTimeField() method - -Signature: - -```typescript -getTimeField(): IndexPatternField | undefined; -``` -Returns: - -`IndexPatternField | undefined` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.hasruntimefield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.hasruntimefield.md deleted file mode 100644 index 5000d5e645cbb..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.hasruntimefield.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [hasRuntimeField](./kibana-plugin-plugins-data-server.indexpattern.hasruntimefield.md) - -## IndexPattern.hasRuntimeField() method - -Checks if runtime field exists - -Signature: - -```typescript -hasRuntimeField(name: string): boolean; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.id.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.id.md deleted file mode 100644 index 8fad82bd06705..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [id](./kibana-plugin-plugins-data-server.indexpattern.id.md) - -## IndexPattern.id property - -Signature: - -```typescript -id?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.intervalname.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.intervalname.md deleted file mode 100644 index 01367d931a841..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.intervalname.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [intervalName](./kibana-plugin-plugins-data-server.indexpattern.intervalname.md) - -## IndexPattern.intervalName property - -> Warning: This API is now obsolete. -> -> Used by time range index patterns 8.1 -> - -Signature: - -```typescript -intervalName: string | undefined; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.istimebased.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.istimebased.md deleted file mode 100644 index 790744979942d..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.istimebased.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [isTimeBased](./kibana-plugin-plugins-data-server.indexpattern.istimebased.md) - -## IndexPattern.isTimeBased() method - -Signature: - -```typescript -isTimeBased(): boolean; -``` -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.istimenanosbased.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.istimenanosbased.md deleted file mode 100644 index 22fb60eba4f6e..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.istimenanosbased.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [isTimeNanosBased](./kibana-plugin-plugins-data-server.indexpattern.istimenanosbased.md) - -## IndexPattern.isTimeNanosBased() method - -Signature: - -```typescript -isTimeNanosBased(): boolean; -``` -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.md deleted file mode 100644 index 27b8a31a2582b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.md +++ /dev/null @@ -1,71 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) - -## IndexPattern class - -Signature: - -```typescript -export declare class IndexPattern implements IIndexPattern -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)({ spec, fieldFormats, shortDotsEnable, metaFields, })](./kibana-plugin-plugins-data-server.indexpattern._constructor_.md) | | Constructs a new instance of the IndexPattern class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [allowNoIndex](./kibana-plugin-plugins-data-server.indexpattern.allownoindex.md) | | boolean | prevents errors when index pattern exists before indices | -| [deleteFieldFormat](./kibana-plugin-plugins-data-server.indexpattern.deletefieldformat.md) | | (fieldName: string) => void | | -| [fieldFormatMap](./kibana-plugin-plugins-data-server.indexpattern.fieldformatmap.md) | | Record<string, any> | | -| [fields](./kibana-plugin-plugins-data-server.indexpattern.fields.md) | | IIndexPatternFieldList & {
toSpec: () => IndexPatternFieldMap;
} | | -| [flattenHit](./kibana-plugin-plugins-data-server.indexpattern.flattenhit.md) | | (hit: Record<string, any>, deep?: boolean) => Record<string, any> | | -| [formatField](./kibana-plugin-plugins-data-server.indexpattern.formatfield.md) | | FormatFieldFn | | -| [formatHit](./kibana-plugin-plugins-data-server.indexpattern.formathit.md) | | {
(hit: Record<string, any>, type?: string): any;
formatField: FormatFieldFn;
} | | -| [getFieldAttrs](./kibana-plugin-plugins-data-server.indexpattern.getfieldattrs.md) | | () => {
[x: string]: FieldAttrSet;
} | | -| [getOriginalSavedObjectBody](./kibana-plugin-plugins-data-server.indexpattern.getoriginalsavedobjectbody.md) | | () => {
fieldAttrs?: string | undefined;
title?: string | undefined;
timeFieldName?: string | undefined;
intervalName?: string | undefined;
fields?: string | undefined;
sourceFilters?: string | undefined;
fieldFormatMap?: string | undefined;
typeMeta?: string | undefined;
type?: string | undefined;
} | Get last saved saved object fields | -| [id](./kibana-plugin-plugins-data-server.indexpattern.id.md) | | string | | -| [intervalName](./kibana-plugin-plugins-data-server.indexpattern.intervalname.md) | | string | undefined | | -| [metaFields](./kibana-plugin-plugins-data-server.indexpattern.metafields.md) | | string[] | | -| [resetOriginalSavedObjectBody](./kibana-plugin-plugins-data-server.indexpattern.resetoriginalsavedobjectbody.md) | | () => void | Reset last saved saved object fields. used after saving | -| [setFieldFormat](./kibana-plugin-plugins-data-server.indexpattern.setfieldformat.md) | | (fieldName: string, format: SerializedFieldFormat) => void | | -| [sourceFilters](./kibana-plugin-plugins-data-server.indexpattern.sourcefilters.md) | | SourceFilter[] | | -| [timeFieldName](./kibana-plugin-plugins-data-server.indexpattern.timefieldname.md) | | string | undefined | | -| [title](./kibana-plugin-plugins-data-server.indexpattern.title.md) | | string | | -| [type](./kibana-plugin-plugins-data-server.indexpattern.type.md) | | string | undefined | Type is used to identify rollup index patterns | -| [typeMeta](./kibana-plugin-plugins-data-server.indexpattern.typemeta.md) | | TypeMeta | Only used by rollup indices, used by rollup specific endpoint to load field list | -| [version](./kibana-plugin-plugins-data-server.indexpattern.version.md) | | string | undefined | SavedObject version | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [addRuntimeField(name, runtimeField)](./kibana-plugin-plugins-data-server.indexpattern.addruntimefield.md) | | Add a runtime field - Appended to existing mapped field or a new field is created as appropriate | -| [addScriptedField(name, script, fieldType)](./kibana-plugin-plugins-data-server.indexpattern.addscriptedfield.md) | | Add scripted field to field list | -| [getAggregationRestrictions()](./kibana-plugin-plugins-data-server.indexpattern.getaggregationrestrictions.md) | | | -| [getAsSavedObjectBody()](./kibana-plugin-plugins-data-server.indexpattern.getassavedobjectbody.md) | | Returns index pattern as saved object body for saving | -| [getComputedFields()](./kibana-plugin-plugins-data-server.indexpattern.getcomputedfields.md) | | | -| [getFieldByName(name)](./kibana-plugin-plugins-data-server.indexpattern.getfieldbyname.md) | | | -| [getFormatterForField(field)](./kibana-plugin-plugins-data-server.indexpattern.getformatterforfield.md) | | Provide a field, get its formatter | -| [getFormatterForFieldNoDefault(fieldname)](./kibana-plugin-plugins-data-server.indexpattern.getformatterforfieldnodefault.md) | | Get formatter for a given field name. Return undefined if none exists | -| [getNonScriptedFields()](./kibana-plugin-plugins-data-server.indexpattern.getnonscriptedfields.md) | | | -| [getRuntimeField(name)](./kibana-plugin-plugins-data-server.indexpattern.getruntimefield.md) | | Returns runtime field if exists | -| [getScriptedFields()](./kibana-plugin-plugins-data-server.indexpattern.getscriptedfields.md) | | | -| [getSourceFiltering()](./kibana-plugin-plugins-data-server.indexpattern.getsourcefiltering.md) | | Get the source filtering configuration for that index. | -| [getTimeField()](./kibana-plugin-plugins-data-server.indexpattern.gettimefield.md) | | | -| [hasRuntimeField(name)](./kibana-plugin-plugins-data-server.indexpattern.hasruntimefield.md) | | Checks if runtime field exists | -| [isTimeBased()](./kibana-plugin-plugins-data-server.indexpattern.istimebased.md) | | | -| [isTimeNanosBased()](./kibana-plugin-plugins-data-server.indexpattern.istimenanosbased.md) | | | -| [removeRuntimeField(name)](./kibana-plugin-plugins-data-server.indexpattern.removeruntimefield.md) | | Remove a runtime field - removed from mapped field or removed unmapped field as appropriate. Doesn't clear associated field attributes. | -| [removeScriptedField(fieldName)](./kibana-plugin-plugins-data-server.indexpattern.removescriptedfield.md) | | Remove scripted field from field list | -| [replaceAllRuntimeFields(newFields)](./kibana-plugin-plugins-data-server.indexpattern.replaceallruntimefields.md) | | Replaces all existing runtime fields with new fields | -| [setFieldAttrs(fieldName, attrName, value)](./kibana-plugin-plugins-data-server.indexpattern.setfieldattrs.md) | | | -| [setFieldCount(fieldName, count)](./kibana-plugin-plugins-data-server.indexpattern.setfieldcount.md) | | | -| [setFieldCustomLabel(fieldName, customLabel)](./kibana-plugin-plugins-data-server.indexpattern.setfieldcustomlabel.md) | | | -| [toSpec()](./kibana-plugin-plugins-data-server.indexpattern.tospec.md) | | Create static representation of index pattern | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.metafields.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.metafields.md deleted file mode 100644 index a2c7c806d6057..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.metafields.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [metaFields](./kibana-plugin-plugins-data-server.indexpattern.metafields.md) - -## IndexPattern.metaFields property - -Signature: - -```typescript -metaFields: string[]; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.removeruntimefield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.removeruntimefield.md deleted file mode 100644 index ef32b80ba8502..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.removeruntimefield.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [removeRuntimeField](./kibana-plugin-plugins-data-server.indexpattern.removeruntimefield.md) - -## IndexPattern.removeRuntimeField() method - -Remove a runtime field - removed from mapped field or removed unmapped field as appropriate. Doesn't clear associated field attributes. - -Signature: - -```typescript -removeRuntimeField(name: string): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | Field name to remove | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.removescriptedfield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.removescriptedfield.md deleted file mode 100644 index c72ad5163d4ec..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.removescriptedfield.md +++ /dev/null @@ -1,29 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [removeScriptedField](./kibana-plugin-plugins-data-server.indexpattern.removescriptedfield.md) - -## IndexPattern.removeScriptedField() method - -> Warning: This API is now obsolete. -> -> use runtime field instead 8.1 -> - -Remove scripted field from field list - -Signature: - -```typescript -removeScriptedField(fieldName: string): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fieldName | string | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.replaceallruntimefields.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.replaceallruntimefields.md deleted file mode 100644 index 35df871763f8a..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.replaceallruntimefields.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [replaceAllRuntimeFields](./kibana-plugin-plugins-data-server.indexpattern.replaceallruntimefields.md) - -## IndexPattern.replaceAllRuntimeFields() method - -Replaces all existing runtime fields with new fields - -Signature: - -```typescript -replaceAllRuntimeFields(newFields: Record): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| newFields | Record<string, RuntimeField> | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.resetoriginalsavedobjectbody.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.resetoriginalsavedobjectbody.md deleted file mode 100644 index 18ec7070bd577..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.resetoriginalsavedobjectbody.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [resetOriginalSavedObjectBody](./kibana-plugin-plugins-data-server.indexpattern.resetoriginalsavedobjectbody.md) - -## IndexPattern.resetOriginalSavedObjectBody property - -Reset last saved saved object fields. used after saving - -Signature: - -```typescript -resetOriginalSavedObjectBody: () => void; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldattrs.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldattrs.md deleted file mode 100644 index 91da8ee14c230..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldattrs.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [setFieldAttrs](./kibana-plugin-plugins-data-server.indexpattern.setfieldattrs.md) - -## IndexPattern.setFieldAttrs() method - -Signature: - -```typescript -protected setFieldAttrs(fieldName: string, attrName: K, value: FieldAttrSet[K]): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fieldName | string | | -| attrName | K | | -| value | FieldAttrSet[K] | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldcount.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldcount.md deleted file mode 100644 index f7d6d21c00ef0..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldcount.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [setFieldCount](./kibana-plugin-plugins-data-server.indexpattern.setfieldcount.md) - -## IndexPattern.setFieldCount() method - -Signature: - -```typescript -setFieldCount(fieldName: string, count: number | undefined | null): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fieldName | string | | -| count | number | undefined | null | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldcustomlabel.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldcustomlabel.md deleted file mode 100644 index 2c15c3ca4f552..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldcustomlabel.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [setFieldCustomLabel](./kibana-plugin-plugins-data-server.indexpattern.setfieldcustomlabel.md) - -## IndexPattern.setFieldCustomLabel() method - -Signature: - -```typescript -setFieldCustomLabel(fieldName: string, customLabel: string | undefined | null): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fieldName | string | | -| customLabel | string | undefined | null | | - -Returns: - -`void` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldformat.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldformat.md deleted file mode 100644 index e6a6b9ea2c0f5..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.setfieldformat.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [setFieldFormat](./kibana-plugin-plugins-data-server.indexpattern.setfieldformat.md) - -## IndexPattern.setFieldFormat property - -Signature: - -```typescript -readonly setFieldFormat: (fieldName: string, format: SerializedFieldFormat) => void; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.sourcefilters.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.sourcefilters.md deleted file mode 100644 index d359bef2f30a9..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.sourcefilters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [sourceFilters](./kibana-plugin-plugins-data-server.indexpattern.sourcefilters.md) - -## IndexPattern.sourceFilters property - -Signature: - -```typescript -sourceFilters?: SourceFilter[]; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.timefieldname.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.timefieldname.md deleted file mode 100644 index 35740afa4e3dc..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.timefieldname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [timeFieldName](./kibana-plugin-plugins-data-server.indexpattern.timefieldname.md) - -## IndexPattern.timeFieldName property - -Signature: - -```typescript -timeFieldName: string | undefined; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.title.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.title.md deleted file mode 100644 index 4cebde989aebd..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.title.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [title](./kibana-plugin-plugins-data-server.indexpattern.title.md) - -## IndexPattern.title property - -Signature: - -```typescript -title: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.tospec.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.tospec.md deleted file mode 100644 index 7c3c392cf6df3..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.tospec.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [toSpec](./kibana-plugin-plugins-data-server.indexpattern.tospec.md) - -## IndexPattern.toSpec() method - -Create static representation of index pattern - -Signature: - -```typescript -toSpec(): IndexPatternSpec; -``` -Returns: - -`IndexPatternSpec` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.type.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.type.md deleted file mode 100644 index cc64e413ef4c8..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [type](./kibana-plugin-plugins-data-server.indexpattern.type.md) - -## IndexPattern.type property - -Type is used to identify rollup index patterns - -Signature: - -```typescript -type: string | undefined; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.typemeta.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.typemeta.md deleted file mode 100644 index b759900a186ca..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.typemeta.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [typeMeta](./kibana-plugin-plugins-data-server.indexpattern.typemeta.md) - -## IndexPattern.typeMeta property - -Only used by rollup indices, used by rollup specific endpoint to load field list - -Signature: - -```typescript -typeMeta?: TypeMeta; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.version.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.version.md deleted file mode 100644 index 583a0c5ab6c5b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpattern.version.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) > [version](./kibana-plugin-plugins-data-server.indexpattern.version.md) - -## IndexPattern.version property - -SavedObject version - -Signature: - -```typescript -version: string | undefined; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.allownoindex.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.allownoindex.md deleted file mode 100644 index 1255a6fe9f0ca..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.allownoindex.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [allowNoIndex](./kibana-plugin-plugins-data-server.indexpatternattributes.allownoindex.md) - -## IndexPatternAttributes.allowNoIndex property - -prevents errors when index pattern exists before indices - -Signature: - -```typescript -allowNoIndex?: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fieldattrs.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fieldattrs.md deleted file mode 100644 index fded3ebac8b2c..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fieldattrs.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [fieldAttrs](./kibana-plugin-plugins-data-server.indexpatternattributes.fieldattrs.md) - -## IndexPatternAttributes.fieldAttrs property - -Signature: - -```typescript -fieldAttrs?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fieldformatmap.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fieldformatmap.md deleted file mode 100644 index 84cc8c705ff59..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fieldformatmap.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [fieldFormatMap](./kibana-plugin-plugins-data-server.indexpatternattributes.fieldformatmap.md) - -## IndexPatternAttributes.fieldFormatMap property - -Signature: - -```typescript -fieldFormatMap?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fields.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fields.md deleted file mode 100644 index 58a4066c02b20..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fields.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [fields](./kibana-plugin-plugins-data-server.indexpatternattributes.fields.md) - -## IndexPatternAttributes.fields property - -Signature: - -```typescript -fields: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.intervalname.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.intervalname.md deleted file mode 100644 index 77a0872546679..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.intervalname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [intervalName](./kibana-plugin-plugins-data-server.indexpatternattributes.intervalname.md) - -## IndexPatternAttributes.intervalName property - -Signature: - -```typescript -intervalName?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.md deleted file mode 100644 index 20af97ecc8761..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.md +++ /dev/null @@ -1,30 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) - -## IndexPatternAttributes interface - -Interface for an index pattern saved object - -Signature: - -```typescript -export interface IndexPatternAttributes -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [allowNoIndex](./kibana-plugin-plugins-data-server.indexpatternattributes.allownoindex.md) | boolean | prevents errors when index pattern exists before indices | -| [fieldAttrs](./kibana-plugin-plugins-data-server.indexpatternattributes.fieldattrs.md) | string | | -| [fieldFormatMap](./kibana-plugin-plugins-data-server.indexpatternattributes.fieldformatmap.md) | string | | -| [fields](./kibana-plugin-plugins-data-server.indexpatternattributes.fields.md) | string | | -| [intervalName](./kibana-plugin-plugins-data-server.indexpatternattributes.intervalname.md) | string | | -| [runtimeFieldMap](./kibana-plugin-plugins-data-server.indexpatternattributes.runtimefieldmap.md) | string | | -| [sourceFilters](./kibana-plugin-plugins-data-server.indexpatternattributes.sourcefilters.md) | string | | -| [timeFieldName](./kibana-plugin-plugins-data-server.indexpatternattributes.timefieldname.md) | string | | -| [title](./kibana-plugin-plugins-data-server.indexpatternattributes.title.md) | string | | -| [type](./kibana-plugin-plugins-data-server.indexpatternattributes.type.md) | string | | -| [typeMeta](./kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md) | string | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.runtimefieldmap.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.runtimefieldmap.md deleted file mode 100644 index 1e0dff2ad0e46..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.runtimefieldmap.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [runtimeFieldMap](./kibana-plugin-plugins-data-server.indexpatternattributes.runtimefieldmap.md) - -## IndexPatternAttributes.runtimeFieldMap property - -Signature: - -```typescript -runtimeFieldMap?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.sourcefilters.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.sourcefilters.md deleted file mode 100644 index 10223a6353f10..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.sourcefilters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [sourceFilters](./kibana-plugin-plugins-data-server.indexpatternattributes.sourcefilters.md) - -## IndexPatternAttributes.sourceFilters property - -Signature: - -```typescript -sourceFilters?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.timefieldname.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.timefieldname.md deleted file mode 100644 index 8e5f765020af4..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.timefieldname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [timeFieldName](./kibana-plugin-plugins-data-server.indexpatternattributes.timefieldname.md) - -## IndexPatternAttributes.timeFieldName property - -Signature: - -```typescript -timeFieldName?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.title.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.title.md deleted file mode 100644 index 28e4fd418fabc..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.title.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [title](./kibana-plugin-plugins-data-server.indexpatternattributes.title.md) - -## IndexPatternAttributes.title property - -Signature: - -```typescript -title: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.type.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.type.md deleted file mode 100644 index 401b7cb3897d1..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [type](./kibana-plugin-plugins-data-server.indexpatternattributes.type.md) - -## IndexPatternAttributes.type property - -Signature: - -```typescript -type?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md deleted file mode 100644 index be3c2ec336a56..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) > [typeMeta](./kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md) - -## IndexPatternAttributes.typeMeta property - -Signature: - -```typescript -typeMeta?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield._constructor_.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield._constructor_.md deleted file mode 100644 index d3c990a356852..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [(constructor)](./kibana-plugin-plugins-data-server.indexpatternfield._constructor_.md) - -## IndexPatternField.(constructor) - -Constructs a new instance of the `IndexPatternField` class - -Signature: - -```typescript -constructor(spec: FieldSpec); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| spec | FieldSpec | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.aggregatable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.aggregatable.md deleted file mode 100644 index 39fde64218547..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.aggregatable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [aggregatable](./kibana-plugin-plugins-data-server.indexpatternfield.aggregatable.md) - -## IndexPatternField.aggregatable property - -Signature: - -```typescript -get aggregatable(): boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.conflictdescriptions.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.conflictdescriptions.md deleted file mode 100644 index f386e68fc2e0e..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.conflictdescriptions.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [conflictDescriptions](./kibana-plugin-plugins-data-server.indexpatternfield.conflictdescriptions.md) - -## IndexPatternField.conflictDescriptions property - -Description of field type conflicts across different indices in the same index pattern - -Signature: - -```typescript -get conflictDescriptions(): Record | undefined; - -set conflictDescriptions(conflictDescriptions: Record | undefined); -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.count.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.count.md deleted file mode 100644 index 65b73e16ea36b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.count.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [count](./kibana-plugin-plugins-data-server.indexpatternfield.count.md) - -## IndexPatternField.count property - -Count is used for field popularity - -Signature: - -```typescript -get count(): number; - -set count(count: number); -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.customlabel.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.customlabel.md deleted file mode 100644 index 844afc863b77f..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.customlabel.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [customLabel](./kibana-plugin-plugins-data-server.indexpatternfield.customlabel.md) - -## IndexPatternField.customLabel property - -Signature: - -```typescript -get customLabel(): string | undefined; - -set customLabel(customLabel: string | undefined); -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.deletecount.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.deletecount.md deleted file mode 100644 index d870275ef1a85..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.deletecount.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [deleteCount](./kibana-plugin-plugins-data-server.indexpatternfield.deletecount.md) - -## IndexPatternField.deleteCount() method - -Signature: - -```typescript -deleteCount(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.displayname.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.displayname.md deleted file mode 100644 index 6a0d58cdeed8d..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.displayname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [displayName](./kibana-plugin-plugins-data-server.indexpatternfield.displayname.md) - -## IndexPatternField.displayName property - -Signature: - -```typescript -get displayName(): string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.estypes.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.estypes.md deleted file mode 100644 index 3f4c704a44905..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.estypes.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [esTypes](./kibana-plugin-plugins-data-server.indexpatternfield.estypes.md) - -## IndexPatternField.esTypes property - -Signature: - -```typescript -get esTypes(): string[] | undefined; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.filterable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.filterable.md deleted file mode 100644 index dbcfeb2ff6519..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.filterable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [filterable](./kibana-plugin-plugins-data-server.indexpatternfield.filterable.md) - -## IndexPatternField.filterable property - -Signature: - -```typescript -get filterable(): boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.ismapped.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.ismapped.md deleted file mode 100644 index e77965022e9e5..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.ismapped.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [isMapped](./kibana-plugin-plugins-data-server.indexpatternfield.ismapped.md) - -## IndexPatternField.isMapped property - -Is the field part of the index mapping? - -Signature: - -```typescript -get isMapped(): boolean | undefined; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.lang.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.lang.md deleted file mode 100644 index d7f119bc12e55..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.lang.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [lang](./kibana-plugin-plugins-data-server.indexpatternfield.lang.md) - -## IndexPatternField.lang property - -Script field language - -Signature: - -```typescript -get lang(): "painless" | "expression" | "mustache" | "java" | undefined; - -set lang(lang: "painless" | "expression" | "mustache" | "java" | undefined); -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.md deleted file mode 100644 index 79648441a72b2..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.md +++ /dev/null @@ -1,52 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) - -## IndexPatternField class - - -Signature: - -```typescript -export declare class IndexPatternField implements IFieldType -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(spec)](./kibana-plugin-plugins-data-server.indexpatternfield._constructor_.md) | | Constructs a new instance of the IndexPatternField class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [aggregatable](./kibana-plugin-plugins-data-server.indexpatternfield.aggregatable.md) | | boolean | | -| [conflictDescriptions](./kibana-plugin-plugins-data-server.indexpatternfield.conflictdescriptions.md) | | Record<string, string[]> | undefined | Description of field type conflicts across different indices in the same index pattern | -| [count](./kibana-plugin-plugins-data-server.indexpatternfield.count.md) | | number | Count is used for field popularity | -| [customLabel](./kibana-plugin-plugins-data-server.indexpatternfield.customlabel.md) | | string | undefined | | -| [displayName](./kibana-plugin-plugins-data-server.indexpatternfield.displayname.md) | | string | | -| [esTypes](./kibana-plugin-plugins-data-server.indexpatternfield.estypes.md) | | string[] | undefined | | -| [filterable](./kibana-plugin-plugins-data-server.indexpatternfield.filterable.md) | | boolean | | -| [isMapped](./kibana-plugin-plugins-data-server.indexpatternfield.ismapped.md) | | boolean | undefined | Is the field part of the index mapping? | -| [lang](./kibana-plugin-plugins-data-server.indexpatternfield.lang.md) | | "painless" | "expression" | "mustache" | "java" | undefined | Script field language | -| [name](./kibana-plugin-plugins-data-server.indexpatternfield.name.md) | | string | | -| [readFromDocValues](./kibana-plugin-plugins-data-server.indexpatternfield.readfromdocvalues.md) | | boolean | | -| [runtimeField](./kibana-plugin-plugins-data-server.indexpatternfield.runtimefield.md) | | RuntimeField | undefined | | -| [script](./kibana-plugin-plugins-data-server.indexpatternfield.script.md) | | string | undefined | Script field code | -| [scripted](./kibana-plugin-plugins-data-server.indexpatternfield.scripted.md) | | boolean | | -| [searchable](./kibana-plugin-plugins-data-server.indexpatternfield.searchable.md) | | boolean | | -| [sortable](./kibana-plugin-plugins-data-server.indexpatternfield.sortable.md) | | boolean | | -| [spec](./kibana-plugin-plugins-data-server.indexpatternfield.spec.md) | | FieldSpec | | -| [subType](./kibana-plugin-plugins-data-server.indexpatternfield.subtype.md) | | import("@kbn/es-query").IFieldSubType | undefined | | -| [type](./kibana-plugin-plugins-data-server.indexpatternfield.type.md) | | string | | -| [visualizable](./kibana-plugin-plugins-data-server.indexpatternfield.visualizable.md) | | boolean | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [deleteCount()](./kibana-plugin-plugins-data-server.indexpatternfield.deletecount.md) | | | -| [toJSON()](./kibana-plugin-plugins-data-server.indexpatternfield.tojson.md) | | | -| [toSpec({ getFormatterForField, })](./kibana-plugin-plugins-data-server.indexpatternfield.tospec.md) | | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.name.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.name.md deleted file mode 100644 index 496dae139b0e7..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [name](./kibana-plugin-plugins-data-server.indexpatternfield.name.md) - -## IndexPatternField.name property - -Signature: - -```typescript -get name(): string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.readfromdocvalues.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.readfromdocvalues.md deleted file mode 100644 index 90c30c8475220..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.readfromdocvalues.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [readFromDocValues](./kibana-plugin-plugins-data-server.indexpatternfield.readfromdocvalues.md) - -## IndexPatternField.readFromDocValues property - -Signature: - -```typescript -get readFromDocValues(): boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.runtimefield.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.runtimefield.md deleted file mode 100644 index bb33615a1557a..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.runtimefield.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [runtimeField](./kibana-plugin-plugins-data-server.indexpatternfield.runtimefield.md) - -## IndexPatternField.runtimeField property - -Signature: - -```typescript -get runtimeField(): RuntimeField | undefined; - -set runtimeField(runtimeField: RuntimeField | undefined); -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.script.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.script.md deleted file mode 100644 index 1d585a4ef9d13..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.script.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [script](./kibana-plugin-plugins-data-server.indexpatternfield.script.md) - -## IndexPatternField.script property - -Script field code - -Signature: - -```typescript -get script(): string | undefined; - -set script(script: string | undefined); -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.scripted.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.scripted.md deleted file mode 100644 index 679ef7207bb4d..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.scripted.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [scripted](./kibana-plugin-plugins-data-server.indexpatternfield.scripted.md) - -## IndexPatternField.scripted property - -Signature: - -```typescript -get scripted(): boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.searchable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.searchable.md deleted file mode 100644 index e1aed6f472384..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.searchable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [searchable](./kibana-plugin-plugins-data-server.indexpatternfield.searchable.md) - -## IndexPatternField.searchable property - -Signature: - -```typescript -get searchable(): boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.sortable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.sortable.md deleted file mode 100644 index 5a52b91d87fc4..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.sortable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [sortable](./kibana-plugin-plugins-data-server.indexpatternfield.sortable.md) - -## IndexPatternField.sortable property - -Signature: - -```typescript -get sortable(): boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.spec.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.spec.md deleted file mode 100644 index f3e22f0cb88ac..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.spec.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [spec](./kibana-plugin-plugins-data-server.indexpatternfield.spec.md) - -## IndexPatternField.spec property - -Signature: - -```typescript -readonly spec: FieldSpec; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.subtype.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.subtype.md deleted file mode 100644 index 458c35bc1b391..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.subtype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [subType](./kibana-plugin-plugins-data-server.indexpatternfield.subtype.md) - -## IndexPatternField.subType property - -Signature: - -```typescript -get subType(): import("@kbn/es-query").IFieldSubType | undefined; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.tojson.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.tojson.md deleted file mode 100644 index 092e74949d5d5..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.tojson.md +++ /dev/null @@ -1,43 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [toJSON](./kibana-plugin-plugins-data-server.indexpatternfield.tojson.md) - -## IndexPatternField.toJSON() method - -Signature: - -```typescript -toJSON(): { - count: number; - script: string | undefined; - lang: "painless" | "expression" | "mustache" | "java" | undefined; - conflictDescriptions: Record | undefined; - name: string; - type: string; - esTypes: string[] | undefined; - scripted: boolean; - searchable: boolean; - aggregatable: boolean; - readFromDocValues: boolean; - subType: import("@kbn/es-query").IFieldSubType | undefined; - customLabel: string | undefined; - }; -``` -Returns: - -`{ - count: number; - script: string | undefined; - lang: "painless" | "expression" | "mustache" | "java" | undefined; - conflictDescriptions: Record | undefined; - name: string; - type: string; - esTypes: string[] | undefined; - scripted: boolean; - searchable: boolean; - aggregatable: boolean; - readFromDocValues: boolean; - subType: import("@kbn/es-query").IFieldSubType | undefined; - customLabel: string | undefined; - }` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.tospec.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.tospec.md deleted file mode 100644 index 883a0b360612e..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.tospec.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [toSpec](./kibana-plugin-plugins-data-server.indexpatternfield.tospec.md) - -## IndexPatternField.toSpec() method - -Signature: - -```typescript -toSpec({ getFormatterForField, }?: { - getFormatterForField?: IndexPattern['getFormatterForField']; - }): FieldSpec; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { getFormatterForField, } | {
getFormatterForField?: IndexPattern['getFormatterForField'];
} | | - -Returns: - -`FieldSpec` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.type.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.type.md deleted file mode 100644 index 5e8f4e8676ca3..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [type](./kibana-plugin-plugins-data-server.indexpatternfield.type.md) - -## IndexPatternField.type property - -Signature: - -```typescript -get type(): string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.visualizable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.visualizable.md deleted file mode 100644 index 1868e9d107a27..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfield.visualizable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) > [visualizable](./kibana-plugin-plugins-data-server.indexpatternfield.visualizable.md) - -## IndexPatternField.visualizable property - -Signature: - -```typescript -get visualizable(): boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher._constructor_.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher._constructor_.md deleted file mode 100644 index 214c795fda9d1..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher._constructor_.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsFetcher](./kibana-plugin-plugins-data-server.indexpatternsfetcher.md) > [(constructor)](./kibana-plugin-plugins-data-server.indexpatternsfetcher._constructor_.md) - -## IndexPatternsFetcher.(constructor) - -Constructs a new instance of the `IndexPatternsFetcher` class - -Signature: - -```typescript -constructor(elasticsearchClient: ElasticsearchClient, allowNoIndices?: boolean); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| elasticsearchClient | ElasticsearchClient | | -| allowNoIndices | boolean | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsfortimepattern.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsfortimepattern.md deleted file mode 100644 index 7d765d4c65eb1..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsfortimepattern.md +++ /dev/null @@ -1,29 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsFetcher](./kibana-plugin-plugins-data-server.indexpatternsfetcher.md) > [getFieldsForTimePattern](./kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsfortimepattern.md) - -## IndexPatternsFetcher.getFieldsForTimePattern() method - -Get a list of field objects for a time pattern - -Signature: - -```typescript -getFieldsForTimePattern(options: { - pattern: string; - metaFields: string[]; - lookBack: number; - interval: string; - }): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| options | {
pattern: string;
metaFields: string[];
lookBack: number;
interval: string;
} | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsforwildcard.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsforwildcard.md deleted file mode 100644 index f0989097a727d..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsforwildcard.md +++ /dev/null @@ -1,32 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsFetcher](./kibana-plugin-plugins-data-server.indexpatternsfetcher.md) > [getFieldsForWildcard](./kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsforwildcard.md) - -## IndexPatternsFetcher.getFieldsForWildcard() method - -Get a list of field objects for an index pattern that may contain wildcards - -Signature: - -```typescript -getFieldsForWildcard(options: { - pattern: string | string[]; - metaFields?: string[]; - fieldCapsOptions?: { - allow_no_indices: boolean; - }; - type?: string; - rollupIndex?: string; - }): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| options | {
pattern: string | string[];
metaFields?: string[];
fieldCapsOptions?: {
allow_no_indices: boolean;
};
type?: string;
rollupIndex?: string;
} | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.md deleted file mode 100644 index 608d738676bcf..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsFetcher](./kibana-plugin-plugins-data-server.indexpatternsfetcher.md) - -## IndexPatternsFetcher class - -Signature: - -```typescript -export declare class IndexPatternsFetcher -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(elasticsearchClient, allowNoIndices)](./kibana-plugin-plugins-data-server.indexpatternsfetcher._constructor_.md) | | Constructs a new instance of the IndexPatternsFetcher class | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [getFieldsForTimePattern(options)](./kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsfortimepattern.md) | | Get a list of field objects for a time pattern | -| [getFieldsForWildcard(options)](./kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsforwildcard.md) | | Get a list of field objects for an index pattern that may contain wildcards | -| [validatePatternListActive(patternList)](./kibana-plugin-plugins-data-server.indexpatternsfetcher.validatepatternlistactive.md) | | Returns an index pattern list of only those index pattern strings in the given list that return indices | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.validatepatternlistactive.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.validatepatternlistactive.md deleted file mode 100644 index 8944c41204323..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.validatepatternlistactive.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsFetcher](./kibana-plugin-plugins-data-server.indexpatternsfetcher.md) > [validatePatternListActive](./kibana-plugin-plugins-data-server.indexpatternsfetcher.validatepatternlistactive.md) - -## IndexPatternsFetcher.validatePatternListActive() method - -Returns an index pattern list of only those index pattern strings in the given list that return indices - -Signature: - -```typescript -validatePatternListActive(patternList: string[]): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| patternList | string[] | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice._constructor_.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice._constructor_.md deleted file mode 100644 index 86e879eecc5a9..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [(constructor)](./kibana-plugin-plugins-data-server.indexpatternsservice._constructor_.md) - -## IndexPatternsService.(constructor) - -Constructs a new instance of the `IndexPatternsService` class - -Signature: - -```typescript -constructor({ uiSettings, savedObjectsClient, apiClient, fieldFormats, onNotification, onError, onRedirectNoIndexPattern, }: IndexPatternsServiceDeps); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { uiSettings, savedObjectsClient, apiClient, fieldFormats, onNotification, onError, onRedirectNoIndexPattern, } | IndexPatternsServiceDeps | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.clearcache.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.clearcache.md deleted file mode 100644 index eb0e92f3760c8..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.clearcache.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [clearCache](./kibana-plugin-plugins-data-server.indexpatternsservice.clearcache.md) - -## IndexPatternsService.clearCache property - -Clear index pattern list cache - -Signature: - -```typescript -clearCache: (id?: string | undefined) => void; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.create.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.create.md deleted file mode 100644 index e5cc7c2e433ca..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.create.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [create](./kibana-plugin-plugins-data-server.indexpatternsservice.create.md) - -## IndexPatternsService.create() method - -Create a new index pattern instance - -Signature: - -```typescript -create(spec: IndexPatternSpec, skipFetchFields?: boolean): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| spec | IndexPatternSpec | | -| skipFetchFields | boolean | | - -Returns: - -`Promise` - -IndexPattern - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.createandsave.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.createandsave.md deleted file mode 100644 index 9b6e3a82528d5..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.createandsave.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [createAndSave](./kibana-plugin-plugins-data-server.indexpatternsservice.createandsave.md) - -## IndexPatternsService.createAndSave() method - -Create a new index pattern and save it right away - -Signature: - -```typescript -createAndSave(spec: IndexPatternSpec, override?: boolean, skipFetchFields?: boolean): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| spec | IndexPatternSpec | | -| override | boolean | | -| skipFetchFields | boolean | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.createsavedobject.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.createsavedobject.md deleted file mode 100644 index 6ffadf648f5b6..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.createsavedobject.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [createSavedObject](./kibana-plugin-plugins-data-server.indexpatternsservice.createsavedobject.md) - -## IndexPatternsService.createSavedObject() method - -Save a new index pattern - -Signature: - -```typescript -createSavedObject(indexPattern: IndexPattern, override?: boolean): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| indexPattern | IndexPattern | | -| override | boolean | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.delete.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.delete.md deleted file mode 100644 index 929a803849428..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.delete.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [delete](./kibana-plugin-plugins-data-server.indexpatternsservice.delete.md) - -## IndexPatternsService.delete() method - -Deletes an index pattern from .kibana index - -Signature: - -```typescript -delete(indexPatternId: string): Promise<{}>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| indexPatternId | string | | - -Returns: - -`Promise<{}>` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.ensuredefaultindexpattern.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.ensuredefaultindexpattern.md deleted file mode 100644 index c4f6b61e4feb4..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.ensuredefaultindexpattern.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [ensureDefaultIndexPattern](./kibana-plugin-plugins-data-server.indexpatternsservice.ensuredefaultindexpattern.md) - -## IndexPatternsService.ensureDefaultIndexPattern property - -Signature: - -```typescript -ensureDefaultIndexPattern: EnsureDefaultIndexPattern; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.fieldarraytomap.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.fieldarraytomap.md deleted file mode 100644 index e0b27c317ff74..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.fieldarraytomap.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [fieldArrayToMap](./kibana-plugin-plugins-data-server.indexpatternsservice.fieldarraytomap.md) - -## IndexPatternsService.fieldArrayToMap property - -Converts field array to map - -Signature: - -```typescript -fieldArrayToMap: (fields: FieldSpec[], fieldAttrs?: FieldAttrs | undefined) => Record; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.find.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.find.md deleted file mode 100644 index 35b94133462aa..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.find.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [find](./kibana-plugin-plugins-data-server.indexpatternsservice.find.md) - -## IndexPatternsService.find property - -Find and load index patterns by title - -Signature: - -```typescript -find: (search: string, size?: number) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.get.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.get.md deleted file mode 100644 index 874f1d1a490c7..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.get.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [get](./kibana-plugin-plugins-data-server.indexpatternsservice.get.md) - -## IndexPatternsService.get property - -Get an index pattern by id. Cache optimized - -Signature: - -```typescript -get: (id: string) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getcache.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getcache.md deleted file mode 100644 index db765cf54d048..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getcache.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [getCache](./kibana-plugin-plugins-data-server.indexpatternsservice.getcache.md) - -## IndexPatternsService.getCache property - -Signature: - -```typescript -getCache: () => Promise>[] | null | undefined>; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getdefault.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getdefault.md deleted file mode 100644 index 104e605e01bcb..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getdefault.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [getDefault](./kibana-plugin-plugins-data-server.indexpatternsservice.getdefault.md) - -## IndexPatternsService.getDefault property - -Get default index pattern - -Signature: - -```typescript -getDefault: () => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getdefaultid.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getdefaultid.md deleted file mode 100644 index 107d1e4e94a0d..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getdefaultid.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [getDefaultId](./kibana-plugin-plugins-data-server.indexpatternsservice.getdefaultid.md) - -## IndexPatternsService.getDefaultId property - -Get default index pattern id - -Signature: - -```typescript -getDefaultId: () => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforindexpattern.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforindexpattern.md deleted file mode 100644 index db871c0bec83c..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforindexpattern.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [getFieldsForIndexPattern](./kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforindexpattern.md) - -## IndexPatternsService.getFieldsForIndexPattern property - -Get field list by providing an index patttern (or spec) - -Signature: - -```typescript -getFieldsForIndexPattern: (indexPattern: IndexPattern | IndexPatternSpec, options?: GetFieldsOptions | undefined) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforwildcard.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforwildcard.md deleted file mode 100644 index 0b2c6dbfdef8b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforwildcard.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [getFieldsForWildcard](./kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforwildcard.md) - -## IndexPatternsService.getFieldsForWildcard property - -Get field list by providing { pattern } - -Signature: - -```typescript -getFieldsForWildcard: (options: GetFieldsOptions) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getids.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getids.md deleted file mode 100644 index 2f0fb56cc4457..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getids.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [getIds](./kibana-plugin-plugins-data-server.indexpatternsservice.getids.md) - -## IndexPatternsService.getIds property - -Get list of index pattern ids - -Signature: - -```typescript -getIds: (refresh?: boolean) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getidswithtitle.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getidswithtitle.md deleted file mode 100644 index a047b056e0ed5..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.getidswithtitle.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [getIdsWithTitle](./kibana-plugin-plugins-data-server.indexpatternsservice.getidswithtitle.md) - -## IndexPatternsService.getIdsWithTitle property - -Get list of index pattern ids with titles - -Signature: - -```typescript -getIdsWithTitle: (refresh?: boolean) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.gettitles.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.gettitles.md deleted file mode 100644 index 385e7f70d237a..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.gettitles.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [getTitles](./kibana-plugin-plugins-data-server.indexpatternsservice.gettitles.md) - -## IndexPatternsService.getTitles property - -Get list of index pattern titles - -Signature: - -```typescript -getTitles: (refresh?: boolean) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.hasuserindexpattern.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.hasuserindexpattern.md deleted file mode 100644 index 49f365c106040..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.hasuserindexpattern.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [hasUserIndexPattern](./kibana-plugin-plugins-data-server.indexpatternsservice.hasuserindexpattern.md) - -## IndexPatternsService.hasUserIndexPattern() method - -Checks if current user has a user created index pattern ignoring fleet's server default index patterns - -Signature: - -```typescript -hasUserIndexPattern(): Promise; -``` -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.md deleted file mode 100644 index 65997e0688b7b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.md +++ /dev/null @@ -1,50 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) - -## IndexPatternsService class - -Signature: - -```typescript -export declare class IndexPatternsService -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)({ uiSettings, savedObjectsClient, apiClient, fieldFormats, onNotification, onError, onRedirectNoIndexPattern, })](./kibana-plugin-plugins-data-server.indexpatternsservice._constructor_.md) | | Constructs a new instance of the IndexPatternsService class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [clearCache](./kibana-plugin-plugins-data-server.indexpatternsservice.clearcache.md) | | (id?: string | undefined) => void | Clear index pattern list cache | -| [ensureDefaultIndexPattern](./kibana-plugin-plugins-data-server.indexpatternsservice.ensuredefaultindexpattern.md) | | EnsureDefaultIndexPattern | | -| [fieldArrayToMap](./kibana-plugin-plugins-data-server.indexpatternsservice.fieldarraytomap.md) | | (fields: FieldSpec[], fieldAttrs?: FieldAttrs | undefined) => Record<string, FieldSpec> | Converts field array to map | -| [find](./kibana-plugin-plugins-data-server.indexpatternsservice.find.md) | | (search: string, size?: number) => Promise<IndexPattern[]> | Find and load index patterns by title | -| [get](./kibana-plugin-plugins-data-server.indexpatternsservice.get.md) | | (id: string) => Promise<IndexPattern> | Get an index pattern by id. Cache optimized | -| [getCache](./kibana-plugin-plugins-data-server.indexpatternsservice.getcache.md) | | () => Promise<SavedObject<Pick<IndexPatternAttributes, "type" | "title" | "typeMeta">>[] | null | undefined> | | -| [getDefault](./kibana-plugin-plugins-data-server.indexpatternsservice.getdefault.md) | | () => Promise<IndexPattern | null> | Get default index pattern | -| [getDefaultId](./kibana-plugin-plugins-data-server.indexpatternsservice.getdefaultid.md) | | () => Promise<string | null> | Get default index pattern id | -| [getFieldsForIndexPattern](./kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforindexpattern.md) | | (indexPattern: IndexPattern | IndexPatternSpec, options?: GetFieldsOptions | undefined) => Promise<any> | Get field list by providing an index patttern (or spec) | -| [getFieldsForWildcard](./kibana-plugin-plugins-data-server.indexpatternsservice.getfieldsforwildcard.md) | | (options: GetFieldsOptions) => Promise<any> | Get field list by providing { pattern } | -| [getIds](./kibana-plugin-plugins-data-server.indexpatternsservice.getids.md) | | (refresh?: boolean) => Promise<string[]> | Get list of index pattern ids | -| [getIdsWithTitle](./kibana-plugin-plugins-data-server.indexpatternsservice.getidswithtitle.md) | | (refresh?: boolean) => Promise<IndexPatternListItem[]> | Get list of index pattern ids with titles | -| [getTitles](./kibana-plugin-plugins-data-server.indexpatternsservice.gettitles.md) | | (refresh?: boolean) => Promise<string[]> | Get list of index pattern titles | -| [refreshFields](./kibana-plugin-plugins-data-server.indexpatternsservice.refreshfields.md) | | (indexPattern: IndexPattern) => Promise<void> | Refresh field list for a given index pattern | -| [savedObjectToSpec](./kibana-plugin-plugins-data-server.indexpatternsservice.savedobjecttospec.md) | | (savedObject: SavedObject<IndexPatternAttributes>) => IndexPatternSpec | Converts index pattern saved object to index pattern spec | -| [setDefault](./kibana-plugin-plugins-data-server.indexpatternsservice.setdefault.md) | | (id: string | null, force?: boolean) => Promise<void> | Optionally set default index pattern, unless force = true | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [create(spec, skipFetchFields)](./kibana-plugin-plugins-data-server.indexpatternsservice.create.md) | | Create a new index pattern instance | -| [createAndSave(spec, override, skipFetchFields)](./kibana-plugin-plugins-data-server.indexpatternsservice.createandsave.md) | | Create a new index pattern and save it right away | -| [createSavedObject(indexPattern, override)](./kibana-plugin-plugins-data-server.indexpatternsservice.createsavedobject.md) | | Save a new index pattern | -| [delete(indexPatternId)](./kibana-plugin-plugins-data-server.indexpatternsservice.delete.md) | | Deletes an index pattern from .kibana index | -| [hasUserIndexPattern()](./kibana-plugin-plugins-data-server.indexpatternsservice.hasuserindexpattern.md) | | Checks if current user has a user created index pattern ignoring fleet's server default index patterns | -| [updateSavedObject(indexPattern, saveAttempts, ignoreErrors)](./kibana-plugin-plugins-data-server.indexpatternsservice.updatesavedobject.md) | | Save existing index pattern. Will attempt to merge differences if there are conflicts | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.refreshfields.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.refreshfields.md deleted file mode 100644 index 6b81447eca9ed..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.refreshfields.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [refreshFields](./kibana-plugin-plugins-data-server.indexpatternsservice.refreshfields.md) - -## IndexPatternsService.refreshFields property - -Refresh field list for a given index pattern - -Signature: - -```typescript -refreshFields: (indexPattern: IndexPattern) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.savedobjecttospec.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.savedobjecttospec.md deleted file mode 100644 index 92ac4e556ae29..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.savedobjecttospec.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [savedObjectToSpec](./kibana-plugin-plugins-data-server.indexpatternsservice.savedobjecttospec.md) - -## IndexPatternsService.savedObjectToSpec property - -Converts index pattern saved object to index pattern spec - -Signature: - -```typescript -savedObjectToSpec: (savedObject: SavedObject) => IndexPatternSpec; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.setdefault.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.setdefault.md deleted file mode 100644 index 6dc584341eef3..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.setdefault.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [setDefault](./kibana-plugin-plugins-data-server.indexpatternsservice.setdefault.md) - -## IndexPatternsService.setDefault property - -Optionally set default index pattern, unless force = true - -Signature: - -```typescript -setDefault: (id: string | null, force?: boolean) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.updatesavedobject.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.updatesavedobject.md deleted file mode 100644 index 17f261aebdc65..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsservice.updatesavedobject.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) > [updateSavedObject](./kibana-plugin-plugins-data-server.indexpatternsservice.updatesavedobject.md) - -## IndexPatternsService.updateSavedObject() method - -Save existing index pattern. Will attempt to merge differences if there are conflicts - -Signature: - -```typescript -updateSavedObject(indexPattern: IndexPattern, saveAttempts?: number, ignoreErrors?: boolean): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| indexPattern | IndexPattern | | -| saveAttempts | number | | -| ignoreErrors | boolean | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.cancelsession.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.cancelsession.md deleted file mode 100644 index 3b38e64ecc3da..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.cancelsession.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IScopedSearchClient](./kibana-plugin-plugins-data-server.iscopedsearchclient.md) > [cancelSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.cancelsession.md) - -## IScopedSearchClient.cancelSession property - -Signature: - -```typescript -cancelSession: IScopedSearchSessionsClient['cancel']; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.deletesession.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.deletesession.md deleted file mode 100644 index 609c730c2911c..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.deletesession.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IScopedSearchClient](./kibana-plugin-plugins-data-server.iscopedsearchclient.md) > [deleteSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.deletesession.md) - -## IScopedSearchClient.deleteSession property - -Signature: - -```typescript -deleteSession: IScopedSearchSessionsClient['delete']; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.extendsession.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.extendsession.md deleted file mode 100644 index 33ce8f2a82d0f..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.extendsession.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IScopedSearchClient](./kibana-plugin-plugins-data-server.iscopedsearchclient.md) > [extendSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.extendsession.md) - -## IScopedSearchClient.extendSession property - -Signature: - -```typescript -extendSession: IScopedSearchSessionsClient['extend']; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.findsessions.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.findsessions.md deleted file mode 100644 index 2a78e09841e77..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.findsessions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IScopedSearchClient](./kibana-plugin-plugins-data-server.iscopedsearchclient.md) > [findSessions](./kibana-plugin-plugins-data-server.iscopedsearchclient.findsessions.md) - -## IScopedSearchClient.findSessions property - -Signature: - -```typescript -findSessions: IScopedSearchSessionsClient['find']; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.getsession.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.getsession.md deleted file mode 100644 index 4afcf4ad29195..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.getsession.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IScopedSearchClient](./kibana-plugin-plugins-data-server.iscopedsearchclient.md) > [getSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.getsession.md) - -## IScopedSearchClient.getSession property - -Signature: - -```typescript -getSession: IScopedSearchSessionsClient['get']; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.md deleted file mode 100644 index 41ac662905b6b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IScopedSearchClient](./kibana-plugin-plugins-data-server.iscopedsearchclient.md) - -## IScopedSearchClient interface - -Signature: - -```typescript -export interface IScopedSearchClient extends ISearchClient -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [cancelSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.cancelsession.md) | IScopedSearchSessionsClient['cancel'] | | -| [deleteSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.deletesession.md) | IScopedSearchSessionsClient['delete'] | | -| [extendSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.extendsession.md) | IScopedSearchSessionsClient['extend'] | | -| [findSessions](./kibana-plugin-plugins-data-server.iscopedsearchclient.findsessions.md) | IScopedSearchSessionsClient['find'] | | -| [getSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.getsession.md) | IScopedSearchSessionsClient['get'] | | -| [saveSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.savesession.md) | IScopedSearchSessionsClient['save'] | | -| [updateSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.updatesession.md) | IScopedSearchSessionsClient['update'] | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.savesession.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.savesession.md deleted file mode 100644 index 78cd49c376005..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.savesession.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IScopedSearchClient](./kibana-plugin-plugins-data-server.iscopedsearchclient.md) > [saveSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.savesession.md) - -## IScopedSearchClient.saveSession property - -Signature: - -```typescript -saveSession: IScopedSearchSessionsClient['save']; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.updatesession.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.updatesession.md deleted file mode 100644 index 5e010f9168e43..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iscopedsearchclient.updatesession.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IScopedSearchClient](./kibana-plugin-plugins-data-server.iscopedsearchclient.md) > [updateSession](./kibana-plugin-plugins-data-server.iscopedsearchclient.updatesession.md) - -## IScopedSearchClient.updateSession property - -Signature: - -```typescript -updateSession: IScopedSearchSessionsClient['update']; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.abortsignal.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.abortsignal.md deleted file mode 100644 index 693345f480a9a..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.abortsignal.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) > [abortSignal](./kibana-plugin-plugins-data-server.isearchoptions.abortsignal.md) - -## ISearchOptions.abortSignal property - -An `AbortSignal` that allows the caller of `search` to abort a search request. - -Signature: - -```typescript -abortSignal?: AbortSignal; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.executioncontext.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.executioncontext.md deleted file mode 100644 index 72e750e9be92a..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.executioncontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) > [executionContext](./kibana-plugin-plugins-data-server.isearchoptions.executioncontext.md) - -## ISearchOptions.executionContext property - -Signature: - -```typescript -executionContext?: KibanaExecutionContext; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.indexpattern.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.indexpattern.md deleted file mode 100644 index cc24363c1bed5..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.indexpattern.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) > [indexPattern](./kibana-plugin-plugins-data-server.isearchoptions.indexpattern.md) - -## ISearchOptions.indexPattern property - -Index pattern reference is used for better error messages - -Signature: - -```typescript -indexPattern?: IndexPattern; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.inspector.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.inspector.md deleted file mode 100644 index ab755334643aa..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.inspector.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) > [inspector](./kibana-plugin-plugins-data-server.isearchoptions.inspector.md) - -## ISearchOptions.inspector property - -Inspector integration options - -Signature: - -```typescript -inspector?: IInspectorInfo; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.isrestore.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.isrestore.md deleted file mode 100644 index ae518e5a052fc..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.isrestore.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) > [isRestore](./kibana-plugin-plugins-data-server.isearchoptions.isrestore.md) - -## ISearchOptions.isRestore property - -Whether the session is restored (i.e. search requests should re-use the stored search IDs, rather than starting from scratch) - -Signature: - -```typescript -isRestore?: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.isstored.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.isstored.md deleted file mode 100644 index aceee7fd6df68..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.isstored.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) > [isStored](./kibana-plugin-plugins-data-server.isearchoptions.isstored.md) - -## ISearchOptions.isStored property - -Whether the session is already saved (i.e. sent to background) - -Signature: - -```typescript -isStored?: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.legacyhitstotal.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.legacyhitstotal.md deleted file mode 100644 index 59b8b2c6b446f..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.legacyhitstotal.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) > [legacyHitsTotal](./kibana-plugin-plugins-data-server.isearchoptions.legacyhitstotal.md) - -## ISearchOptions.legacyHitsTotal property - -Request the legacy format for the total number of hits. If sending `rest_total_hits_as_int` to something other than `true`, this should be set to `false`. - -Signature: - -```typescript -legacyHitsTotal?: boolean; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.md deleted file mode 100644 index 674cacc27a7e4..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) - -## ISearchOptions interface - -Signature: - -```typescript -export interface ISearchOptions -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [abortSignal](./kibana-plugin-plugins-data-server.isearchoptions.abortsignal.md) | AbortSignal | An AbortSignal that allows the caller of search to abort a search request. | -| [executionContext](./kibana-plugin-plugins-data-server.isearchoptions.executioncontext.md) | KibanaExecutionContext | | -| [indexPattern](./kibana-plugin-plugins-data-server.isearchoptions.indexpattern.md) | IndexPattern | Index pattern reference is used for better error messages | -| [inspector](./kibana-plugin-plugins-data-server.isearchoptions.inspector.md) | IInspectorInfo | Inspector integration options | -| [isRestore](./kibana-plugin-plugins-data-server.isearchoptions.isrestore.md) | boolean | Whether the session is restored (i.e. search requests should re-use the stored search IDs, rather than starting from scratch) | -| [isStored](./kibana-plugin-plugins-data-server.isearchoptions.isstored.md) | boolean | Whether the session is already saved (i.e. sent to background) | -| [legacyHitsTotal](./kibana-plugin-plugins-data-server.isearchoptions.legacyhitstotal.md) | boolean | Request the legacy format for the total number of hits. If sending rest_total_hits_as_int to something other than true, this should be set to false. | -| [sessionId](./kibana-plugin-plugins-data-server.isearchoptions.sessionid.md) | string | A session ID, grouping multiple search requests into a single session. | -| [strategy](./kibana-plugin-plugins-data-server.isearchoptions.strategy.md) | string | Use this option to force using a specific server side search strategy. Leave empty to use the default strategy. | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.sessionid.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.sessionid.md deleted file mode 100644 index 03043de5193d2..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.sessionid.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) > [sessionId](./kibana-plugin-plugins-data-server.isearchoptions.sessionid.md) - -## ISearchOptions.sessionId property - -A session ID, grouping multiple search requests into a single session. - -Signature: - -```typescript -sessionId?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.strategy.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.strategy.md deleted file mode 100644 index 65da7fddd13f6..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.strategy.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) > [strategy](./kibana-plugin-plugins-data-server.isearchoptions.strategy.md) - -## ISearchOptions.strategy property - -Use this option to force using a specific server side search strategy. Leave empty to use the default strategy. - -Signature: - -```typescript -strategy?: string; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchsessionservice.asscopedprovider.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchsessionservice.asscopedprovider.md deleted file mode 100644 index 3f3d1a2429933..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchsessionservice.asscopedprovider.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchSessionService](./kibana-plugin-plugins-data-server.isearchsessionservice.md) > [asScopedProvider](./kibana-plugin-plugins-data-server.isearchsessionservice.asscopedprovider.md) - -## ISearchSessionService.asScopedProvider property - -Signature: - -```typescript -asScopedProvider: (core: CoreStart) => (request: KibanaRequest) => IScopedSearchSessionsClient; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchsessionservice.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchsessionservice.md deleted file mode 100644 index e7a92497308b9..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchsessionservice.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchSessionService](./kibana-plugin-plugins-data-server.isearchsessionservice.md) - -## ISearchSessionService interface - -Signature: - -```typescript -export interface ISearchSessionService -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [asScopedProvider](./kibana-plugin-plugins-data-server.isearchsessionservice.asscopedprovider.md) | (core: CoreStart) => (request: KibanaRequest) => IScopedSearchSessionsClient<T> | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.cancel.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.cancel.md deleted file mode 100644 index 709d9bb7be9e5..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.cancel.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchStrategy](./kibana-plugin-plugins-data-server.isearchstrategy.md) > [cancel](./kibana-plugin-plugins-data-server.isearchstrategy.cancel.md) - -## ISearchStrategy.cancel property - -Signature: - -```typescript -cancel?: (id: string, options: ISearchOptions, deps: SearchStrategyDependencies) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.extend.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.extend.md deleted file mode 100644 index 65e3c2868f29f..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.extend.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchStrategy](./kibana-plugin-plugins-data-server.isearchstrategy.md) > [extend](./kibana-plugin-plugins-data-server.isearchstrategy.extend.md) - -## ISearchStrategy.extend property - -Signature: - -```typescript -extend?: (id: string, keepAlive: string, options: ISearchOptions, deps: SearchStrategyDependencies) => Promise; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.md deleted file mode 100644 index c46a580d5ceb8..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchStrategy](./kibana-plugin-plugins-data-server.isearchstrategy.md) - -## ISearchStrategy interface - -Search strategy interface contains a search method that takes in a request and returns a promise that resolves to a response. - -Signature: - -```typescript -export interface ISearchStrategy -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [cancel](./kibana-plugin-plugins-data-server.isearchstrategy.cancel.md) | (id: string, options: ISearchOptions, deps: SearchStrategyDependencies) => Promise<void> | | -| [extend](./kibana-plugin-plugins-data-server.isearchstrategy.extend.md) | (id: string, keepAlive: string, options: ISearchOptions, deps: SearchStrategyDependencies) => Promise<void> | | -| [search](./kibana-plugin-plugins-data-server.isearchstrategy.search.md) | (request: SearchStrategyRequest, options: ISearchOptions, deps: SearchStrategyDependencies) => Observable<SearchStrategyResponse> | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.search.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.search.md deleted file mode 100644 index 266995f2ec82c..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchstrategy.search.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchStrategy](./kibana-plugin-plugins-data-server.isearchstrategy.md) > [search](./kibana-plugin-plugins-data-server.isearchstrategy.search.md) - -## ISearchStrategy.search property - -Signature: - -```typescript -search: (request: SearchStrategyRequest, options: ISearchOptions, deps: SearchStrategyDependencies) => Observable; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kuerynode.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kuerynode.md deleted file mode 100644 index f56300757736a..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kuerynode.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [KueryNode](./kibana-plugin-plugins-data-server.kuerynode.md) - -## KueryNode type - -> Warning: This API is now obsolete. -> -> Import from the "@kbn/es-query" package directly instead. 8.1 -> - -Signature: - -```typescript -declare type KueryNode = oldKueryNode; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.md deleted file mode 100644 index 9c3d0f6f41d0a..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.md +++ /dev/null @@ -1,79 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) - -## kibana-plugin-plugins-data-server package - -## Classes - -| Class | Description | -| --- | --- | -| [IndexPattern](./kibana-plugin-plugins-data-server.indexpattern.md) | | -| [IndexPatternField](./kibana-plugin-plugins-data-server.indexpatternfield.md) | | -| [IndexPatternsFetcher](./kibana-plugin-plugins-data-server.indexpatternsfetcher.md) | | -| [IndexPatternsService](./kibana-plugin-plugins-data-server.indexpatternsservice.md) | | -| [NoSearchIdInSessionError](./kibana-plugin-plugins-data-server.nosearchidinsessionerror.md) | | -| [Plugin](./kibana-plugin-plugins-data-server.plugin.md) | | - -## Enumerations - -| Enumeration | Description | -| --- | --- | -| [METRIC\_TYPES](./kibana-plugin-plugins-data-server.metric_types.md) | | - -## Functions - -| Function | Description | -| --- | --- | -| [getCapabilitiesForRollupIndices(indices)](./kibana-plugin-plugins-data-server.getcapabilitiesforrollupindices.md) | | -| [getEsQueryConfig(config)](./kibana-plugin-plugins-data-server.getesqueryconfig.md) | | -| [getTime(indexPattern, timeRange, options)](./kibana-plugin-plugins-data-server.gettime.md) | | -| [parseInterval(interval)](./kibana-plugin-plugins-data-server.parseinterval.md) | | -| [plugin(initializerContext)](./kibana-plugin-plugins-data-server.plugin.md) | Static code to be shared externally | -| [shouldReadFieldFromDocValues(aggregatable, esType)](./kibana-plugin-plugins-data-server.shouldreadfieldfromdocvalues.md) | | - -## Interfaces - -| Interface | Description | -| --- | --- | -| [AsyncSearchStatusResponse](./kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md) | | -| [FieldDescriptor](./kibana-plugin-plugins-data-server.fielddescriptor.md) | | -| [IEsSearchRequest](./kibana-plugin-plugins-data-server.iessearchrequest.md) | | -| [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) | | -| [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) | Interface for an index pattern saved object | -| [IScopedSearchClient](./kibana-plugin-plugins-data-server.iscopedsearchclient.md) | | -| [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) | | -| [ISearchSessionService](./kibana-plugin-plugins-data-server.isearchsessionservice.md) | | -| [ISearchStrategy](./kibana-plugin-plugins-data-server.isearchstrategy.md) | Search strategy interface contains a search method that takes in a request and returns a promise that resolves to a response. | -| [PluginSetup](./kibana-plugin-plugins-data-server.pluginsetup.md) | | -| [PluginStart](./kibana-plugin-plugins-data-server.pluginstart.md) | | -| [SearchStrategyDependencies](./kibana-plugin-plugins-data-server.searchstrategydependencies.md) | | - -## Variables - -| Variable | Description | -| --- | --- | -| [castEsToKbnFieldTypeName](./kibana-plugin-plugins-data-server.castestokbnfieldtypename.md) | | -| [config](./kibana-plugin-plugins-data-server.config.md) | | -| [ES\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-server.es_search_strategy.md) | | -| [esFilters](./kibana-plugin-plugins-data-server.esfilters.md) | | -| [esKuery](./kibana-plugin-plugins-data-server.eskuery.md) | | -| [esQuery](./kibana-plugin-plugins-data-server.esquery.md) | | -| [exporters](./kibana-plugin-plugins-data-server.exporters.md) | | -| [INDEX\_PATTERN\_SAVED\_OBJECT\_TYPE](./kibana-plugin-plugins-data-server.index_pattern_saved_object_type.md) | \* | -| [search](./kibana-plugin-plugins-data-server.search.md) | | -| [UI\_SETTINGS](./kibana-plugin-plugins-data-server.ui_settings.md) | | - -## Type Aliases - -| Type Alias | Description | -| --- | --- | -| [EsQueryConfig](./kibana-plugin-plugins-data-server.esqueryconfig.md) | | -| [Filter](./kibana-plugin-plugins-data-server.filter.md) | | -| [IEsSearchResponse](./kibana-plugin-plugins-data-server.iessearchresponse.md) | | -| [IFieldSubType](./kibana-plugin-plugins-data-server.ifieldsubtype.md) | | -| [KueryNode](./kibana-plugin-plugins-data-server.kuerynode.md) | | -| [ParsedInterval](./kibana-plugin-plugins-data-server.parsedinterval.md) | | -| [SearchRequestHandlerContext](./kibana-plugin-plugins-data-server.searchrequesthandlercontext.md) | | -| [TimeRange](./kibana-plugin-plugins-data-server.timerange.md) | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.metric_types.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.metric_types.md deleted file mode 100644 index 37f53af8971b3..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.metric_types.md +++ /dev/null @@ -1,40 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [METRIC\_TYPES](./kibana-plugin-plugins-data-server.metric_types.md) - -## METRIC\_TYPES enum - -Signature: - -```typescript -export declare enum METRIC_TYPES -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| AVG | "avg" | | -| AVG\_BUCKET | "avg_bucket" | | -| CARDINALITY | "cardinality" | | -| COUNT | "count" | | -| CUMULATIVE\_SUM | "cumulative_sum" | | -| DERIVATIVE | "derivative" | | -| FILTERED\_METRIC | "filtered_metric" | | -| GEO\_BOUNDS | "geo_bounds" | | -| GEO\_CENTROID | "geo_centroid" | | -| MAX | "max" | | -| MAX\_BUCKET | "max_bucket" | | -| MEDIAN | "median" | | -| MIN | "min" | | -| MIN\_BUCKET | "min_bucket" | | -| MOVING\_FN | "moving_avg" | | -| PERCENTILE\_RANKS | "percentile_ranks" | | -| PERCENTILES | "percentiles" | | -| SERIAL\_DIFF | "serial_diff" | | -| SINGLE\_PERCENTILE | "single_percentile" | | -| STD\_DEV | "std_dev" | | -| SUM | "sum" | | -| SUM\_BUCKET | "sum_bucket" | | -| TOP\_HITS | "top_hits" | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.nosearchidinsessionerror._constructor_.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.nosearchidinsessionerror._constructor_.md deleted file mode 100644 index e48a1c98f8578..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.nosearchidinsessionerror._constructor_.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [NoSearchIdInSessionError](./kibana-plugin-plugins-data-server.nosearchidinsessionerror.md) > [(constructor)](./kibana-plugin-plugins-data-server.nosearchidinsessionerror._constructor_.md) - -## NoSearchIdInSessionError.(constructor) - -Constructs a new instance of the `NoSearchIdInSessionError` class - -Signature: - -```typescript -constructor(); -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.nosearchidinsessionerror.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.nosearchidinsessionerror.md deleted file mode 100644 index 707739f845cd1..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.nosearchidinsessionerror.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [NoSearchIdInSessionError](./kibana-plugin-plugins-data-server.nosearchidinsessionerror.md) - -## NoSearchIdInSessionError class - -Signature: - -```typescript -export declare class NoSearchIdInSessionError extends KbnError -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)()](./kibana-plugin-plugins-data-server.nosearchidinsessionerror._constructor_.md) | | Constructs a new instance of the NoSearchIdInSessionError class | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.parsedinterval.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.parsedinterval.md deleted file mode 100644 index c31a4ec13b837..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.parsedinterval.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ParsedInterval](./kibana-plugin-plugins-data-server.parsedinterval.md) - -## ParsedInterval type - -Signature: - -```typescript -export declare type ParsedInterval = ReturnType; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.parseinterval.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.parseinterval.md deleted file mode 100644 index c0cb9862973d7..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.parseinterval.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [parseInterval](./kibana-plugin-plugins-data-server.parseinterval.md) - -## parseInterval() function - -Signature: - -```typescript -export declare function parseInterval(interval: string): moment.Duration | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| interval | string | | - -Returns: - -`moment.Duration | null` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin._constructor_.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin._constructor_.md deleted file mode 100644 index 4a0a159310b9d..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Plugin](./kibana-plugin-plugins-data-server.plugin.md) > [(constructor)](./kibana-plugin-plugins-data-server.plugin._constructor_.md) - -## Plugin.(constructor) - -Constructs a new instance of the `DataServerPlugin` class - -Signature: - -```typescript -constructor(initializerContext: PluginInitializerContext); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initializerContext | PluginInitializerContext<ConfigSchema> | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.md deleted file mode 100644 index 1773871d946a2..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [plugin](./kibana-plugin-plugins-data-server.plugin.md) - -## plugin() function - -Static code to be shared externally - -Signature: - -```typescript -export declare function plugin(initializerContext: PluginInitializerContext): DataServerPlugin; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initializerContext | PluginInitializerContext<ConfigSchema> | | - -Returns: - -`DataServerPlugin` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.setup.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.setup.md deleted file mode 100644 index 5763cb2dacb7a..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.setup.md +++ /dev/null @@ -1,31 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Plugin](./kibana-plugin-plugins-data-server.plugin.md) > [setup](./kibana-plugin-plugins-data-server.plugin.setup.md) - -## Plugin.setup() method - -Signature: - -```typescript -setup(core: CoreSetup, { bfetch, expressions, usageCollection, fieldFormats }: DataPluginSetupDependencies): { - __enhance: (enhancements: DataEnhancements) => void; - search: ISearchSetup; - fieldFormats: FieldFormatsSetup; - }; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| core | CoreSetup<DataPluginStartDependencies, DataPluginStart> | | -| { bfetch, expressions, usageCollection, fieldFormats } | DataPluginSetupDependencies | | - -Returns: - -`{ - __enhance: (enhancements: DataEnhancements) => void; - search: ISearchSetup; - fieldFormats: FieldFormatsSetup; - }` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.start.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.start.md deleted file mode 100644 index 5b884efe9909b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.start.md +++ /dev/null @@ -1,35 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Plugin](./kibana-plugin-plugins-data-server.plugin.md) > [start](./kibana-plugin-plugins-data-server.plugin.start.md) - -## Plugin.start() method - -Signature: - -```typescript -start(core: CoreStart, { fieldFormats }: DataPluginStartDependencies): { - fieldFormats: FieldFormatsStart; - indexPatterns: { - indexPatternsServiceFactory: (savedObjectsClient: Pick, elasticsearchClient: import("../../../core/server").ElasticsearchClient) => Promise; - }; - search: ISearchStart>; - }; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| core | CoreStart | | -| { fieldFormats } | DataPluginStartDependencies | | - -Returns: - -`{ - fieldFormats: FieldFormatsStart; - indexPatterns: { - indexPatternsServiceFactory: (savedObjectsClient: Pick, elasticsearchClient: import("../../../core/server").ElasticsearchClient) => Promise; - }; - search: ISearchStart>; - }` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.stop.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.stop.md deleted file mode 100644 index 4b5b54f64128c..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.stop.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Plugin](./kibana-plugin-plugins-data-server.plugin.md) > [stop](./kibana-plugin-plugins-data-server.plugin.stop.md) - -## Plugin.stop() method - -Signature: - -```typescript -stop(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.fieldformats.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.fieldformats.md deleted file mode 100644 index 55badaf2d07bc..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.fieldformats.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [PluginSetup](./kibana-plugin-plugins-data-server.pluginsetup.md) > [fieldFormats](./kibana-plugin-plugins-data-server.pluginsetup.fieldformats.md) - -## PluginSetup.fieldFormats property - -> Warning: This API is now obsolete. -> -> - use "fieldFormats" plugin directly instead -> - -Signature: - -```typescript -fieldFormats: FieldFormatsSetup; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.md deleted file mode 100644 index fa289c0a3f4bd..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [PluginSetup](./kibana-plugin-plugins-data-server.pluginsetup.md) - -## PluginSetup interface - -Signature: - -```typescript -export interface DataPluginSetup -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [fieldFormats](./kibana-plugin-plugins-data-server.pluginsetup.fieldformats.md) | FieldFormatsSetup | | -| [search](./kibana-plugin-plugins-data-server.pluginsetup.search.md) | ISearchSetup | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.search.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.search.md deleted file mode 100644 index eb1107604113b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.search.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [PluginSetup](./kibana-plugin-plugins-data-server.pluginsetup.md) > [search](./kibana-plugin-plugins-data-server.pluginsetup.search.md) - -## PluginSetup.search property - -Signature: - -```typescript -search: ISearchSetup; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.fieldformats.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.fieldformats.md deleted file mode 100644 index 26182e96a4a7e..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.fieldformats.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [PluginStart](./kibana-plugin-plugins-data-server.pluginstart.md) > [fieldFormats](./kibana-plugin-plugins-data-server.pluginstart.fieldformats.md) - -## PluginStart.fieldFormats property - -> Warning: This API is now obsolete. -> -> - use "fieldFormats" plugin directly instead -> - -Signature: - -```typescript -fieldFormats: FieldFormatsStart; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.indexpatterns.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.indexpatterns.md deleted file mode 100644 index 02ed24e05bc10..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.indexpatterns.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [PluginStart](./kibana-plugin-plugins-data-server.pluginstart.md) > [indexPatterns](./kibana-plugin-plugins-data-server.pluginstart.indexpatterns.md) - -## PluginStart.indexPatterns property - -Signature: - -```typescript -indexPatterns: IndexPatternsServiceStart; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.md deleted file mode 100644 index b878a179657ed..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [PluginStart](./kibana-plugin-plugins-data-server.pluginstart.md) - -## PluginStart interface - -Signature: - -```typescript -export interface DataPluginStart -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [fieldFormats](./kibana-plugin-plugins-data-server.pluginstart.fieldformats.md) | FieldFormatsStart | | -| [indexPatterns](./kibana-plugin-plugins-data-server.pluginstart.indexpatterns.md) | IndexPatternsServiceStart | | -| [search](./kibana-plugin-plugins-data-server.pluginstart.search.md) | ISearchStart | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.search.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.search.md deleted file mode 100644 index 3144d8c40b780..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.search.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [PluginStart](./kibana-plugin-plugins-data-server.pluginstart.md) > [search](./kibana-plugin-plugins-data-server.pluginstart.search.md) - -## PluginStart.search property - -Signature: - -```typescript -search: ISearchStart; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.search.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.search.md deleted file mode 100644 index 79ff117a33050..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.search.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [search](./kibana-plugin-plugins-data-server.search.md) - -## search variable - -Signature: - -```typescript -search: { - aggs: { - CidrMask: typeof CidrMask; - dateHistogramInterval: typeof dateHistogramInterval; - IpAddress: typeof IpAddress; - parseInterval: typeof parseInterval; - calcAutoIntervalLessThan: typeof calcAutoIntervalLessThan; - }; -} -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchrequesthandlercontext.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchrequesthandlercontext.md deleted file mode 100644 index f031ddfbd09af..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchrequesthandlercontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [SearchRequestHandlerContext](./kibana-plugin-plugins-data-server.searchrequesthandlercontext.md) - -## SearchRequestHandlerContext type - -Signature: - -```typescript -export declare type SearchRequestHandlerContext = IScopedSearchClient; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.esclient.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.esclient.md deleted file mode 100644 index d205021e10954..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.esclient.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [SearchStrategyDependencies](./kibana-plugin-plugins-data-server.searchstrategydependencies.md) > [esClient](./kibana-plugin-plugins-data-server.searchstrategydependencies.esclient.md) - -## SearchStrategyDependencies.esClient property - -Signature: - -```typescript -esClient: IScopedClusterClient; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.md deleted file mode 100644 index d3abc8bcaf44b..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [SearchStrategyDependencies](./kibana-plugin-plugins-data-server.searchstrategydependencies.md) - -## SearchStrategyDependencies interface - -Signature: - -```typescript -export interface SearchStrategyDependencies -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [esClient](./kibana-plugin-plugins-data-server.searchstrategydependencies.esclient.md) | IScopedClusterClient | | -| [request](./kibana-plugin-plugins-data-server.searchstrategydependencies.request.md) | KibanaRequest | | -| [savedObjectsClient](./kibana-plugin-plugins-data-server.searchstrategydependencies.savedobjectsclient.md) | SavedObjectsClientContract | | -| [searchSessionsClient](./kibana-plugin-plugins-data-server.searchstrategydependencies.searchsessionsclient.md) | IScopedSearchSessionsClient | | -| [uiSettingsClient](./kibana-plugin-plugins-data-server.searchstrategydependencies.uisettingsclient.md) | IUiSettingsClient | | - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.request.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.request.md deleted file mode 100644 index 18163bfebde7e..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.request.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [SearchStrategyDependencies](./kibana-plugin-plugins-data-server.searchstrategydependencies.md) > [request](./kibana-plugin-plugins-data-server.searchstrategydependencies.request.md) - -## SearchStrategyDependencies.request property - -Signature: - -```typescript -request: KibanaRequest; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.savedobjectsclient.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.savedobjectsclient.md deleted file mode 100644 index f159a863312a4..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.savedobjectsclient.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [SearchStrategyDependencies](./kibana-plugin-plugins-data-server.searchstrategydependencies.md) > [savedObjectsClient](./kibana-plugin-plugins-data-server.searchstrategydependencies.savedobjectsclient.md) - -## SearchStrategyDependencies.savedObjectsClient property - -Signature: - -```typescript -savedObjectsClient: SavedObjectsClientContract; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.searchsessionsclient.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.searchsessionsclient.md deleted file mode 100644 index 5340ed9673c02..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.searchsessionsclient.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [SearchStrategyDependencies](./kibana-plugin-plugins-data-server.searchstrategydependencies.md) > [searchSessionsClient](./kibana-plugin-plugins-data-server.searchstrategydependencies.searchsessionsclient.md) - -## SearchStrategyDependencies.searchSessionsClient property - -Signature: - -```typescript -searchSessionsClient: IScopedSearchSessionsClient; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.uisettingsclient.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.uisettingsclient.md deleted file mode 100644 index 38a33e41c396f..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.searchstrategydependencies.uisettingsclient.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [SearchStrategyDependencies](./kibana-plugin-plugins-data-server.searchstrategydependencies.md) > [uiSettingsClient](./kibana-plugin-plugins-data-server.searchstrategydependencies.uisettingsclient.md) - -## SearchStrategyDependencies.uiSettingsClient property - -Signature: - -```typescript -uiSettingsClient: IUiSettingsClient; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.shouldreadfieldfromdocvalues.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.shouldreadfieldfromdocvalues.md deleted file mode 100644 index b62317cd75b50..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.shouldreadfieldfromdocvalues.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [shouldReadFieldFromDocValues](./kibana-plugin-plugins-data-server.shouldreadfieldfromdocvalues.md) - -## shouldReadFieldFromDocValues() function - -Signature: - -```typescript -export declare function shouldReadFieldFromDocValues(aggregatable: boolean, esType: string): boolean; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| aggregatable | boolean | | -| esType | string | | - -Returns: - -`boolean` - diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.md deleted file mode 100644 index 1ac59343220fd..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [TimeRange](./kibana-plugin-plugins-data-server.timerange.md) - -## TimeRange type - -Signature: - -```typescript -export declare type TimeRange = { - from: string; - to: string; - mode?: 'absolute' | 'relative'; -}; -``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ui_settings.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ui_settings.md deleted file mode 100644 index 5453f97d73319..0000000000000 --- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ui_settings.md +++ /dev/null @@ -1,35 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [UI\_SETTINGS](./kibana-plugin-plugins-data-server.ui_settings.md) - -## UI\_SETTINGS variable - -Signature: - -```typescript -UI_SETTINGS: { - readonly META_FIELDS: "metaFields"; - readonly DOC_HIGHLIGHT: "doc_table:highlight"; - readonly QUERY_STRING_OPTIONS: "query:queryString:options"; - readonly QUERY_ALLOW_LEADING_WILDCARDS: "query:allowLeadingWildcards"; - readonly SEARCH_QUERY_LANGUAGE: "search:queryLanguage"; - readonly SORT_OPTIONS: "sort:options"; - readonly COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX: "courier:ignoreFilterIfFieldNotInIndex"; - readonly COURIER_SET_REQUEST_PREFERENCE: "courier:setRequestPreference"; - readonly COURIER_CUSTOM_REQUEST_PREFERENCE: "courier:customRequestPreference"; - readonly COURIER_MAX_CONCURRENT_SHARD_REQUESTS: "courier:maxConcurrentShardRequests"; - readonly SEARCH_INCLUDE_FROZEN: "search:includeFrozen"; - readonly SEARCH_TIMEOUT: "search:timeout"; - readonly HISTOGRAM_BAR_TARGET: "histogram:barTarget"; - readonly HISTOGRAM_MAX_BARS: "histogram:maxBars"; - readonly HISTORY_LIMIT: "history:limit"; - readonly TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: "timepicker:refreshIntervalDefaults"; - readonly TIMEPICKER_QUICK_RANGES: "timepicker:quickRanges"; - readonly TIMEPICKER_TIME_DEFAULTS: "timepicker:timeDefaults"; - readonly INDEXPATTERN_PLACEHOLDER: "indexPattern:placeholder"; - readonly FILTERS_PINNED_BY_DEFAULT: "filters:pinnedByDefault"; - readonly FILTERS_EDITOR_SUGGEST_VALUES: "filterEditor:suggestValues"; - readonly AUTOCOMPLETE_USE_TIMERANGE: "autocomplete:useTimeRange"; - readonly AUTOCOMPLETE_VALUE_SUGGESTION_METHOD: "autocomplete:valueSuggestionMethod"; -} -``` diff --git a/docs/development/plugins/embeddable/public/index.md b/docs/development/plugins/embeddable/public/index.md deleted file mode 100644 index 5de9666f6d0b9..0000000000000 --- a/docs/development/plugins/embeddable/public/index.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) - -## API Reference - -## Packages - -| Package | Description | -| --- | --- | -| [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.action_add_panel.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.action_add_panel.md deleted file mode 100644 index 37c7a546d11ed..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.action_add_panel.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ACTION\_ADD\_PANEL](./kibana-plugin-plugins-embeddable-public.action_add_panel.md) - -## ACTION\_ADD\_PANEL variable - -Signature: - -```typescript -ACTION_ADD_PANEL = "ACTION_ADD_PANEL" -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.action_edit_panel.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.action_edit_panel.md deleted file mode 100644 index 89f02e69f2260..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.action_edit_panel.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ACTION\_EDIT\_PANEL](./kibana-plugin-plugins-embeddable-public.action_edit_panel.md) - -## ACTION\_EDIT\_PANEL variable - -Signature: - -```typescript -ACTION_EDIT_PANEL = "editPanel" -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.adapters.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.adapters.md deleted file mode 100644 index 8ba759e333fa3..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.adapters.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Adapters](./kibana-plugin-plugins-embeddable-public.adapters.md) - -## Adapters interface - -The interface that the adapters used to open an inspector have to fullfill. - -Signature: - -```typescript -export interface Adapters -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [requests](./kibana-plugin-plugins-embeddable-public.adapters.requests.md) | RequestAdapter | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.adapters.requests.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.adapters.requests.md deleted file mode 100644 index 2954ad86138ff..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.adapters.requests.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Adapters](./kibana-plugin-plugins-embeddable-public.adapters.md) > [requests](./kibana-plugin-plugins-embeddable-public.adapters.requests.md) - -## Adapters.requests property - -Signature: - -```typescript -requests?: RequestAdapter; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction._constructor_.md deleted file mode 100644 index e51c465e912e6..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction._constructor_.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AddPanelAction](./kibana-plugin-plugins-embeddable-public.addpanelaction.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.addpanelaction._constructor_.md) - -## AddPanelAction.(constructor) - -Constructs a new instance of the `AddPanelAction` class - -Signature: - -```typescript -constructor(getFactory: EmbeddableStart['getEmbeddableFactory'], getAllFactories: EmbeddableStart['getEmbeddableFactories'], overlays: OverlayStart, notifications: NotificationsStart, SavedObjectFinder: React.ComponentType, reportUiCounter?: ((appName: string, type: import("@kbn/analytics").UiCounterMetricType, eventNames: string | string[], count?: number | undefined) => void) | undefined); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| getFactory | EmbeddableStart['getEmbeddableFactory'] | | -| getAllFactories | EmbeddableStart['getEmbeddableFactories'] | | -| overlays | OverlayStart | | -| notifications | NotificationsStart | | -| SavedObjectFinder | React.ComponentType<any> | | -| reportUiCounter | ((appName: string, type: import("@kbn/analytics").UiCounterMetricType, eventNames: string | string[], count?: number | undefined) => void) | undefined | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.execute.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.execute.md deleted file mode 100644 index 46629f3c654f8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.execute.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AddPanelAction](./kibana-plugin-plugins-embeddable-public.addpanelaction.md) > [execute](./kibana-plugin-plugins-embeddable-public.addpanelaction.execute.md) - -## AddPanelAction.execute() method - -Signature: - -```typescript -execute(context: ActionExecutionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionExecutionContext<ActionContext> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.getdisplayname.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.getdisplayname.md deleted file mode 100644 index b3a181861572b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.getdisplayname.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AddPanelAction](./kibana-plugin-plugins-embeddable-public.addpanelaction.md) > [getDisplayName](./kibana-plugin-plugins-embeddable-public.addpanelaction.getdisplayname.md) - -## AddPanelAction.getDisplayName() method - -Signature: - -```typescript -getDisplayName(): string; -``` -Returns: - -`string` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.geticontype.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.geticontype.md deleted file mode 100644 index c02aa6613630b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.geticontype.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AddPanelAction](./kibana-plugin-plugins-embeddable-public.addpanelaction.md) > [getIconType](./kibana-plugin-plugins-embeddable-public.addpanelaction.geticontype.md) - -## AddPanelAction.getIconType() method - -Signature: - -```typescript -getIconType(): string; -``` -Returns: - -`string` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.id.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.id.md deleted file mode 100644 index 781fb8ed29372..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AddPanelAction](./kibana-plugin-plugins-embeddable-public.addpanelaction.md) > [id](./kibana-plugin-plugins-embeddable-public.addpanelaction.id.md) - -## AddPanelAction.id property - -Signature: - -```typescript -readonly id = "ACTION_ADD_PANEL"; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.iscompatible.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.iscompatible.md deleted file mode 100644 index c8349b86cf348..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.iscompatible.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AddPanelAction](./kibana-plugin-plugins-embeddable-public.addpanelaction.md) > [isCompatible](./kibana-plugin-plugins-embeddable-public.addpanelaction.iscompatible.md) - -## AddPanelAction.isCompatible() method - -Signature: - -```typescript -isCompatible(context: ActionExecutionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionExecutionContext<ActionContext> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.md deleted file mode 100644 index 947e506f72b43..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.md +++ /dev/null @@ -1,34 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AddPanelAction](./kibana-plugin-plugins-embeddable-public.addpanelaction.md) - -## AddPanelAction class - -Signature: - -```typescript -export declare class AddPanelAction implements Action -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(getFactory, getAllFactories, overlays, notifications, SavedObjectFinder, reportUiCounter)](./kibana-plugin-plugins-embeddable-public.addpanelaction._constructor_.md) | | Constructs a new instance of the AddPanelAction class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [id](./kibana-plugin-plugins-embeddable-public.addpanelaction.id.md) | | | | -| [type](./kibana-plugin-plugins-embeddable-public.addpanelaction.type.md) | | | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [execute(context)](./kibana-plugin-plugins-embeddable-public.addpanelaction.execute.md) | | | -| [getDisplayName()](./kibana-plugin-plugins-embeddable-public.addpanelaction.getdisplayname.md) | | | -| [getIconType()](./kibana-plugin-plugins-embeddable-public.addpanelaction.geticontype.md) | | | -| [isCompatible(context)](./kibana-plugin-plugins-embeddable-public.addpanelaction.iscompatible.md) | | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.type.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.type.md deleted file mode 100644 index d57974c984025..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.addpanelaction.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AddPanelAction](./kibana-plugin-plugins-embeddable-public.addpanelaction.md) > [type](./kibana-plugin-plugins-embeddable-public.addpanelaction.type.md) - -## AddPanelAction.type property - -Signature: - -```typescript -readonly type = "ACTION_ADD_PANEL"; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attribute_service_key.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attribute_service_key.md deleted file mode 100644 index 9504d50cf92d3..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attribute_service_key.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ATTRIBUTE\_SERVICE\_KEY](./kibana-plugin-plugins-embeddable-public.attribute_service_key.md) - -## ATTRIBUTE\_SERVICE\_KEY variable - -The attribute service is a shared, generic service that embeddables can use to provide the functionality required to fulfill the requirements of the ReferenceOrValueEmbeddable interface. The attribute\_service can also be used as a higher level wrapper to transform an embeddable input shape that references a saved object into an embeddable input shape that contains that saved object's attributes by value. - -Signature: - -```typescript -ATTRIBUTE_SERVICE_KEY = "attributes" -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice._constructor_.md deleted file mode 100644 index 930250be2018b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice._constructor_.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AttributeService](./kibana-plugin-plugins-embeddable-public.attributeservice.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.attributeservice._constructor_.md) - -## AttributeService.(constructor) - -Constructs a new instance of the `AttributeService` class - -Signature: - -```typescript -constructor(type: string, showSaveModal: (saveModal: React.ReactElement, I18nContext: I18nStart['Context']) => void, i18nContext: I18nStart['Context'], toasts: NotificationsStart['toasts'], options: AttributeServiceOptions, getEmbeddableFactory?: (embeddableFactoryId: string) => EmbeddableFactory); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| type | string | | -| showSaveModal | (saveModal: React.ReactElement, I18nContext: I18nStart['Context']) => void | | -| i18nContext | I18nStart['Context'] | | -| toasts | NotificationsStart['toasts'] | | -| options | AttributeServiceOptions<SavedObjectAttributes> | | -| getEmbeddableFactory | (embeddableFactoryId: string) => EmbeddableFactory | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getexplicitinputfromembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getexplicitinputfromembeddable.md deleted file mode 100644 index e3f27723e1a70..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getexplicitinputfromembeddable.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AttributeService](./kibana-plugin-plugins-embeddable-public.attributeservice.md) > [getExplicitInputFromEmbeddable](./kibana-plugin-plugins-embeddable-public.attributeservice.getexplicitinputfromembeddable.md) - -## AttributeService.getExplicitInputFromEmbeddable() method - -Signature: - -```typescript -getExplicitInputFromEmbeddable(embeddable: IEmbeddable): ValType | RefType; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| embeddable | IEmbeddable | | - -Returns: - -`ValType | RefType` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getinputasreftype.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getinputasreftype.md deleted file mode 100644 index 7908327c594d8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getinputasreftype.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AttributeService](./kibana-plugin-plugins-embeddable-public.attributeservice.md) > [getInputAsRefType](./kibana-plugin-plugins-embeddable-public.attributeservice.getinputasreftype.md) - -## AttributeService.getInputAsRefType property - -Signature: - -```typescript -getInputAsRefType: (input: ValType | RefType, saveOptions?: { - showSaveModal: boolean; - saveModalTitle?: string | undefined; - } | { - title: string; - } | undefined) => Promise; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getinputasvaluetype.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getinputasvaluetype.md deleted file mode 100644 index 939194575cbb7..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.getinputasvaluetype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AttributeService](./kibana-plugin-plugins-embeddable-public.attributeservice.md) > [getInputAsValueType](./kibana-plugin-plugins-embeddable-public.attributeservice.getinputasvaluetype.md) - -## AttributeService.getInputAsValueType property - -Signature: - -```typescript -getInputAsValueType: (input: ValType | RefType) => Promise; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.inputisreftype.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.inputisreftype.md deleted file mode 100644 index c17ad97c3eeed..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.inputisreftype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AttributeService](./kibana-plugin-plugins-embeddable-public.attributeservice.md) > [inputIsRefType](./kibana-plugin-plugins-embeddable-public.attributeservice.inputisreftype.md) - -## AttributeService.inputIsRefType property - -Signature: - -```typescript -inputIsRefType: (input: ValType | RefType) => input is RefType; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.md deleted file mode 100644 index b63516c909d3c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.md +++ /dev/null @@ -1,40 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AttributeService](./kibana-plugin-plugins-embeddable-public.attributeservice.md) - -## AttributeService class - -Signature: - -```typescript -export declare class AttributeService -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(type, showSaveModal, i18nContext, toasts, options, getEmbeddableFactory)](./kibana-plugin-plugins-embeddable-public.attributeservice._constructor_.md) | | Constructs a new instance of the AttributeService class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [getInputAsRefType](./kibana-plugin-plugins-embeddable-public.attributeservice.getinputasreftype.md) | | (input: ValType | RefType, saveOptions?: {
showSaveModal: boolean;
saveModalTitle?: string | undefined;
} | {
title: string;
} | undefined) => Promise<RefType> | | -| [getInputAsValueType](./kibana-plugin-plugins-embeddable-public.attributeservice.getinputasvaluetype.md) | | (input: ValType | RefType) => Promise<ValType> | | -| [inputIsRefType](./kibana-plugin-plugins-embeddable-public.attributeservice.inputisreftype.md) | | (input: ValType | RefType) => input is RefType | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [getExplicitInputFromEmbeddable(embeddable)](./kibana-plugin-plugins-embeddable-public.attributeservice.getexplicitinputfromembeddable.md) | | | -| [unwrapAttributes(input)](./kibana-plugin-plugins-embeddable-public.attributeservice.unwrapattributes.md) | | | -| [wrapAttributes(newAttributes, useRefType, input)](./kibana-plugin-plugins-embeddable-public.attributeservice.wrapattributes.md) | | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.unwrapattributes.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.unwrapattributes.md deleted file mode 100644 index f08736a2240a3..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.unwrapattributes.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AttributeService](./kibana-plugin-plugins-embeddable-public.attributeservice.md) > [unwrapAttributes](./kibana-plugin-plugins-embeddable-public.attributeservice.unwrapattributes.md) - -## AttributeService.unwrapAttributes() method - -Signature: - -```typescript -unwrapAttributes(input: RefType | ValType): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| input | RefType | ValType | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.wrapattributes.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.wrapattributes.md deleted file mode 100644 index e22a2ec3faeb4..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.attributeservice.wrapattributes.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [AttributeService](./kibana-plugin-plugins-embeddable-public.attributeservice.md) > [wrapAttributes](./kibana-plugin-plugins-embeddable-public.attributeservice.wrapattributes.md) - -## AttributeService.wrapAttributes() method - -Signature: - -```typescript -wrapAttributes(newAttributes: SavedObjectAttributes, useRefType: boolean, input?: ValType | RefType): Promise>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| newAttributes | SavedObjectAttributes | | -| useRefType | boolean | | -| input | ValType | RefType | | - -Returns: - -`Promise>` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.chartactioncontext.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.chartactioncontext.md deleted file mode 100644 index 9447c8a4e50a7..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.chartactioncontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ChartActionContext](./kibana-plugin-plugins-embeddable-public.chartactioncontext.md) - -## ChartActionContext type - -Signature: - -```typescript -export declare type ChartActionContext = ValueClickContext | RangeSelectContext | RowClickContext; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container._constructor_.md deleted file mode 100644 index c571bae7c7613..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container._constructor_.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.container._constructor_.md) - -## Container.(constructor) - -Constructs a new instance of the `Container` class - -Signature: - -```typescript -constructor(input: TContainerInput, output: TContainerOutput, getFactory: EmbeddableStart['getEmbeddableFactory'], parent?: Container); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| input | TContainerInput | | -| output | TContainerOutput | | -| getFactory | EmbeddableStart['getEmbeddableFactory'] | | -| parent | Container | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.addnewembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.addnewembeddable.md deleted file mode 100644 index 1a7b32fea5361..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.addnewembeddable.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [addNewEmbeddable](./kibana-plugin-plugins-embeddable-public.container.addnewembeddable.md) - -## Container.addNewEmbeddable() method - -Signature: - -```typescript -addNewEmbeddable = IEmbeddable>(type: string, explicitInput: Partial): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| type | string | | -| explicitInput | Partial<EEI> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.children.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.children.md deleted file mode 100644 index a334f37ba3e7d..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.children.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [children](./kibana-plugin-plugins-embeddable-public.container.children.md) - -## Container.children property - -Signature: - -```typescript -readonly children: { - [key: string]: IEmbeddable | ErrorEmbeddable; - }; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.createnewpanelstate.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.createnewpanelstate.md deleted file mode 100644 index cb084192ccf23..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.createnewpanelstate.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [createNewPanelState](./kibana-plugin-plugins-embeddable-public.container.createnewpanelstate.md) - -## Container.createNewPanelState() method - -Signature: - -```typescript -protected createNewPanelState>(factory: EmbeddableFactory, partial?: Partial): PanelState; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| factory | EmbeddableFactory<TEmbeddableInput, any, TEmbeddable> | | -| partial | Partial<TEmbeddableInput> | | - -Returns: - -`PanelState` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.destroy.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.destroy.md deleted file mode 100644 index d2776fb9e5944..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.destroy.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [destroy](./kibana-plugin-plugins-embeddable-public.container.destroy.md) - -## Container.destroy() method - -Signature: - -```typescript -destroy(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getchild.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getchild.md deleted file mode 100644 index 56d6a8a105bc7..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getchild.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [getChild](./kibana-plugin-plugins-embeddable-public.container.getchild.md) - -## Container.getChild() method - -Signature: - -```typescript -getChild(id: string): E; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`E` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getchildids.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getchildids.md deleted file mode 100644 index 83a9b134cad3f..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getchildids.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [getChildIds](./kibana-plugin-plugins-embeddable-public.container.getchildids.md) - -## Container.getChildIds() method - -Signature: - -```typescript -getChildIds(): string[]; -``` -Returns: - -`string[]` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getfactory.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getfactory.md deleted file mode 100644 index f4ac95abbf372..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getfactory.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [getFactory](./kibana-plugin-plugins-embeddable-public.container.getfactory.md) - -## Container.getFactory property - -Signature: - -```typescript -protected readonly getFactory: EmbeddableStart['getEmbeddableFactory']; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getinheritedinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getinheritedinput.md deleted file mode 100644 index 4c5823b890e65..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getinheritedinput.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [getInheritedInput](./kibana-plugin-plugins-embeddable-public.container.getinheritedinput.md) - -## Container.getInheritedInput() method - -Return state that comes from the container and is passed down to the child. For instance, time range and filters are common inherited input state. Note that any state stored in `this.input.panels[embeddableId].explicitInput` will override inherited input. - -Signature: - -```typescript -protected abstract getInheritedInput(id: string): TChildInput; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`TChildInput` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getinputforchild.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getinputforchild.md deleted file mode 100644 index 803356d554012..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getinputforchild.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [getInputForChild](./kibana-plugin-plugins-embeddable-public.container.getinputforchild.md) - -## Container.getInputForChild() method - -Signature: - -```typescript -getInputForChild(embeddableId: string): TEmbeddableInput; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| embeddableId | string | | - -Returns: - -`TEmbeddableInput` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getpanelstate.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getpanelstate.md deleted file mode 100644 index 5981284e0497c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.getpanelstate.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [getPanelState](./kibana-plugin-plugins-embeddable-public.container.getpanelstate.md) - -## Container.getPanelState() method - -Signature: - -```typescript -protected getPanelState(embeddableId: string): PanelState; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| embeddableId | string | | - -Returns: - -`PanelState` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.iscontainer.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.iscontainer.md deleted file mode 100644 index af65381de78f7..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.iscontainer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [isContainer](./kibana-plugin-plugins-embeddable-public.container.iscontainer.md) - -## Container.isContainer property - -Signature: - -```typescript -readonly isContainer: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.md deleted file mode 100644 index 00f75470900d3..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.md +++ /dev/null @@ -1,44 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) - -## Container class - -Signature: - -```typescript -export declare abstract class Container = {}, TContainerInput extends ContainerInput = ContainerInput, TContainerOutput extends ContainerOutput = ContainerOutput> extends Embeddable implements IContainer -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(input, output, getFactory, parent)](./kibana-plugin-plugins-embeddable-public.container._constructor_.md) | | Constructs a new instance of the Container class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [children](./kibana-plugin-plugins-embeddable-public.container.children.md) | | {
[key: string]: IEmbeddable<any, any> | ErrorEmbeddable;
} | | -| [getFactory](./kibana-plugin-plugins-embeddable-public.container.getfactory.md) | | EmbeddableStart['getEmbeddableFactory'] | | -| [isContainer](./kibana-plugin-plugins-embeddable-public.container.iscontainer.md) | | boolean | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [addNewEmbeddable(type, explicitInput)](./kibana-plugin-plugins-embeddable-public.container.addnewembeddable.md) | | | -| [createNewPanelState(factory, partial)](./kibana-plugin-plugins-embeddable-public.container.createnewpanelstate.md) | | | -| [destroy()](./kibana-plugin-plugins-embeddable-public.container.destroy.md) | | | -| [getChild(id)](./kibana-plugin-plugins-embeddable-public.container.getchild.md) | | | -| [getChildIds()](./kibana-plugin-plugins-embeddable-public.container.getchildids.md) | | | -| [getInheritedInput(id)](./kibana-plugin-plugins-embeddable-public.container.getinheritedinput.md) | | Return state that comes from the container and is passed down to the child. For instance, time range and filters are common inherited input state. Note that any state stored in this.input.panels[embeddableId].explicitInput will override inherited input. | -| [getInputForChild(embeddableId)](./kibana-plugin-plugins-embeddable-public.container.getinputforchild.md) | | | -| [getPanelState(embeddableId)](./kibana-plugin-plugins-embeddable-public.container.getpanelstate.md) | | | -| [reload()](./kibana-plugin-plugins-embeddable-public.container.reload.md) | | | -| [removeEmbeddable(embeddableId)](./kibana-plugin-plugins-embeddable-public.container.removeembeddable.md) | | | -| [setChildLoaded(embeddable)](./kibana-plugin-plugins-embeddable-public.container.setchildloaded.md) | | | -| [untilEmbeddableLoaded(id)](./kibana-plugin-plugins-embeddable-public.container.untilembeddableloaded.md) | | | -| [updateInputForChild(id, changes)](./kibana-plugin-plugins-embeddable-public.container.updateinputforchild.md) | | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.reload.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.reload.md deleted file mode 100644 index 902da827ac46c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.reload.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [reload](./kibana-plugin-plugins-embeddable-public.container.reload.md) - -## Container.reload() method - -Signature: - -```typescript -reload(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.removeembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.removeembeddable.md deleted file mode 100644 index 44594c0649d46..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.removeembeddable.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [removeEmbeddable](./kibana-plugin-plugins-embeddable-public.container.removeembeddable.md) - -## Container.removeEmbeddable() method - -Signature: - -```typescript -removeEmbeddable(embeddableId: string): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| embeddableId | string | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.setchildloaded.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.setchildloaded.md deleted file mode 100644 index c44f42a2b9f20..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.setchildloaded.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [setChildLoaded](./kibana-plugin-plugins-embeddable-public.container.setchildloaded.md) - -## Container.setChildLoaded() method - -Signature: - -```typescript -setChildLoaded(embeddable: IEmbeddable): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| embeddable | IEmbeddable | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.untilembeddableloaded.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.untilembeddableloaded.md deleted file mode 100644 index 45c115f370694..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.untilembeddableloaded.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [untilEmbeddableLoaded](./kibana-plugin-plugins-embeddable-public.container.untilembeddableloaded.md) - -## Container.untilEmbeddableLoaded() method - -Signature: - -```typescript -untilEmbeddableLoaded(id: string): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.updateinputforchild.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.updateinputforchild.md deleted file mode 100644 index ae25f373a907b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.container.updateinputforchild.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Container](./kibana-plugin-plugins-embeddable-public.container.md) > [updateInputForChild](./kibana-plugin-plugins-embeddable-public.container.updateinputforchild.md) - -## Container.updateInputForChild() method - -Signature: - -```typescript -updateInputForChild(id: string, changes: Partial): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | -| changes | Partial<EEI> | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.hidepaneltitles.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.hidepaneltitles.md deleted file mode 100644 index 5bb80ae411a78..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.hidepaneltitles.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ContainerInput](./kibana-plugin-plugins-embeddable-public.containerinput.md) > [hidePanelTitles](./kibana-plugin-plugins-embeddable-public.containerinput.hidepaneltitles.md) - -## ContainerInput.hidePanelTitles property - -Signature: - -```typescript -hidePanelTitles?: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.md deleted file mode 100644 index dc24507b71cfb..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ContainerInput](./kibana-plugin-plugins-embeddable-public.containerinput.md) - -## ContainerInput interface - -Signature: - -```typescript -export interface ContainerInput extends EmbeddableInput -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [hidePanelTitles](./kibana-plugin-plugins-embeddable-public.containerinput.hidepaneltitles.md) | boolean | | -| [panels](./kibana-plugin-plugins-embeddable-public.containerinput.panels.md) | {
[key: string]: PanelState<PanelExplicitInput & EmbeddableInput & {
id: string;
}>;
} | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.panels.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.panels.md deleted file mode 100644 index 82d45ebe9a10e..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containerinput.panels.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ContainerInput](./kibana-plugin-plugins-embeddable-public.containerinput.md) > [panels](./kibana-plugin-plugins-embeddable-public.containerinput.panels.md) - -## ContainerInput.panels property - -Signature: - -```typescript -panels: { - [key: string]: PanelState; - }; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containeroutput.embeddableloaded.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containeroutput.embeddableloaded.md deleted file mode 100644 index 3f0db4eba0bc3..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containeroutput.embeddableloaded.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ContainerOutput](./kibana-plugin-plugins-embeddable-public.containeroutput.md) > [embeddableLoaded](./kibana-plugin-plugins-embeddable-public.containeroutput.embeddableloaded.md) - -## ContainerOutput.embeddableLoaded property - -Signature: - -```typescript -embeddableLoaded: { - [key: string]: boolean; - }; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containeroutput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containeroutput.md deleted file mode 100644 index f448f0f3ac059..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.containeroutput.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ContainerOutput](./kibana-plugin-plugins-embeddable-public.containeroutput.md) - -## ContainerOutput interface - -Signature: - -```typescript -export interface ContainerOutput extends EmbeddableOutput -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [embeddableLoaded](./kibana-plugin-plugins-embeddable-public.containeroutput.embeddableloaded.md) | {
[key: string]: boolean;
} | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.context_menu_trigger.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.context_menu_trigger.md deleted file mode 100644 index bcfcf6a321661..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.context_menu_trigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [CONTEXT\_MENU\_TRIGGER](./kibana-plugin-plugins-embeddable-public.context_menu_trigger.md) - -## CONTEXT\_MENU\_TRIGGER variable - -Signature: - -```typescript -CONTEXT_MENU_TRIGGER = "CONTEXT_MENU_TRIGGER" -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.contextmenutrigger.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.contextmenutrigger.md deleted file mode 100644 index eec1e9ac7e3fb..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.contextmenutrigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [contextMenuTrigger](./kibana-plugin-plugins-embeddable-public.contextmenutrigger.md) - -## contextMenuTrigger variable - -Signature: - -```typescript -contextMenuTrigger: Trigger -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.defaultembeddablefactoryprovider.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.defaultembeddablefactoryprovider.md deleted file mode 100644 index 08047a7a441b8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.defaultembeddablefactoryprovider.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [defaultEmbeddableFactoryProvider](./kibana-plugin-plugins-embeddable-public.defaultembeddablefactoryprovider.md) - -## defaultEmbeddableFactoryProvider variable - -Signature: - -```typescript -defaultEmbeddableFactoryProvider: = IEmbeddable, T extends SavedObjectAttributes = SavedObjectAttributes>(def: EmbeddableFactoryDefinition) => EmbeddableFactory -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction._constructor_.md deleted file mode 100644 index 55bb3d76b99d8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction._constructor_.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.editpanelaction._constructor_.md) - -## EditPanelAction.(constructor) - -Constructs a new instance of the `EditPanelAction` class - -Signature: - -```typescript -constructor(getEmbeddableFactory: EmbeddableStart['getEmbeddableFactory'], application: ApplicationStart, stateTransfer?: EmbeddableStateTransfer | undefined); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| getEmbeddableFactory | EmbeddableStart['getEmbeddableFactory'] | | -| application | ApplicationStart | | -| stateTransfer | EmbeddableStateTransfer | undefined | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.currentappid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.currentappid.md deleted file mode 100644 index db94b1482d8b5..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.currentappid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [currentAppId](./kibana-plugin-plugins-embeddable-public.editpanelaction.currentappid.md) - -## EditPanelAction.currentAppId property - -Signature: - -```typescript -currentAppId: string | undefined; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.execute.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.execute.md deleted file mode 100644 index 6cfd88f17ba85..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.execute.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [execute](./kibana-plugin-plugins-embeddable-public.editpanelaction.execute.md) - -## EditPanelAction.execute() method - -Signature: - -```typescript -execute(context: ActionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionContext | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.getapptarget.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.getapptarget.md deleted file mode 100644 index c9ede0f48b285..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.getapptarget.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [getAppTarget](./kibana-plugin-plugins-embeddable-public.editpanelaction.getapptarget.md) - -## EditPanelAction.getAppTarget() method - -Signature: - -```typescript -getAppTarget({ embeddable }: ActionContext): NavigationContext | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { embeddable } | ActionContext | | - -Returns: - -`NavigationContext | undefined` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.getdisplayname.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.getdisplayname.md deleted file mode 100644 index 227fdb8877149..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.getdisplayname.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [getDisplayName](./kibana-plugin-plugins-embeddable-public.editpanelaction.getdisplayname.md) - -## EditPanelAction.getDisplayName() method - -Signature: - -```typescript -getDisplayName({ embeddable }: ActionContext): string; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { embeddable } | ActionContext | | - -Returns: - -`string` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.gethref.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.gethref.md deleted file mode 100644 index 1139278ab781f..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.gethref.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [getHref](./kibana-plugin-plugins-embeddable-public.editpanelaction.gethref.md) - -## EditPanelAction.getHref() method - -Signature: - -```typescript -getHref({ embeddable }: ActionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { embeddable } | ActionContext | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.geticontype.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.geticontype.md deleted file mode 100644 index bc5a1f054ca75..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.geticontype.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [getIconType](./kibana-plugin-plugins-embeddable-public.editpanelaction.geticontype.md) - -## EditPanelAction.getIconType() method - -Signature: - -```typescript -getIconType(): string; -``` -Returns: - -`string` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.id.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.id.md deleted file mode 100644 index d8b0888b51801..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [id](./kibana-plugin-plugins-embeddable-public.editpanelaction.id.md) - -## EditPanelAction.id property - -Signature: - -```typescript -readonly id = "editPanel"; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.iscompatible.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.iscompatible.md deleted file mode 100644 index 7f2714f14f0e9..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.iscompatible.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [isCompatible](./kibana-plugin-plugins-embeddable-public.editpanelaction.iscompatible.md) - -## EditPanelAction.isCompatible() method - -Signature: - -```typescript -isCompatible({ embeddable }: ActionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { embeddable } | ActionContext | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.md deleted file mode 100644 index a39eae812ebfc..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.md +++ /dev/null @@ -1,38 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) - -## EditPanelAction class - -Signature: - -```typescript -export declare class EditPanelAction implements Action -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(getEmbeddableFactory, application, stateTransfer)](./kibana-plugin-plugins-embeddable-public.editpanelaction._constructor_.md) | | Constructs a new instance of the EditPanelAction class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [currentAppId](./kibana-plugin-plugins-embeddable-public.editpanelaction.currentappid.md) | | string | undefined | | -| [id](./kibana-plugin-plugins-embeddable-public.editpanelaction.id.md) | | | | -| [order](./kibana-plugin-plugins-embeddable-public.editpanelaction.order.md) | | number | | -| [type](./kibana-plugin-plugins-embeddable-public.editpanelaction.type.md) | | | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [execute(context)](./kibana-plugin-plugins-embeddable-public.editpanelaction.execute.md) | | | -| [getAppTarget({ embeddable })](./kibana-plugin-plugins-embeddable-public.editpanelaction.getapptarget.md) | | | -| [getDisplayName({ embeddable })](./kibana-plugin-plugins-embeddable-public.editpanelaction.getdisplayname.md) | | | -| [getHref({ embeddable })](./kibana-plugin-plugins-embeddable-public.editpanelaction.gethref.md) | | | -| [getIconType()](./kibana-plugin-plugins-embeddable-public.editpanelaction.geticontype.md) | | | -| [isCompatible({ embeddable })](./kibana-plugin-plugins-embeddable-public.editpanelaction.iscompatible.md) | | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.order.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.order.md deleted file mode 100644 index 0ec5cde54b279..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.order.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [order](./kibana-plugin-plugins-embeddable-public.editpanelaction.order.md) - -## EditPanelAction.order property - -Signature: - -```typescript -order: number; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.type.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.type.md deleted file mode 100644 index 329f08abaaa3c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.editpanelaction.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) > [type](./kibana-plugin-plugins-embeddable-public.editpanelaction.type.md) - -## EditPanelAction.type property - -Signature: - -```typescript -readonly type = "editPanel"; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable._constructor_.md deleted file mode 100644 index c5e8788bf5d4d..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable._constructor_.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.embeddable._constructor_.md) - -## Embeddable.(constructor) - -Constructs a new instance of the `Embeddable` class - -Signature: - -```typescript -constructor(input: TEmbeddableInput, output: TEmbeddableOutput, parent?: IContainer); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| input | TEmbeddableInput | | -| output | TEmbeddableOutput | | -| parent | IContainer | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.deferembeddableload.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.deferembeddableload.md deleted file mode 100644 index 86ef74ef312ec..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.deferembeddableload.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [deferEmbeddableLoad](./kibana-plugin-plugins-embeddable-public.embeddable.deferembeddableload.md) - -## Embeddable.deferEmbeddableLoad property - -Signature: - -```typescript -readonly deferEmbeddableLoad: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.destroy.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.destroy.md deleted file mode 100644 index 1ff16eec0b750..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.destroy.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [destroy](./kibana-plugin-plugins-embeddable-public.embeddable.destroy.md) - -## Embeddable.destroy() method - -Called when this embeddable is no longer used, this should be the place for implementors to add any additional clean up tasks, like unmounting and unsubscribing. - -Signature: - -```typescript -destroy(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.destroyed.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.destroyed.md deleted file mode 100644 index 4f848e6120439..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.destroyed.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [destroyed](./kibana-plugin-plugins-embeddable-public.embeddable.destroyed.md) - -## Embeddable.destroyed property - -Signature: - -```typescript -protected destroyed: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.fatalerror.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.fatalerror.md deleted file mode 100644 index e937fa8fd80e7..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.fatalerror.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [fatalError](./kibana-plugin-plugins-embeddable-public.embeddable.fatalerror.md) - -## Embeddable.fatalError property - -Signature: - -```typescript -fatalError?: Error; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinput.md deleted file mode 100644 index f4a0724d42680..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinput.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [getInput](./kibana-plugin-plugins-embeddable-public.embeddable.getinput.md) - -## Embeddable.getInput() method - -Signature: - -```typescript -getInput(): Readonly; -``` -Returns: - -`Readonly` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinput_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinput_.md deleted file mode 100644 index e4910d3eb1bf2..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinput_.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [getInput$](./kibana-plugin-plugins-embeddable-public.embeddable.getinput_.md) - -## Embeddable.getInput$() method - -Signature: - -```typescript -getInput$(): Readonly>; -``` -Returns: - -`Readonly>` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinspectoradapters.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinspectoradapters.md deleted file mode 100644 index 490eaca32e685..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getinspectoradapters.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [getInspectorAdapters](./kibana-plugin-plugins-embeddable-public.embeddable.getinspectoradapters.md) - -## Embeddable.getInspectorAdapters() method - -An embeddable can return inspector adapters if it want the inspector to be available via the context menu of that panel. Inspector adapters that will be used to open an inspector for. - -Signature: - -```typescript -getInspectorAdapters(): Adapters | undefined; -``` -Returns: - -`Adapters | undefined` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getiscontainer.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getiscontainer.md deleted file mode 100644 index cb9945ea31293..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getiscontainer.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [getIsContainer](./kibana-plugin-plugins-embeddable-public.embeddable.getiscontainer.md) - -## Embeddable.getIsContainer() method - -Signature: - -```typescript -getIsContainer(): this is IContainer; -``` -Returns: - -`this is IContainer` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getoutput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getoutput.md deleted file mode 100644 index b24c5aefddb40..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getoutput.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [getOutput](./kibana-plugin-plugins-embeddable-public.embeddable.getoutput.md) - -## Embeddable.getOutput() method - -Signature: - -```typescript -getOutput(): Readonly; -``` -Returns: - -`Readonly` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getoutput_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getoutput_.md deleted file mode 100644 index 34b5f864dd0c8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getoutput_.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [getOutput$](./kibana-plugin-plugins-embeddable-public.embeddable.getoutput_.md) - -## Embeddable.getOutput$() method - -Signature: - -```typescript -getOutput$(): Readonly>; -``` -Returns: - -`Readonly>` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getroot.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getroot.md deleted file mode 100644 index 79397911d5bc7..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getroot.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [getRoot](./kibana-plugin-plugins-embeddable-public.embeddable.getroot.md) - -## Embeddable.getRoot() method - -Returns the top most parent embeddable, or itself if this embeddable is not within a parent. - -Signature: - -```typescript -getRoot(): IEmbeddable | IContainer; -``` -Returns: - -`IEmbeddable | IContainer` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.gettitle.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.gettitle.md deleted file mode 100644 index 4dc1900b4b011..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.gettitle.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [getTitle](./kibana-plugin-plugins-embeddable-public.embeddable.gettitle.md) - -## Embeddable.getTitle() method - -Signature: - -```typescript -getTitle(): string; -``` -Returns: - -`string` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getupdated_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getupdated_.md deleted file mode 100644 index 290dc10662569..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.getupdated_.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [getUpdated$](./kibana-plugin-plugins-embeddable-public.embeddable.getupdated_.md) - -## Embeddable.getUpdated$() method - -Merges input$ and output$ streams and debounces emit till next macro-task. Could be useful to batch reactions to input$ and output$ updates that happen separately but synchronously. In case corresponding state change triggered `reload` this stream is guarantied to emit later, which allows to skip any state handling in case `reload` already handled it. - -Signature: - -```typescript -getUpdated$(): Readonly>; -``` -Returns: - -`Readonly>` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.id.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.id.md deleted file mode 100644 index 348934b9fb65c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [id](./kibana-plugin-plugins-embeddable-public.embeddable.id.md) - -## Embeddable.id property - -Signature: - -```typescript -readonly id: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.input.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.input.md deleted file mode 100644 index 4541aeacd5bc8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.input.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [input](./kibana-plugin-plugins-embeddable-public.embeddable.input.md) - -## Embeddable.input property - -Signature: - -```typescript -protected input: TEmbeddableInput; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.iscontainer.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.iscontainer.md deleted file mode 100644 index db15653d40c4c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.iscontainer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [isContainer](./kibana-plugin-plugins-embeddable-public.embeddable.iscontainer.md) - -## Embeddable.isContainer property - -Signature: - -```typescript -readonly isContainer: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.md deleted file mode 100644 index e2df76971e4c1..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.md +++ /dev/null @@ -1,57 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) - -## Embeddable class - -Signature: - -```typescript -export declare abstract class Embeddable implements IEmbeddable -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(input, output, parent)](./kibana-plugin-plugins-embeddable-public.embeddable._constructor_.md) | | Constructs a new instance of the Embeddable class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [deferEmbeddableLoad](./kibana-plugin-plugins-embeddable-public.embeddable.deferembeddableload.md) | | boolean | | -| [destroyed](./kibana-plugin-plugins-embeddable-public.embeddable.destroyed.md) | | boolean | | -| [fatalError](./kibana-plugin-plugins-embeddable-public.embeddable.fatalerror.md) | | Error | | -| [id](./kibana-plugin-plugins-embeddable-public.embeddable.id.md) | | string | | -| [input](./kibana-plugin-plugins-embeddable-public.embeddable.input.md) | | TEmbeddableInput | | -| [isContainer](./kibana-plugin-plugins-embeddable-public.embeddable.iscontainer.md) | | boolean | | -| [output](./kibana-plugin-plugins-embeddable-public.embeddable.output.md) | | TEmbeddableOutput | | -| [parent](./kibana-plugin-plugins-embeddable-public.embeddable.parent.md) | | IContainer | | -| [renderComplete](./kibana-plugin-plugins-embeddable-public.embeddable.rendercomplete.md) | | RenderCompleteDispatcher | | -| [runtimeId](./kibana-plugin-plugins-embeddable-public.embeddable.runtimeid.md) | | number | | -| [runtimeId](./kibana-plugin-plugins-embeddable-public.embeddable.runtimeid.md) | static | number | | -| [type](./kibana-plugin-plugins-embeddable-public.embeddable.type.md) | | string | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [destroy()](./kibana-plugin-plugins-embeddable-public.embeddable.destroy.md) | | Called when this embeddable is no longer used, this should be the place for implementors to add any additional clean up tasks, like unmounting and unsubscribing. | -| [getInput()](./kibana-plugin-plugins-embeddable-public.embeddable.getinput.md) | | | -| [getInput$()](./kibana-plugin-plugins-embeddable-public.embeddable.getinput_.md) | | | -| [getInspectorAdapters()](./kibana-plugin-plugins-embeddable-public.embeddable.getinspectoradapters.md) | | An embeddable can return inspector adapters if it want the inspector to be available via the context menu of that panel. Inspector adapters that will be used to open an inspector for. | -| [getIsContainer()](./kibana-plugin-plugins-embeddable-public.embeddable.getiscontainer.md) | | | -| [getOutput()](./kibana-plugin-plugins-embeddable-public.embeddable.getoutput.md) | | | -| [getOutput$()](./kibana-plugin-plugins-embeddable-public.embeddable.getoutput_.md) | | | -| [getRoot()](./kibana-plugin-plugins-embeddable-public.embeddable.getroot.md) | | Returns the top most parent embeddable, or itself if this embeddable is not within a parent. | -| [getTitle()](./kibana-plugin-plugins-embeddable-public.embeddable.gettitle.md) | | | -| [getUpdated$()](./kibana-plugin-plugins-embeddable-public.embeddable.getupdated_.md) | | Merges input$ and output$ streams and debounces emit till next macro-task. Could be useful to batch reactions to input$ and output$ updates that happen separately but synchronously. In case corresponding state change triggered reload this stream is guarantied to emit later, which allows to skip any state handling in case reload already handled it. | -| [onFatalError(e)](./kibana-plugin-plugins-embeddable-public.embeddable.onfatalerror.md) | | | -| [reload()](./kibana-plugin-plugins-embeddable-public.embeddable.reload.md) | | Reload will be called when there is a request to refresh the data or view, even if the input data did not change.In case if input data did change and reload is requested input$ and output$ would still emit before reload is calledThe order would be as follows: input$ output$ reload() \-\-\-- updated$ | -| [render(el)](./kibana-plugin-plugins-embeddable-public.embeddable.render.md) | | | -| [setInitializationFinished()](./kibana-plugin-plugins-embeddable-public.embeddable.setinitializationfinished.md) | | communicate to the parent embeddable that this embeddable's initialization is finished. This only applies to embeddables which defer their loading state with deferEmbeddableLoad. | -| [supportedTriggers()](./kibana-plugin-plugins-embeddable-public.embeddable.supportedtriggers.md) | | | -| [updateInput(changes)](./kibana-plugin-plugins-embeddable-public.embeddable.updateinput.md) | | | -| [updateOutput(outputChanges)](./kibana-plugin-plugins-embeddable-public.embeddable.updateoutput.md) | | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.onfatalerror.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.onfatalerror.md deleted file mode 100644 index 5c9b7eeaf8394..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.onfatalerror.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [onFatalError](./kibana-plugin-plugins-embeddable-public.embeddable.onfatalerror.md) - -## Embeddable.onFatalError() method - -Signature: - -```typescript -protected onFatalError(e: Error): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| e | Error | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.output.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.output.md deleted file mode 100644 index db854e2a69cec..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.output.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [output](./kibana-plugin-plugins-embeddable-public.embeddable.output.md) - -## Embeddable.output property - -Signature: - -```typescript -protected output: TEmbeddableOutput; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.parent.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.parent.md deleted file mode 100644 index bfd82f53e96f1..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.parent.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [parent](./kibana-plugin-plugins-embeddable-public.embeddable.parent.md) - -## Embeddable.parent property - -Signature: - -```typescript -readonly parent?: IContainer; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.reload.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.reload.md deleted file mode 100644 index 7e2e9f982e505..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.reload.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [reload](./kibana-plugin-plugins-embeddable-public.embeddable.reload.md) - -## Embeddable.reload() method - -Reload will be called when there is a request to refresh the data or view, even if the input data did not change. - -In case if input data did change and reload is requested input$ and output$ would still emit before `reload` is called - -The order would be as follows: input$ output$ reload() \-\-\-- updated$ - -Signature: - -```typescript -abstract reload(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.render.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.render.md deleted file mode 100644 index 171a3c6a30a85..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.render.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [render](./kibana-plugin-plugins-embeddable-public.embeddable.render.md) - -## Embeddable.render() method - -Signature: - -```typescript -render(el: HTMLElement): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| el | HTMLElement | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.rendercomplete.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.rendercomplete.md deleted file mode 100644 index c86bb2e998044..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.rendercomplete.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [renderComplete](./kibana-plugin-plugins-embeddable-public.embeddable.rendercomplete.md) - -## Embeddable.renderComplete property - -Signature: - -```typescript -protected renderComplete: RenderCompleteDispatcher; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.runtimeid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.runtimeid.md deleted file mode 100644 index a5cdd12b6f198..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.runtimeid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [runtimeId](./kibana-plugin-plugins-embeddable-public.embeddable.runtimeid.md) - -## Embeddable.runtimeId property - -Signature: - -```typescript -static runtimeId: number; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.setinitializationfinished.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.setinitializationfinished.md deleted file mode 100644 index d407c7b820454..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.setinitializationfinished.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [setInitializationFinished](./kibana-plugin-plugins-embeddable-public.embeddable.setinitializationfinished.md) - -## Embeddable.setInitializationFinished() method - -communicate to the parent embeddable that this embeddable's initialization is finished. This only applies to embeddables which defer their loading state with deferEmbeddableLoad. - -Signature: - -```typescript -protected setInitializationFinished(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.supportedtriggers.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.supportedtriggers.md deleted file mode 100644 index 8a5efe60ba411..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.supportedtriggers.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [supportedTriggers](./kibana-plugin-plugins-embeddable-public.embeddable.supportedtriggers.md) - -## Embeddable.supportedTriggers() method - -Signature: - -```typescript -supportedTriggers(): string[]; -``` -Returns: - -`string[]` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.type.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.type.md deleted file mode 100644 index bb3ae7384686c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [type](./kibana-plugin-plugins-embeddable-public.embeddable.type.md) - -## Embeddable.type property - -Signature: - -```typescript -abstract readonly type: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.updateinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.updateinput.md deleted file mode 100644 index 36c46bb71c6b6..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.updateinput.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [updateInput](./kibana-plugin-plugins-embeddable-public.embeddable.updateinput.md) - -## Embeddable.updateInput() method - -Signature: - -```typescript -updateInput(changes: Partial): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| changes | Partial<TEmbeddableInput> | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.updateoutput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.updateoutput.md deleted file mode 100644 index 0b0244e7a5853..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddable.updateoutput.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) > [updateOutput](./kibana-plugin-plugins-embeddable-public.embeddable.updateoutput.md) - -## Embeddable.updateOutput() method - -Signature: - -```typescript -protected updateOutput(outputChanges: Partial): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| outputChanges | Partial<TEmbeddableOutput> | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel._constructor_.md deleted file mode 100644 index 76412de0d5419..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanel](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel._constructor_.md) - -## EmbeddableChildPanel.(constructor) - -Constructs a new instance of the `EmbeddableChildPanel` class - -Signature: - -```typescript -constructor(props: EmbeddableChildPanelProps); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| props | EmbeddableChildPanelProps | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentdidmount.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentdidmount.md deleted file mode 100644 index 5302d3e986d94..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentdidmount.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanel](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md) > [componentDidMount](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentdidmount.md) - -## EmbeddableChildPanel.componentDidMount() method - -Signature: - -```typescript -componentDidMount(): Promise; -``` -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentwillunmount.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentwillunmount.md deleted file mode 100644 index 17c23a5ba2fd1..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentwillunmount.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanel](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md) > [componentWillUnmount](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentwillunmount.md) - -## EmbeddableChildPanel.componentWillUnmount() method - -Signature: - -```typescript -componentWillUnmount(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.embeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.embeddable.md deleted file mode 100644 index 298697167e127..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.embeddable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanel](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md) > [embeddable](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.embeddable.md) - -## EmbeddableChildPanel.embeddable property - -Signature: - -```typescript -embeddable: IEmbeddable | ErrorEmbeddable; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md deleted file mode 100644 index d52033b4fd6ad..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md +++ /dev/null @@ -1,35 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanel](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md) - -## EmbeddableChildPanel class - -This component can be used by embeddable containers using react to easily render children. It waits for the child to be initialized, showing a loading indicator until that is complete. - -Signature: - -```typescript -export declare class EmbeddableChildPanel extends React.Component -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(props)](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel._constructor_.md) | | Constructs a new instance of the EmbeddableChildPanel class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [embeddable](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.embeddable.md) | | IEmbeddable | ErrorEmbeddable | | -| [mounted](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.mounted.md) | | boolean | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [componentDidMount()](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentdidmount.md) | | | -| [componentWillUnmount()](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.componentwillunmount.md) | | | -| [render()](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.render.md) | | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.mounted.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.mounted.md deleted file mode 100644 index 169f27ea5afa6..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.mounted.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanel](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md) > [mounted](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.mounted.md) - -## EmbeddableChildPanel.mounted property - -Signature: - -```typescript -mounted: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.render.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.render.md deleted file mode 100644 index 01d70eb5f628f..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanel.render.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanel](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md) > [render](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.render.md) - -## EmbeddableChildPanel.render() method - -Signature: - -```typescript -render(): JSX.Element; -``` -Returns: - -`JSX.Element` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.classname.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.classname.md deleted file mode 100644 index d18dea31545d9..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.classname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanelProps](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.md) > [className](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.classname.md) - -## EmbeddableChildPanelProps.className property - -Signature: - -```typescript -className?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.container.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.container.md deleted file mode 100644 index 91120f955b15e..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.container.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanelProps](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.md) > [container](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.container.md) - -## EmbeddableChildPanelProps.container property - -Signature: - -```typescript -container: IContainer; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.embeddableid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.embeddableid.md deleted file mode 100644 index 6765010e1b696..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.embeddableid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanelProps](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.md) > [embeddableId](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.embeddableid.md) - -## EmbeddableChildPanelProps.embeddableId property - -Signature: - -```typescript -embeddableId: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.md deleted file mode 100644 index 7ed3bd1e20768..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanelProps](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.md) - -## EmbeddableChildPanelProps interface - -Signature: - -```typescript -export interface EmbeddableChildPanelProps -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [className](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.classname.md) | string | | -| [container](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.container.md) | IContainer | | -| [embeddableId](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.embeddableid.md) | string | | -| [PanelComponent](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.panelcomponent.md) | EmbeddableStart['EmbeddablePanel'] | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.panelcomponent.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.panelcomponent.md deleted file mode 100644 index e1bb6b41d3887..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.panelcomponent.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableChildPanelProps](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.md) > [PanelComponent](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.panelcomponent.md) - -## EmbeddableChildPanelProps.PanelComponent property - -Signature: - -```typescript -PanelComponent: EmbeddableStart['EmbeddablePanel']; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablecontext.embeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablecontext.embeddable.md deleted file mode 100644 index 92926d10a543c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablecontext.embeddable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableContext](./kibana-plugin-plugins-embeddable-public.embeddablecontext.md) > [embeddable](./kibana-plugin-plugins-embeddable-public.embeddablecontext.embeddable.md) - -## EmbeddableContext.embeddable property - -Signature: - -```typescript -embeddable: T; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablecontext.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablecontext.md deleted file mode 100644 index 753a3ff2ec6ec..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablecontext.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableContext](./kibana-plugin-plugins-embeddable-public.embeddablecontext.md) - -## EmbeddableContext interface - -Signature: - -```typescript -export interface EmbeddableContext -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [embeddable](./kibana-plugin-plugins-embeddable-public.embeddablecontext.embeddable.md) | T | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.embeddableid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.embeddableid.md deleted file mode 100644 index d998e982cc9d5..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.embeddableid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableEditorState](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) > [embeddableId](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.embeddableid.md) - -## EmbeddableEditorState.embeddableId property - -Signature: - -```typescript -embeddableId?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md deleted file mode 100644 index 07ae46f8bbf12..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableEditorState](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) - -## EmbeddableEditorState interface - -A state package that contains information an editor will need to create or edit an embeddable then redirect back. - -Signature: - -```typescript -export interface EmbeddableEditorState -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [embeddableId](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.embeddableid.md) | string | | -| [originatingApp](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingapp.md) | string | | -| [originatingPath](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingpath.md) | string | | -| [searchSessionId](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.searchsessionid.md) | string | Pass current search session id when navigating to an editor, Editors could use it continue previous search session | -| [valueInput](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.valueinput.md) | EmbeddableInput | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingapp.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingapp.md deleted file mode 100644 index 640b0894ef2c7..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingapp.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableEditorState](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) > [originatingApp](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingapp.md) - -## EmbeddableEditorState.originatingApp property - -Signature: - -```typescript -originatingApp: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingpath.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingpath.md deleted file mode 100644 index e255f11f8a059..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingpath.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableEditorState](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) > [originatingPath](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.originatingpath.md) - -## EmbeddableEditorState.originatingPath property - -Signature: - -```typescript -originatingPath?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.searchsessionid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.searchsessionid.md deleted file mode 100644 index 815055fe9f55d..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.searchsessionid.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableEditorState](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) > [searchSessionId](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.searchsessionid.md) - -## EmbeddableEditorState.searchSessionId property - -Pass current search session id when navigating to an editor, Editors could use it continue previous search session - -Signature: - -```typescript -searchSessionId?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.valueinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.valueinput.md deleted file mode 100644 index 61ebfc61634b8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableeditorstate.valueinput.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableEditorState](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) > [valueInput](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.valueinput.md) - -## EmbeddableEditorState.valueInput property - -Signature: - -```typescript -valueInput?: EmbeddableInput; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.cancreatenew.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.cancreatenew.md deleted file mode 100644 index 78bcb4f31a5be..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.cancreatenew.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [canCreateNew](./kibana-plugin-plugins-embeddable-public.embeddablefactory.cancreatenew.md) - -## EmbeddableFactory.canCreateNew() method - -If false, this type of embeddable can't be created with the "createNew" functionality. Instead, use createFromSavedObject, where an existing saved object must first exist. - -Signature: - -```typescript -canCreateNew(): boolean; -``` -Returns: - -`boolean` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.create.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.create.md deleted file mode 100644 index 130c8cb760625..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.create.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [create](./kibana-plugin-plugins-embeddable-public.embeddablefactory.create.md) - -## EmbeddableFactory.create() method - -Resolves to undefined if a new Embeddable cannot be directly created and the user will instead be redirected elsewhere. - -This will likely change in future iterations when we improve in place editing capabilities. - -Signature: - -```typescript -create(initialInput: TEmbeddableInput, parent?: IContainer): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initialInput | TEmbeddableInput | | -| parent | IContainer | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.createfromsavedobject.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.createfromsavedobject.md deleted file mode 100644 index 7a411988ca3b0..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.createfromsavedobject.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [createFromSavedObject](./kibana-plugin-plugins-embeddable-public.embeddablefactory.createfromsavedobject.md) - -## EmbeddableFactory.createFromSavedObject() method - -Creates a new embeddable instance based off the saved object id. - -Signature: - -```typescript -createFromSavedObject(savedObjectId: string, input: Partial, parent?: IContainer): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| savedObjectId | string | | -| input | Partial<TEmbeddableInput> | some input may come from a parent, or user, if it's not stored with the saved object. For example, the time range of the parent container. | -| parent | IContainer | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdefaultinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdefaultinput.md deleted file mode 100644 index bf1ca6abd9ba0..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdefaultinput.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [getDefaultInput](./kibana-plugin-plugins-embeddable-public.embeddablefactory.getdefaultinput.md) - -## EmbeddableFactory.getDefaultInput() method - -Can be used to get any default input, to be passed in to during the creation process. Default input will not be stored in a parent container, so any inherited input from a container will trump default input parameters. - -Signature: - -```typescript -getDefaultInput(partial: Partial): Partial; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| partial | Partial<TEmbeddableInput> | | - -Returns: - -`Partial` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdescription.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdescription.md deleted file mode 100644 index 1699351349bf8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdescription.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [getDescription](./kibana-plugin-plugins-embeddable-public.embeddablefactory.getdescription.md) - -## EmbeddableFactory.getDescription() method - -Returns a description about the embeddable. - -Signature: - -```typescript -getDescription(): string; -``` -Returns: - -`string` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdisplayname.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdisplayname.md deleted file mode 100644 index 5b97645d4947d..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getdisplayname.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [getDisplayName](./kibana-plugin-plugins-embeddable-public.embeddablefactory.getdisplayname.md) - -## EmbeddableFactory.getDisplayName() method - -Returns a display name for this type of embeddable. Used in "Create new... " options in the add panel for containers. - -Signature: - -```typescript -getDisplayName(): string; -``` -Returns: - -`string` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getexplicitinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getexplicitinput.md deleted file mode 100644 index 3ec05f50005d0..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.getexplicitinput.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [getExplicitInput](./kibana-plugin-plugins-embeddable-public.embeddablefactory.getexplicitinput.md) - -## EmbeddableFactory.getExplicitInput() method - -Can be used to request explicit input from the user, to be passed in to `EmbeddableFactory:create`. Explicit input is stored on the parent container for this embeddable. It overrides any inherited input passed down from the parent container. - -Signature: - -```typescript -getExplicitInput(): Promise>; -``` -Returns: - -`Promise>` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.geticontype.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.geticontype.md deleted file mode 100644 index 58b987e5630c4..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.geticontype.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [getIconType](./kibana-plugin-plugins-embeddable-public.embeddablefactory.geticontype.md) - -## EmbeddableFactory.getIconType() method - -Returns an EUI Icon type to be displayed in a menu. - -Signature: - -```typescript -getIconType(): string; -``` -Returns: - -`string` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.grouping.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.grouping.md deleted file mode 100644 index c4dbe739ddfcb..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.grouping.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [grouping](./kibana-plugin-plugins-embeddable-public.embeddablefactory.grouping.md) - -## EmbeddableFactory.grouping property - -Indicates the grouping this factory should appear in a sub-menu. Example, this is used for grouping options in the editors menu in Dashboard for creating new embeddables - -Signature: - -```typescript -readonly grouping?: UiActionsPresentableGrouping; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.iscontainertype.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.iscontainertype.md deleted file mode 100644 index f3ba375ab575c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.iscontainertype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [isContainerType](./kibana-plugin-plugins-embeddable-public.embeddablefactory.iscontainertype.md) - -## EmbeddableFactory.isContainerType property - -True if is this factory create embeddables that are Containers. Used in the add panel to conditionally show whether these can be added to another container. It's just not supported right now, but once nested containers are officially supported we can probably get rid of this interface. - -Signature: - -```typescript -readonly isContainerType: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.iseditable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.iseditable.md deleted file mode 100644 index f1ad10dfaa1f6..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.iseditable.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [isEditable](./kibana-plugin-plugins-embeddable-public.embeddablefactory.iseditable.md) - -## EmbeddableFactory.isEditable property - -Returns whether the current user should be allowed to edit this type of embeddable. Most of the time this should be based off the capabilities service, hence it's async. - -Signature: - -```typescript -readonly isEditable: () => Promise; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.md deleted file mode 100644 index 8ee60e1f58a2b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.md +++ /dev/null @@ -1,37 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) - -## EmbeddableFactory interface - -EmbeddableFactories create and initialize an embeddable instance - -Signature: - -```typescript -export interface EmbeddableFactory = IEmbeddable, TSavedObjectAttributes extends SavedObjectAttributes = SavedObjectAttributes> extends PersistableState -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [grouping](./kibana-plugin-plugins-embeddable-public.embeddablefactory.grouping.md) | UiActionsPresentableGrouping | Indicates the grouping this factory should appear in a sub-menu. Example, this is used for grouping options in the editors menu in Dashboard for creating new embeddables | -| [isContainerType](./kibana-plugin-plugins-embeddable-public.embeddablefactory.iscontainertype.md) | boolean | True if is this factory create embeddables that are Containers. Used in the add panel to conditionally show whether these can be added to another container. It's just not supported right now, but once nested containers are officially supported we can probably get rid of this interface. | -| [isEditable](./kibana-plugin-plugins-embeddable-public.embeddablefactory.iseditable.md) | () => Promise<boolean> | Returns whether the current user should be allowed to edit this type of embeddable. Most of the time this should be based off the capabilities service, hence it's async. | -| [savedObjectMetaData](./kibana-plugin-plugins-embeddable-public.embeddablefactory.savedobjectmetadata.md) | SavedObjectMetaData<TSavedObjectAttributes> | | -| [type](./kibana-plugin-plugins-embeddable-public.embeddablefactory.type.md) | string | | - -## Methods - -| Method | Description | -| --- | --- | -| [canCreateNew()](./kibana-plugin-plugins-embeddable-public.embeddablefactory.cancreatenew.md) | If false, this type of embeddable can't be created with the "createNew" functionality. Instead, use createFromSavedObject, where an existing saved object must first exist. | -| [create(initialInput, parent)](./kibana-plugin-plugins-embeddable-public.embeddablefactory.create.md) | Resolves to undefined if a new Embeddable cannot be directly created and the user will instead be redirected elsewhere.This will likely change in future iterations when we improve in place editing capabilities. | -| [createFromSavedObject(savedObjectId, input, parent)](./kibana-plugin-plugins-embeddable-public.embeddablefactory.createfromsavedobject.md) | Creates a new embeddable instance based off the saved object id. | -| [getDefaultInput(partial)](./kibana-plugin-plugins-embeddable-public.embeddablefactory.getdefaultinput.md) | Can be used to get any default input, to be passed in to during the creation process. Default input will not be stored in a parent container, so any inherited input from a container will trump default input parameters. | -| [getDescription()](./kibana-plugin-plugins-embeddable-public.embeddablefactory.getdescription.md) | Returns a description about the embeddable. | -| [getDisplayName()](./kibana-plugin-plugins-embeddable-public.embeddablefactory.getdisplayname.md) | Returns a display name for this type of embeddable. Used in "Create new... " options in the add panel for containers. | -| [getExplicitInput()](./kibana-plugin-plugins-embeddable-public.embeddablefactory.getexplicitinput.md) | Can be used to request explicit input from the user, to be passed in to EmbeddableFactory:create. Explicit input is stored on the parent container for this embeddable. It overrides any inherited input passed down from the parent container. | -| [getIconType()](./kibana-plugin-plugins-embeddable-public.embeddablefactory.geticontype.md) | Returns an EUI Icon type to be displayed in a menu. | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.savedobjectmetadata.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.savedobjectmetadata.md deleted file mode 100644 index ec5bf420aac3e..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.savedobjectmetadata.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [savedObjectMetaData](./kibana-plugin-plugins-embeddable-public.embeddablefactory.savedobjectmetadata.md) - -## EmbeddableFactory.savedObjectMetaData property - -Signature: - -```typescript -readonly savedObjectMetaData?: SavedObjectMetaData; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.type.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.type.md deleted file mode 100644 index 307f808de9bcd..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactory.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) > [type](./kibana-plugin-plugins-embeddable-public.embeddablefactory.type.md) - -## EmbeddableFactory.type property - -Signature: - -```typescript -readonly type: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorydefinition.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorydefinition.md deleted file mode 100644 index dd61272625160..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorydefinition.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactoryDefinition](./kibana-plugin-plugins-embeddable-public.embeddablefactorydefinition.md) - -## EmbeddableFactoryDefinition type - -Signature: - -```typescript -export declare type EmbeddableFactoryDefinition = IEmbeddable, T extends SavedObjectAttributes = SavedObjectAttributes> = Pick, 'create' | 'type' | 'isEditable' | 'getDisplayName'> & Partial, 'createFromSavedObject' | 'isContainerType' | 'getExplicitInput' | 'savedObjectMetaData' | 'canCreateNew' | 'getDefaultInput' | 'telemetry' | 'extract' | 'inject' | 'migrations' | 'grouping' | 'getIconType' | 'getDescription'>>; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror._constructor_.md deleted file mode 100644 index 273126936ce91..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactoryNotFoundError](./kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror._constructor_.md) - -## EmbeddableFactoryNotFoundError.(constructor) - -Constructs a new instance of the `EmbeddableFactoryNotFoundError` class - -Signature: - -```typescript -constructor(type: string); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| type | string | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.code.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.code.md deleted file mode 100644 index 2ad75d3e68ba4..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.code.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactoryNotFoundError](./kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.md) > [code](./kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.code.md) - -## EmbeddableFactoryNotFoundError.code property - -Signature: - -```typescript -code: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.md deleted file mode 100644 index 028271d36fee0..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableFactoryNotFoundError](./kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.md) - -## EmbeddableFactoryNotFoundError class - -Signature: - -```typescript -export declare class EmbeddableFactoryNotFoundError extends Error -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(type)](./kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror._constructor_.md) | | Constructs a new instance of the EmbeddableFactoryNotFoundError class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [code](./kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.code.md) | | string | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinput.md deleted file mode 100644 index 77db30e967782..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinput.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableInput](./kibana-plugin-plugins-embeddable-public.embeddableinput.md) - -## EmbeddableInput type - -Signature: - -```typescript -export declare type EmbeddableInput = { - viewMode?: ViewMode; - title?: string; - id: string; - lastReloadRequestTime?: number; - hidePanelTitles?: boolean; - enhancements?: SerializableRecord; - disabledActions?: string[]; - disableTriggers?: boolean; - searchSessionId?: string; - syncColors?: boolean; - executionContext?: KibanaExecutionContext; -}; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.id.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.id.md deleted file mode 100644 index 2298c6fb111a0..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableInstanceConfiguration](./kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.md) > [id](./kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.id.md) - -## EmbeddableInstanceConfiguration.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.md deleted file mode 100644 index 84f6bcefef447..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableInstanceConfiguration](./kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.md) - -## EmbeddableInstanceConfiguration interface - -Signature: - -```typescript -export interface EmbeddableInstanceConfiguration -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.id.md) | string | | -| [savedObjectId](./kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.savedobjectid.md) | string | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.savedobjectid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.savedobjectid.md deleted file mode 100644 index c1584403c5bba..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.savedobjectid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableInstanceConfiguration](./kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.md) > [savedObjectId](./kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.savedobjectid.md) - -## EmbeddableInstanceConfiguration.savedObjectId property - -Signature: - -```typescript -savedObjectId?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.defaulttitle.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.defaulttitle.md deleted file mode 100644 index c9d616a96e8e2..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.defaulttitle.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) > [defaultTitle](./kibana-plugin-plugins-embeddable-public.embeddableoutput.defaulttitle.md) - -## EmbeddableOutput.defaultTitle property - -Signature: - -```typescript -defaultTitle?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editable.md deleted file mode 100644 index 4bf84a8f2abf8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) > [editable](./kibana-plugin-plugins-embeddable-public.embeddableoutput.editable.md) - -## EmbeddableOutput.editable property - -Signature: - -```typescript -editable?: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editapp.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editapp.md deleted file mode 100644 index 5c5acd6288ba4..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editapp.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) > [editApp](./kibana-plugin-plugins-embeddable-public.embeddableoutput.editapp.md) - -## EmbeddableOutput.editApp property - -Signature: - -```typescript -editApp?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editpath.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editpath.md deleted file mode 100644 index da282ece32f20..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editpath.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) > [editPath](./kibana-plugin-plugins-embeddable-public.embeddableoutput.editpath.md) - -## EmbeddableOutput.editPath property - -Signature: - -```typescript -editPath?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editurl.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editurl.md deleted file mode 100644 index a0c4bed4ad8bb..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.editurl.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) > [editUrl](./kibana-plugin-plugins-embeddable-public.embeddableoutput.editurl.md) - -## EmbeddableOutput.editUrl property - -Signature: - -```typescript -editUrl?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.error.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.error.md deleted file mode 100644 index db3f27ecf295b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.error.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) > [error](./kibana-plugin-plugins-embeddable-public.embeddableoutput.error.md) - -## EmbeddableOutput.error property - -Signature: - -```typescript -error?: EmbeddableError; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.loading.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.loading.md deleted file mode 100644 index a9472b1663f1a..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.loading.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) > [loading](./kibana-plugin-plugins-embeddable-public.embeddableoutput.loading.md) - -## EmbeddableOutput.loading property - -Signature: - -```typescript -loading?: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.md deleted file mode 100644 index 92e1560c34e31..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) - -## EmbeddableOutput interface - -Signature: - -```typescript -export interface EmbeddableOutput -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [defaultTitle](./kibana-plugin-plugins-embeddable-public.embeddableoutput.defaulttitle.md) | string | | -| [editable](./kibana-plugin-plugins-embeddable-public.embeddableoutput.editable.md) | boolean | | -| [editApp](./kibana-plugin-plugins-embeddable-public.embeddableoutput.editapp.md) | string | | -| [editPath](./kibana-plugin-plugins-embeddable-public.embeddableoutput.editpath.md) | string | | -| [editUrl](./kibana-plugin-plugins-embeddable-public.embeddableoutput.editurl.md) | string | | -| [error](./kibana-plugin-plugins-embeddable-public.embeddableoutput.error.md) | EmbeddableError | | -| [loading](./kibana-plugin-plugins-embeddable-public.embeddableoutput.loading.md) | boolean | | -| [savedObjectId](./kibana-plugin-plugins-embeddable-public.embeddableoutput.savedobjectid.md) | string | | -| [title](./kibana-plugin-plugins-embeddable-public.embeddableoutput.title.md) | string | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.savedobjectid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.savedobjectid.md deleted file mode 100644 index 29aca26621d79..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.savedobjectid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) > [savedObjectId](./kibana-plugin-plugins-embeddable-public.embeddableoutput.savedobjectid.md) - -## EmbeddableOutput.savedObjectId property - -Signature: - -```typescript -savedObjectId?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.title.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.title.md deleted file mode 100644 index 0748a60b38e0f..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableoutput.title.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) > [title](./kibana-plugin-plugins-embeddable-public.embeddableoutput.title.md) - -## EmbeddableOutput.title property - -Signature: - -```typescript -title?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.embeddableid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.embeddableid.md deleted file mode 100644 index de1598d92b6de..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.embeddableid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePackageState](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md) > [embeddableId](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.embeddableid.md) - -## EmbeddablePackageState.embeddableId property - -Signature: - -```typescript -embeddableId?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.input.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.input.md deleted file mode 100644 index 2f4b1a1fa4237..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.input.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePackageState](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md) > [input](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.input.md) - -## EmbeddablePackageState.input property - -Signature: - -```typescript -input: Optional | Optional; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md deleted file mode 100644 index b3e851a6d0c30..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePackageState](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md) - -## EmbeddablePackageState interface - -A state package that contains all fields necessary to create or update an embeddable by reference or by value in a container. - -Signature: - -```typescript -export interface EmbeddablePackageState -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [embeddableId](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.embeddableid.md) | string | | -| [input](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.input.md) | Optional<EmbeddableInput, 'id'> | Optional<SavedObjectEmbeddableInput, 'id'> | | -| [searchSessionId](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.searchsessionid.md) | string | Pass current search session id when navigating to an editor, Editors could use it continue previous search session | -| [type](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.type.md) | string | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.searchsessionid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.searchsessionid.md deleted file mode 100644 index 3c515b1fb6674..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.searchsessionid.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePackageState](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md) > [searchSessionId](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.searchsessionid.md) - -## EmbeddablePackageState.searchSessionId property - -Pass current search session id when navigating to an editor, Editors could use it continue previous search session - -Signature: - -```typescript -searchSessionId?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.type.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.type.md deleted file mode 100644 index 67ca5b8803dd5..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepackagestate.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePackageState](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md) > [type](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.type.md) - -## EmbeddablePackageState.type property - -Signature: - -```typescript -type: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel._constructor_.md deleted file mode 100644 index 741e5df8a1590..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.embeddablepanel._constructor_.md) - -## EmbeddablePanel.(constructor) - -Constructs a new instance of the `EmbeddablePanel` class - -Signature: - -```typescript -constructor(props: Props); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| props | Props | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.closemycontextmenupanel.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.closemycontextmenupanel.md deleted file mode 100644 index 6869257675aa4..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.closemycontextmenupanel.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.md) > [closeMyContextMenuPanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.closemycontextmenupanel.md) - -## EmbeddablePanel.closeMyContextMenuPanel property - -Signature: - -```typescript -closeMyContextMenuPanel: () => void; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.componentdidmount.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.componentdidmount.md deleted file mode 100644 index fb281dcf1107f..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.componentdidmount.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.md) > [componentDidMount](./kibana-plugin-plugins-embeddable-public.embeddablepanel.componentdidmount.md) - -## EmbeddablePanel.componentDidMount() method - -Signature: - -```typescript -componentDidMount(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.componentwillunmount.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.componentwillunmount.md deleted file mode 100644 index 41050f9c7c82a..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.componentwillunmount.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.md) > [componentWillUnmount](./kibana-plugin-plugins-embeddable-public.embeddablepanel.componentwillunmount.md) - -## EmbeddablePanel.componentWillUnmount() method - -Signature: - -```typescript -componentWillUnmount(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.md deleted file mode 100644 index 643649ede51ef..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.md +++ /dev/null @@ -1,35 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.md) - -## EmbeddablePanel class - -Signature: - -```typescript -export declare class EmbeddablePanel extends React.Component -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(props)](./kibana-plugin-plugins-embeddable-public.embeddablepanel._constructor_.md) | | Constructs a new instance of the EmbeddablePanel class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [closeMyContextMenuPanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.closemycontextmenupanel.md) | | () => void | | -| [onBlur](./kibana-plugin-plugins-embeddable-public.embeddablepanel.onblur.md) | | (blurredPanelIndex: string) => void | | -| [onFocus](./kibana-plugin-plugins-embeddable-public.embeddablepanel.onfocus.md) | | (focusedPanelIndex: string) => void | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [componentDidMount()](./kibana-plugin-plugins-embeddable-public.embeddablepanel.componentdidmount.md) | | | -| [componentWillUnmount()](./kibana-plugin-plugins-embeddable-public.embeddablepanel.componentwillunmount.md) | | | -| [render()](./kibana-plugin-plugins-embeddable-public.embeddablepanel.render.md) | | | -| [UNSAFE\_componentWillMount()](./kibana-plugin-plugins-embeddable-public.embeddablepanel.unsafe_componentwillmount.md) | | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.onblur.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.onblur.md deleted file mode 100644 index f1db746801818..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.onblur.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.md) > [onBlur](./kibana-plugin-plugins-embeddable-public.embeddablepanel.onblur.md) - -## EmbeddablePanel.onBlur property - -Signature: - -```typescript -onBlur: (blurredPanelIndex: string) => void; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.onfocus.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.onfocus.md deleted file mode 100644 index 3c9b713eab950..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.onfocus.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.md) > [onFocus](./kibana-plugin-plugins-embeddable-public.embeddablepanel.onfocus.md) - -## EmbeddablePanel.onFocus property - -Signature: - -```typescript -onFocus: (focusedPanelIndex: string) => void; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.render.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.render.md deleted file mode 100644 index 13e87df47a242..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.render.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.md) > [render](./kibana-plugin-plugins-embeddable-public.embeddablepanel.render.md) - -## EmbeddablePanel.render() method - -Signature: - -```typescript -render(): JSX.Element; -``` -Returns: - -`JSX.Element` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.unsafe_componentwillmount.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.unsafe_componentwillmount.md deleted file mode 100644 index 286d7e9cee1f3..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanel.unsafe_componentwillmount.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.md) > [UNSAFE\_componentWillMount](./kibana-plugin-plugins-embeddable-public.embeddablepanel.unsafe_componentwillmount.md) - -## EmbeddablePanel.UNSAFE\_componentWillMount() method - -Signature: - -```typescript -UNSAFE_componentWillMount(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanelhoc.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanelhoc.md deleted file mode 100644 index 3f57ac562e6d5..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablepanelhoc.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddablePanelHOC](./kibana-plugin-plugins-embeddable-public.embeddablepanelhoc.md) - -## EmbeddablePanelHOC type - -Signature: - -```typescript -export declare type EmbeddablePanelHOC = React.FC<{ - embeddable: IEmbeddable; - hideHeader?: boolean; -}>; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablerenderer.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablerenderer.md deleted file mode 100644 index 1bc55e6007910..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablerenderer.md +++ /dev/null @@ -1,32 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableRenderer](./kibana-plugin-plugins-embeddable-public.embeddablerenderer.md) - -## EmbeddableRenderer variable - -Helper react component to render an embeddable Can be used if you have an embeddable object or an embeddable factory Supports updating input by passing `input` prop - -Signature: - -```typescript -EmbeddableRenderer: (props: EmbeddableRendererProps) => JSX.Element -``` - -## Remarks - -This component shouldn't be used inside an embeddable container to render embeddable children because children may lose inherited input, here is why: - -When passing `input` inside a prop, internally there is a call: - -```ts -embeddable.updateInput(input); - -``` -If you are simply rendering an embeddable, it's no problem. - -However when you are dealing with containers, you want to be sure to only pass into updateInput the actual state that changed. This is because calling child.updateInput({ foo }) will make foo explicit state. It cannot be inherited from it's parent. - -For example, on a dashboard, the time range is inherited by all children, unless they had their time range set explicitly. This is how "per panel time range" works. That action calls embeddable.updateInput({ timeRange }), and the time range will no longer be inherited from the container. - -see: https://github.com/elastic/kibana/pull/67783\#discussion\_r435447657 for more details. refer to: examples/embeddable\_explorer for examples with correct usage of this component. - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablerendererprops.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablerendererprops.md deleted file mode 100644 index c21864b1140e8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablerendererprops.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableRendererProps](./kibana-plugin-plugins-embeddable-public.embeddablerendererprops.md) - -## EmbeddableRendererProps type - -This type is a publicly exposed props of [EmbeddableRenderer](./kibana-plugin-plugins-embeddable-public.embeddablerenderer.md) Union is used to validate that or factory or embeddable is passed in, but it can't be both simultaneously In case when embeddable is passed in, input is optional, because there is already an input inside of embeddable object In case when factory is used, then input is required, because it will be used as initial input to create an embeddable object - -Signature: - -```typescript -export declare type EmbeddableRendererProps = EmbeddableRendererPropsWithEmbeddable | EmbeddableRendererWithFactory; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot._constructor_.md deleted file mode 100644 index 4e0a2a6880d29..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableRoot](./kibana-plugin-plugins-embeddable-public.embeddableroot.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.embeddableroot._constructor_.md) - -## EmbeddableRoot.(constructor) - -Constructs a new instance of the `EmbeddableRoot` class - -Signature: - -```typescript -constructor(props: Props); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| props | Props | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidmount.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidmount.md deleted file mode 100644 index 7085339dd8868..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidmount.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableRoot](./kibana-plugin-plugins-embeddable-public.embeddableroot.md) > [componentDidMount](./kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidmount.md) - -## EmbeddableRoot.componentDidMount() method - -Signature: - -```typescript -componentDidMount(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidupdate.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidupdate.md deleted file mode 100644 index 386c8c61681d5..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidupdate.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableRoot](./kibana-plugin-plugins-embeddable-public.embeddableroot.md) > [componentDidUpdate](./kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidupdate.md) - -## EmbeddableRoot.componentDidUpdate() method - -Signature: - -```typescript -componentDidUpdate(prevProps?: Props): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| prevProps | Props | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.md deleted file mode 100644 index 49d8a184f334c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableRoot](./kibana-plugin-plugins-embeddable-public.embeddableroot.md) - -## EmbeddableRoot class - -Signature: - -```typescript -export declare class EmbeddableRoot extends React.Component -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(props)](./kibana-plugin-plugins-embeddable-public.embeddableroot._constructor_.md) | | Constructs a new instance of the EmbeddableRoot class | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [componentDidMount()](./kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidmount.md) | | | -| [componentDidUpdate(prevProps)](./kibana-plugin-plugins-embeddable-public.embeddableroot.componentdidupdate.md) | | | -| [render()](./kibana-plugin-plugins-embeddable-public.embeddableroot.render.md) | | | -| [shouldComponentUpdate(newProps)](./kibana-plugin-plugins-embeddable-public.embeddableroot.shouldcomponentupdate.md) | | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.render.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.render.md deleted file mode 100644 index d9b3820dede15..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.render.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableRoot](./kibana-plugin-plugins-embeddable-public.embeddableroot.md) > [render](./kibana-plugin-plugins-embeddable-public.embeddableroot.render.md) - -## EmbeddableRoot.render() method - -Signature: - -```typescript -render(): JSX.Element; -``` -Returns: - -`JSX.Element` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.shouldcomponentupdate.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.shouldcomponentupdate.md deleted file mode 100644 index 36b08f72c0e40..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddableroot.shouldcomponentupdate.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableRoot](./kibana-plugin-plugins-embeddable-public.embeddableroot.md) > [shouldComponentUpdate](./kibana-plugin-plugins-embeddable-public.embeddableroot.shouldcomponentupdate.md) - -## EmbeddableRoot.shouldComponentUpdate() method - -Signature: - -```typescript -shouldComponentUpdate(newProps: Props): boolean; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| newProps | Props | | - -Returns: - -`boolean` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.md deleted file mode 100644 index 97d6eda66bdcd..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableSetup](./kibana-plugin-plugins-embeddable-public.embeddablesetup.md) - -## EmbeddableSetup interface - -Signature: - -```typescript -export interface EmbeddableSetup -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [registerEmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablesetup.registerembeddablefactory.md) | <I extends EmbeddableInput, O extends EmbeddableOutput, E extends IEmbeddable<I, O> = IEmbeddable<I, O>>(id: string, factory: EmbeddableFactoryDefinition<I, O, E>) => () => EmbeddableFactory<I, O, E> | | -| [registerEnhancement](./kibana-plugin-plugins-embeddable-public.embeddablesetup.registerenhancement.md) | (enhancement: EnhancementRegistryDefinition) => void | | -| [setCustomEmbeddableFactoryProvider](./kibana-plugin-plugins-embeddable-public.embeddablesetup.setcustomembeddablefactoryprovider.md) | (customProvider: EmbeddableFactoryProvider) => void | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.registerembeddablefactory.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.registerembeddablefactory.md deleted file mode 100644 index d9f63b30dfe6d..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.registerembeddablefactory.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableSetup](./kibana-plugin-plugins-embeddable-public.embeddablesetup.md) > [registerEmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablesetup.registerembeddablefactory.md) - -## EmbeddableSetup.registerEmbeddableFactory property - -Signature: - -```typescript -registerEmbeddableFactory: = IEmbeddable>(id: string, factory: EmbeddableFactoryDefinition) => () => EmbeddableFactory; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.registerenhancement.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.registerenhancement.md deleted file mode 100644 index 46baaf6dbf268..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.registerenhancement.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableSetup](./kibana-plugin-plugins-embeddable-public.embeddablesetup.md) > [registerEnhancement](./kibana-plugin-plugins-embeddable-public.embeddablesetup.registerenhancement.md) - -## EmbeddableSetup.registerEnhancement property - -Signature: - -```typescript -registerEnhancement: (enhancement: EnhancementRegistryDefinition) => void; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.setcustomembeddablefactoryprovider.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.setcustomembeddablefactoryprovider.md deleted file mode 100644 index 463ff80e5818b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetup.setcustomembeddablefactoryprovider.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableSetup](./kibana-plugin-plugins-embeddable-public.embeddablesetup.md) > [setCustomEmbeddableFactoryProvider](./kibana-plugin-plugins-embeddable-public.embeddablesetup.setcustomembeddablefactoryprovider.md) - -## EmbeddableSetup.setCustomEmbeddableFactoryProvider property - -Signature: - -```typescript -setCustomEmbeddableFactoryProvider: (customProvider: EmbeddableFactoryProvider) => void; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.md deleted file mode 100644 index 957e3f279ff60..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableSetupDependencies](./kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.md) - -## EmbeddableSetupDependencies interface - -Signature: - -```typescript -export interface EmbeddableSetupDependencies -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [uiActions](./kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.uiactions.md) | UiActionsSetup | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.uiactions.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.uiactions.md deleted file mode 100644 index 7eff6e2b0b28b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.uiactions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableSetupDependencies](./kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.md) > [uiActions](./kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.uiactions.md) - -## EmbeddableSetupDependencies.uiActions property - -Signature: - -```typescript -uiActions: UiActionsSetup; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.embeddablepanel.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.embeddablepanel.md deleted file mode 100644 index b8c10bf0e4473..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.embeddablepanel.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStart](./kibana-plugin-plugins-embeddable-public.embeddablestart.md) > [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablestart.embeddablepanel.md) - -## EmbeddableStart.EmbeddablePanel property - -Signature: - -```typescript -EmbeddablePanel: EmbeddablePanelHOC; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getattributeservice.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getattributeservice.md deleted file mode 100644 index ca75b756d199e..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getattributeservice.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStart](./kibana-plugin-plugins-embeddable-public.embeddablestart.md) > [getAttributeService](./kibana-plugin-plugins-embeddable-public.embeddablestart.getattributeservice.md) - -## EmbeddableStart.getAttributeService property - -Signature: - -```typescript -getAttributeService: (type: string, options: AttributeServiceOptions) => AttributeService; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactories.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactories.md deleted file mode 100644 index cc6b1187903bf..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactories.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStart](./kibana-plugin-plugins-embeddable-public.embeddablestart.md) > [getEmbeddableFactories](./kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactories.md) - -## EmbeddableStart.getEmbeddableFactories property - -Signature: - -```typescript -getEmbeddableFactories: () => IterableIterator; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactory.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactory.md deleted file mode 100644 index d91878754bd7d..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactory.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStart](./kibana-plugin-plugins-embeddable-public.embeddablestart.md) > [getEmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactory.md) - -## EmbeddableStart.getEmbeddableFactory property - -Signature: - -```typescript -getEmbeddableFactory: = IEmbeddable>(embeddableFactoryId: string) => EmbeddableFactory | undefined; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getstatetransfer.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getstatetransfer.md deleted file mode 100644 index a07021ee456e0..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.getstatetransfer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStart](./kibana-plugin-plugins-embeddable-public.embeddablestart.md) > [getStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestart.getstatetransfer.md) - -## EmbeddableStart.getStateTransfer property - -Signature: - -```typescript -getStateTransfer: (storage?: Storage) => EmbeddableStateTransfer; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.md deleted file mode 100644 index 2b04d4502e8a8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestart.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStart](./kibana-plugin-plugins-embeddable-public.embeddablestart.md) - -## EmbeddableStart interface - -Signature: - -```typescript -export interface EmbeddableStart extends PersistableStateService -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablestart.embeddablepanel.md) | EmbeddablePanelHOC | | -| [getAttributeService](./kibana-plugin-plugins-embeddable-public.embeddablestart.getattributeservice.md) | <A extends {
title: string;
}, V extends EmbeddableInput & {
[ATTRIBUTE_SERVICE_KEY]: A;
} = EmbeddableInput & {
[ATTRIBUTE_SERVICE_KEY]: A;
}, R extends SavedObjectEmbeddableInput = SavedObjectEmbeddableInput>(type: string, options: AttributeServiceOptions<A>) => AttributeService<A, V, R> | | -| [getEmbeddableFactories](./kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactories.md) | () => IterableIterator<EmbeddableFactory> | | -| [getEmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablestart.getembeddablefactory.md) | <I extends EmbeddableInput = EmbeddableInput, O extends EmbeddableOutput = EmbeddableOutput, E extends IEmbeddable<I, O> = IEmbeddable<I, O>>(embeddableFactoryId: string) => EmbeddableFactory<I, O, E> | undefined | | -| [getStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestart.getstatetransfer.md) | (storage?: Storage) => EmbeddableStateTransfer | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.inspector.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.inspector.md deleted file mode 100644 index 299cc945104ab..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.inspector.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStartDependencies](./kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.md) > [inspector](./kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.inspector.md) - -## EmbeddableStartDependencies.inspector property - -Signature: - -```typescript -inspector: InspectorStart; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.md deleted file mode 100644 index 342163ed2e413..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStartDependencies](./kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.md) - -## EmbeddableStartDependencies interface - -Signature: - -```typescript -export interface EmbeddableStartDependencies -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [inspector](./kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.inspector.md) | InspectorStart | | -| [uiActions](./kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.uiactions.md) | UiActionsStart | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.uiactions.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.uiactions.md deleted file mode 100644 index 398ee3fbcbc50..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.uiactions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStartDependencies](./kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.md) > [uiActions](./kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.uiactions.md) - -## EmbeddableStartDependencies.uiActions property - -Signature: - -```typescript -uiActions: UiActionsStart; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer._constructor_.md deleted file mode 100644 index 77e9c2d00b2dd..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer._constructor_.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer._constructor_.md) - -## EmbeddableStateTransfer.(constructor) - -Constructs a new instance of the `EmbeddableStateTransfer` class - -Signature: - -```typescript -constructor(navigateToApp: ApplicationStart['navigateToApp'], currentAppId$: ApplicationStart['currentAppId$'], appList?: ReadonlyMap | undefined, customStorage?: Storage); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| navigateToApp | ApplicationStart['navigateToApp'] | | -| currentAppId$ | ApplicationStart['currentAppId$'] | | -| appList | ReadonlyMap<string, PublicAppInfo> | undefined | | -| customStorage | Storage | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.cleareditorstate.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.cleareditorstate.md deleted file mode 100644 index d5a8ec311df31..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.cleareditorstate.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md) > [clearEditorState](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.cleareditorstate.md) - -## EmbeddableStateTransfer.clearEditorState() method - -Clears the [editor state](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) from the sessionStorage for the provided app id - -Signature: - -```typescript -clearEditorState(appId?: string): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| appId | string | The app to fetch incomingEditorState for | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getappnamefromid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getappnamefromid.md deleted file mode 100644 index f15574593e853..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getappnamefromid.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md) > [getAppNameFromId](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getappnamefromid.md) - -## EmbeddableStateTransfer.getAppNameFromId property - -Fetches an internationalized app title when given an appId. - -Signature: - -```typescript -getAppNameFromId: (appId: string) => string | undefined; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingeditorstate.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingeditorstate.md deleted file mode 100644 index cd261bff5905b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingeditorstate.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md) > [getIncomingEditorState](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingeditorstate.md) - -## EmbeddableStateTransfer.getIncomingEditorState() method - -Fetches an [editor state](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) from the sessionStorage for the provided app id - -Signature: - -```typescript -getIncomingEditorState(appId: string, removeAfterFetch?: boolean): EmbeddableEditorState | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| appId | string | The app to fetch incomingEditorState for | -| removeAfterFetch | boolean | Whether to remove the package state after fetch to prevent duplicates. | - -Returns: - -`EmbeddableEditorState | undefined` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingembeddablepackage.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingembeddablepackage.md deleted file mode 100644 index 47873c8e91e41..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingembeddablepackage.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md) > [getIncomingEmbeddablePackage](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingembeddablepackage.md) - -## EmbeddableStateTransfer.getIncomingEmbeddablePackage() method - -Fetches an [embeddable package](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md) from the sessionStorage for the given AppId - -Signature: - -```typescript -getIncomingEmbeddablePackage(appId: string, removeAfterFetch?: boolean): EmbeddablePackageState | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| appId | string | The app to fetch EmbeddablePackageState for | -| removeAfterFetch | boolean | Whether to remove the package state after fetch to prevent duplicates. | - -Returns: - -`EmbeddablePackageState | undefined` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.istransferinprogress.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.istransferinprogress.md deleted file mode 100644 index f00d015f316d2..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.istransferinprogress.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md) > [isTransferInProgress](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.istransferinprogress.md) - -## EmbeddableStateTransfer.isTransferInProgress property - -Signature: - -```typescript -isTransferInProgress: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md deleted file mode 100644 index 13c6c8c0325f1..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md +++ /dev/null @@ -1,37 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md) - -## EmbeddableStateTransfer class - -A wrapper around the session storage which provides strongly typed helper methods for common incoming and outgoing states used by the embeddable infrastructure. - -Signature: - -```typescript -export declare class EmbeddableStateTransfer -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(navigateToApp, currentAppId$, appList, customStorage)](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer._constructor_.md) | | Constructs a new instance of the EmbeddableStateTransfer class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [getAppNameFromId](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getappnamefromid.md) | | (appId: string) => string | undefined | Fetches an internationalized app title when given an appId. | -| [isTransferInProgress](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.istransferinprogress.md) | | boolean | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [clearEditorState(appId)](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.cleareditorstate.md) | | Clears the [editor state](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) from the sessionStorage for the provided app id | -| [getIncomingEditorState(appId, removeAfterFetch)](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingeditorstate.md) | | Fetches an [editor state](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) from the sessionStorage for the provided app id | -| [getIncomingEmbeddablePackage(appId, removeAfterFetch)](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.getincomingembeddablepackage.md) | | Fetches an [embeddable package](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md) from the sessionStorage for the given AppId | -| [navigateToEditor(appId, options)](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetoeditor.md) | | A wrapper around the method which navigates to the specified appId with [embeddable editor state](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) | -| [navigateToWithEmbeddablePackage(appId, options)](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetowithembeddablepackage.md) | | A wrapper around the method which navigates to the specified appId with [embeddable package state](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md) | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetoeditor.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetoeditor.md deleted file mode 100644 index fe7eac0915419..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetoeditor.md +++ /dev/null @@ -1,29 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md) > [navigateToEditor](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetoeditor.md) - -## EmbeddableStateTransfer.navigateToEditor() method - -A wrapper around the method which navigates to the specified appId with [embeddable editor state](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) - -Signature: - -```typescript -navigateToEditor(appId: string, options?: { - path?: string; - openInNewTab?: boolean; - state: EmbeddableEditorState; - }): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| appId | string | | -| options | {
path?: string;
openInNewTab?: boolean;
state: EmbeddableEditorState;
} | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetowithembeddablepackage.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetowithembeddablepackage.md deleted file mode 100644 index 0fd82167805ab..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetowithembeddablepackage.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EmbeddableStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md) > [navigateToWithEmbeddablePackage](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.navigatetowithembeddablepackage.md) - -## EmbeddableStateTransfer.navigateToWithEmbeddablePackage() method - -A wrapper around the method which navigates to the specified appId with [embeddable package state](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md) - -Signature: - -```typescript -navigateToWithEmbeddablePackage(appId: string, options?: { - path?: string; - state: EmbeddablePackageState; - }): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| appId | string | | -| options | {
path?: string;
state: EmbeddablePackageState;
} | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.id.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.id.md deleted file mode 100644 index 083b3931bcf7d..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EnhancementRegistryDefinition](./kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.md) > [id](./kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.id.md) - -## EnhancementRegistryDefinition.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.md deleted file mode 100644 index 978873b6efbc1..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [EnhancementRegistryDefinition](./kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.md) - -## EnhancementRegistryDefinition interface - -Signature: - -```typescript -export interface EnhancementRegistryDefinition

extends PersistableStateDefinition

-``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.id.md) | string | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable._constructor_.md deleted file mode 100644 index 0facb07b41692..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable._constructor_.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ErrorEmbeddable](./kibana-plugin-plugins-embeddable-public.errorembeddable.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.errorembeddable._constructor_.md) - -## ErrorEmbeddable.(constructor) - -Constructs a new instance of the `ErrorEmbeddable` class - -Signature: - -```typescript -constructor(error: Error | string, input: EmbeddableInput, parent?: IContainer); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| error | Error | string | | -| input | EmbeddableInput | | -| parent | IContainer | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.destroy.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.destroy.md deleted file mode 100644 index eeb605f2140ec..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.destroy.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ErrorEmbeddable](./kibana-plugin-plugins-embeddable-public.errorembeddable.md) > [destroy](./kibana-plugin-plugins-embeddable-public.errorembeddable.destroy.md) - -## ErrorEmbeddable.destroy() method - -Signature: - -```typescript -destroy(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.error.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.error.md deleted file mode 100644 index 7e4def3d52923..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.error.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ErrorEmbeddable](./kibana-plugin-plugins-embeddable-public.errorembeddable.md) > [error](./kibana-plugin-plugins-embeddable-public.errorembeddable.error.md) - -## ErrorEmbeddable.error property - -Signature: - -```typescript -error: Error | string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.md deleted file mode 100644 index 75f3fc6d503d5..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.md +++ /dev/null @@ -1,33 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ErrorEmbeddable](./kibana-plugin-plugins-embeddable-public.errorembeddable.md) - -## ErrorEmbeddable class - -Signature: - -```typescript -export declare class ErrorEmbeddable extends Embeddable -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(error, input, parent)](./kibana-plugin-plugins-embeddable-public.errorembeddable._constructor_.md) | | Constructs a new instance of the ErrorEmbeddable class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [error](./kibana-plugin-plugins-embeddable-public.errorembeddable.error.md) | | Error | string | | -| [type](./kibana-plugin-plugins-embeddable-public.errorembeddable.type.md) | | | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [destroy()](./kibana-plugin-plugins-embeddable-public.errorembeddable.destroy.md) | | | -| [reload()](./kibana-plugin-plugins-embeddable-public.errorembeddable.reload.md) | | | -| [render(dom)](./kibana-plugin-plugins-embeddable-public.errorembeddable.render.md) | | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.reload.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.reload.md deleted file mode 100644 index 14d7c9fcf7ee0..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.reload.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ErrorEmbeddable](./kibana-plugin-plugins-embeddable-public.errorembeddable.md) > [reload](./kibana-plugin-plugins-embeddable-public.errorembeddable.reload.md) - -## ErrorEmbeddable.reload() method - -Signature: - -```typescript -reload(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.render.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.render.md deleted file mode 100644 index 70c9d169f3f7e..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.render.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ErrorEmbeddable](./kibana-plugin-plugins-embeddable-public.errorembeddable.md) > [render](./kibana-plugin-plugins-embeddable-public.errorembeddable.render.md) - -## ErrorEmbeddable.render() method - -Signature: - -```typescript -render(dom: HTMLElement): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| dom | HTMLElement | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.type.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.type.md deleted file mode 100644 index d407e743a89af..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.errorembeddable.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ErrorEmbeddable](./kibana-plugin-plugins-embeddable-public.errorembeddable.md) > [type](./kibana-plugin-plugins-embeddable-public.errorembeddable.type.md) - -## ErrorEmbeddable.type property - -Signature: - -```typescript -readonly type = "error"; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.addnewembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.addnewembeddable.md deleted file mode 100644 index ca0095580a0ba..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.addnewembeddable.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IContainer](./kibana-plugin-plugins-embeddable-public.icontainer.md) > [addNewEmbeddable](./kibana-plugin-plugins-embeddable-public.icontainer.addnewembeddable.md) - -## IContainer.addNewEmbeddable() method - -Adds a new embeddable to the container. `explicitInput` may partially specify the required embeddable input, but the remainder must come from inherited container state. - -Signature: - -```typescript -addNewEmbeddable = Embeddable>(type: string, explicitInput: Partial): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| type | string | | -| explicitInput | Partial<EEI> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.getchild.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.getchild.md deleted file mode 100644 index 4355cfb68ad3f..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.getchild.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IContainer](./kibana-plugin-plugins-embeddable-public.icontainer.md) > [getChild](./kibana-plugin-plugins-embeddable-public.icontainer.getchild.md) - -## IContainer.getChild() method - -Returns the child embeddable with the given id. - -Signature: - -```typescript -getChild = Embeddable>(id: string): E; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`E` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.getinputforchild.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.getinputforchild.md deleted file mode 100644 index e5afc0eac3ce0..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.getinputforchild.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IContainer](./kibana-plugin-plugins-embeddable-public.icontainer.md) > [getInputForChild](./kibana-plugin-plugins-embeddable-public.icontainer.getinputforchild.md) - -## IContainer.getInputForChild() method - -Returns the input for the given child. Uses a combination of explicit input for the child stored on the parent and derived/inherited input taken from the container itself. - -Signature: - -```typescript -getInputForChild(id: string): EEI; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`EEI` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.md deleted file mode 100644 index 701948bbba4d9..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IContainer](./kibana-plugin-plugins-embeddable-public.icontainer.md) - -## IContainer interface - -Signature: - -```typescript -export interface IContainer = ContainerInput, O extends ContainerOutput = ContainerOutput> extends IEmbeddable -``` - -## Methods - -| Method | Description | -| --- | --- | -| [addNewEmbeddable(type, explicitInput)](./kibana-plugin-plugins-embeddable-public.icontainer.addnewembeddable.md) | Adds a new embeddable to the container. explicitInput may partially specify the required embeddable input, but the remainder must come from inherited container state. | -| [getChild(id)](./kibana-plugin-plugins-embeddable-public.icontainer.getchild.md) | Returns the child embeddable with the given id. | -| [getInputForChild(id)](./kibana-plugin-plugins-embeddable-public.icontainer.getinputforchild.md) | Returns the input for the given child. Uses a combination of explicit input for the child stored on the parent and derived/inherited input taken from the container itself. | -| [removeEmbeddable(embeddableId)](./kibana-plugin-plugins-embeddable-public.icontainer.removeembeddable.md) | Removes the embeddable with the given id. | -| [setChildLoaded(embeddable)](./kibana-plugin-plugins-embeddable-public.icontainer.setchildloaded.md) | Embeddables which have deferEmbeddableLoad set to true need to manually call setChildLoaded on their parent container to communicate when they have finished loading. | -| [untilEmbeddableLoaded(id)](./kibana-plugin-plugins-embeddable-public.icontainer.untilembeddableloaded.md) | Call if you want to wait until an embeddable with that id has finished loading. | -| [updateInputForChild(id, changes)](./kibana-plugin-plugins-embeddable-public.icontainer.updateinputforchild.md) | Changes the input for a given child. Note, this will override any inherited state taken from the container itself. | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.removeembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.removeembeddable.md deleted file mode 100644 index 94a991ca20a14..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.removeembeddable.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IContainer](./kibana-plugin-plugins-embeddable-public.icontainer.md) > [removeEmbeddable](./kibana-plugin-plugins-embeddable-public.icontainer.removeembeddable.md) - -## IContainer.removeEmbeddable() method - -Removes the embeddable with the given id. - -Signature: - -```typescript -removeEmbeddable(embeddableId: string): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| embeddableId | string | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.setchildloaded.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.setchildloaded.md deleted file mode 100644 index 0bc027b0b2242..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.setchildloaded.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IContainer](./kibana-plugin-plugins-embeddable-public.icontainer.md) > [setChildLoaded](./kibana-plugin-plugins-embeddable-public.icontainer.setchildloaded.md) - -## IContainer.setChildLoaded() method - -Embeddables which have deferEmbeddableLoad set to true need to manually call setChildLoaded on their parent container to communicate when they have finished loading. - -Signature: - -```typescript -setChildLoaded(embeddable: E): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| embeddable | E | the embeddable to set | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.untilembeddableloaded.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.untilembeddableloaded.md deleted file mode 100644 index 0d6d4a3d8ccf0..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.untilembeddableloaded.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IContainer](./kibana-plugin-plugins-embeddable-public.icontainer.md) > [untilEmbeddableLoaded](./kibana-plugin-plugins-embeddable-public.icontainer.untilembeddableloaded.md) - -## IContainer.untilEmbeddableLoaded() method - -Call if you want to wait until an embeddable with that id has finished loading. - -Signature: - -```typescript -untilEmbeddableLoaded(id: string): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.updateinputforchild.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.updateinputforchild.md deleted file mode 100644 index 04a82b0065516..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.icontainer.updateinputforchild.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IContainer](./kibana-plugin-plugins-embeddable-public.icontainer.md) > [updateInputForChild](./kibana-plugin-plugins-embeddable-public.icontainer.updateinputforchild.md) - -## IContainer.updateInputForChild() method - -Changes the input for a given child. Note, this will override any inherited state taken from the container itself. - -Signature: - -```typescript -updateInputForChild(id: string, changes: Partial): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | -| changes | Partial<EEI> | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.deferembeddableload.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.deferembeddableload.md deleted file mode 100644 index 638c66690a4ae..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.deferembeddableload.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [deferEmbeddableLoad](./kibana-plugin-plugins-embeddable-public.iembeddable.deferembeddableload.md) - -## IEmbeddable.deferEmbeddableLoad property - -If set to true, defer embeddable load tells the container that this embeddable type isn't completely loaded when the constructor returns. This embeddable will have to manually call setChildLoaded on its parent when all of its initial output is finalized. For instance, after loading a saved object. - -Signature: - -```typescript -readonly deferEmbeddableLoad: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.destroy.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.destroy.md deleted file mode 100644 index 7fc636f40f3c2..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.destroy.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [destroy](./kibana-plugin-plugins-embeddable-public.iembeddable.destroy.md) - -## IEmbeddable.destroy() method - -Cleans up subscriptions, destroy nodes mounted from calls to render. - -Signature: - -```typescript -destroy(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.enhancements.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.enhancements.md deleted file mode 100644 index 9183cd6887872..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.enhancements.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [enhancements](./kibana-plugin-plugins-embeddable-public.iembeddable.enhancements.md) - -## IEmbeddable.enhancements property - -Extra abilities added to Embeddable by `*_enhanced` plugins. - -Signature: - -```typescript -enhancements?: object; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.fatalerror.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.fatalerror.md deleted file mode 100644 index 4b764a6ede079..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.fatalerror.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [fatalError](./kibana-plugin-plugins-embeddable-public.iembeddable.fatalerror.md) - -## IEmbeddable.fatalError property - -If this embeddable has encountered a fatal error, that error will be stored here - -Signature: - -```typescript -fatalError?: Error; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinput.md deleted file mode 100644 index 2fd8db07fa342..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinput.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [getInput](./kibana-plugin-plugins-embeddable-public.iembeddable.getinput.md) - -## IEmbeddable.getInput() method - -Get the input used to instantiate this embeddable. The input is a serialized representation of this embeddable instance and can be used to clone or re-instantiate it. Input state: - -- Can be updated externally - Can change multiple times for a single embeddable instance. - -Examples: title, pie slice colors, custom search columns and sort order. - -Signature: - -```typescript -getInput(): Readonly; -``` -Returns: - -`Readonly` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinput_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinput_.md deleted file mode 100644 index ad91ad56b3d72..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinput_.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [getInput$](./kibana-plugin-plugins-embeddable-public.iembeddable.getinput_.md) - -## IEmbeddable.getInput$() method - -Returns an observable which will be notified when input state changes. - -Signature: - -```typescript -getInput$(): Readonly>; -``` -Returns: - -`Readonly>` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinspectoradapters.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinspectoradapters.md deleted file mode 100644 index 84b083acac6f4..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getinspectoradapters.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [getInspectorAdapters](./kibana-plugin-plugins-embeddable-public.iembeddable.getinspectoradapters.md) - -## IEmbeddable.getInspectorAdapters() method - -An embeddable can return inspector adapters if it wants the inspector to be available via the context menu of that panel. Inspector adapters that will be used to open an inspector for. - -Signature: - -```typescript -getInspectorAdapters(): Adapters | undefined; -``` -Returns: - -`Adapters | undefined` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getiscontainer.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getiscontainer.md deleted file mode 100644 index f9bfbbc4ca9bd..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getiscontainer.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [getIsContainer](./kibana-plugin-plugins-embeddable-public.iembeddable.getiscontainer.md) - -## IEmbeddable.getIsContainer() method - -A functional representation of the isContainer variable, but helpful for typescript to know the shape if this returns true - -Signature: - -```typescript -getIsContainer(): this is IContainer; -``` -Returns: - -`this is IContainer` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getoutput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getoutput.md deleted file mode 100644 index 7e4e4fd3d4329..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getoutput.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [getOutput](./kibana-plugin-plugins-embeddable-public.iembeddable.getoutput.md) - -## IEmbeddable.getOutput() method - -Output state is: - -- State that should not change once the embeddable is instantiated, or - State that is derived from the input state, or - State that only the embeddable instance itself knows about, or the factory. - -Examples: editUrl, title taken from a saved object, if your input state was first name and last name, your output state could be greeting. - -Signature: - -```typescript -getOutput(): Readonly; -``` -Returns: - -`Readonly` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getoutput_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getoutput_.md deleted file mode 100644 index 11ec3e0d1c8ea..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getoutput_.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [getOutput$](./kibana-plugin-plugins-embeddable-public.iembeddable.getoutput_.md) - -## IEmbeddable.getOutput$() method - -Returns an observable which will be notified when output state changes. - -Signature: - -```typescript -getOutput$(): Readonly>; -``` -Returns: - -`Readonly>` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getroot.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getroot.md deleted file mode 100644 index eacec168b4d8a..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.getroot.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [getRoot](./kibana-plugin-plugins-embeddable-public.iembeddable.getroot.md) - -## IEmbeddable.getRoot() method - -Returns the top most parent embeddable, or itself if this embeddable is not within a parent. - -Signature: - -```typescript -getRoot(): IEmbeddable | IContainer; -``` -Returns: - -`IEmbeddable | IContainer` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.gettitle.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.gettitle.md deleted file mode 100644 index eed80882f4b93..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.gettitle.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [getTitle](./kibana-plugin-plugins-embeddable-public.iembeddable.gettitle.md) - -## IEmbeddable.getTitle() method - -Returns the title of this embeddable. - -Signature: - -```typescript -getTitle(): string | undefined; -``` -Returns: - -`string | undefined` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.id.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.id.md deleted file mode 100644 index 7d2f5b9c7e71b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.id.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [id](./kibana-plugin-plugins-embeddable-public.iembeddable.id.md) - -## IEmbeddable.id property - -A unique identifier for this embeddable. Mainly only used by containers to map their Panel States to a child embeddable instance. - -Signature: - -```typescript -readonly id: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.iscontainer.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.iscontainer.md deleted file mode 100644 index 93b910ee6f6a1..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.iscontainer.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [isContainer](./kibana-plugin-plugins-embeddable-public.iembeddable.iscontainer.md) - -## IEmbeddable.isContainer property - -Is this embeddable an instance of a Container class, can it contain nested embeddables? - -Signature: - -```typescript -readonly isContainer: boolean; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.md deleted file mode 100644 index dd0227b1ef72b..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.md +++ /dev/null @@ -1,43 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) - -## IEmbeddable interface - -Signature: - -```typescript -export interface IEmbeddable -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [deferEmbeddableLoad](./kibana-plugin-plugins-embeddable-public.iembeddable.deferembeddableload.md) | boolean | If set to true, defer embeddable load tells the container that this embeddable type isn't completely loaded when the constructor returns. This embeddable will have to manually call setChildLoaded on its parent when all of its initial output is finalized. For instance, after loading a saved object. | -| [enhancements](./kibana-plugin-plugins-embeddable-public.iembeddable.enhancements.md) | object | Extra abilities added to Embeddable by *_enhanced plugins. | -| [fatalError](./kibana-plugin-plugins-embeddable-public.iembeddable.fatalerror.md) | Error | If this embeddable has encountered a fatal error, that error will be stored here | -| [id](./kibana-plugin-plugins-embeddable-public.iembeddable.id.md) | string | A unique identifier for this embeddable. Mainly only used by containers to map their Panel States to a child embeddable instance. | -| [isContainer](./kibana-plugin-plugins-embeddable-public.iembeddable.iscontainer.md) | boolean | Is this embeddable an instance of a Container class, can it contain nested embeddables? | -| [parent](./kibana-plugin-plugins-embeddable-public.iembeddable.parent.md) | IContainer | If this embeddable is nested inside a container, this will contain a reference to its parent. | -| [runtimeId](./kibana-plugin-plugins-embeddable-public.iembeddable.runtimeid.md) | number | Unique ID an embeddable is assigned each time it is initialized. This ID is different for different instances of the same embeddable. For example, if the same dashboard is rendered twice on the screen, all embeddable instances will have a unique runtimeId. | -| [type](./kibana-plugin-plugins-embeddable-public.iembeddable.type.md) | string | The type of embeddable, this is what will be used to take a serialized embeddable and find the correct factory for which to create an instance of it. | - -## Methods - -| Method | Description | -| --- | --- | -| [destroy()](./kibana-plugin-plugins-embeddable-public.iembeddable.destroy.md) | Cleans up subscriptions, destroy nodes mounted from calls to render. | -| [getInput()](./kibana-plugin-plugins-embeddable-public.iembeddable.getinput.md) | Get the input used to instantiate this embeddable. The input is a serialized representation of this embeddable instance and can be used to clone or re-instantiate it. Input state:- Can be updated externally - Can change multiple times for a single embeddable instance.Examples: title, pie slice colors, custom search columns and sort order. | -| [getInput$()](./kibana-plugin-plugins-embeddable-public.iembeddable.getinput_.md) | Returns an observable which will be notified when input state changes. | -| [getInspectorAdapters()](./kibana-plugin-plugins-embeddable-public.iembeddable.getinspectoradapters.md) | An embeddable can return inspector adapters if it wants the inspector to be available via the context menu of that panel. Inspector adapters that will be used to open an inspector for. | -| [getIsContainer()](./kibana-plugin-plugins-embeddable-public.iembeddable.getiscontainer.md) | A functional representation of the isContainer variable, but helpful for typescript to know the shape if this returns true | -| [getOutput()](./kibana-plugin-plugins-embeddable-public.iembeddable.getoutput.md) | Output state is:- State that should not change once the embeddable is instantiated, or - State that is derived from the input state, or - State that only the embeddable instance itself knows about, or the factory.Examples: editUrl, title taken from a saved object, if your input state was first name and last name, your output state could be greeting. | -| [getOutput$()](./kibana-plugin-plugins-embeddable-public.iembeddable.getoutput_.md) | Returns an observable which will be notified when output state changes. | -| [getRoot()](./kibana-plugin-plugins-embeddable-public.iembeddable.getroot.md) | Returns the top most parent embeddable, or itself if this embeddable is not within a parent. | -| [getTitle()](./kibana-plugin-plugins-embeddable-public.iembeddable.gettitle.md) | Returns the title of this embeddable. | -| [reload()](./kibana-plugin-plugins-embeddable-public.iembeddable.reload.md) | Reload the embeddable so output and rendering is up to date. Especially relevant if the embeddable takes relative time as input (e.g. now to now-15) | -| [render(domNode)](./kibana-plugin-plugins-embeddable-public.iembeddable.render.md) | Renders the embeddable at the given node. | -| [supportedTriggers()](./kibana-plugin-plugins-embeddable-public.iembeddable.supportedtriggers.md) | List of triggers that this embeddable will execute. | -| [updateInput(changes)](./kibana-plugin-plugins-embeddable-public.iembeddable.updateinput.md) | Updates input state with the given changes. | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.parent.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.parent.md deleted file mode 100644 index d20102902cdb0..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.parent.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [parent](./kibana-plugin-plugins-embeddable-public.iembeddable.parent.md) - -## IEmbeddable.parent property - -If this embeddable is nested inside a container, this will contain a reference to its parent. - -Signature: - -```typescript -readonly parent?: IContainer; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.reload.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.reload.md deleted file mode 100644 index 8caea9d8dc511..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.reload.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [reload](./kibana-plugin-plugins-embeddable-public.iembeddable.reload.md) - -## IEmbeddable.reload() method - -Reload the embeddable so output and rendering is up to date. Especially relevant if the embeddable takes relative time as input (e.g. now to now-15) - -Signature: - -```typescript -reload(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.render.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.render.md deleted file mode 100644 index 9079227b622dc..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.render.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [render](./kibana-plugin-plugins-embeddable-public.iembeddable.render.md) - -## IEmbeddable.render() method - -Renders the embeddable at the given node. - -Signature: - -```typescript -render(domNode: HTMLElement | Element): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| domNode | HTMLElement | Element | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.runtimeid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.runtimeid.md deleted file mode 100644 index 5ddd8ddd0f8dd..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.runtimeid.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [runtimeId](./kibana-plugin-plugins-embeddable-public.iembeddable.runtimeid.md) - -## IEmbeddable.runtimeId property - -Unique ID an embeddable is assigned each time it is initialized. This ID is different for different instances of the same embeddable. For example, if the same dashboard is rendered twice on the screen, all embeddable instances will have a unique `runtimeId`. - -Signature: - -```typescript -readonly runtimeId?: number; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.supportedtriggers.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.supportedtriggers.md deleted file mode 100644 index bb560c11bf440..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.supportedtriggers.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [supportedTriggers](./kibana-plugin-plugins-embeddable-public.iembeddable.supportedtriggers.md) - -## IEmbeddable.supportedTriggers() method - -List of triggers that this embeddable will execute. - -Signature: - -```typescript -supportedTriggers(): string[]; -``` -Returns: - -`string[]` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.type.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.type.md deleted file mode 100644 index 46b9d40685dba..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [type](./kibana-plugin-plugins-embeddable-public.iembeddable.type.md) - -## IEmbeddable.type property - -The type of embeddable, this is what will be used to take a serialized embeddable and find the correct factory for which to create an instance of it. - -Signature: - -```typescript -readonly type: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.updateinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.updateinput.md deleted file mode 100644 index 523464103bd1a..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iembeddable.updateinput.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) > [updateInput](./kibana-plugin-plugins-embeddable-public.iembeddable.updateinput.md) - -## IEmbeddable.updateInput() method - -Updates input state with the given changes. - -Signature: - -```typescript -updateInput(changes: Partial): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| changes | Partial<I> | | - -Returns: - -`void` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iscontextmenutriggercontext.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iscontextmenutriggercontext.md deleted file mode 100644 index 2f5966f9ba940..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iscontextmenutriggercontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [isContextMenuTriggerContext](./kibana-plugin-plugins-embeddable-public.iscontextmenutriggercontext.md) - -## isContextMenuTriggerContext variable - -Signature: - -```typescript -isContextMenuTriggerContext: (context: unknown) => context is EmbeddableContext> -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isembeddable.md deleted file mode 100644 index ea8d3870dc055..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isembeddable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [isEmbeddable](./kibana-plugin-plugins-embeddable-public.isembeddable.md) - -## isEmbeddable variable - -Signature: - -```typescript -isEmbeddable: (x: unknown) => x is IEmbeddable -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iserrorembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iserrorembeddable.md deleted file mode 100644 index 358d085ea9bba..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.iserrorembeddable.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [isErrorEmbeddable](./kibana-plugin-plugins-embeddable-public.iserrorembeddable.md) - -## isErrorEmbeddable() function - -Signature: - -```typescript -export declare function isErrorEmbeddable(embeddable: TEmbeddable | ErrorEmbeddable): embeddable is ErrorEmbeddable; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| embeddable | TEmbeddable | ErrorEmbeddable | | - -Returns: - -`embeddable is ErrorEmbeddable` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.israngeselecttriggercontext.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.israngeselecttriggercontext.md deleted file mode 100644 index cd28494fe3a09..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.israngeselecttriggercontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [isRangeSelectTriggerContext](./kibana-plugin-plugins-embeddable-public.israngeselecttriggercontext.md) - -## isRangeSelectTriggerContext variable - -Signature: - -```typescript -isRangeSelectTriggerContext: (context: ChartActionContext) => context is RangeSelectContext> -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isreferenceorvalueembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isreferenceorvalueembeddable.md deleted file mode 100644 index 26a221d929ce6..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isreferenceorvalueembeddable.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [isReferenceOrValueEmbeddable](./kibana-plugin-plugins-embeddable-public.isreferenceorvalueembeddable.md) - -## isReferenceOrValueEmbeddable() function - -Signature: - -```typescript -export declare function isReferenceOrValueEmbeddable(incoming: unknown): incoming is ReferenceOrValueEmbeddable; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| incoming | unknown | | - -Returns: - -`incoming is ReferenceOrValueEmbeddable` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isrowclicktriggercontext.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isrowclicktriggercontext.md deleted file mode 100644 index 91e0f988db69c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isrowclicktriggercontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [isRowClickTriggerContext](./kibana-plugin-plugins-embeddable-public.isrowclicktriggercontext.md) - -## isRowClickTriggerContext variable - -Signature: - -```typescript -isRowClickTriggerContext: (context: ChartActionContext) => context is RowClickContext -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.issavedobjectembeddableinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.issavedobjectembeddableinput.md deleted file mode 100644 index 663cc41f1bffc..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.issavedobjectembeddableinput.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [isSavedObjectEmbeddableInput](./kibana-plugin-plugins-embeddable-public.issavedobjectembeddableinput.md) - -## isSavedObjectEmbeddableInput() function - -Signature: - -```typescript -export declare function isSavedObjectEmbeddableInput(input: EmbeddableInput | SavedObjectEmbeddableInput): input is SavedObjectEmbeddableInput; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| input | EmbeddableInput | SavedObjectEmbeddableInput | | - -Returns: - -`input is SavedObjectEmbeddableInput` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isvalueclicktriggercontext.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isvalueclicktriggercontext.md deleted file mode 100644 index 4e3c970d9b437..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.isvalueclicktriggercontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [isValueClickTriggerContext](./kibana-plugin-plugins-embeddable-public.isvalueclicktriggercontext.md) - -## isValueClickTriggerContext variable - -Signature: - -```typescript -isValueClickTriggerContext: (context: ChartActionContext) => context is ValueClickContext> -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.md deleted file mode 100644 index 444132024596e..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.md +++ /dev/null @@ -1,103 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) - -## kibana-plugin-plugins-embeddable-public package - -## Classes - -| Class | Description | -| --- | --- | -| [AddPanelAction](./kibana-plugin-plugins-embeddable-public.addpanelaction.md) | | -| [AttributeService](./kibana-plugin-plugins-embeddable-public.attributeservice.md) | | -| [Container](./kibana-plugin-plugins-embeddable-public.container.md) | | -| [EditPanelAction](./kibana-plugin-plugins-embeddable-public.editpanelaction.md) | | -| [Embeddable](./kibana-plugin-plugins-embeddable-public.embeddable.md) | | -| [EmbeddableChildPanel](./kibana-plugin-plugins-embeddable-public.embeddablechildpanel.md) | This component can be used by embeddable containers using react to easily render children. It waits for the child to be initialized, showing a loading indicator until that is complete. | -| [EmbeddableFactoryNotFoundError](./kibana-plugin-plugins-embeddable-public.embeddablefactorynotfounderror.md) | | -| [EmbeddablePanel](./kibana-plugin-plugins-embeddable-public.embeddablepanel.md) | | -| [EmbeddableRoot](./kibana-plugin-plugins-embeddable-public.embeddableroot.md) | | -| [EmbeddableStateTransfer](./kibana-plugin-plugins-embeddable-public.embeddablestatetransfer.md) | A wrapper around the session storage which provides strongly typed helper methods for common incoming and outgoing states used by the embeddable infrastructure. | -| [ErrorEmbeddable](./kibana-plugin-plugins-embeddable-public.errorembeddable.md) | | -| [PanelNotFoundError](./kibana-plugin-plugins-embeddable-public.panelnotfounderror.md) | | - -## Enumerations - -| Enumeration | Description | -| --- | --- | -| [ViewMode](./kibana-plugin-plugins-embeddable-public.viewmode.md) | | - -## Functions - -| Function | Description | -| --- | --- | -| [isErrorEmbeddable(embeddable)](./kibana-plugin-plugins-embeddable-public.iserrorembeddable.md) | | -| [isReferenceOrValueEmbeddable(incoming)](./kibana-plugin-plugins-embeddable-public.isreferenceorvalueembeddable.md) | | -| [isSavedObjectEmbeddableInput(input)](./kibana-plugin-plugins-embeddable-public.issavedobjectembeddableinput.md) | | -| [openAddPanelFlyout(options)](./kibana-plugin-plugins-embeddable-public.openaddpanelflyout.md) | | -| [plugin(initializerContext)](./kibana-plugin-plugins-embeddable-public.plugin.md) | | -| [useEmbeddableFactory({ input, factory, onInputUpdated, })](./kibana-plugin-plugins-embeddable-public.useembeddablefactory.md) | | - -## Interfaces - -| Interface | Description | -| --- | --- | -| [Adapters](./kibana-plugin-plugins-embeddable-public.adapters.md) | The interface that the adapters used to open an inspector have to fullfill. | -| [ContainerInput](./kibana-plugin-plugins-embeddable-public.containerinput.md) | | -| [ContainerOutput](./kibana-plugin-plugins-embeddable-public.containeroutput.md) | | -| [EmbeddableChildPanelProps](./kibana-plugin-plugins-embeddable-public.embeddablechildpanelprops.md) | | -| [EmbeddableContext](./kibana-plugin-plugins-embeddable-public.embeddablecontext.md) | | -| [EmbeddableEditorState](./kibana-plugin-plugins-embeddable-public.embeddableeditorstate.md) | A state package that contains information an editor will need to create or edit an embeddable then redirect back. | -| [EmbeddableFactory](./kibana-plugin-plugins-embeddable-public.embeddablefactory.md) | EmbeddableFactories create and initialize an embeddable instance | -| [EmbeddableInstanceConfiguration](./kibana-plugin-plugins-embeddable-public.embeddableinstanceconfiguration.md) | | -| [EmbeddableOutput](./kibana-plugin-plugins-embeddable-public.embeddableoutput.md) | | -| [EmbeddablePackageState](./kibana-plugin-plugins-embeddable-public.embeddablepackagestate.md) | A state package that contains all fields necessary to create or update an embeddable by reference or by value in a container. | -| [EmbeddableSetup](./kibana-plugin-plugins-embeddable-public.embeddablesetup.md) | | -| [EmbeddableSetupDependencies](./kibana-plugin-plugins-embeddable-public.embeddablesetupdependencies.md) | | -| [EmbeddableStart](./kibana-plugin-plugins-embeddable-public.embeddablestart.md) | | -| [EmbeddableStartDependencies](./kibana-plugin-plugins-embeddable-public.embeddablestartdependencies.md) | | -| [EnhancementRegistryDefinition](./kibana-plugin-plugins-embeddable-public.enhancementregistrydefinition.md) | | -| [IContainer](./kibana-plugin-plugins-embeddable-public.icontainer.md) | | -| [IEmbeddable](./kibana-plugin-plugins-embeddable-public.iembeddable.md) | | -| [OutputSpec](./kibana-plugin-plugins-embeddable-public.outputspec.md) | | -| [PanelState](./kibana-plugin-plugins-embeddable-public.panelstate.md) | | -| [PropertySpec](./kibana-plugin-plugins-embeddable-public.propertyspec.md) | | -| [RangeSelectContext](./kibana-plugin-plugins-embeddable-public.rangeselectcontext.md) | | -| [ReferenceOrValueEmbeddable](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.md) | Any embeddable that implements this interface will be able to use input that is either by reference (backed by a saved object) OR by value, (provided by the container). | -| [SavedObjectEmbeddableInput](./kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.md) | | -| [ValueClickContext](./kibana-plugin-plugins-embeddable-public.valueclickcontext.md) | | - -## Variables - -| Variable | Description | -| --- | --- | -| [ACTION\_ADD\_PANEL](./kibana-plugin-plugins-embeddable-public.action_add_panel.md) | | -| [ACTION\_EDIT\_PANEL](./kibana-plugin-plugins-embeddable-public.action_edit_panel.md) | | -| [ATTRIBUTE\_SERVICE\_KEY](./kibana-plugin-plugins-embeddable-public.attribute_service_key.md) | The attribute service is a shared, generic service that embeddables can use to provide the functionality required to fulfill the requirements of the ReferenceOrValueEmbeddable interface. The attribute\_service can also be used as a higher level wrapper to transform an embeddable input shape that references a saved object into an embeddable input shape that contains that saved object's attributes by value. | -| [CONTEXT\_MENU\_TRIGGER](./kibana-plugin-plugins-embeddable-public.context_menu_trigger.md) | | -| [contextMenuTrigger](./kibana-plugin-plugins-embeddable-public.contextmenutrigger.md) | | -| [defaultEmbeddableFactoryProvider](./kibana-plugin-plugins-embeddable-public.defaultembeddablefactoryprovider.md) | | -| [EmbeddableRenderer](./kibana-plugin-plugins-embeddable-public.embeddablerenderer.md) | Helper react component to render an embeddable Can be used if you have an embeddable object or an embeddable factory Supports updating input by passing input prop | -| [isContextMenuTriggerContext](./kibana-plugin-plugins-embeddable-public.iscontextmenutriggercontext.md) | | -| [isEmbeddable](./kibana-plugin-plugins-embeddable-public.isembeddable.md) | | -| [isRangeSelectTriggerContext](./kibana-plugin-plugins-embeddable-public.israngeselecttriggercontext.md) | | -| [isRowClickTriggerContext](./kibana-plugin-plugins-embeddable-public.isrowclicktriggercontext.md) | | -| [isValueClickTriggerContext](./kibana-plugin-plugins-embeddable-public.isvalueclicktriggercontext.md) | | -| [PANEL\_BADGE\_TRIGGER](./kibana-plugin-plugins-embeddable-public.panel_badge_trigger.md) | | -| [PANEL\_NOTIFICATION\_TRIGGER](./kibana-plugin-plugins-embeddable-public.panel_notification_trigger.md) | | -| [panelBadgeTrigger](./kibana-plugin-plugins-embeddable-public.panelbadgetrigger.md) | | -| [panelNotificationTrigger](./kibana-plugin-plugins-embeddable-public.panelnotificationtrigger.md) | | -| [SELECT\_RANGE\_TRIGGER](./kibana-plugin-plugins-embeddable-public.select_range_trigger.md) | | -| [VALUE\_CLICK\_TRIGGER](./kibana-plugin-plugins-embeddable-public.value_click_trigger.md) | | -| [withEmbeddableSubscription](./kibana-plugin-plugins-embeddable-public.withembeddablesubscription.md) | | - -## Type Aliases - -| Type Alias | Description | -| --- | --- | -| [ChartActionContext](./kibana-plugin-plugins-embeddable-public.chartactioncontext.md) | | -| [EmbeddableFactoryDefinition](./kibana-plugin-plugins-embeddable-public.embeddablefactorydefinition.md) | | -| [EmbeddableInput](./kibana-plugin-plugins-embeddable-public.embeddableinput.md) | | -| [EmbeddablePanelHOC](./kibana-plugin-plugins-embeddable-public.embeddablepanelhoc.md) | | -| [EmbeddableRendererProps](./kibana-plugin-plugins-embeddable-public.embeddablerendererprops.md) | This type is a publicly exposed props of [EmbeddableRenderer](./kibana-plugin-plugins-embeddable-public.embeddablerenderer.md) Union is used to validate that or factory or embeddable is passed in, but it can't be both simultaneously In case when embeddable is passed in, input is optional, because there is already an input inside of embeddable object In case when factory is used, then input is required, because it will be used as initial input to create an embeddable object | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.openaddpanelflyout.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.openaddpanelflyout.md deleted file mode 100644 index db45b691b446e..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.openaddpanelflyout.md +++ /dev/null @@ -1,31 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [openAddPanelFlyout](./kibana-plugin-plugins-embeddable-public.openaddpanelflyout.md) - -## openAddPanelFlyout() function - -Signature: - -```typescript -export declare function openAddPanelFlyout(options: { - embeddable: IContainer; - getFactory: EmbeddableStart['getEmbeddableFactory']; - getAllFactories: EmbeddableStart['getEmbeddableFactories']; - overlays: OverlayStart; - notifications: NotificationsStart; - SavedObjectFinder: React.ComponentType; - showCreateNewMenu?: boolean; - reportUiCounter?: UsageCollectionStart['reportUiCounter']; -}): OverlayRef; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| options | {
embeddable: IContainer;
getFactory: EmbeddableStart['getEmbeddableFactory'];
getAllFactories: EmbeddableStart['getEmbeddableFactories'];
overlays: OverlayStart;
notifications: NotificationsStart;
SavedObjectFinder: React.ComponentType<any>;
showCreateNewMenu?: boolean;
reportUiCounter?: UsageCollectionStart['reportUiCounter'];
} | | - -Returns: - -`OverlayRef` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.outputspec.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.outputspec.md deleted file mode 100644 index eead69b4e487c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.outputspec.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [OutputSpec](./kibana-plugin-plugins-embeddable-public.outputspec.md) - -## OutputSpec interface - -Signature: - -```typescript -export interface OutputSpec -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panel_badge_trigger.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panel_badge_trigger.md deleted file mode 100644 index d5032d98ef4aa..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panel_badge_trigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PANEL\_BADGE\_TRIGGER](./kibana-plugin-plugins-embeddable-public.panel_badge_trigger.md) - -## PANEL\_BADGE\_TRIGGER variable - -Signature: - -```typescript -PANEL_BADGE_TRIGGER = "PANEL_BADGE_TRIGGER" -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panel_notification_trigger.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panel_notification_trigger.md deleted file mode 100644 index cd8a4a1ca4581..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panel_notification_trigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PANEL\_NOTIFICATION\_TRIGGER](./kibana-plugin-plugins-embeddable-public.panel_notification_trigger.md) - -## PANEL\_NOTIFICATION\_TRIGGER variable - -Signature: - -```typescript -PANEL_NOTIFICATION_TRIGGER = "PANEL_NOTIFICATION_TRIGGER" -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelbadgetrigger.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelbadgetrigger.md deleted file mode 100644 index feacd0152d384..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelbadgetrigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [panelBadgeTrigger](./kibana-plugin-plugins-embeddable-public.panelbadgetrigger.md) - -## panelBadgeTrigger variable - -Signature: - -```typescript -panelBadgeTrigger: Trigger -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror._constructor_.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror._constructor_.md deleted file mode 100644 index d1704403b2336..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror._constructor_.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PanelNotFoundError](./kibana-plugin-plugins-embeddable-public.panelnotfounderror.md) > [(constructor)](./kibana-plugin-plugins-embeddable-public.panelnotfounderror._constructor_.md) - -## PanelNotFoundError.(constructor) - -Constructs a new instance of the `PanelNotFoundError` class - -Signature: - -```typescript -constructor(); -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror.code.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror.code.md deleted file mode 100644 index d169fb97480cc..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror.code.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PanelNotFoundError](./kibana-plugin-plugins-embeddable-public.panelnotfounderror.md) > [code](./kibana-plugin-plugins-embeddable-public.panelnotfounderror.code.md) - -## PanelNotFoundError.code property - -Signature: - -```typescript -code: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror.md deleted file mode 100644 index 2191fdecf1ac5..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotfounderror.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PanelNotFoundError](./kibana-plugin-plugins-embeddable-public.panelnotfounderror.md) - -## PanelNotFoundError class - -Signature: - -```typescript -export declare class PanelNotFoundError extends Error -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)()](./kibana-plugin-plugins-embeddable-public.panelnotfounderror._constructor_.md) | | Constructs a new instance of the PanelNotFoundError class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [code](./kibana-plugin-plugins-embeddable-public.panelnotfounderror.code.md) | | string | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotificationtrigger.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotificationtrigger.md deleted file mode 100644 index c831df19d2959..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelnotificationtrigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [panelNotificationTrigger](./kibana-plugin-plugins-embeddable-public.panelnotificationtrigger.md) - -## panelNotificationTrigger variable - -Signature: - -```typescript -panelNotificationTrigger: Trigger -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.explicitinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.explicitinput.md deleted file mode 100644 index 16123958d4db1..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.explicitinput.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PanelState](./kibana-plugin-plugins-embeddable-public.panelstate.md) > [explicitInput](./kibana-plugin-plugins-embeddable-public.panelstate.explicitinput.md) - -## PanelState.explicitInput property - -Signature: - -```typescript -explicitInput: Partial & { - id: string; - }; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.id.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.id.md deleted file mode 100644 index e6fd4e0264f0d..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PanelState](./kibana-plugin-plugins-embeddable-public.panelstate.md) > [id](./kibana-plugin-plugins-embeddable-public.panelstate.id.md) - -## PanelState.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.md deleted file mode 100644 index b37f652b5021c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PanelState](./kibana-plugin-plugins-embeddable-public.panelstate.md) - -## PanelState interface - -Signature: - -```typescript -export interface PanelState -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [explicitInput](./kibana-plugin-plugins-embeddable-public.panelstate.explicitinput.md) | Partial<E> & {
id: string;
} | | -| [id](./kibana-plugin-plugins-embeddable-public.panelstate.id.md) | string | | -| [type](./kibana-plugin-plugins-embeddable-public.panelstate.type.md) | string | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.type.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.type.md deleted file mode 100644 index 8be470a77f1c7..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.panelstate.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PanelState](./kibana-plugin-plugins-embeddable-public.panelstate.md) > [type](./kibana-plugin-plugins-embeddable-public.panelstate.type.md) - -## PanelState.type property - -Signature: - -```typescript -type: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.plugin.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.plugin.md deleted file mode 100644 index 4e3ae760153cb..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.plugin.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [plugin](./kibana-plugin-plugins-embeddable-public.plugin.md) - -## plugin() function - -Signature: - -```typescript -export declare function plugin(initializerContext: PluginInitializerContext): EmbeddablePublicPlugin; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initializerContext | PluginInitializerContext | | - -Returns: - -`EmbeddablePublicPlugin` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.accesspath.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.accesspath.md deleted file mode 100644 index 2a337e4b0141a..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.accesspath.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PropertySpec](./kibana-plugin-plugins-embeddable-public.propertyspec.md) > [accessPath](./kibana-plugin-plugins-embeddable-public.propertyspec.accesspath.md) - -## PropertySpec.accessPath property - -Signature: - -```typescript -accessPath: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.description.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.description.md deleted file mode 100644 index f36309c657795..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.description.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PropertySpec](./kibana-plugin-plugins-embeddable-public.propertyspec.md) > [description](./kibana-plugin-plugins-embeddable-public.propertyspec.description.md) - -## PropertySpec.description property - -Signature: - -```typescript -description: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.displayname.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.displayname.md deleted file mode 100644 index 16311493fa5dd..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.displayname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PropertySpec](./kibana-plugin-plugins-embeddable-public.propertyspec.md) > [displayName](./kibana-plugin-plugins-embeddable-public.propertyspec.displayname.md) - -## PropertySpec.displayName property - -Signature: - -```typescript -displayName: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.id.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.id.md deleted file mode 100644 index a37ed9000b67a..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PropertySpec](./kibana-plugin-plugins-embeddable-public.propertyspec.md) > [id](./kibana-plugin-plugins-embeddable-public.propertyspec.id.md) - -## PropertySpec.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.md deleted file mode 100644 index 02534b5d9d4da..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PropertySpec](./kibana-plugin-plugins-embeddable-public.propertyspec.md) - -## PropertySpec interface - -Signature: - -```typescript -export interface PropertySpec -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [accessPath](./kibana-plugin-plugins-embeddable-public.propertyspec.accesspath.md) | string | | -| [description](./kibana-plugin-plugins-embeddable-public.propertyspec.description.md) | string | | -| [displayName](./kibana-plugin-plugins-embeddable-public.propertyspec.displayname.md) | string | | -| [id](./kibana-plugin-plugins-embeddable-public.propertyspec.id.md) | string | | -| [value](./kibana-plugin-plugins-embeddable-public.propertyspec.value.md) | string | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.value.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.value.md deleted file mode 100644 index 3360a9fff783c..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.propertyspec.value.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [PropertySpec](./kibana-plugin-plugins-embeddable-public.propertyspec.md) > [value](./kibana-plugin-plugins-embeddable-public.propertyspec.value.md) - -## PropertySpec.value property - -Signature: - -```typescript -value?: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.data.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.data.md deleted file mode 100644 index f11003887a6df..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.data.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [RangeSelectContext](./kibana-plugin-plugins-embeddable-public.rangeselectcontext.md) > [data](./kibana-plugin-plugins-embeddable-public.rangeselectcontext.data.md) - -## RangeSelectContext.data property - -Signature: - -```typescript -data: { - table: Datatable; - column: number; - range: number[]; - timeFieldName?: string; - }; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.embeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.embeddable.md deleted file mode 100644 index a6c9f0f7e4253..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.embeddable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [RangeSelectContext](./kibana-plugin-plugins-embeddable-public.rangeselectcontext.md) > [embeddable](./kibana-plugin-plugins-embeddable-public.rangeselectcontext.embeddable.md) - -## RangeSelectContext.embeddable property - -Signature: - -```typescript -embeddable?: T; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.md deleted file mode 100644 index f23cb44a7f014..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.rangeselectcontext.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [RangeSelectContext](./kibana-plugin-plugins-embeddable-public.rangeselectcontext.md) - -## RangeSelectContext interface - -Signature: - -```typescript -export interface RangeSelectContext -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [data](./kibana-plugin-plugins-embeddable-public.rangeselectcontext.data.md) | {
table: Datatable;
column: number;
range: number[];
timeFieldName?: string;
} | | -| [embeddable](./kibana-plugin-plugins-embeddable-public.rangeselectcontext.embeddable.md) | T | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasreftype.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasreftype.md deleted file mode 100644 index 559787c75ab66..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasreftype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ReferenceOrValueEmbeddable](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.md) > [getInputAsRefType](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasreftype.md) - -## ReferenceOrValueEmbeddable.getInputAsRefType property - -Gets the embeddable's current input as its Reference type - -Signature: - -```typescript -getInputAsRefType: () => Promise; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasvaluetype.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasvaluetype.md deleted file mode 100644 index f9cd23b97858a..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasvaluetype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ReferenceOrValueEmbeddable](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.md) > [getInputAsValueType](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasvaluetype.md) - -## ReferenceOrValueEmbeddable.getInputAsValueType property - -Gets the embeddable's current input as its Value type - -Signature: - -```typescript -getInputAsValueType: () => Promise; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.inputisreftype.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.inputisreftype.md deleted file mode 100644 index 9de0447769397..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.inputisreftype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ReferenceOrValueEmbeddable](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.md) > [inputIsRefType](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.inputisreftype.md) - -## ReferenceOrValueEmbeddable.inputIsRefType property - -determines whether the input is by value or by reference. - -Signature: - -```typescript -inputIsRefType: (input: ValTypeInput | RefTypeInput) => input is RefTypeInput; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.md deleted file mode 100644 index 47d6d8a0772d8..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ReferenceOrValueEmbeddable](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.md) - -## ReferenceOrValueEmbeddable interface - -Any embeddable that implements this interface will be able to use input that is either by reference (backed by a saved object) OR by value, (provided by the container). - -Signature: - -```typescript -export interface ReferenceOrValueEmbeddable -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [getInputAsRefType](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasreftype.md) | () => Promise<RefTypeInput> | Gets the embeddable's current input as its Reference type | -| [getInputAsValueType](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.getinputasvaluetype.md) | () => Promise<ValTypeInput> | Gets the embeddable's current input as its Value type | -| [inputIsRefType](./kibana-plugin-plugins-embeddable-public.referenceorvalueembeddable.inputisreftype.md) | (input: ValTypeInput | RefTypeInput) => input is RefTypeInput | determines whether the input is by value or by reference. | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.md deleted file mode 100644 index ae0df9ec01ba1..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [SavedObjectEmbeddableInput](./kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.md) - -## SavedObjectEmbeddableInput interface - -Signature: - -```typescript -export interface SavedObjectEmbeddableInput extends EmbeddableInput -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [savedObjectId](./kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.savedobjectid.md) | string | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.savedobjectid.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.savedobjectid.md deleted file mode 100644 index d8cb3bbda9d01..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.savedobjectid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [SavedObjectEmbeddableInput](./kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.md) > [savedObjectId](./kibana-plugin-plugins-embeddable-public.savedobjectembeddableinput.savedobjectid.md) - -## SavedObjectEmbeddableInput.savedObjectId property - -Signature: - -```typescript -savedObjectId: string; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.select_range_trigger.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.select_range_trigger.md deleted file mode 100644 index 175e3fe947a0f..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.select_range_trigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [SELECT\_RANGE\_TRIGGER](./kibana-plugin-plugins-embeddable-public.select_range_trigger.md) - -## SELECT\_RANGE\_TRIGGER variable - -Signature: - -```typescript -SELECT_RANGE_TRIGGER = "SELECT_RANGE_TRIGGER" -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.useembeddablefactory.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.useembeddablefactory.md deleted file mode 100644 index 9af20cacc2cee..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.useembeddablefactory.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [useEmbeddableFactory](./kibana-plugin-plugins-embeddable-public.useembeddablefactory.md) - -## useEmbeddableFactory() function - -Signature: - -```typescript -export declare function useEmbeddableFactory({ input, factory, onInputUpdated, }: EmbeddableRendererWithFactory): readonly [ErrorEmbeddable | IEmbeddable | undefined, boolean, string | undefined]; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { input, factory, onInputUpdated, } | EmbeddableRendererWithFactory<I> | | - -Returns: - -`readonly [ErrorEmbeddable | IEmbeddable | undefined, boolean, string | undefined]` - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.value_click_trigger.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.value_click_trigger.md deleted file mode 100644 index a85be3142d0f2..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.value_click_trigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [VALUE\_CLICK\_TRIGGER](./kibana-plugin-plugins-embeddable-public.value_click_trigger.md) - -## VALUE\_CLICK\_TRIGGER variable - -Signature: - -```typescript -VALUE_CLICK_TRIGGER = "VALUE_CLICK_TRIGGER" -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.data.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.data.md deleted file mode 100644 index e7c1be172cd70..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.data.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ValueClickContext](./kibana-plugin-plugins-embeddable-public.valueclickcontext.md) > [data](./kibana-plugin-plugins-embeddable-public.valueclickcontext.data.md) - -## ValueClickContext.data property - -Signature: - -```typescript -data: { - data: Array<{ - table: Pick; - column: number; - row: number; - value: any; - }>; - timeFieldName?: string; - negate?: boolean; - }; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.embeddable.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.embeddable.md deleted file mode 100644 index 38adee9346945..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.embeddable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ValueClickContext](./kibana-plugin-plugins-embeddable-public.valueclickcontext.md) > [embeddable](./kibana-plugin-plugins-embeddable-public.valueclickcontext.embeddable.md) - -## ValueClickContext.embeddable property - -Signature: - -```typescript -embeddable?: T; -``` diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.md deleted file mode 100644 index 875c8d276160e..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.valueclickcontext.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ValueClickContext](./kibana-plugin-plugins-embeddable-public.valueclickcontext.md) - -## ValueClickContext interface - -Signature: - -```typescript -export interface ValueClickContext -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [data](./kibana-plugin-plugins-embeddable-public.valueclickcontext.data.md) | {
data: Array<{
table: Pick<Datatable, 'rows' | 'columns'>;
column: number;
row: number;
value: any;
}>;
timeFieldName?: string;
negate?: boolean;
} | | -| [embeddable](./kibana-plugin-plugins-embeddable-public.valueclickcontext.embeddable.md) | T | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.viewmode.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.viewmode.md deleted file mode 100644 index f47169951018d..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.viewmode.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [ViewMode](./kibana-plugin-plugins-embeddable-public.viewmode.md) - -## ViewMode enum - -Signature: - -```typescript -export declare enum ViewMode -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| EDIT | "edit" | | -| VIEW | "view" | | - diff --git a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.withembeddablesubscription.md b/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.withembeddablesubscription.md deleted file mode 100644 index a815292f3a0c3..0000000000000 --- a/docs/development/plugins/embeddable/public/kibana-plugin-plugins-embeddable-public.withembeddablesubscription.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-public](./kibana-plugin-plugins-embeddable-public.md) > [withEmbeddableSubscription](./kibana-plugin-plugins-embeddable-public.withembeddablesubscription.md) - -## withEmbeddableSubscription variable - -Signature: - -```typescript -withEmbeddableSubscription: = IEmbeddable, ExtraProps = {}>(WrappedComponent: React.ComponentType<{ - input: I; - output: O; - embeddable: E; -} & ExtraProps>) => React.ComponentType<{ - embeddable: E; -} & ExtraProps> -``` diff --git a/docs/development/plugins/embeddable/server/index.md b/docs/development/plugins/embeddable/server/index.md deleted file mode 100644 index 3c4d4ce3aed36..0000000000000 --- a/docs/development/plugins/embeddable/server/index.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) - -## API Reference - -## Packages - -| Package | Description | -| --- | --- | -| [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) | | - diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.id.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.id.md deleted file mode 100644 index ce3e532fcaa3b..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) > [EmbeddableRegistryDefinition](./kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.md) > [id](./kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.id.md) - -## EmbeddableRegistryDefinition.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.md deleted file mode 100644 index 681c671403315..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) > [EmbeddableRegistryDefinition](./kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.md) - -## EmbeddableRegistryDefinition interface - -Signature: - -```typescript -export interface EmbeddableRegistryDefinition

extends PersistableStateDefinition

-``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.id.md) | string | | - diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.getallmigrations.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.getallmigrations.md deleted file mode 100644 index 6612683aee51c..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.getallmigrations.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) > [EmbeddableSetup](./kibana-plugin-plugins-embeddable-server.embeddablesetup.md) > [getAllMigrations](./kibana-plugin-plugins-embeddable-server.embeddablesetup.getallmigrations.md) - -## EmbeddableSetup.getAllMigrations property - -Signature: - -```typescript -getAllMigrations: () => MigrateFunctionsObject; -``` diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.md deleted file mode 100644 index 74e2951105b99..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) > [EmbeddableSetup](./kibana-plugin-plugins-embeddable-server.embeddablesetup.md) - -## EmbeddableSetup interface - -Signature: - -```typescript -export interface EmbeddableSetup extends PersistableStateService -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [getAllMigrations](./kibana-plugin-plugins-embeddable-server.embeddablesetup.getallmigrations.md) | () => MigrateFunctionsObject | | -| [registerEmbeddableFactory](./kibana-plugin-plugins-embeddable-server.embeddablesetup.registerembeddablefactory.md) | (factory: EmbeddableRegistryDefinition) => void | | -| [registerEnhancement](./kibana-plugin-plugins-embeddable-server.embeddablesetup.registerenhancement.md) | (enhancement: EnhancementRegistryDefinition) => void | | - diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.registerembeddablefactory.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.registerembeddablefactory.md deleted file mode 100644 index 442941ce86950..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.registerembeddablefactory.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) > [EmbeddableSetup](./kibana-plugin-plugins-embeddable-server.embeddablesetup.md) > [registerEmbeddableFactory](./kibana-plugin-plugins-embeddable-server.embeddablesetup.registerembeddablefactory.md) - -## EmbeddableSetup.registerEmbeddableFactory property - -Signature: - -```typescript -registerEmbeddableFactory: (factory: EmbeddableRegistryDefinition) => void; -``` diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.registerenhancement.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.registerenhancement.md deleted file mode 100644 index 9ea2846d0300b..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablesetup.registerenhancement.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) > [EmbeddableSetup](./kibana-plugin-plugins-embeddable-server.embeddablesetup.md) > [registerEnhancement](./kibana-plugin-plugins-embeddable-server.embeddablesetup.registerenhancement.md) - -## EmbeddableSetup.registerEnhancement property - -Signature: - -```typescript -registerEnhancement: (enhancement: EnhancementRegistryDefinition) => void; -``` diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablestart.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablestart.md deleted file mode 100644 index c69850006e146..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.embeddablestart.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) > [EmbeddableStart](./kibana-plugin-plugins-embeddable-server.embeddablestart.md) - -## EmbeddableStart type - -Signature: - -```typescript -export declare type EmbeddableStart = PersistableStateService; -``` diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.id.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.id.md deleted file mode 100644 index a93c691246872..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) > [EnhancementRegistryDefinition](./kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.md) > [id](./kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.id.md) - -## EnhancementRegistryDefinition.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.md deleted file mode 100644 index 34462de422218..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) > [EnhancementRegistryDefinition](./kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.md) - -## EnhancementRegistryDefinition interface - -Signature: - -```typescript -export interface EnhancementRegistryDefinition

extends PersistableStateDefinition

-``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.id.md) | string | | - diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.md deleted file mode 100644 index 5b3083e039847..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) - -## kibana-plugin-plugins-embeddable-server package - -## Interfaces - -| Interface | Description | -| --- | --- | -| [EmbeddableRegistryDefinition](./kibana-plugin-plugins-embeddable-server.embeddableregistrydefinition.md) | | -| [EmbeddableSetup](./kibana-plugin-plugins-embeddable-server.embeddablesetup.md) | | -| [EnhancementRegistryDefinition](./kibana-plugin-plugins-embeddable-server.enhancementregistrydefinition.md) | | - -## Variables - -| Variable | Description | -| --- | --- | -| [plugin](./kibana-plugin-plugins-embeddable-server.plugin.md) | | - -## Type Aliases - -| Type Alias | Description | -| --- | --- | -| [EmbeddableStart](./kibana-plugin-plugins-embeddable-server.embeddablestart.md) | | - diff --git a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.plugin.md b/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.plugin.md deleted file mode 100644 index 989f3c3e60963..0000000000000 --- a/docs/development/plugins/embeddable/server/kibana-plugin-plugins-embeddable-server.plugin.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-embeddable-server](./kibana-plugin-plugins-embeddable-server.md) > [plugin](./kibana-plugin-plugins-embeddable-server.plugin.md) - -## plugin variable - -Signature: - -```typescript -plugin: () => EmbeddableServerPlugin -``` diff --git a/docs/development/plugins/expressions/public/index.md b/docs/development/plugins/expressions/public/index.md deleted file mode 100644 index ade7a9e90b517..0000000000000 --- a/docs/development/plugins/expressions/public/index.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) - -## API Reference - -## Packages - -| Package | Description | -| --- | --- | -| [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.anyexpressionfunctiondefinition.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.anyexpressionfunctiondefinition.md deleted file mode 100644 index f905a1028d217..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.anyexpressionfunctiondefinition.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [AnyExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.anyexpressionfunctiondefinition.md) - -## AnyExpressionFunctionDefinition type - -Type to capture every possible expression function definition. - -Signature: - -```typescript -export declare type AnyExpressionFunctionDefinition = ExpressionFunctionDefinition, any>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.anyexpressiontypedefinition.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.anyexpressiontypedefinition.md deleted file mode 100644 index c213de4341a6a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.anyexpressiontypedefinition.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [AnyExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.anyexpressiontypedefinition.md) - -## AnyExpressionTypeDefinition type - -Signature: - -```typescript -export declare type AnyExpressionTypeDefinition = ExpressionTypeDefinition; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.argumenttype.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.argumenttype.md deleted file mode 100644 index bf80b863fda90..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.argumenttype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ArgumentType](./kibana-plugin-plugins-expressions-public.argumenttype.md) - -## ArgumentType type - -This type represents all of the possible combinations of properties of an Argument in an Expression Function. The presence or absence of certain fields influence the shape and presence of others within each `arg` in the specification. - -Signature: - -```typescript -export declare type ArgumentType = SingleArgumentType | MultipleArgumentType | UnresolvedSingleArgumentType | UnresolvedMultipleArgumentType; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.buildexpression.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.buildexpression.md deleted file mode 100644 index e1d522588aae8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.buildexpression.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [buildExpression](./kibana-plugin-plugins-expressions-public.buildexpression.md) - -## buildExpression() function - -Makes it easy to progressively build, update, and traverse an expression AST. You can either start with an empty AST, or provide an expression string, AST, or array of expression function builders to use as initial state. - -Signature: - -```typescript -export declare function buildExpression(initialState?: ExpressionAstFunctionBuilder[] | ExpressionAstExpression | string): ExpressionAstExpressionBuilder; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initialState | ExpressionAstFunctionBuilder[] | ExpressionAstExpression | string | | - -Returns: - -`ExpressionAstExpressionBuilder` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.buildexpressionfunction.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.buildexpressionfunction.md deleted file mode 100644 index c5aa2efd51ac0..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.buildexpressionfunction.md +++ /dev/null @@ -1,30 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [buildExpressionFunction](./kibana-plugin-plugins-expressions-public.buildexpressionfunction.md) - -## buildExpressionFunction() function - -Manages an AST for a single expression function. The return value can be provided to `buildExpression` to add this function to an expression. - -Note that to preserve type safety and ensure no args are missing, all required arguments for the specified function must be provided up front. If desired, they can be changed or removed later. - -Signature: - -```typescript -export declare function buildExpressionFunction(fnName: InferFunctionDefinition['name'], -initialArgs: { - [K in keyof FunctionArgs]: FunctionArgs[K] | ExpressionAstExpressionBuilder | ExpressionAstExpressionBuilder[] | ExpressionAstExpression | ExpressionAstExpression[]; -}): ExpressionAstFunctionBuilder; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fnName | InferFunctionDefinition<FnDef>['name'] | | -| initialArgs | {
[K in keyof FunctionArgs<FnDef>]: FunctionArgs<FnDef>[K] | ExpressionAstExpressionBuilder | ExpressionAstExpressionBuilder[] | ExpressionAstExpression | ExpressionAstExpression[];
} | | - -Returns: - -`ExpressionAstFunctionBuilder` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.columns.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.columns.md deleted file mode 100644 index d24c4f4dfb176..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.columns.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md) > [columns](./kibana-plugin-plugins-expressions-public.datatable.columns.md) - -## Datatable.columns property - -Signature: - -```typescript -columns: DatatableColumn[]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.md deleted file mode 100644 index f2daf656dfa73..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md) - -## Datatable interface - -A `Datatable` in Canvas is a unique structure that represents tabulated data. - -Signature: - -```typescript -export interface Datatable -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [columns](./kibana-plugin-plugins-expressions-public.datatable.columns.md) | DatatableColumn[] | | -| [rows](./kibana-plugin-plugins-expressions-public.datatable.rows.md) | DatatableRow[] | | -| [type](./kibana-plugin-plugins-expressions-public.datatable.type.md) | typeof name | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.rows.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.rows.md deleted file mode 100644 index 0d52e446b09fd..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.rows.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md) > [rows](./kibana-plugin-plugins-expressions-public.datatable.rows.md) - -## Datatable.rows property - -Signature: - -```typescript -rows: DatatableRow[]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.type.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.type.md deleted file mode 100644 index e0ee6fd5d8372..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatable.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md) > [type](./kibana-plugin-plugins-expressions-public.datatable.type.md) - -## Datatable.type property - -Signature: - -```typescript -type: typeof name; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.id.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.id.md deleted file mode 100644 index d9b98e6cf939e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [DatatableColumn](./kibana-plugin-plugins-expressions-public.datatablecolumn.md) > [id](./kibana-plugin-plugins-expressions-public.datatablecolumn.id.md) - -## DatatableColumn.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.md deleted file mode 100644 index d67a5d9b36b12..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [DatatableColumn](./kibana-plugin-plugins-expressions-public.datatablecolumn.md) - -## DatatableColumn interface - -This type represents the shape of a column in a `Datatable`. - -Signature: - -```typescript -export interface DatatableColumn -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-expressions-public.datatablecolumn.id.md) | string | | -| [meta](./kibana-plugin-plugins-expressions-public.datatablecolumn.meta.md) | DatatableColumnMeta | | -| [name](./kibana-plugin-plugins-expressions-public.datatablecolumn.name.md) | string | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.meta.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.meta.md deleted file mode 100644 index a5414dde86f97..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.meta.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [DatatableColumn](./kibana-plugin-plugins-expressions-public.datatablecolumn.md) > [meta](./kibana-plugin-plugins-expressions-public.datatablecolumn.meta.md) - -## DatatableColumn.meta property - -Signature: - -```typescript -meta: DatatableColumnMeta; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.name.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.name.md deleted file mode 100644 index 74c3883e7a172..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumn.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [DatatableColumn](./kibana-plugin-plugins-expressions-public.datatablecolumn.md) > [name](./kibana-plugin-plugins-expressions-public.datatablecolumn.name.md) - -## DatatableColumn.name property - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumntype.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumntype.md deleted file mode 100644 index 8f134bd3bfe95..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablecolumntype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [DatatableColumnType](./kibana-plugin-plugins-expressions-public.datatablecolumntype.md) - -## DatatableColumnType type - -This type represents the `type` of any `DatatableColumn` in a `Datatable`. its duplicated from KBN\_FIELD\_TYPES - -Signature: - -```typescript -export declare type DatatableColumnType = '_source' | 'attachment' | 'boolean' | 'date' | 'geo_point' | 'geo_shape' | 'ip' | 'murmur3' | 'number' | 'string' | 'unknown' | 'conflict' | 'object' | 'nested' | 'histogram' | 'null'; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablerow.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablerow.md deleted file mode 100644 index 87cc15d0d4091..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.datatablerow.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [DatatableRow](./kibana-plugin-plugins-expressions-public.datatablerow.md) - -## DatatableRow type - -This type represents a row in a `Datatable`. - -Signature: - -```typescript -export declare type DatatableRow = Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution._constructor_.md deleted file mode 100644 index 14a0f8818e903..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.execution._constructor_.md) - -## Execution.(constructor) - -Constructs a new instance of the `Execution` class - -Signature: - -```typescript -constructor(execution: ExecutionParams); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| execution | ExecutionParams | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.cancel.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.cancel.md deleted file mode 100644 index e87cea30dd5b6..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.cancel.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [cancel](./kibana-plugin-plugins-expressions-public.execution.cancel.md) - -## Execution.cancel() method - -Stop execution of expression. - -Signature: - -```typescript -cancel(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.cast.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.cast.md deleted file mode 100644 index 632849af7c82b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.cast.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [cast](./kibana-plugin-plugins-expressions-public.execution.cast.md) - -## Execution.cast() method - -Signature: - -```typescript -cast(value: any, toTypeNames?: string[]): any; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| value | any | | -| toTypeNames | string[] | | - -Returns: - -`any` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.context.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.context.md deleted file mode 100644 index e884db46563b5..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.context.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [context](./kibana-plugin-plugins-expressions-public.execution.context.md) - -## Execution.context property - -Execution context - object that allows to do side-effects. Context is passed to every function. - -Signature: - -```typescript -readonly context: ExecutionContext; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.contract.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.contract.md deleted file mode 100644 index 383e9ee3e81b8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.contract.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [contract](./kibana-plugin-plugins-expressions-public.execution.contract.md) - -## Execution.contract property - -Contract is a public representation of `Execution` instances. Contract we can return to other plugins for their consumption. - -Signature: - -```typescript -readonly contract: ExecutionContract; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.execution.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.execution.md deleted file mode 100644 index eebb5cf5440d5..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.execution.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [execution](./kibana-plugin-plugins-expressions-public.execution.execution.md) - -## Execution.execution property - -Signature: - -```typescript -readonly execution: ExecutionParams; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.expression.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.expression.md deleted file mode 100644 index a30cc89e8b649..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.expression.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [expression](./kibana-plugin-plugins-expressions-public.execution.expression.md) - -## Execution.expression property - -Signature: - -```typescript -readonly expression: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.input.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.input.md deleted file mode 100644 index 553a463a2b931..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.input.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [input](./kibana-plugin-plugins-expressions-public.execution.input.md) - -## Execution.input property - -Initial input of the execution. - -N.B. It is initialized to `null` rather than `undefined` for legacy reasons, because in legacy interpreter it was set to `null` by default. - -Signature: - -```typescript -input: Input; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.inspectoradapters.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.inspectoradapters.md deleted file mode 100644 index 728015011f7d9..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.inspectoradapters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [inspectorAdapters](./kibana-plugin-plugins-expressions-public.execution.inspectoradapters.md) - -## Execution.inspectorAdapters property - -Signature: - -```typescript -get inspectorAdapters(): InspectorAdapters; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.interpret.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.interpret.md deleted file mode 100644 index 434f2660e7eff..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.interpret.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [interpret](./kibana-plugin-plugins-expressions-public.execution.interpret.md) - -## Execution.interpret() method - -Signature: - -```typescript -interpret(ast: ExpressionAstNode, input: T): Observable>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | ExpressionAstNode | | -| input | T | | - -Returns: - -`Observable>` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.invokechain.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.invokechain.md deleted file mode 100644 index 99768f0ddd533..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.invokechain.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [invokeChain](./kibana-plugin-plugins-expressions-public.execution.invokechain.md) - -## Execution.invokeChain() method - -Signature: - -```typescript -invokeChain(chainArr: ExpressionAstFunction[], input: unknown): Observable; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| chainArr | ExpressionAstFunction[] | | -| input | unknown | | - -Returns: - -`Observable` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.invokefunction.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.invokefunction.md deleted file mode 100644 index 2c3c2173e0833..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.invokefunction.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [invokeFunction](./kibana-plugin-plugins-expressions-public.execution.invokefunction.md) - -## Execution.invokeFunction() method - -Signature: - -```typescript -invokeFunction(fn: ExpressionFunction, input: unknown, args: Record): Observable; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fn | ExpressionFunction | | -| input | unknown | | -| args | Record<string, unknown> | | - -Returns: - -`Observable` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.md deleted file mode 100644 index 040bed5a8ce53..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.md +++ /dev/null @@ -1,43 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) - -## Execution class - -Signature: - -```typescript -export declare class Execution -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(execution)](./kibana-plugin-plugins-expressions-public.execution._constructor_.md) | | Constructs a new instance of the Execution class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [context](./kibana-plugin-plugins-expressions-public.execution.context.md) | | ExecutionContext<InspectorAdapters> | Execution context - object that allows to do side-effects. Context is passed to every function. | -| [contract](./kibana-plugin-plugins-expressions-public.execution.contract.md) | | ExecutionContract<Input, Output, InspectorAdapters> | Contract is a public representation of Execution instances. Contract we can return to other plugins for their consumption. | -| [execution](./kibana-plugin-plugins-expressions-public.execution.execution.md) | | ExecutionParams | | -| [expression](./kibana-plugin-plugins-expressions-public.execution.expression.md) | | string | | -| [input](./kibana-plugin-plugins-expressions-public.execution.input.md) | | Input | Initial input of the execution.N.B. It is initialized to null rather than undefined for legacy reasons, because in legacy interpreter it was set to null by default. | -| [inspectorAdapters](./kibana-plugin-plugins-expressions-public.execution.inspectoradapters.md) | | InspectorAdapters | | -| [result](./kibana-plugin-plugins-expressions-public.execution.result.md) | | Observable<ExecutionResult<Output | ExpressionValueError>> | Future that tracks result or error of this execution. | -| [state](./kibana-plugin-plugins-expressions-public.execution.state.md) | | ExecutionContainer<ExecutionResult<Output | ExpressionValueError>> | Dynamic state of the execution. | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [cancel()](./kibana-plugin-plugins-expressions-public.execution.cancel.md) | | Stop execution of expression. | -| [cast(value, toTypeNames)](./kibana-plugin-plugins-expressions-public.execution.cast.md) | | | -| [interpret(ast, input)](./kibana-plugin-plugins-expressions-public.execution.interpret.md) | | | -| [invokeChain(chainArr, input)](./kibana-plugin-plugins-expressions-public.execution.invokechain.md) | | | -| [invokeFunction(fn, input, args)](./kibana-plugin-plugins-expressions-public.execution.invokefunction.md) | | | -| [resolveArgs(fnDef, input, argAsts)](./kibana-plugin-plugins-expressions-public.execution.resolveargs.md) | | | -| [start(input, isSubExpression)](./kibana-plugin-plugins-expressions-public.execution.start.md) | | Call this method to start execution.N.B. input is initialized to null rather than undefined for legacy reasons, because in legacy interpreter it was set to null by default. | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.resolveargs.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.resolveargs.md deleted file mode 100644 index fc11af42c5feb..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.resolveargs.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [resolveArgs](./kibana-plugin-plugins-expressions-public.execution.resolveargs.md) - -## Execution.resolveArgs() method - -Signature: - -```typescript -resolveArgs(fnDef: ExpressionFunction, input: unknown, argAsts: any): Observable; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fnDef | ExpressionFunction | | -| input | unknown | | -| argAsts | any | | - -Returns: - -`Observable` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.result.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.result.md deleted file mode 100644 index a386302a62805..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.result.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [result](./kibana-plugin-plugins-expressions-public.execution.result.md) - -## Execution.result property - -Future that tracks result or error of this execution. - -Signature: - -```typescript -readonly result: Observable>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.start.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.start.md deleted file mode 100644 index b1fa6d7d518b9..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.start.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [start](./kibana-plugin-plugins-expressions-public.execution.start.md) - -## Execution.start() method - -Call this method to start execution. - -N.B. `input` is initialized to `null` rather than `undefined` for legacy reasons, because in legacy interpreter it was set to `null` by default. - -Signature: - -```typescript -start(input?: Input, isSubExpression?: boolean): Observable>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| input | Input | | -| isSubExpression | boolean | | - -Returns: - -`Observable>` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.state.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.state.md deleted file mode 100644 index 61aa0cf4c5b5d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.execution.state.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Execution](./kibana-plugin-plugins-expressions-public.execution.md) > [state](./kibana-plugin-plugins-expressions-public.execution.state.md) - -## Execution.state property - -Dynamic state of the execution. - -Signature: - -```typescript -readonly state: ExecutionContainer>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontainer.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontainer.md deleted file mode 100644 index 5cea6c4bc4b8f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontainer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContainer](./kibana-plugin-plugins-expressions-public.executioncontainer.md) - -## ExecutionContainer type - -Signature: - -```typescript -export declare type ExecutionContainer = StateContainer, ExecutionPureTransitions>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.abortsignal.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.abortsignal.md deleted file mode 100644 index caedf4344dc35..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.abortsignal.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) > [abortSignal](./kibana-plugin-plugins-expressions-public.executioncontext.abortsignal.md) - -## ExecutionContext.abortSignal property - -Adds ability to abort current execution. - -Signature: - -```typescript -abortSignal: AbortSignal; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getexecutioncontext.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getexecutioncontext.md deleted file mode 100644 index bc27adbed1d9a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getexecutioncontext.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) > [getExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.getexecutioncontext.md) - -## ExecutionContext.getExecutionContext property - -Contains the meta-data about the source of the expression. - -Signature: - -```typescript -getExecutionContext: () => KibanaExecutionContext | undefined; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getkibanarequest.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getkibanarequest.md deleted file mode 100644 index a731d08a0d694..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getkibanarequest.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) > [getKibanaRequest](./kibana-plugin-plugins-expressions-public.executioncontext.getkibanarequest.md) - -## ExecutionContext.getKibanaRequest property - -Getter to retrieve the `KibanaRequest` object inside an expression function. Useful for functions which are running on the server and need to perform operations that are scoped to a specific user. - -Signature: - -```typescript -getKibanaRequest?: () => KibanaRequest; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getsearchcontext.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getsearchcontext.md deleted file mode 100644 index 471e18ee6a7eb..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getsearchcontext.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) > [getSearchContext](./kibana-plugin-plugins-expressions-public.executioncontext.getsearchcontext.md) - -## ExecutionContext.getSearchContext property - -Get search context of the expression. - -Signature: - -```typescript -getSearchContext: () => ExecutionContextSearch; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getsearchsessionid.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getsearchsessionid.md deleted file mode 100644 index 107ae16dc8901..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.getsearchsessionid.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) > [getSearchSessionId](./kibana-plugin-plugins-expressions-public.executioncontext.getsearchsessionid.md) - -## ExecutionContext.getSearchSessionId property - -Search context in which expression should operate. - -Signature: - -```typescript -getSearchSessionId: () => string | undefined; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.inspectoradapters.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.inspectoradapters.md deleted file mode 100644 index 6f0db6af5616e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.inspectoradapters.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) > [inspectorAdapters](./kibana-plugin-plugins-expressions-public.executioncontext.inspectoradapters.md) - -## ExecutionContext.inspectorAdapters property - -Adapters for `inspector` plugin. - -Signature: - -```typescript -inspectorAdapters: InspectorAdapters; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.issynccolorsenabled.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.issynccolorsenabled.md deleted file mode 100644 index 4a439a1e91316..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.issynccolorsenabled.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) > [isSyncColorsEnabled](./kibana-plugin-plugins-expressions-public.executioncontext.issynccolorsenabled.md) - -## ExecutionContext.isSyncColorsEnabled property - -Returns the state (true\|false) of the sync colors across panels switch. - -Signature: - -```typescript -isSyncColorsEnabled?: () => boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.md deleted file mode 100644 index 8b876a7bcc3d6..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) - -## ExecutionContext interface - -`ExecutionContext` is an object available to all functions during a single execution; it provides various methods to perform side-effects. - -Signature: - -```typescript -export interface ExecutionContext -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [abortSignal](./kibana-plugin-plugins-expressions-public.executioncontext.abortsignal.md) | AbortSignal | Adds ability to abort current execution. | -| [getExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.getexecutioncontext.md) | () => KibanaExecutionContext | undefined | Contains the meta-data about the source of the expression. | -| [getKibanaRequest](./kibana-plugin-plugins-expressions-public.executioncontext.getkibanarequest.md) | () => KibanaRequest | Getter to retrieve the KibanaRequest object inside an expression function. Useful for functions which are running on the server and need to perform operations that are scoped to a specific user. | -| [getSearchContext](./kibana-plugin-plugins-expressions-public.executioncontext.getsearchcontext.md) | () => ExecutionContextSearch | Get search context of the expression. | -| [getSearchSessionId](./kibana-plugin-plugins-expressions-public.executioncontext.getsearchsessionid.md) | () => string | undefined | Search context in which expression should operate. | -| [inspectorAdapters](./kibana-plugin-plugins-expressions-public.executioncontext.inspectoradapters.md) | InspectorAdapters | Adapters for inspector plugin. | -| [isSyncColorsEnabled](./kibana-plugin-plugins-expressions-public.executioncontext.issynccolorsenabled.md) | () => boolean | Returns the state (true\|false) of the sync colors across panels switch. | -| [types](./kibana-plugin-plugins-expressions-public.executioncontext.types.md) | Record<string, ExpressionType> | A map of available expression types. | -| [variables](./kibana-plugin-plugins-expressions-public.executioncontext.variables.md) | Record<string, unknown> | Context variables that can be consumed using var and var_set functions. | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.types.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.types.md deleted file mode 100644 index 0bddaf8455635..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.types.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) > [types](./kibana-plugin-plugins-expressions-public.executioncontext.types.md) - -## ExecutionContext.types property - -A map of available expression types. - -Signature: - -```typescript -types: Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.variables.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.variables.md deleted file mode 100644 index 3f8a87152f9fe..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontext.variables.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) > [variables](./kibana-plugin-plugins-expressions-public.executioncontext.variables.md) - -## ExecutionContext.variables property - -Context variables that can be consumed using `var` and `var_set` functions. - -Signature: - -```typescript -variables: Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract._constructor_.md deleted file mode 100644 index ee8b113881a05..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContract](./kibana-plugin-plugins-expressions-public.executioncontract.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.executioncontract._constructor_.md) - -## ExecutionContract.(constructor) - -Constructs a new instance of the `ExecutionContract` class - -Signature: - -```typescript -constructor(execution: Execution); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| execution | Execution<Input, Output, InspectorAdapters> | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.cancel.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.cancel.md deleted file mode 100644 index 7ddfb824288d1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.cancel.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContract](./kibana-plugin-plugins-expressions-public.executioncontract.md) > [cancel](./kibana-plugin-plugins-expressions-public.executioncontract.cancel.md) - -## ExecutionContract.cancel property - -Cancel the execution of the expression. This will set abort signal (available in execution context) to aborted state, letting expression functions to stop their execution. - -Signature: - -```typescript -cancel: () => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.execution.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.execution.md deleted file mode 100644 index aa058c71c12df..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.execution.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContract](./kibana-plugin-plugins-expressions-public.executioncontract.md) > [execution](./kibana-plugin-plugins-expressions-public.executioncontract.execution.md) - -## ExecutionContract.execution property - -Signature: - -```typescript -protected readonly execution: Execution; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getast.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getast.md deleted file mode 100644 index d873614d779a9..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getast.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContract](./kibana-plugin-plugins-expressions-public.executioncontract.md) > [getAst](./kibana-plugin-plugins-expressions-public.executioncontract.getast.md) - -## ExecutionContract.getAst property - -Get AST used to execute the expression. - -Signature: - -```typescript -getAst: () => ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getdata.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getdata.md deleted file mode 100644 index 852e1f58cc6f3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getdata.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContract](./kibana-plugin-plugins-expressions-public.executioncontract.md) > [getData](./kibana-plugin-plugins-expressions-public.executioncontract.getdata.md) - -## ExecutionContract.getData property - -Returns the final output of expression, if any error happens still wraps that error into `ExpressionValueError` type and returns that. This function never throws. - -Signature: - -```typescript -getData: () => Observable>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getexpression.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getexpression.md deleted file mode 100644 index 41dbe72fa69b2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.getexpression.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContract](./kibana-plugin-plugins-expressions-public.executioncontract.md) > [getExpression](./kibana-plugin-plugins-expressions-public.executioncontract.getexpression.md) - -## ExecutionContract.getExpression property - -Get string representation of the expression. Returns the original string if execution was started from a string. If execution was started from an AST this method returns a string generated from AST. - -Signature: - -```typescript -getExpression: () => string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.inspect.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.inspect.md deleted file mode 100644 index d5202b02b0dfd..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.inspect.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContract](./kibana-plugin-plugins-expressions-public.executioncontract.md) > [inspect](./kibana-plugin-plugins-expressions-public.executioncontract.inspect.md) - -## ExecutionContract.inspect property - -Get Inspector adapters provided to all functions of expression through execution context. - -Signature: - -```typescript -inspect: () => InspectorAdapters; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.ispending.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.ispending.md deleted file mode 100644 index 409c31b3fbc2c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.ispending.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContract](./kibana-plugin-plugins-expressions-public.executioncontract.md) > [isPending](./kibana-plugin-plugins-expressions-public.executioncontract.ispending.md) - -## ExecutionContract.isPending property - -Signature: - -```typescript -get isPending(): boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.md deleted file mode 100644 index 0ac776e4be2b8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executioncontract.md +++ /dev/null @@ -1,32 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionContract](./kibana-plugin-plugins-expressions-public.executioncontract.md) - -## ExecutionContract class - -`ExecutionContract` is a wrapper around `Execution` class. It provides the same functionality but does not expose Expressions plugin internals. - -Signature: - -```typescript -export declare class ExecutionContract -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(execution)](./kibana-plugin-plugins-expressions-public.executioncontract._constructor_.md) | | Constructs a new instance of the ExecutionContract class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [cancel](./kibana-plugin-plugins-expressions-public.executioncontract.cancel.md) | | () => void | Cancel the execution of the expression. This will set abort signal (available in execution context) to aborted state, letting expression functions to stop their execution. | -| [execution](./kibana-plugin-plugins-expressions-public.executioncontract.execution.md) | | Execution<Input, Output, InspectorAdapters> | | -| [getAst](./kibana-plugin-plugins-expressions-public.executioncontract.getast.md) | | () => ExpressionAstExpression | Get AST used to execute the expression. | -| [getData](./kibana-plugin-plugins-expressions-public.executioncontract.getdata.md) | | () => Observable<ExecutionResult<Output | ExpressionValueError>> | Returns the final output of expression, if any error happens still wraps that error into ExpressionValueError type and returns that. This function never throws. | -| [getExpression](./kibana-plugin-plugins-expressions-public.executioncontract.getexpression.md) | | () => string | Get string representation of the expression. Returns the original string if execution was started from a string. If execution was started from an AST this method returns a string generated from AST. | -| [inspect](./kibana-plugin-plugins-expressions-public.executioncontract.inspect.md) | | () => InspectorAdapters | Get Inspector adapters provided to all functions of expression through execution context. | -| [isPending](./kibana-plugin-plugins-expressions-public.executioncontract.ispending.md) | | boolean | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.ast.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.ast.md deleted file mode 100644 index 63487bc4c753e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.ast.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionParams](./kibana-plugin-plugins-expressions-public.executionparams.md) > [ast](./kibana-plugin-plugins-expressions-public.executionparams.ast.md) - -## ExecutionParams.ast property - -Signature: - -```typescript -ast?: ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.executor.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.executor.md deleted file mode 100644 index ec070842692fe..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.executor.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionParams](./kibana-plugin-plugins-expressions-public.executionparams.md) > [executor](./kibana-plugin-plugins-expressions-public.executionparams.executor.md) - -## ExecutionParams.executor property - -Signature: - -```typescript -executor: Executor; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.expression.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.expression.md deleted file mode 100644 index f79728bacd336..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.expression.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionParams](./kibana-plugin-plugins-expressions-public.executionparams.md) > [expression](./kibana-plugin-plugins-expressions-public.executionparams.expression.md) - -## ExecutionParams.expression property - -Signature: - -```typescript -expression?: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.md deleted file mode 100644 index 6e5d70c61ead6..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionParams](./kibana-plugin-plugins-expressions-public.executionparams.md) - -## ExecutionParams interface - -Signature: - -```typescript -export interface ExecutionParams -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [ast](./kibana-plugin-plugins-expressions-public.executionparams.ast.md) | ExpressionAstExpression | | -| [executor](./kibana-plugin-plugins-expressions-public.executionparams.executor.md) | Executor<any> | | -| [expression](./kibana-plugin-plugins-expressions-public.executionparams.expression.md) | string | | -| [params](./kibana-plugin-plugins-expressions-public.executionparams.params.md) | ExpressionExecutionParams | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.params.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.params.md deleted file mode 100644 index 0dbe87bfda79e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionparams.params.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionParams](./kibana-plugin-plugins-expressions-public.executionparams.md) > [params](./kibana-plugin-plugins-expressions-public.executionparams.params.md) - -## ExecutionParams.params property - -Signature: - -```typescript -params: ExpressionExecutionParams; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.ast.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.ast.md deleted file mode 100644 index bd77c959bde63..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.ast.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionState](./kibana-plugin-plugins-expressions-public.executionstate.md) > [ast](./kibana-plugin-plugins-expressions-public.executionstate.ast.md) - -## ExecutionState.ast property - -Signature: - -```typescript -ast: ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.error.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.error.md deleted file mode 100644 index 3ec804b3f0f2e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.error.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionState](./kibana-plugin-plugins-expressions-public.executionstate.md) > [error](./kibana-plugin-plugins-expressions-public.executionstate.error.md) - -## ExecutionState.error property - -Error happened during the execution. - -Signature: - -```typescript -error?: Error; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.md deleted file mode 100644 index a7848a65fb94b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionState](./kibana-plugin-plugins-expressions-public.executionstate.md) - -## ExecutionState interface - -Signature: - -```typescript -export interface ExecutionState extends ExecutorState -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [ast](./kibana-plugin-plugins-expressions-public.executionstate.ast.md) | ExpressionAstExpression | | -| [error](./kibana-plugin-plugins-expressions-public.executionstate.error.md) | Error | Error happened during the execution. | -| [result](./kibana-plugin-plugins-expressions-public.executionstate.result.md) | Output | Result of the expression execution. | -| [state](./kibana-plugin-plugins-expressions-public.executionstate.state.md) | 'not-started' | 'pending' | 'result' | 'error' | Tracks state of execution.- not-started - before .start() method was called. - pending - immediately after .start() method is called. - result - when expression execution completed. - error - when execution failed with error. | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.result.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.result.md deleted file mode 100644 index 571f95211b8bf..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.result.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionState](./kibana-plugin-plugins-expressions-public.executionstate.md) > [result](./kibana-plugin-plugins-expressions-public.executionstate.result.md) - -## ExecutionState.result property - -Result of the expression execution. - -Signature: - -```typescript -result?: Output; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.state.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.state.md deleted file mode 100644 index 9b6403590e60b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executionstate.state.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutionState](./kibana-plugin-plugins-expressions-public.executionstate.md) > [state](./kibana-plugin-plugins-expressions-public.executionstate.state.md) - -## ExecutionState.state property - -Tracks state of execution. - -- `not-started` - before .start() method was called. - `pending` - immediately after .start() method is called. - `result` - when expression execution completed. - `error` - when execution failed with error. - -Signature: - -```typescript -state: 'not-started' | 'pending' | 'result' | 'error'; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor._constructor_.md deleted file mode 100644 index 2d776c9536c82..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.executor._constructor_.md) - -## Executor.(constructor) - -Constructs a new instance of the `Executor` class - -Signature: - -```typescript -constructor(state?: ExecutorState); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| state | ExecutorState<Context> | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.context.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.context.md deleted file mode 100644 index 9a35931bbb26b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.context.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [context](./kibana-plugin-plugins-expressions-public.executor.context.md) - -## Executor.context property - -Signature: - -```typescript -get context(): Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.createexecution.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.createexecution.md deleted file mode 100644 index 2832ba92262f2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.createexecution.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [createExecution](./kibana-plugin-plugins-expressions-public.executor.createexecution.md) - -## Executor.createExecution() method - -Signature: - -```typescript -createExecution(ast: string | ExpressionAstExpression, params?: ExpressionExecutionParams): Execution; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | string | ExpressionAstExpression | | -| params | ExpressionExecutionParams | | - -Returns: - -`Execution` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.createwithdefaults.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.createwithdefaults.md deleted file mode 100644 index a058d1c9f830e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.createwithdefaults.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [createWithDefaults](./kibana-plugin-plugins-expressions-public.executor.createwithdefaults.md) - -## Executor.createWithDefaults() method - -Signature: - -```typescript -static createWithDefaults = Record>(state?: ExecutorState): Executor; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| state | ExecutorState<Ctx> | | - -Returns: - -`Executor` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.extendcontext.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.extendcontext.md deleted file mode 100644 index a08fcc839110d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.extendcontext.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [extendContext](./kibana-plugin-plugins-expressions-public.executor.extendcontext.md) - -## Executor.extendContext() method - -Signature: - -```typescript -extendContext(extraContext: Record): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| extraContext | Record<string, unknown> | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.extract.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.extract.md deleted file mode 100644 index 6f30bd49013b0..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.extract.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [extract](./kibana-plugin-plugins-expressions-public.executor.extract.md) - -## Executor.extract() method - -Signature: - -```typescript -extract(ast: ExpressionAstExpression): { - state: ExpressionAstExpression; - references: SavedObjectReference[]; - }; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | ExpressionAstExpression | | - -Returns: - -`{ - state: ExpressionAstExpression; - references: SavedObjectReference[]; - }` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.fork.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.fork.md deleted file mode 100644 index 65aa7978a5910..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.fork.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [fork](./kibana-plugin-plugins-expressions-public.executor.fork.md) - -## Executor.fork() method - -Signature: - -```typescript -fork(): Executor; -``` -Returns: - -`Executor` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.functions.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.functions.md deleted file mode 100644 index 3c55c246c91f8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.functions.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [functions](./kibana-plugin-plugins-expressions-public.executor.functions.md) - -## Executor.functions property - -> Warning: This API is now obsolete. -> -> - -Signature: - -```typescript -readonly functions: FunctionsRegistry; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getallmigrations.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getallmigrations.md deleted file mode 100644 index 6613afb98efc2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getallmigrations.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [getAllMigrations](./kibana-plugin-plugins-expressions-public.executor.getallmigrations.md) - -## Executor.getAllMigrations() method - -Signature: - -```typescript -getAllMigrations(): MigrateFunctionsObject; -``` -Returns: - -`MigrateFunctionsObject` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getfunction.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getfunction.md deleted file mode 100644 index 11d04edc9c97d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getfunction.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [getFunction](./kibana-plugin-plugins-expressions-public.executor.getfunction.md) - -## Executor.getFunction() method - -Signature: - -```typescript -getFunction(name: string): ExpressionFunction | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`ExpressionFunction | undefined` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getfunctions.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getfunctions.md deleted file mode 100644 index 1098c867e4c86..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.getfunctions.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [getFunctions](./kibana-plugin-plugins-expressions-public.executor.getfunctions.md) - -## Executor.getFunctions() method - -Signature: - -```typescript -getFunctions(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.gettype.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.gettype.md deleted file mode 100644 index a0dc6deb21d2c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.gettype.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [getType](./kibana-plugin-plugins-expressions-public.executor.gettype.md) - -## Executor.getType() method - -Signature: - -```typescript -getType(name: string): ExpressionType | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`ExpressionType | undefined` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.gettypes.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.gettypes.md deleted file mode 100644 index a3c72b135cd31..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.gettypes.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [getTypes](./kibana-plugin-plugins-expressions-public.executor.gettypes.md) - -## Executor.getTypes() method - -Signature: - -```typescript -getTypes(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.inject.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.inject.md deleted file mode 100644 index 8f5a8a3e06724..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.inject.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [inject](./kibana-plugin-plugins-expressions-public.executor.inject.md) - -## Executor.inject() method - -Signature: - -```typescript -inject(ast: ExpressionAstExpression, references: SavedObjectReference[]): ExpressionAstExpression; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | ExpressionAstExpression | | -| references | SavedObjectReference[] | | - -Returns: - -`ExpressionAstExpression` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.md deleted file mode 100644 index 61caebbd36368..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.md +++ /dev/null @@ -1,48 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) - -## Executor class - -Signature: - -```typescript -export declare class Executor = Record> implements PersistableStateService -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(state)](./kibana-plugin-plugins-expressions-public.executor._constructor_.md) | | Constructs a new instance of the Executor class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [context](./kibana-plugin-plugins-expressions-public.executor.context.md) | | Record<string, unknown> | | -| [functions](./kibana-plugin-plugins-expressions-public.executor.functions.md) | | FunctionsRegistry | | -| [state](./kibana-plugin-plugins-expressions-public.executor.state.md) | | ExecutorContainer<Context> | | -| [types](./kibana-plugin-plugins-expressions-public.executor.types.md) | | TypesRegistry | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [createExecution(ast, params)](./kibana-plugin-plugins-expressions-public.executor.createexecution.md) | | | -| [createWithDefaults(state)](./kibana-plugin-plugins-expressions-public.executor.createwithdefaults.md) | static | | -| [extendContext(extraContext)](./kibana-plugin-plugins-expressions-public.executor.extendcontext.md) | | | -| [extract(ast)](./kibana-plugin-plugins-expressions-public.executor.extract.md) | | | -| [fork()](./kibana-plugin-plugins-expressions-public.executor.fork.md) | | | -| [getAllMigrations()](./kibana-plugin-plugins-expressions-public.executor.getallmigrations.md) | | | -| [getFunction(name)](./kibana-plugin-plugins-expressions-public.executor.getfunction.md) | | | -| [getFunctions()](./kibana-plugin-plugins-expressions-public.executor.getfunctions.md) | | | -| [getType(name)](./kibana-plugin-plugins-expressions-public.executor.gettype.md) | | | -| [getTypes()](./kibana-plugin-plugins-expressions-public.executor.gettypes.md) | | | -| [inject(ast, references)](./kibana-plugin-plugins-expressions-public.executor.inject.md) | | | -| [migrateToLatest(state)](./kibana-plugin-plugins-expressions-public.executor.migratetolatest.md) | | | -| [registerFunction(functionDefinition)](./kibana-plugin-plugins-expressions-public.executor.registerfunction.md) | | | -| [registerType(typeDefinition)](./kibana-plugin-plugins-expressions-public.executor.registertype.md) | | | -| [run(ast, input, params)](./kibana-plugin-plugins-expressions-public.executor.run.md) | | Execute expression and return result. | -| [telemetry(ast, telemetryData)](./kibana-plugin-plugins-expressions-public.executor.telemetry.md) | | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.migratetolatest.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.migratetolatest.md deleted file mode 100644 index d7a79fb5fd51a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.migratetolatest.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [migrateToLatest](./kibana-plugin-plugins-expressions-public.executor.migratetolatest.md) - -## Executor.migrateToLatest() method - -Signature: - -```typescript -migrateToLatest(state: VersionedState): ExpressionAstExpression; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| state | VersionedState | | - -Returns: - -`ExpressionAstExpression` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.registerfunction.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.registerfunction.md deleted file mode 100644 index b4217fa492a20..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.registerfunction.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [registerFunction](./kibana-plugin-plugins-expressions-public.executor.registerfunction.md) - -## Executor.registerFunction() method - -Signature: - -```typescript -registerFunction(functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| functionDefinition | AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition) | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.registertype.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.registertype.md deleted file mode 100644 index f56e5ffcfb9ee..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.registertype.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [registerType](./kibana-plugin-plugins-expressions-public.executor.registertype.md) - -## Executor.registerType() method - -Signature: - -```typescript -registerType(typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| typeDefinition | AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition) | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.run.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.run.md deleted file mode 100644 index 4eefc63d714d1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.run.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [run](./kibana-plugin-plugins-expressions-public.executor.run.md) - -## Executor.run() method - -Execute expression and return result. - -Signature: - -```typescript -run(ast: string | ExpressionAstExpression, input: Input, params?: ExpressionExecutionParams): Observable>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | string | ExpressionAstExpression | | -| input | Input | | -| params | ExpressionExecutionParams | | - -Returns: - -`Observable>` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.state.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.state.md deleted file mode 100644 index e9b7006980ceb..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.state.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [state](./kibana-plugin-plugins-expressions-public.executor.state.md) - -## Executor.state property - -Signature: - -```typescript -readonly state: ExecutorContainer; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.telemetry.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.telemetry.md deleted file mode 100644 index de4c640f4fe97..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.telemetry.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [telemetry](./kibana-plugin-plugins-expressions-public.executor.telemetry.md) - -## Executor.telemetry() method - -Signature: - -```typescript -telemetry(ast: ExpressionAstExpression, telemetryData: Record): Record; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | ExpressionAstExpression | | -| telemetryData | Record<string, any> | | - -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.types.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.types.md deleted file mode 100644 index 1ab9a5c4621be..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executor.types.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Executor](./kibana-plugin-plugins-expressions-public.executor.md) > [types](./kibana-plugin-plugins-expressions-public.executor.types.md) - -## Executor.types property - -> Warning: This API is now obsolete. -> -> - -Signature: - -```typescript -readonly types: TypesRegistry; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorcontainer.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorcontainer.md deleted file mode 100644 index f48b001593f94..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorcontainer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutorContainer](./kibana-plugin-plugins-expressions-public.executorcontainer.md) - -## ExecutorContainer type - -Signature: - -```typescript -export declare type ExecutorContainer = Record> = StateContainer, ExecutorPureTransitions, ExecutorPureSelectors>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.context.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.context.md deleted file mode 100644 index d52074b0eecdd..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.context.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutorState](./kibana-plugin-plugins-expressions-public.executorstate.md) > [context](./kibana-plugin-plugins-expressions-public.executorstate.context.md) - -## ExecutorState.context property - -Signature: - -```typescript -context: Context; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.functions.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.functions.md deleted file mode 100644 index 034caf27aaef7..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.functions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutorState](./kibana-plugin-plugins-expressions-public.executorstate.md) > [functions](./kibana-plugin-plugins-expressions-public.executorstate.functions.md) - -## ExecutorState.functions property - -Signature: - -```typescript -functions: Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.md deleted file mode 100644 index e120631285887..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutorState](./kibana-plugin-plugins-expressions-public.executorstate.md) - -## ExecutorState interface - -Signature: - -```typescript -export interface ExecutorState = Record> -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [context](./kibana-plugin-plugins-expressions-public.executorstate.context.md) | Context | | -| [functions](./kibana-plugin-plugins-expressions-public.executorstate.functions.md) | Record<string, ExpressionFunction> | | -| [types](./kibana-plugin-plugins-expressions-public.executorstate.types.md) | Record<string, ExpressionType> | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.types.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.types.md deleted file mode 100644 index 00cf80c271684..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.executorstate.types.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExecutorState](./kibana-plugin-plugins-expressions-public.executorstate.md) > [types](./kibana-plugin-plugins-expressions-public.executorstate.types.md) - -## ExecutorState.types property - -Signature: - -```typescript -types: Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastargument.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastargument.md deleted file mode 100644 index 559cec0e841ac..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastargument.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstArgument](./kibana-plugin-plugins-expressions-public.expressionastargument.md) - -## ExpressionAstArgument type - -Signature: - -```typescript -export declare type ExpressionAstArgument = string | boolean | number | ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpression.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpression.md deleted file mode 100644 index 623c49bf08cdd..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpression.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstExpression](./kibana-plugin-plugins-expressions-public.expressionastexpression.md) - -## ExpressionAstExpression type - -Signature: - -```typescript -export declare type ExpressionAstExpression = { - type: 'expression'; - chain: ExpressionAstFunction[]; -}; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.findfunction.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.findfunction.md deleted file mode 100644 index d31f04ad5bf77..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.findfunction.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md) > [findFunction](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.findfunction.md) - -## ExpressionAstExpressionBuilder.findFunction property - -Recursively searches expression for all ocurrences of the function, including in subexpressions. - -Useful when performing migrations on a specific function, as you can iterate over the array of references and update all functions at once. - -Signature: - -```typescript -findFunction: (fnName: InferFunctionDefinition['name']) => Array> | []; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.functions.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.functions.md deleted file mode 100644 index ceaa4c89fb237..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.functions.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md) > [functions](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.functions.md) - -## ExpressionAstExpressionBuilder.functions property - -Array of each of the `buildExpressionFunction()` instances in this expression. Use this to remove or reorder functions in the expression. - -Signature: - -```typescript -functions: ExpressionAstFunctionBuilder[]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md deleted file mode 100644 index 079e0b3dd8ac1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md) - -## ExpressionAstExpressionBuilder interface - -Signature: - -```typescript -export interface ExpressionAstExpressionBuilder -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [findFunction](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.findfunction.md) | <FnDef extends AnyExpressionFunctionDefinition = AnyExpressionFunctionDefinition>(fnName: InferFunctionDefinition<FnDef>['name']) => Array<ExpressionAstFunctionBuilder<FnDef>> | [] | Recursively searches expression for all ocurrences of the function, including in subexpressions.Useful when performing migrations on a specific function, as you can iterate over the array of references and update all functions at once. | -| [functions](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.functions.md) | ExpressionAstFunctionBuilder[] | Array of each of the buildExpressionFunction() instances in this expression. Use this to remove or reorder functions in the expression. | -| [toAst](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.toast.md) | () => ExpressionAstExpression | Converts expression to an AST. ExpressionAstExpression | -| [toString](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.tostring.md) | () => string | Converts expression to an expression string. string | -| [type](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.type.md) | 'expression_builder' | Used to identify expression builder objects. | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.toast.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.toast.md deleted file mode 100644 index e0b10033f6f3a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.toast.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md) > [toAst](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.toast.md) - -## ExpressionAstExpressionBuilder.toAst property - -Converts expression to an AST. - - `ExpressionAstExpression` - -Signature: - -```typescript -toAst: () => ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.tostring.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.tostring.md deleted file mode 100644 index 6a9a25256c0a3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.tostring.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md) > [toString](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.tostring.md) - -## ExpressionAstExpressionBuilder.toString property - -Converts expression to an expression string. - - `string` - -Signature: - -```typescript -toString: () => string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.type.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.type.md deleted file mode 100644 index 2aa8d5089aa29..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md) > [type](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.type.md) - -## ExpressionAstExpressionBuilder.type property - -Used to identify expression builder objects. - -Signature: - -```typescript -type: 'expression_builder'; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunction.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunction.md deleted file mode 100644 index d21f2c1750161..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunction.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunction](./kibana-plugin-plugins-expressions-public.expressionastfunction.md) - -## ExpressionAstFunction type - -Signature: - -```typescript -export declare type ExpressionAstFunction = { - type: 'function'; - function: string; - arguments: Record; - debug?: ExpressionAstFunctionDebug; -}; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.addargument.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.addargument.md deleted file mode 100644 index da7f0ebc826c1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.addargument.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) > [addArgument](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.addargument.md) - -## ExpressionAstFunctionBuilder.addArgument property - -Adds an additional argument to the function. For multi-args, this should be called once for each new arg. Note that TS will not enforce whether multi-args are available, so only use this to update an existing arg if you are certain it is a multi-arg. - -Signature: - -```typescript -addArgument:
>(name: A, value: FunctionArgs[A] | ExpressionAstExpressionBuilder) => this; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.arguments.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.arguments.md deleted file mode 100644 index 4a95d20d6c983..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.arguments.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) > [arguments](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.arguments.md) - -## ExpressionAstFunctionBuilder.arguments property - -Object of all args currently added to the function. This is structured similarly to `ExpressionAstFunction['arguments']`, however any subexpressions are returned as expression builder instances instead of expression ASTs. - -Signature: - -```typescript -arguments: FunctionBuilderArguments; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.getargument.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.getargument.md deleted file mode 100644 index 0df9c80c632b1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.getargument.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) > [getArgument](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.getargument.md) - -## ExpressionAstFunctionBuilder.getArgument property - -Retrieves an existing argument by name. Useful when you want to retrieve the current array of args and add something to it before calling `replaceArgument`. Any subexpression arguments will be returned as expression builder instances. - -Signature: - -```typescript -getArgument: >(name: A) => Array[A] | ExpressionAstExpressionBuilder> | undefined; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md deleted file mode 100644 index b05504af28d9b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) - -## ExpressionAstFunctionBuilder interface - -Signature: - -```typescript -export interface ExpressionAstFunctionBuilder -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [addArgument](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.addargument.md) | <A extends FunctionArgName<FnDef>>(name: A, value: FunctionArgs<FnDef>[A] | ExpressionAstExpressionBuilder) => this | Adds an additional argument to the function. For multi-args, this should be called once for each new arg. Note that TS will not enforce whether multi-args are available, so only use this to update an existing arg if you are certain it is a multi-arg. | -| [arguments](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.arguments.md) | FunctionBuilderArguments<FnDef> | Object of all args currently added to the function. This is structured similarly to ExpressionAstFunction['arguments'], however any subexpressions are returned as expression builder instances instead of expression ASTs. | -| [getArgument](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.getargument.md) | <A extends FunctionArgName<FnDef>>(name: A) => Array<FunctionArgs<FnDef>[A] | ExpressionAstExpressionBuilder> | undefined | Retrieves an existing argument by name. Useful when you want to retrieve the current array of args and add something to it before calling replaceArgument. Any subexpression arguments will be returned as expression builder instances. | -| [name](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.name.md) | InferFunctionDefinition<FnDef>['name'] | Name of this expression function. | -| [removeArgument](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.removeargument.md) | <A extends OptionalKeys<FunctionArgs<FnDef>>>(name: A) => this | Removes an (optional) argument from the function.TypeScript will enforce that you only remove optional arguments. For manipulating required args, use replaceArgument. | -| [replaceArgument](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.replaceargument.md) | <A extends FunctionArgName<FnDef>>(name: A, value: Array<FunctionArgs<FnDef>[A] | ExpressionAstExpressionBuilder>) => this | Overwrites an existing argument with a new value. In order to support multi-args, the value given must always be an array. | -| [toAst](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.toast.md) | () => ExpressionAstFunction | Converts function to an AST. ExpressionAstFunction | -| [toString](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.tostring.md) | () => string | Converts function to an expression string. string | -| [type](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.type.md) | 'expression_function_builder' | Used to identify expression function builder objects. | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.name.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.name.md deleted file mode 100644 index 5bcf965426dbd..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.name.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) > [name](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.name.md) - -## ExpressionAstFunctionBuilder.name property - -Name of this expression function. - -Signature: - -```typescript -name: InferFunctionDefinition['name']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.removeargument.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.removeargument.md deleted file mode 100644 index 1883618c96d53..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.removeargument.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) > [removeArgument](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.removeargument.md) - -## ExpressionAstFunctionBuilder.removeArgument property - -Removes an (optional) argument from the function. - -TypeScript will enforce that you only remove optional arguments. For manipulating required args, use `replaceArgument`. - -Signature: - -```typescript -removeArgument: >>(name: A) => this; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.replaceargument.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.replaceargument.md deleted file mode 100644 index 81709f6e94f0a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.replaceargument.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) > [replaceArgument](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.replaceargument.md) - -## ExpressionAstFunctionBuilder.replaceArgument property - -Overwrites an existing argument with a new value. In order to support multi-args, the value given must always be an array. - -Signature: - -```typescript -replaceArgument: >(name: A, value: Array[A] | ExpressionAstExpressionBuilder>) => this; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.toast.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.toast.md deleted file mode 100644 index bf79726c881ae..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.toast.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) > [toAst](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.toast.md) - -## ExpressionAstFunctionBuilder.toAst property - -Converts function to an AST. - - `ExpressionAstFunction` - -Signature: - -```typescript -toAst: () => ExpressionAstFunction; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.tostring.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.tostring.md deleted file mode 100644 index 5c8d0c806d372..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.tostring.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) > [toString](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.tostring.md) - -## ExpressionAstFunctionBuilder.toString property - -Converts function to an expression string. - - `string` - -Signature: - -```typescript -toString: () => string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.type.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.type.md deleted file mode 100644 index b88876b14f367..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) > [type](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.type.md) - -## ExpressionAstFunctionBuilder.type property - -Used to identify expression function builder objects. - -Signature: - -```typescript -type: 'expression_function_builder'; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastnode.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastnode.md deleted file mode 100644 index 4e05b6a18374c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionastnode.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionAstNode](./kibana-plugin-plugins-expressions-public.expressionastnode.md) - -## ExpressionAstNode type - -Signature: - -```typescript -export declare type ExpressionAstNode = ExpressionAstExpression | ExpressionAstFunction | ExpressionAstArgument; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionexecutor.interpreter.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionexecutor.interpreter.md deleted file mode 100644 index 6741634379dc1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionexecutor.interpreter.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionExecutor](./kibana-plugin-plugins-expressions-public.expressionexecutor.md) > [interpreter](./kibana-plugin-plugins-expressions-public.expressionexecutor.interpreter.md) - -## ExpressionExecutor.interpreter property - -Signature: - -```typescript -interpreter: ExpressionInterpreter; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionexecutor.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionexecutor.md deleted file mode 100644 index f0c457af52d22..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionexecutor.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionExecutor](./kibana-plugin-plugins-expressions-public.expressionexecutor.md) - -## ExpressionExecutor interface - -> Warning: This API is now obsolete. -> -> This type if remainder from legacy platform, will be deleted going further. -> - -Signature: - -```typescript -export interface ExpressionExecutor -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [interpreter](./kibana-plugin-plugins-expressions-public.expressionexecutor.interpreter.md) | ExpressionInterpreter | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction._constructor_.md deleted file mode 100644 index 9c711b47c89d0..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.expressionfunction._constructor_.md) - -## ExpressionFunction.(constructor) - -Constructs a new instance of the `ExpressionFunction` class - -Signature: - -```typescript -constructor(functionDefinition: AnyExpressionFunctionDefinition); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| functionDefinition | AnyExpressionFunctionDefinition | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.accepts.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.accepts.md deleted file mode 100644 index 7a65878cd5a2d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.accepts.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [accepts](./kibana-plugin-plugins-expressions-public.expressionfunction.accepts.md) - -## ExpressionFunction.accepts property - -Signature: - -```typescript -accepts: (type: string) => boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.aliases.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.aliases.md deleted file mode 100644 index 550620386a892..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.aliases.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [aliases](./kibana-plugin-plugins-expressions-public.expressionfunction.aliases.md) - -## ExpressionFunction.aliases property - -Aliases that can be used instead of `name`. - -Signature: - -```typescript -aliases: string[]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.args.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.args.md deleted file mode 100644 index e14c08b8b7079..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.args.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [args](./kibana-plugin-plugins-expressions-public.expressionfunction.args.md) - -## ExpressionFunction.args property - -Specification of expression function parameters. - -Signature: - -```typescript -args: Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.disabled.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.disabled.md deleted file mode 100644 index f07d5b3b36d04..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.disabled.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [disabled](./kibana-plugin-plugins-expressions-public.expressionfunction.disabled.md) - -## ExpressionFunction.disabled property - -Signature: - -```typescript -disabled: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.extract.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.extract.md deleted file mode 100644 index c5d726849cdc2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.extract.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [extract](./kibana-plugin-plugins-expressions-public.expressionfunction.extract.md) - -## ExpressionFunction.extract property - -Signature: - -```typescript -extract: (state: ExpressionAstFunction['arguments']) => { - state: ExpressionAstFunction['arguments']; - references: SavedObjectReference[]; - }; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.fn.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.fn.md deleted file mode 100644 index d94d9af9bf0f9..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.fn.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [fn](./kibana-plugin-plugins-expressions-public.expressionfunction.fn.md) - -## ExpressionFunction.fn property - -Function to run function (context, args) - -Signature: - -```typescript -fn: (input: ExpressionValue, params: Record, handlers: object) => ExpressionValue; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.help.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.help.md deleted file mode 100644 index bbf70e11192eb..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.help.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [help](./kibana-plugin-plugins-expressions-public.expressionfunction.help.md) - -## ExpressionFunction.help property - -A short help text. - -Signature: - -```typescript -help: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.inject.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.inject.md deleted file mode 100644 index 6f27a6fbab96a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.inject.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [inject](./kibana-plugin-plugins-expressions-public.expressionfunction.inject.md) - -## ExpressionFunction.inject property - -Signature: - -```typescript -inject: (state: ExpressionAstFunction['arguments'], references: SavedObjectReference[]) => ExpressionAstFunction['arguments']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.inputtypes.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.inputtypes.md deleted file mode 100644 index 865c856746062..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.inputtypes.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [inputTypes](./kibana-plugin-plugins-expressions-public.expressionfunction.inputtypes.md) - -## ExpressionFunction.inputTypes property - -Type of inputs that this function supports. - -Signature: - -```typescript -inputTypes: string[] | undefined; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.md deleted file mode 100644 index 8a829659e6fb2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.md +++ /dev/null @@ -1,36 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) - -## ExpressionFunction class - -Signature: - -```typescript -export declare class ExpressionFunction implements PersistableState -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(functionDefinition)](./kibana-plugin-plugins-expressions-public.expressionfunction._constructor_.md) | | Constructs a new instance of the ExpressionFunction class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [accepts](./kibana-plugin-plugins-expressions-public.expressionfunction.accepts.md) | | (type: string) => boolean | | -| [aliases](./kibana-plugin-plugins-expressions-public.expressionfunction.aliases.md) | | string[] | Aliases that can be used instead of name. | -| [args](./kibana-plugin-plugins-expressions-public.expressionfunction.args.md) | | Record<string, ExpressionFunctionParameter> | Specification of expression function parameters. | -| [disabled](./kibana-plugin-plugins-expressions-public.expressionfunction.disabled.md) | | boolean | | -| [extract](./kibana-plugin-plugins-expressions-public.expressionfunction.extract.md) | | (state: ExpressionAstFunction['arguments']) => {
state: ExpressionAstFunction['arguments'];
references: SavedObjectReference[];
} | | -| [fn](./kibana-plugin-plugins-expressions-public.expressionfunction.fn.md) | | (input: ExpressionValue, params: Record<string, any>, handlers: object) => ExpressionValue | Function to run function (context, args) | -| [help](./kibana-plugin-plugins-expressions-public.expressionfunction.help.md) | | string | A short help text. | -| [inject](./kibana-plugin-plugins-expressions-public.expressionfunction.inject.md) | | (state: ExpressionAstFunction['arguments'], references: SavedObjectReference[]) => ExpressionAstFunction['arguments'] | | -| [inputTypes](./kibana-plugin-plugins-expressions-public.expressionfunction.inputtypes.md) | | string[] | undefined | Type of inputs that this function supports. | -| [migrations](./kibana-plugin-plugins-expressions-public.expressionfunction.migrations.md) | | {
[key: string]: (state: SerializableRecord) => SerializableRecord;
} | | -| [name](./kibana-plugin-plugins-expressions-public.expressionfunction.name.md) | | string | Name of function | -| [telemetry](./kibana-plugin-plugins-expressions-public.expressionfunction.telemetry.md) | | (state: ExpressionAstFunction['arguments'], telemetryData: Record<string, any>) => Record<string, any> | | -| [type](./kibana-plugin-plugins-expressions-public.expressionfunction.type.md) | | string | Return type of function. This SHOULD be supplied. We use it for UI and autocomplete hinting. We may also use it for optimizations in the future. | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.migrations.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.migrations.md deleted file mode 100644 index a8b55dae1592f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.migrations.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [migrations](./kibana-plugin-plugins-expressions-public.expressionfunction.migrations.md) - -## ExpressionFunction.migrations property - -Signature: - -```typescript -migrations: { - [key: string]: (state: SerializableRecord) => SerializableRecord; - }; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.name.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.name.md deleted file mode 100644 index 2858089ea67de..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.name.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [name](./kibana-plugin-plugins-expressions-public.expressionfunction.name.md) - -## ExpressionFunction.name property - -Name of function - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.telemetry.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.telemetry.md deleted file mode 100644 index 249c99f50fc7b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.telemetry.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [telemetry](./kibana-plugin-plugins-expressions-public.expressionfunction.telemetry.md) - -## ExpressionFunction.telemetry property - -Signature: - -```typescript -telemetry: (state: ExpressionAstFunction['arguments'], telemetryData: Record) => Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.type.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.type.md deleted file mode 100644 index 7a7bc129a1719..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunction.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) > [type](./kibana-plugin-plugins-expressions-public.expressionfunction.type.md) - -## ExpressionFunction.type property - -Return type of function. This SHOULD be supplied. We use it for UI and autocomplete hinting. We may also use it for optimizations in the future. - -Signature: - -```typescript -type: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.aliases.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.aliases.md deleted file mode 100644 index bca3600b6d416..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.aliases.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) > [aliases](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.aliases.md) - -## ExpressionFunctionDefinition.aliases property - - What is this? - -Signature: - -```typescript -aliases?: string[]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.args.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.args.md deleted file mode 100644 index 65ead35adf0d6..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.args.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) > [args](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.args.md) - -## ExpressionFunctionDefinition.args property - -Specification of arguments that function supports. This list will also be used for autocomplete functionality when your function is being edited. - -Signature: - -```typescript -args: { - [key in keyof Arguments]: ArgumentType; - }; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.context.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.context.md deleted file mode 100644 index 34bbfc7976007..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.context.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) > [context](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.context.md) - -## ExpressionFunctionDefinition.context property - -> Warning: This API is now obsolete. -> -> Use `inputTypes` instead. -> - -Signature: - -```typescript -context?: { - types: AnyExpressionFunctionDefinition['inputTypes']; - }; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.disabled.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.disabled.md deleted file mode 100644 index e6aefd17fceb2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.disabled.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) > [disabled](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.disabled.md) - -## ExpressionFunctionDefinition.disabled property - -if set to true function will be disabled (but its migrate function will still be available) - -Signature: - -```typescript -disabled?: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.fn.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.fn.md deleted file mode 100644 index a2180c0cee665..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.fn.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) > [fn](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.fn.md) - -## ExpressionFunctionDefinition.fn() method - -The actual implementation of the function. - -Signature: - -```typescript -fn(input: Input, args: Arguments, context: Context): Output; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| input | Input | | -| args | Arguments | | -| context | Context | | - -Returns: - -`Output` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.help.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.help.md deleted file mode 100644 index ad99bb3a14a0b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.help.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) > [help](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.help.md) - -## ExpressionFunctionDefinition.help property - -Help text displayed in the Expression editor. This text should be internationalized. - -Signature: - -```typescript -help: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.inputtypes.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.inputtypes.md deleted file mode 100644 index 06c15dba514c2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.inputtypes.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) > [inputTypes](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.inputtypes.md) - -## ExpressionFunctionDefinition.inputTypes property - -List of allowed type names for input value of this function. If this property is set the input of function will be cast to the first possible type in this list. If this property is missing the input will be provided to the function as-is. - -Signature: - -```typescript -inputTypes?: Array>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md deleted file mode 100644 index 34de4f9e13cda..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md +++ /dev/null @@ -1,33 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) - -## ExpressionFunctionDefinition interface - -`ExpressionFunctionDefinition` is the interface plugins have to implement to register a function in `expressions` plugin. - -Signature: - -```typescript -export interface ExpressionFunctionDefinition, Output, Context extends ExecutionContext = ExecutionContext> extends PersistableStateDefinition -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [aliases](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.aliases.md) | string[] | What is this? | -| [args](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.args.md) | {
[key in keyof Arguments]: ArgumentType<Arguments[key]>;
} | Specification of arguments that function supports. This list will also be used for autocomplete functionality when your function is being edited. | -| [context](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.context.md) | {
types: AnyExpressionFunctionDefinition['inputTypes'];
} | | -| [disabled](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.disabled.md) | boolean | if set to true function will be disabled (but its migrate function will still be available) | -| [help](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.help.md) | string | Help text displayed in the Expression editor. This text should be internationalized. | -| [inputTypes](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.inputtypes.md) | Array<TypeToString<Input>> | List of allowed type names for input value of this function. If this property is set the input of function will be cast to the first possible type in this list. If this property is missing the input will be provided to the function as-is. | -| [name](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.name.md) | Name | The name of the function, as will be used in expression. | -| [type](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.type.md) | TypeString<Output> | UnmappedTypeStrings | Name of type of value this function outputs. | - -## Methods - -| Method | Description | -| --- | --- | -| [fn(input, args, context)](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.fn.md) | The actual implementation of the function. | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.name.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.name.md deleted file mode 100644 index 1c74a25851c96..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.name.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) > [name](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.name.md) - -## ExpressionFunctionDefinition.name property - -The name of the function, as will be used in expression. - -Signature: - -```typescript -name: Name; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.type.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.type.md deleted file mode 100644 index 01ad35b8a1ba5..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) > [type](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.type.md) - -## ExpressionFunctionDefinition.type property - -Name of type of value this function outputs. - -Signature: - -```typescript -type?: TypeString | UnmappedTypeStrings; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.clog.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.clog.md deleted file mode 100644 index 3b3b5520ab3ab..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.clog.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) > [clog](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.clog.md) - -## ExpressionFunctionDefinitions.clog property - -Signature: - -```typescript -clog: ExpressionFunctionClog; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.cumulative_sum.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.cumulative_sum.md deleted file mode 100644 index ad1de0cc5f45b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.cumulative_sum.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) > [cumulative\_sum](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.cumulative_sum.md) - -## ExpressionFunctionDefinitions.cumulative\_sum property - -Signature: - -```typescript -cumulative_sum: ExpressionFunctionCumulativeSum; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.derivative.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.derivative.md deleted file mode 100644 index cce7a463d1561..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.derivative.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) > [derivative](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.derivative.md) - -## ExpressionFunctionDefinitions.derivative property - -Signature: - -```typescript -derivative: ExpressionFunctionDerivative; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.font.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.font.md deleted file mode 100644 index 06674eeaf9d7a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.font.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) > [font](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.font.md) - -## ExpressionFunctionDefinitions.font property - -Signature: - -```typescript -font: ExpressionFunctionFont; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md deleted file mode 100644 index 2c03db82ba683..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) - -## ExpressionFunctionDefinitions interface - -A mapping of `ExpressionFunctionDefinition`s for functions which the Expressions services provides out-of-the-box. Any new functions registered by the Expressions plugin should have their types added here. - -Signature: - -```typescript -export interface ExpressionFunctionDefinitions -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [clog](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.clog.md) | ExpressionFunctionClog | | -| [cumulative\_sum](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.cumulative_sum.md) | ExpressionFunctionCumulativeSum | | -| [derivative](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.derivative.md) | ExpressionFunctionDerivative | | -| [font](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.font.md) | ExpressionFunctionFont | | -| [moving\_average](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.moving_average.md) | ExpressionFunctionMovingAverage | | -| [overall\_metric](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.overall_metric.md) | ExpressionFunctionOverallMetric | | -| [theme](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.theme.md) | ExpressionFunctionTheme | | -| [var\_set](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var_set.md) | ExpressionFunctionVarSet | | -| [var](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var.md) | ExpressionFunctionVar | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.moving_average.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.moving_average.md deleted file mode 100644 index 59d05ab6dbfcc..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.moving_average.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) > [moving\_average](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.moving_average.md) - -## ExpressionFunctionDefinitions.moving\_average property - -Signature: - -```typescript -moving_average: ExpressionFunctionMovingAverage; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.overall_metric.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.overall_metric.md deleted file mode 100644 index 8685788a2f351..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.overall_metric.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) > [overall\_metric](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.overall_metric.md) - -## ExpressionFunctionDefinitions.overall\_metric property - -Signature: - -```typescript -overall_metric: ExpressionFunctionOverallMetric; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.theme.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.theme.md deleted file mode 100644 index 766aee8f80809..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.theme.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) > [theme](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.theme.md) - -## ExpressionFunctionDefinitions.theme property - -Signature: - -```typescript -theme: ExpressionFunctionTheme; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var.md deleted file mode 100644 index 4c3f4bb98a51e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) > [var](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var.md) - -## ExpressionFunctionDefinitions.var property - -Signature: - -```typescript -var: ExpressionFunctionVar; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var_set.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var_set.md deleted file mode 100644 index a45d58242e4f3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var_set.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) > [var\_set](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.var_set.md) - -## ExpressionFunctionDefinitions.var\_set property - -Signature: - -```typescript -var_set: ExpressionFunctionVarSet; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter._constructor_.md deleted file mode 100644 index 476ae51dd50f7..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter._constructor_.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter._constructor_.md) - -## ExpressionFunctionParameter.(constructor) - -Constructs a new instance of the `ExpressionFunctionParameter` class - -Signature: - -```typescript -constructor(name: string, arg: ArgumentType); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | -| arg | ArgumentType<any> | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.accepts.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.accepts.md deleted file mode 100644 index 13b658d86855e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.accepts.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [accepts](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.accepts.md) - -## ExpressionFunctionParameter.accepts() method - -Signature: - -```typescript -accepts(type: string): boolean; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| type | string | | - -Returns: - -`boolean` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.aliases.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.aliases.md deleted file mode 100644 index 03d6daac044b8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.aliases.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [aliases](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.aliases.md) - -## ExpressionFunctionParameter.aliases property - -Signature: - -```typescript -aliases: string[]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.default.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.default.md deleted file mode 100644 index 20cb697c182ae..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.default.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [default](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.default.md) - -## ExpressionFunctionParameter.default property - -Signature: - -```typescript -default: any; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.help.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.help.md deleted file mode 100644 index 102715264d5a9..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.help.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [help](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.help.md) - -## ExpressionFunctionParameter.help property - -Signature: - -```typescript -help: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md deleted file mode 100644 index eb99255b09328..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md +++ /dev/null @@ -1,38 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) - -## ExpressionFunctionParameter class - -Signature: - -```typescript -export declare class ExpressionFunctionParameter -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(name, arg)](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter._constructor_.md) | | Constructs a new instance of the ExpressionFunctionParameter class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [aliases](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.aliases.md) | | string[] | | -| [default](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.default.md) | | any | | -| [help](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.help.md) | | string | | -| [multi](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.multi.md) | | boolean | | -| [name](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.name.md) | | string | | -| [options](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.options.md) | | any[] | | -| [required](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.required.md) | | boolean | | -| [resolve](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.resolve.md) | | boolean | | -| [types](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.types.md) | | string[] | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [accepts(type)](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.accepts.md) | | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.multi.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.multi.md deleted file mode 100644 index cc0bfbaac05a1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.multi.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [multi](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.multi.md) - -## ExpressionFunctionParameter.multi property - -Signature: - -```typescript -multi: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.name.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.name.md deleted file mode 100644 index 6a7d120a169dc..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [name](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.name.md) - -## ExpressionFunctionParameter.name property - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.options.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.options.md deleted file mode 100644 index c1596becd2f5b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.options.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [options](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.options.md) - -## ExpressionFunctionParameter.options property - -Signature: - -```typescript -options: any[]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.required.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.required.md deleted file mode 100644 index b4c494704edd7..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.required.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [required](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.required.md) - -## ExpressionFunctionParameter.required property - -Signature: - -```typescript -required: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.resolve.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.resolve.md deleted file mode 100644 index a5689aa2d4226..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.resolve.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [resolve](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.resolve.md) - -## ExpressionFunctionParameter.resolve property - -Signature: - -```typescript -resolve: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.types.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.types.md deleted file mode 100644 index 63d73001b7285..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionfunctionparameter.types.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) > [types](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.types.md) - -## ExpressionFunctionParameter.types property - -Signature: - -```typescript -types: string[]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.dataurl.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.dataurl.md deleted file mode 100644 index b6b34720a7dd8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.dataurl.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionImage](./kibana-plugin-plugins-expressions-public.expressionimage.md) > [dataurl](./kibana-plugin-plugins-expressions-public.expressionimage.dataurl.md) - -## ExpressionImage.dataurl property - -Signature: - -```typescript -dataurl: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.md deleted file mode 100644 index 430273cca7edd..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionImage](./kibana-plugin-plugins-expressions-public.expressionimage.md) - -## ExpressionImage interface - -Signature: - -```typescript -export interface ExpressionImage -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [dataurl](./kibana-plugin-plugins-expressions-public.expressionimage.dataurl.md) | string | | -| [mode](./kibana-plugin-plugins-expressions-public.expressionimage.mode.md) | string | | -| [type](./kibana-plugin-plugins-expressions-public.expressionimage.type.md) | 'image' | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.mode.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.mode.md deleted file mode 100644 index f56a58ee71e98..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.mode.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionImage](./kibana-plugin-plugins-expressions-public.expressionimage.md) > [mode](./kibana-plugin-plugins-expressions-public.expressionimage.mode.md) - -## ExpressionImage.mode property - -Signature: - -```typescript -mode: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.type.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.type.md deleted file mode 100644 index e3b6e135233ef..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionimage.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionImage](./kibana-plugin-plugins-expressions-public.expressionimage.md) > [type](./kibana-plugin-plugins-expressions-public.expressionimage.type.md) - -## ExpressionImage.type property - -Signature: - -```typescript -type: 'image'; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.displayname.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.displayname.md deleted file mode 100644 index a957ecd63f043..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.displayname.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md) > [displayName](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.displayname.md) - -## ExpressionRenderDefinition.displayName property - -A user friendly name of the renderer as will be displayed to user in UI. - -Signature: - -```typescript -displayName?: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.help.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.help.md deleted file mode 100644 index ca67f18c0591f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.help.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md) > [help](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.help.md) - -## ExpressionRenderDefinition.help property - -Help text as will be displayed to user. A sentence or few about what this element does. - -Signature: - -```typescript -help?: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md deleted file mode 100644 index 3c3322914cebe..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md) - -## ExpressionRenderDefinition interface - -Signature: - -```typescript -export interface ExpressionRenderDefinition -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [displayName](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.displayname.md) | string | A user friendly name of the renderer as will be displayed to user in UI. | -| [help](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.help.md) | string | Help text as will be displayed to user. A sentence or few about what this element does. | -| [name](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.name.md) | string | Technical name of the renderer, used as ID to identify renderer in expression renderer registry. This must match the name of the expression function that is used to create the type: render object. | -| [render](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.render.md) | (domNode: HTMLElement, config: Config, handlers: IInterpreterRenderHandlers) => void | Promise<void> | The function called to render the output data of an expression. | -| [reuseDomNode](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.reusedomnode.md) | boolean | Tell the renderer if the dom node should be reused, it's recreated each time by default. | -| [validate](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.validate.md) | () => undefined | Error | Used to validate the data before calling the render function. | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.name.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.name.md deleted file mode 100644 index 25b782549fe7b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.name.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md) > [name](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.name.md) - -## ExpressionRenderDefinition.name property - -Technical name of the renderer, used as ID to identify renderer in expression renderer registry. This must match the name of the expression function that is used to create the `type: render` object. - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.render.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.render.md deleted file mode 100644 index d476ae15d4237..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.render.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md) > [render](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.render.md) - -## ExpressionRenderDefinition.render property - -The function called to render the output data of an expression. - -Signature: - -```typescript -render: (domNode: HTMLElement, config: Config, handlers: IInterpreterRenderHandlers) => void | Promise; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.reusedomnode.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.reusedomnode.md deleted file mode 100644 index 515cb2c1c078d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.reusedomnode.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md) > [reuseDomNode](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.reusedomnode.md) - -## ExpressionRenderDefinition.reuseDomNode property - -Tell the renderer if the dom node should be reused, it's recreated each time by default. - -Signature: - -```typescript -reuseDomNode: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.validate.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.validate.md deleted file mode 100644 index 616a0dcc0a94f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderdefinition.validate.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md) > [validate](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.validate.md) - -## ExpressionRenderDefinition.validate property - -Used to validate the data before calling the render function. - -Signature: - -```typescript -validate?: () => undefined | Error; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer._constructor_.md deleted file mode 100644 index de74ee631fcf1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionrenderer.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.expressionrenderer._constructor_.md) - -## ExpressionRenderer.(constructor) - -Constructs a new instance of the `ExpressionRenderer` class - -Signature: - -```typescript -constructor(config: ExpressionRenderDefinition); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| config | ExpressionRenderDefinition<Config> | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.displayname.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.displayname.md deleted file mode 100644 index 710bcc60a47e7..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.displayname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionrenderer.md) > [displayName](./kibana-plugin-plugins-expressions-public.expressionrenderer.displayname.md) - -## ExpressionRenderer.displayName property - -Signature: - -```typescript -readonly displayName: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.help.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.help.md deleted file mode 100644 index f5b3f248e71fe..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.help.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionrenderer.md) > [help](./kibana-plugin-plugins-expressions-public.expressionrenderer.help.md) - -## ExpressionRenderer.help property - -Signature: - -```typescript -readonly help: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.md deleted file mode 100644 index 017d88c0cda69..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.md +++ /dev/null @@ -1,29 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionrenderer.md) - -## ExpressionRenderer class - -Signature: - -```typescript -export declare class ExpressionRenderer -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(config)](./kibana-plugin-plugins-expressions-public.expressionrenderer._constructor_.md) | | Constructs a new instance of the ExpressionRenderer class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [displayName](./kibana-plugin-plugins-expressions-public.expressionrenderer.displayname.md) | | string | | -| [help](./kibana-plugin-plugins-expressions-public.expressionrenderer.help.md) | | string | | -| [name](./kibana-plugin-plugins-expressions-public.expressionrenderer.name.md) | | string | | -| [render](./kibana-plugin-plugins-expressions-public.expressionrenderer.render.md) | | ExpressionRenderDefinition<Config>['render'] | | -| [reuseDomNode](./kibana-plugin-plugins-expressions-public.expressionrenderer.reusedomnode.md) | | boolean | | -| [validate](./kibana-plugin-plugins-expressions-public.expressionrenderer.validate.md) | | () => void | Error | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.name.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.name.md deleted file mode 100644 index 2ed6677cf6ec4..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionrenderer.md) > [name](./kibana-plugin-plugins-expressions-public.expressionrenderer.name.md) - -## ExpressionRenderer.name property - -Signature: - -```typescript -readonly name: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.render.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.render.md deleted file mode 100644 index 2491cb31d7659..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.render.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionrenderer.md) > [render](./kibana-plugin-plugins-expressions-public.expressionrenderer.render.md) - -## ExpressionRenderer.render property - -Signature: - -```typescript -readonly render: ExpressionRenderDefinition['render']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.reusedomnode.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.reusedomnode.md deleted file mode 100644 index b5c3a89cc3ed1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.reusedomnode.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionrenderer.md) > [reuseDomNode](./kibana-plugin-plugins-expressions-public.expressionrenderer.reusedomnode.md) - -## ExpressionRenderer.reuseDomNode property - -Signature: - -```typescript -readonly reuseDomNode: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.validate.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.validate.md deleted file mode 100644 index 7c1a7ac65809f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderer.validate.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionrenderer.md) > [validate](./kibana-plugin-plugins-expressions-public.expressionrenderer.validate.md) - -## ExpressionRenderer.validate property - -Signature: - -```typescript -readonly validate: () => void | Error; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderercomponent.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderercomponent.md deleted file mode 100644 index c49a74abe57f3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderercomponent.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRendererComponent](./kibana-plugin-plugins-expressions-public.expressionrenderercomponent.md) - -## ExpressionRendererComponent type - -Signature: - -```typescript -export declare type ExpressionRendererComponent = React.FC; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.data.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.data.md deleted file mode 100644 index 537a3f278863d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.data.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRendererEvent](./kibana-plugin-plugins-expressions-public.expressionrendererevent.md) > [data](./kibana-plugin-plugins-expressions-public.expressionrendererevent.data.md) - -## ExpressionRendererEvent.data property - -Signature: - -```typescript -data: any; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.md deleted file mode 100644 index 952d2f92496c3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRendererEvent](./kibana-plugin-plugins-expressions-public.expressionrendererevent.md) - -## ExpressionRendererEvent interface - -Signature: - -```typescript -export interface ExpressionRendererEvent -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [data](./kibana-plugin-plugins-expressions-public.expressionrendererevent.data.md) | any | | -| [name](./kibana-plugin-plugins-expressions-public.expressionrendererevent.name.md) | string | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.name.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.name.md deleted file mode 100644 index bbff92108358a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererevent.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRendererEvent](./kibana-plugin-plugins-expressions-public.expressionrendererevent.md) > [name](./kibana-plugin-plugins-expressions-public.expressionrendererevent.name.md) - -## ExpressionRendererEvent.name property - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.get.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.get.md deleted file mode 100644 index cff44001f0a1f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.get.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.md) > [get](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.get.md) - -## ExpressionRendererRegistry.get() method - -Signature: - -```typescript -get(id: string): ExpressionRenderer | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`ExpressionRenderer | null` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.md deleted file mode 100644 index e53f2a7970723..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.md) - -## ExpressionRendererRegistry class - -Signature: - -```typescript -export declare class ExpressionRendererRegistry implements IRegistry -``` - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [get(id)](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.get.md) | | | -| [register(definition)](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.register.md) | | | -| [toArray()](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.toarray.md) | | | -| [toJS()](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.tojs.md) | | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.register.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.register.md deleted file mode 100644 index 13cabb0410861..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.register.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.md) > [register](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.register.md) - -## ExpressionRendererRegistry.register() method - -Signature: - -```typescript -register(definition: AnyExpressionRenderDefinition | (() => AnyExpressionRenderDefinition)): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| definition | AnyExpressionRenderDefinition | (() => AnyExpressionRenderDefinition) | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.toarray.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.toarray.md deleted file mode 100644 index b29fd46265d16..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.toarray.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.md) > [toArray](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.toarray.md) - -## ExpressionRendererRegistry.toArray() method - -Signature: - -```typescript -toArray(): ExpressionRenderer[]; -``` -Returns: - -`ExpressionRenderer[]` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.tojs.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.tojs.md deleted file mode 100644 index 930ef7f8d89d2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererregistry.tojs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.md) > [toJS](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.tojs.md) - -## ExpressionRendererRegistry.toJS() method - -Signature: - -```typescript -toJS(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.md deleted file mode 100644 index 9a2507056eb80..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderError](./kibana-plugin-plugins-expressions-public.expressionrendererror.md) - -## ExpressionRenderError interface - -Signature: - -```typescript -export interface ExpressionRenderError extends Error -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [original](./kibana-plugin-plugins-expressions-public.expressionrendererror.original.md) | Error | | -| [type](./kibana-plugin-plugins-expressions-public.expressionrendererror.type.md) | string | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.original.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.original.md deleted file mode 100644 index 45f74a52e6b6f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.original.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderError](./kibana-plugin-plugins-expressions-public.expressionrendererror.md) > [original](./kibana-plugin-plugins-expressions-public.expressionrendererror.original.md) - -## ExpressionRenderError.original property - -Signature: - -```typescript -original?: Error; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.type.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.type.md deleted file mode 100644 index b1939299a9d37..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrendererror.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderError](./kibana-plugin-plugins-expressions-public.expressionrendererror.md) > [type](./kibana-plugin-plugins-expressions-public.expressionrendererror.type.md) - -## ExpressionRenderError.type property - -Signature: - -```typescript -type?: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler._constructor_.md deleted file mode 100644 index 9dfad91c33679..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler._constructor_.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.expressionrenderhandler._constructor_.md) - -## ExpressionRenderHandler.(constructor) - -Constructs a new instance of the `ExpressionRenderHandler` class - -Signature: - -```typescript -constructor(element: HTMLElement, { onRenderError, renderMode, syncColors, hasCompatibleActions, }?: ExpressionRenderHandlerParams); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| element | HTMLElement | | -| { onRenderError, renderMode, syncColors, hasCompatibleActions, } | ExpressionRenderHandlerParams | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.destroy.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.destroy.md deleted file mode 100644 index df949324b3b45..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.destroy.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.md) > [destroy](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.destroy.md) - -## ExpressionRenderHandler.destroy property - -Signature: - -```typescript -destroy: () => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.events_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.events_.md deleted file mode 100644 index c462724a4fdd9..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.events_.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.md) > [events$](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.events_.md) - -## ExpressionRenderHandler.events$ property - -Signature: - -```typescript -events$: Observable; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.getelement.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.getelement.md deleted file mode 100644 index 42262938502d8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.getelement.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.md) > [getElement](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.getelement.md) - -## ExpressionRenderHandler.getElement property - -Signature: - -```typescript -getElement: () => HTMLElement; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.handlerendererror.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.handlerendererror.md deleted file mode 100644 index 6a70cac98ef8a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.handlerendererror.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.md) > [handleRenderError](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.handlerendererror.md) - -## ExpressionRenderHandler.handleRenderError property - -Signature: - -```typescript -handleRenderError: (error: ExpressionRenderError) => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.md deleted file mode 100644 index 1a7050f3ffd4e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.md +++ /dev/null @@ -1,30 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.md) - -## ExpressionRenderHandler class - -Signature: - -```typescript -export declare class ExpressionRenderHandler -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(element, { onRenderError, renderMode, syncColors, hasCompatibleActions, })](./kibana-plugin-plugins-expressions-public.expressionrenderhandler._constructor_.md) | | Constructs a new instance of the ExpressionRenderHandler class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [destroy](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.destroy.md) | | () => void | | -| [events$](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.events_.md) | | Observable<ExpressionRendererEvent> | | -| [getElement](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.getelement.md) | | () => HTMLElement | | -| [handleRenderError](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.handlerendererror.md) | | (error: ExpressionRenderError) => void | | -| [render](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.render.md) | | (value: any, uiState?: any) => Promise<void> | | -| [render$](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.render_.md) | | Observable<number> | | -| [update$](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.update_.md) | | Observable<UpdateValue | null> | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.render.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.render.md deleted file mode 100644 index 87f378fd58344..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.render.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.md) > [render](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.render.md) - -## ExpressionRenderHandler.render property - -Signature: - -```typescript -render: (value: any, uiState?: any) => Promise; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.render_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.render_.md deleted file mode 100644 index 631dcbfcf89c1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.render_.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.md) > [render$](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.render_.md) - -## ExpressionRenderHandler.render$ property - -Signature: - -```typescript -render$: Observable; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.update_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.update_.md deleted file mode 100644 index 527e64f8e4815..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionrenderhandler.update_.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.md) > [update$](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.update_.md) - -## ExpressionRenderHandler.update$ property - -Signature: - -```typescript -update$: Observable; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.ast.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.ast.md deleted file mode 100644 index 0fdf36bc719ec..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.ast.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsInspectorAdapter](./kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.md) > [ast](./kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.ast.md) - -## ExpressionsInspectorAdapter.ast property - -Signature: - -```typescript -get ast(): any; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.logast.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.logast.md deleted file mode 100644 index 671270a5c78ce..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.logast.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsInspectorAdapter](./kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.md) > [logAST](./kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.logast.md) - -## ExpressionsInspectorAdapter.logAST() method - -Signature: - -```typescript -logAST(ast: any): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | any | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.md deleted file mode 100644 index 23d542a0f69eb..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsInspectorAdapter](./kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.md) - -## ExpressionsInspectorAdapter class - -Signature: - -```typescript -export declare class ExpressionsInspectorAdapter extends EventEmitter -``` - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [ast](./kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.ast.md) | | any | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [logAST(ast)](./kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.logast.md) | | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin._constructor_.md deleted file mode 100644 index f49ae9b8166e7..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsPublicPlugin](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.expressionspublicplugin._constructor_.md) - -## ExpressionsPublicPlugin.(constructor) - -Constructs a new instance of the `ExpressionsPublicPlugin` class - -Signature: - -```typescript -constructor(initializerContext: PluginInitializerContext); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initializerContext | PluginInitializerContext | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.md deleted file mode 100644 index dc8c961ceecc4..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsPublicPlugin](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.md) - -## ExpressionsPublicPlugin class - -Signature: - -```typescript -export declare class ExpressionsPublicPlugin implements Plugin -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(initializerContext)](./kibana-plugin-plugins-expressions-public.expressionspublicplugin._constructor_.md) | | Constructs a new instance of the ExpressionsPublicPlugin class | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [setup(core)](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.setup.md) | | | -| [start(core)](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.start.md) | | | -| [stop()](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.stop.md) | | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.setup.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.setup.md deleted file mode 100644 index 11f72a737aa44..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.setup.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsPublicPlugin](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.md) > [setup](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.setup.md) - -## ExpressionsPublicPlugin.setup() method - -Signature: - -```typescript -setup(core: CoreSetup): ExpressionsSetup; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| core | CoreSetup | | - -Returns: - -`ExpressionsSetup` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.start.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.start.md deleted file mode 100644 index 75599e2575809..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.start.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsPublicPlugin](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.md) > [start](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.start.md) - -## ExpressionsPublicPlugin.start() method - -Signature: - -```typescript -start(core: CoreStart): ExpressionsStart; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| core | CoreStart | | - -Returns: - -`ExpressionsStart` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.stop.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.stop.md deleted file mode 100644 index 2de33ef166b96..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionspublicplugin.stop.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsPublicPlugin](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.md) > [stop](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.stop.md) - -## ExpressionsPublicPlugin.stop() method - -Signature: - -```typescript -stop(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice._constructor_.md deleted file mode 100644 index 695adad8cbeaf..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.expressionsservice._constructor_.md) - -## ExpressionsService.(constructor) - -Constructs a new instance of the `ExpressionsService` class - -Signature: - -```typescript -constructor({ executor, renderers, }?: ExpressionServiceParams); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { executor, renderers, } | ExpressionServiceParams | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.execute.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.execute.md deleted file mode 100644 index e4ab0aa32516c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.execute.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [execute](./kibana-plugin-plugins-expressions-public.expressionsservice.execute.md) - -## ExpressionsService.execute property - -Signature: - -```typescript -readonly execute: ExpressionsServiceStart['execute']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.executor.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.executor.md deleted file mode 100644 index f206a0a5c4bb3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.executor.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [executor](./kibana-plugin-plugins-expressions-public.expressionsservice.executor.md) - -## ExpressionsService.executor property - -Signature: - -```typescript -readonly executor: Executor; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.extract.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.extract.md deleted file mode 100644 index 90f1f59c90dea..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.extract.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [extract](./kibana-plugin-plugins-expressions-public.expressionsservice.extract.md) - -## ExpressionsService.extract property - -Extracts saved object references from expression AST - -Signature: - -```typescript -readonly extract: (state: ExpressionAstExpression) => { - state: ExpressionAstExpression; - references: SavedObjectReference[]; - }; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.fork.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.fork.md deleted file mode 100644 index 5273f8d79f5cf..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.fork.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [fork](./kibana-plugin-plugins-expressions-public.expressionsservice.fork.md) - -## ExpressionsService.fork property - -Signature: - -```typescript -readonly fork: () => ExpressionsService; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getallmigrations.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getallmigrations.md deleted file mode 100644 index b337d0dc21b4e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getallmigrations.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [getAllMigrations](./kibana-plugin-plugins-expressions-public.expressionsservice.getallmigrations.md) - -## ExpressionsService.getAllMigrations property - -gets an object with semver mapped to a migration function - -Signature: - -```typescript -getAllMigrations: () => import("../../../kibana_utils/common").MigrateFunctionsObject; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getfunction.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getfunction.md deleted file mode 100644 index 7d79a1e407a46..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getfunction.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [getFunction](./kibana-plugin-plugins-expressions-public.expressionsservice.getfunction.md) - -## ExpressionsService.getFunction property - -Signature: - -```typescript -readonly getFunction: ExpressionsServiceStart['getFunction']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getfunctions.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getfunctions.md deleted file mode 100644 index 6e1b1ca3e1c6d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getfunctions.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [getFunctions](./kibana-plugin-plugins-expressions-public.expressionsservice.getfunctions.md) - -## ExpressionsService.getFunctions property - -Returns POJO map of all registered expression functions, where keys are names of the functions and values are `ExpressionFunction` instances. - -Signature: - -```typescript -readonly getFunctions: () => ReturnType; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getrenderer.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getrenderer.md deleted file mode 100644 index 5821654cf8ec5..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getrenderer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [getRenderer](./kibana-plugin-plugins-expressions-public.expressionsservice.getrenderer.md) - -## ExpressionsService.getRenderer property - -Signature: - -```typescript -readonly getRenderer: ExpressionsServiceStart['getRenderer']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getrenderers.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getrenderers.md deleted file mode 100644 index 3258717759c90..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.getrenderers.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [getRenderers](./kibana-plugin-plugins-expressions-public.expressionsservice.getrenderers.md) - -## ExpressionsService.getRenderers property - -Returns POJO map of all registered expression renderers, where keys are names of the renderers and values are `ExpressionRenderer` instances. - -Signature: - -```typescript -readonly getRenderers: () => ReturnType; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.gettype.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.gettype.md deleted file mode 100644 index e8c451ab88e9f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.gettype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [getType](./kibana-plugin-plugins-expressions-public.expressionsservice.gettype.md) - -## ExpressionsService.getType property - -Signature: - -```typescript -readonly getType: ExpressionsServiceStart['getType']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.gettypes.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.gettypes.md deleted file mode 100644 index 844f581240d45..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.gettypes.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [getTypes](./kibana-plugin-plugins-expressions-public.expressionsservice.gettypes.md) - -## ExpressionsService.getTypes property - -Returns POJO map of all registered expression types, where keys are names of the types and values are `ExpressionType` instances. - -Signature: - -```typescript -readonly getTypes: () => ReturnType; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.inject.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.inject.md deleted file mode 100644 index 8ccc673ef24db..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.inject.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [inject](./kibana-plugin-plugins-expressions-public.expressionsservice.inject.md) - -## ExpressionsService.inject property - -Injects saved object references into expression AST - -Signature: - -```typescript -readonly inject: (state: ExpressionAstExpression, references: SavedObjectReference[]) => ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.md deleted file mode 100644 index cde8c7c1a8f24..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.md +++ /dev/null @@ -1,77 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) - -## ExpressionsService class - -`ExpressionsService` class is used for multiple purposes: - -1. It implements the same Expressions service that can be used on both: (1) server-side and (2) browser-side. 2. It implements the same Expressions service that users can fork/clone, thus have their own instance of the Expressions plugin. 3. `ExpressionsService` defines the public contracts of \*setup\* and \*start\* Kibana Platform life-cycles for ease-of-use on server-side and browser-side. 4. `ExpressionsService` creates a bound version of all exported contract functions. 5. Functions are bound the way there are: - -\`\`\`ts registerFunction = (...args: Parameters<Executor\['registerFunction'\]> ): ReturnType<Executor\['registerFunction'\]> => this.executor.registerFunction(...args); \`\`\` - -so that JSDoc appears in developers IDE when they use those `plugins.expressions.registerFunction(`. - -Signature: - -```typescript -export declare class ExpressionsService implements PersistableStateService -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)({ executor, renderers, })](./kibana-plugin-plugins-expressions-public.expressionsservice._constructor_.md) | | Constructs a new instance of the ExpressionsService class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [execute](./kibana-plugin-plugins-expressions-public.expressionsservice.execute.md) | | ExpressionsServiceStart['execute'] | | -| [executor](./kibana-plugin-plugins-expressions-public.expressionsservice.executor.md) | | Executor | | -| [extract](./kibana-plugin-plugins-expressions-public.expressionsservice.extract.md) | | (state: ExpressionAstExpression) => {
state: ExpressionAstExpression;
references: SavedObjectReference[];
} | Extracts saved object references from expression AST | -| [fork](./kibana-plugin-plugins-expressions-public.expressionsservice.fork.md) | | () => ExpressionsService | | -| [getAllMigrations](./kibana-plugin-plugins-expressions-public.expressionsservice.getallmigrations.md) | | () => import("../../../kibana_utils/common").MigrateFunctionsObject | gets an object with semver mapped to a migration function | -| [getFunction](./kibana-plugin-plugins-expressions-public.expressionsservice.getfunction.md) | | ExpressionsServiceStart['getFunction'] | | -| [getFunctions](./kibana-plugin-plugins-expressions-public.expressionsservice.getfunctions.md) | | () => ReturnType<Executor['getFunctions']> | Returns POJO map of all registered expression functions, where keys are names of the functions and values are ExpressionFunction instances. | -| [getRenderer](./kibana-plugin-plugins-expressions-public.expressionsservice.getrenderer.md) | | ExpressionsServiceStart['getRenderer'] | | -| [getRenderers](./kibana-plugin-plugins-expressions-public.expressionsservice.getrenderers.md) | | () => ReturnType<ExpressionRendererRegistry['toJS']> | Returns POJO map of all registered expression renderers, where keys are names of the renderers and values are ExpressionRenderer instances. | -| [getType](./kibana-plugin-plugins-expressions-public.expressionsservice.gettype.md) | | ExpressionsServiceStart['getType'] | | -| [getTypes](./kibana-plugin-plugins-expressions-public.expressionsservice.gettypes.md) | | () => ReturnType<Executor['getTypes']> | Returns POJO map of all registered expression types, where keys are names of the types and values are ExpressionType instances. | -| [inject](./kibana-plugin-plugins-expressions-public.expressionsservice.inject.md) | | (state: ExpressionAstExpression, references: SavedObjectReference[]) => ExpressionAstExpression | Injects saved object references into expression AST | -| [migrateToLatest](./kibana-plugin-plugins-expressions-public.expressionsservice.migratetolatest.md) | | (state: VersionedState) => ExpressionAstExpression | migrates an old expression to latest version | -| [registerFunction](./kibana-plugin-plugins-expressions-public.expressionsservice.registerfunction.md) | | (functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)) => void | Register an expression function, which will be possible to execute as part of the expression pipeline.Below we register a function which simply sleeps for given number of milliseconds to delay the execution and outputs its input as-is. -```ts -expressions.registerFunction({ - name: 'sleep', - args: { - time: { - aliases: ['_'], - help: 'Time in milliseconds for how long to sleep', - types: ['number'], - }, - }, - help: '', - fn: async (input, args, context) => { - await new Promise(r => setTimeout(r, args.time)); - return input; - }, -} - -``` -The actual function is defined in the fn key. The function can be \*async\*. It receives three arguments: (1) input is the output of the previous function or the initial input of the expression if the function is first in chain; (2) args are function arguments as defined in expression string, that can be edited by user (e.g in case of Canvas); (3) context is a shared object passed to all functions that can be used for side-effects. | -| [registerRenderer](./kibana-plugin-plugins-expressions-public.expressionsservice.registerrenderer.md) | | (definition: AnyExpressionRenderDefinition | (() => AnyExpressionRenderDefinition)) => void | | -| [registerType](./kibana-plugin-plugins-expressions-public.expressionsservice.registertype.md) | | (typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)) => void | | -| [renderers](./kibana-plugin-plugins-expressions-public.expressionsservice.renderers.md) | | ExpressionRendererRegistry | | -| [run](./kibana-plugin-plugins-expressions-public.expressionsservice.run.md) | | ExpressionsServiceStart['run'] | | -| [telemetry](./kibana-plugin-plugins-expressions-public.expressionsservice.telemetry.md) | | (state: ExpressionAstExpression, telemetryData?: Record<string, any>) => Record<string, any> | Extracts telemetry from expression AST | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [setup(args)](./kibana-plugin-plugins-expressions-public.expressionsservice.setup.md) | | Returns Kibana Platform \*setup\* life-cycle contract. Useful to return the same contract on server-side and browser-side. | -| [start(args)](./kibana-plugin-plugins-expressions-public.expressionsservice.start.md) | | Returns Kibana Platform \*start\* life-cycle contract. Useful to return the same contract on server-side and browser-side. | -| [stop()](./kibana-plugin-plugins-expressions-public.expressionsservice.stop.md) | | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.migratetolatest.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.migratetolatest.md deleted file mode 100644 index 55efb8d5a8af3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.migratetolatest.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [migrateToLatest](./kibana-plugin-plugins-expressions-public.expressionsservice.migratetolatest.md) - -## ExpressionsService.migrateToLatest property - -migrates an old expression to latest version - -Signature: - -```typescript -migrateToLatest: (state: VersionedState) => ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registerfunction.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registerfunction.md deleted file mode 100644 index 0653e68bb4837..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registerfunction.md +++ /dev/null @@ -1,35 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [registerFunction](./kibana-plugin-plugins-expressions-public.expressionsservice.registerfunction.md) - -## ExpressionsService.registerFunction property - -Register an expression function, which will be possible to execute as part of the expression pipeline. - -Below we register a function which simply sleeps for given number of milliseconds to delay the execution and outputs its input as-is. - -```ts -expressions.registerFunction({ - name: 'sleep', - args: { - time: { - aliases: ['_'], - help: 'Time in milliseconds for how long to sleep', - types: ['number'], - }, - }, - help: '', - fn: async (input, args, context) => { - await new Promise(r => setTimeout(r, args.time)); - return input; - }, -} - -``` -The actual function is defined in the `fn` key. The function can be \*async\*. It receives three arguments: (1) `input` is the output of the previous function or the initial input of the expression if the function is first in chain; (2) `args` are function arguments as defined in expression string, that can be edited by user (e.g in case of Canvas); (3) `context` is a shared object passed to all functions that can be used for side-effects. - -Signature: - -```typescript -readonly registerFunction: (functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)) => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registerrenderer.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registerrenderer.md deleted file mode 100644 index 7aff36e7fd817..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registerrenderer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [registerRenderer](./kibana-plugin-plugins-expressions-public.expressionsservice.registerrenderer.md) - -## ExpressionsService.registerRenderer property - -Signature: - -```typescript -readonly registerRenderer: (definition: AnyExpressionRenderDefinition | (() => AnyExpressionRenderDefinition)) => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registertype.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registertype.md deleted file mode 100644 index e6e71e5e7e7e9..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.registertype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [registerType](./kibana-plugin-plugins-expressions-public.expressionsservice.registertype.md) - -## ExpressionsService.registerType property - -Signature: - -```typescript -readonly registerType: (typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)) => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.renderers.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.renderers.md deleted file mode 100644 index e43e9a21050ea..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.renderers.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [renderers](./kibana-plugin-plugins-expressions-public.expressionsservice.renderers.md) - -## ExpressionsService.renderers property - -Signature: - -```typescript -readonly renderers: ExpressionRendererRegistry; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.run.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.run.md deleted file mode 100644 index 47469167f6360..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.run.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [run](./kibana-plugin-plugins-expressions-public.expressionsservice.run.md) - -## ExpressionsService.run property - -Signature: - -```typescript -readonly run: ExpressionsServiceStart['run']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.setup.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.setup.md deleted file mode 100644 index 991f1f717d5f5..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.setup.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [setup](./kibana-plugin-plugins-expressions-public.expressionsservice.setup.md) - -## ExpressionsService.setup() method - -Returns Kibana Platform \*setup\* life-cycle contract. Useful to return the same contract on server-side and browser-side. - -Signature: - -```typescript -setup(...args: unknown[]): ExpressionsServiceSetup; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| args | unknown[] | | - -Returns: - -`ExpressionsServiceSetup` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.start.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.start.md deleted file mode 100644 index 34d33cacabebb..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.start.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [start](./kibana-plugin-plugins-expressions-public.expressionsservice.start.md) - -## ExpressionsService.start() method - -Returns Kibana Platform \*start\* life-cycle contract. Useful to return the same contract on server-side and browser-side. - -Signature: - -```typescript -start(...args: unknown[]): ExpressionsServiceStart; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| args | unknown[] | | - -Returns: - -`ExpressionsServiceStart` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.stop.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.stop.md deleted file mode 100644 index a32bb4a8bb009..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.stop.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [stop](./kibana-plugin-plugins-expressions-public.expressionsservice.stop.md) - -## ExpressionsService.stop() method - -Signature: - -```typescript -stop(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.telemetry.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.telemetry.md deleted file mode 100644 index 5f28eb732e389..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservice.telemetry.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) > [telemetry](./kibana-plugin-plugins-expressions-public.expressionsservice.telemetry.md) - -## ExpressionsService.telemetry property - -Extracts telemetry from expression AST - -Signature: - -```typescript -readonly telemetry: (state: ExpressionAstExpression, telemetryData?: Record) => Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicesetup.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicesetup.md deleted file mode 100644 index 4cf3fb9b53978..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicesetup.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsServiceSetup](./kibana-plugin-plugins-expressions-public.expressionsservicesetup.md) - -## ExpressionsServiceSetup type - -The public contract that `ExpressionsService` provides to other plugins in Kibana Platform in \*setup\* life-cycle. - -Signature: - -```typescript -export declare type ExpressionsServiceSetup = Pick; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.execute.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.execute.md deleted file mode 100644 index 043d3472228a2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.execute.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsServiceStart](./kibana-plugin-plugins-expressions-public.expressionsservicestart.md) > [execute](./kibana-plugin-plugins-expressions-public.expressionsservicestart.execute.md) - -## ExpressionsServiceStart.execute property - -Starts expression execution and immediately returns `ExecutionContract` instance that tracks the progress of the execution and can be used to interact with the execution. - -Signature: - -```typescript -execute: (ast: string | ExpressionAstExpression, input: Input, params?: ExpressionExecutionParams) => ExecutionContract; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.fork.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.fork.md deleted file mode 100644 index dd18daceb9539..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.fork.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsServiceStart](./kibana-plugin-plugins-expressions-public.expressionsservicestart.md) > [fork](./kibana-plugin-plugins-expressions-public.expressionsservicestart.fork.md) - -## ExpressionsServiceStart.fork property - -Create a new instance of `ExpressionsService`. The new instance inherits all state of the original `ExpressionsService`, including all expression types, expression functions and context. Also, all new types and functions registered in the original services AFTER the forking event will be available in the forked instance. However, all new types and functions registered in the forked instances will NOT be available to the original service. - -Signature: - -```typescript -fork: () => ExpressionsService; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.getfunction.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.getfunction.md deleted file mode 100644 index d1a9bbce2a27e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.getfunction.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsServiceStart](./kibana-plugin-plugins-expressions-public.expressionsservicestart.md) > [getFunction](./kibana-plugin-plugins-expressions-public.expressionsservicestart.getfunction.md) - -## ExpressionsServiceStart.getFunction property - -Get a registered `ExpressionFunction` by its name, which was registered using the `registerFunction` method. The returned `ExpressionFunction` instance is an internal representation of the function in Expressions service - do not mutate that object. - -Signature: - -```typescript -getFunction: (name: string) => ReturnType; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.getrenderer.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.getrenderer.md deleted file mode 100644 index ef98fd633cb0c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.getrenderer.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsServiceStart](./kibana-plugin-plugins-expressions-public.expressionsservicestart.md) > [getRenderer](./kibana-plugin-plugins-expressions-public.expressionsservicestart.getrenderer.md) - -## ExpressionsServiceStart.getRenderer property - -Get a registered `ExpressionRenderer` by its name, which was registered using the `registerRenderer` method. The returned `ExpressionRenderer` instance is an internal representation of the renderer in Expressions service - do not mutate that object. - -Signature: - -```typescript -getRenderer: (name: string) => ReturnType; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.gettype.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.gettype.md deleted file mode 100644 index e9ec1733513ba..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.gettype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsServiceStart](./kibana-plugin-plugins-expressions-public.expressionsservicestart.md) > [getType](./kibana-plugin-plugins-expressions-public.expressionsservicestart.gettype.md) - -## ExpressionsServiceStart.getType property - -Get a registered `ExpressionType` by its name, which was registered using the `registerType` method. The returned `ExpressionType` instance is an internal representation of the type in Expressions service - do not mutate that object. - -Signature: - -```typescript -getType: (name: string) => ReturnType; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.md deleted file mode 100644 index 9821f0f921e4d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.md +++ /dev/null @@ -1,35 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsServiceStart](./kibana-plugin-plugins-expressions-public.expressionsservicestart.md) - -## ExpressionsServiceStart interface - -The public contract that `ExpressionsService` provides to other plugins in Kibana Platform in \*start\* life-cycle. - -Signature: - -```typescript -export interface ExpressionsServiceStart -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [execute](./kibana-plugin-plugins-expressions-public.expressionsservicestart.execute.md) | <Input = unknown, Output = unknown>(ast: string | ExpressionAstExpression, input: Input, params?: ExpressionExecutionParams) => ExecutionContract<Input, Output> | Starts expression execution and immediately returns ExecutionContract instance that tracks the progress of the execution and can be used to interact with the execution. | -| [fork](./kibana-plugin-plugins-expressions-public.expressionsservicestart.fork.md) | () => ExpressionsService | Create a new instance of ExpressionsService. The new instance inherits all state of the original ExpressionsService, including all expression types, expression functions and context. Also, all new types and functions registered in the original services AFTER the forking event will be available in the forked instance. However, all new types and functions registered in the forked instances will NOT be available to the original service. | -| [getFunction](./kibana-plugin-plugins-expressions-public.expressionsservicestart.getfunction.md) | (name: string) => ReturnType<Executor['getFunction']> | Get a registered ExpressionFunction by its name, which was registered using the registerFunction method. The returned ExpressionFunction instance is an internal representation of the function in Expressions service - do not mutate that object. | -| [getRenderer](./kibana-plugin-plugins-expressions-public.expressionsservicestart.getrenderer.md) | (name: string) => ReturnType<ExpressionRendererRegistry['get']> | Get a registered ExpressionRenderer by its name, which was registered using the registerRenderer method. The returned ExpressionRenderer instance is an internal representation of the renderer in Expressions service - do not mutate that object. | -| [getType](./kibana-plugin-plugins-expressions-public.expressionsservicestart.gettype.md) | (name: string) => ReturnType<Executor['getType']> | Get a registered ExpressionType by its name, which was registered using the registerType method. The returned ExpressionType instance is an internal representation of the type in Expressions service - do not mutate that object. | -| [run](./kibana-plugin-plugins-expressions-public.expressionsservicestart.run.md) | <Input, Output>(ast: string | ExpressionAstExpression, input: Input, params?: ExpressionExecutionParams) => Observable<ExecutionResult<Output | ExpressionValueError>> | Executes expression string or a parsed expression AST and immediately returns the result.Below example will execute sleep 100 | clog expression with 123 initial input to the first function. -```ts -expressions.run('sleep 100 | clog', 123); - -``` -- sleep 100 will delay execution by 100 milliseconds and pass the 123 input as its output. - clog will print to console 123 and pass it as its output. - The final result of the execution will be 123.Optionally, you can pass an object as the third argument which will be used to extend the ExecutionContext&mdash;an object passed to each function as the third argument, that allows functions to perform side-effects. -```ts -expressions.run('...', null, { elasticsearchClient }); - -``` - | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.run.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.run.md deleted file mode 100644 index 0838d640d54e4..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsservicestart.run.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsServiceStart](./kibana-plugin-plugins-expressions-public.expressionsservicestart.md) > [run](./kibana-plugin-plugins-expressions-public.expressionsservicestart.run.md) - -## ExpressionsServiceStart.run property - -Executes expression string or a parsed expression AST and immediately returns the result. - -Below example will execute `sleep 100 | clog` expression with `123` initial input to the first function. - -```ts -expressions.run('sleep 100 | clog', 123); - -``` -- `sleep 100` will delay execution by 100 milliseconds and pass the `123` input as its output. - `clog` will print to console `123` and pass it as its output. - The final result of the execution will be `123`. - -Optionally, you can pass an object as the third argument which will be used to extend the `ExecutionContext`&mdash;an object passed to each function as the third argument, that allows functions to perform side-effects. - -```ts -expressions.run('...', null, { elasticsearchClient }); - -``` - -Signature: - -```typescript -run: (ast: string | ExpressionAstExpression, input: Input, params?: ExpressionExecutionParams) => Observable>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionssetup.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionssetup.md deleted file mode 100644 index 01a894ae8fba6..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionssetup.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsSetup](./kibana-plugin-plugins-expressions-public.expressionssetup.md) - -## ExpressionsSetup type - -Expressions public setup contract, extends [ExpressionsServiceSetup](./kibana-plugin-plugins-expressions-public.expressionsservicesetup.md) - -Signature: - -```typescript -export declare type ExpressionsSetup = ExpressionsServiceSetup; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.expressionloader.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.expressionloader.md deleted file mode 100644 index b7226b12b0d2b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.expressionloader.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsStart](./kibana-plugin-plugins-expressions-public.expressionsstart.md) > [ExpressionLoader](./kibana-plugin-plugins-expressions-public.expressionsstart.expressionloader.md) - -## ExpressionsStart.ExpressionLoader property - -Signature: - -```typescript -ExpressionLoader: typeof ExpressionLoader; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.expressionrenderhandler.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.expressionrenderhandler.md deleted file mode 100644 index a78bb6f154c46..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.expressionrenderhandler.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsStart](./kibana-plugin-plugins-expressions-public.expressionsstart.md) > [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionsstart.expressionrenderhandler.md) - -## ExpressionsStart.ExpressionRenderHandler property - -Signature: - -```typescript -ExpressionRenderHandler: typeof ExpressionRenderHandler; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.loader.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.loader.md deleted file mode 100644 index 109d8e8bcab66..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.loader.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsStart](./kibana-plugin-plugins-expressions-public.expressionsstart.md) > [loader](./kibana-plugin-plugins-expressions-public.expressionsstart.loader.md) - -## ExpressionsStart.loader property - -Signature: - -```typescript -loader: IExpressionLoader; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.md deleted file mode 100644 index ac4004590b5a6..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsStart](./kibana-plugin-plugins-expressions-public.expressionsstart.md) - -## ExpressionsStart interface - -Expressions public start contrect, extends - -Signature: - -```typescript -export interface ExpressionsStart extends ExpressionsServiceStart -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [ExpressionLoader](./kibana-plugin-plugins-expressions-public.expressionsstart.expressionloader.md) | typeof ExpressionLoader | | -| [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionsstart.expressionrenderhandler.md) | typeof ExpressionRenderHandler | | -| [loader](./kibana-plugin-plugins-expressions-public.expressionsstart.loader.md) | IExpressionLoader | | -| [ReactExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionsstart.reactexpressionrenderer.md) | typeof ReactExpressionRenderer | | -| [render](./kibana-plugin-plugins-expressions-public.expressionsstart.render.md) | typeof render | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.reactexpressionrenderer.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.reactexpressionrenderer.md deleted file mode 100644 index bbd7253a747c4..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.reactexpressionrenderer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsStart](./kibana-plugin-plugins-expressions-public.expressionsstart.md) > [ReactExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionsstart.reactexpressionrenderer.md) - -## ExpressionsStart.ReactExpressionRenderer property - -Signature: - -```typescript -ReactExpressionRenderer: typeof ReactExpressionRenderer; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.render.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.render.md deleted file mode 100644 index fcf279206119e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionsstart.render.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionsStart](./kibana-plugin-plugins-expressions-public.expressionsstart.md) > [render](./kibana-plugin-plugins-expressions-public.expressionsstart.render.md) - -## ExpressionsStart.render property - -Signature: - -```typescript -render: typeof render; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype._constructor_.md deleted file mode 100644 index 2302be5643722..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.expressiontype._constructor_.md) - -## ExpressionType.(constructor) - -Constructs a new instance of the `ExpressionType` class - -Signature: - -```typescript -constructor(definition: AnyExpressionTypeDefinition); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| definition | AnyExpressionTypeDefinition | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.castsfrom.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.castsfrom.md deleted file mode 100644 index e238db1b45086..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.castsfrom.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [castsFrom](./kibana-plugin-plugins-expressions-public.expressiontype.castsfrom.md) - -## ExpressionType.castsFrom property - -Signature: - -```typescript -castsFrom: (value: ExpressionValue) => boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.caststo.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.caststo.md deleted file mode 100644 index 36e03e6f3d53f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.caststo.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [castsTo](./kibana-plugin-plugins-expressions-public.expressiontype.caststo.md) - -## ExpressionType.castsTo property - -Signature: - -```typescript -castsTo: (value: ExpressionValue) => boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.create.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.create.md deleted file mode 100644 index e2da70b50b0d4..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.create.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [create](./kibana-plugin-plugins-expressions-public.expressiontype.create.md) - -## ExpressionType.create property - -Signature: - -```typescript -create: unknown; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.deserialize.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.deserialize.md deleted file mode 100644 index d47056817358c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.deserialize.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [deserialize](./kibana-plugin-plugins-expressions-public.expressiontype.deserialize.md) - -## ExpressionType.deserialize property - -Signature: - -```typescript -deserialize?: (serialized: any) => ExpressionValue; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.from.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.from.md deleted file mode 100644 index 51a36f614fbbf..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.from.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [from](./kibana-plugin-plugins-expressions-public.expressiontype.from.md) - -## ExpressionType.from property - -Signature: - -```typescript -from: (value: ExpressionValue, types: Record) => any; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.getfromfn.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.getfromfn.md deleted file mode 100644 index 10d7bb4331916..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.getfromfn.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [getFromFn](./kibana-plugin-plugins-expressions-public.expressiontype.getfromfn.md) - -## ExpressionType.getFromFn property - -Signature: - -```typescript -getFromFn: (typeName: string) => undefined | ExpressionValueConverter; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.gettofn.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.gettofn.md deleted file mode 100644 index 25b71163e5709..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.gettofn.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [getToFn](./kibana-plugin-plugins-expressions-public.expressiontype.gettofn.md) - -## ExpressionType.getToFn property - -Signature: - -```typescript -getToFn: (typeName: string) => undefined | ExpressionValueConverter; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.help.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.help.md deleted file mode 100644 index e27e1dea2a872..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.help.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [help](./kibana-plugin-plugins-expressions-public.expressiontype.help.md) - -## ExpressionType.help property - -A short help text. - -Signature: - -```typescript -help: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.md deleted file mode 100644 index acb72b796cf1d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.md +++ /dev/null @@ -1,35 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) - -## ExpressionType class - -Signature: - -```typescript -export declare class ExpressionType -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(definition)](./kibana-plugin-plugins-expressions-public.expressiontype._constructor_.md) | | Constructs a new instance of the ExpressionType class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [castsFrom](./kibana-plugin-plugins-expressions-public.expressiontype.castsfrom.md) | | (value: ExpressionValue) => boolean | | -| [castsTo](./kibana-plugin-plugins-expressions-public.expressiontype.caststo.md) | | (value: ExpressionValue) => boolean | | -| [create](./kibana-plugin-plugins-expressions-public.expressiontype.create.md) | | unknown | | -| [deserialize](./kibana-plugin-plugins-expressions-public.expressiontype.deserialize.md) | | (serialized: any) => ExpressionValue | | -| [from](./kibana-plugin-plugins-expressions-public.expressiontype.from.md) | | (value: ExpressionValue, types: Record<string, ExpressionType>) => any | | -| [getFromFn](./kibana-plugin-plugins-expressions-public.expressiontype.getfromfn.md) | | (typeName: string) => undefined | ExpressionValueConverter<ExpressionValue, ExpressionValue> | | -| [getToFn](./kibana-plugin-plugins-expressions-public.expressiontype.gettofn.md) | | (typeName: string) => undefined | ExpressionValueConverter<ExpressionValue, ExpressionValue> | | -| [help](./kibana-plugin-plugins-expressions-public.expressiontype.help.md) | | string | A short help text. | -| [name](./kibana-plugin-plugins-expressions-public.expressiontype.name.md) | | string | | -| [serialize](./kibana-plugin-plugins-expressions-public.expressiontype.serialize.md) | | (value: ExpressionValue) => any | Optional serialization (used when passing context around client/server). | -| [to](./kibana-plugin-plugins-expressions-public.expressiontype.to.md) | | (value: ExpressionValue, toTypeName: string, types: Record<string, ExpressionType>) => any | | -| [validate](./kibana-plugin-plugins-expressions-public.expressiontype.validate.md) | | (type: any) => void | Error | Type validation, useful for checking function output. | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.name.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.name.md deleted file mode 100644 index 8d14f6e4f6bd8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [name](./kibana-plugin-plugins-expressions-public.expressiontype.name.md) - -## ExpressionType.name property - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.serialize.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.serialize.md deleted file mode 100644 index cb4821b97e022..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.serialize.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [serialize](./kibana-plugin-plugins-expressions-public.expressiontype.serialize.md) - -## ExpressionType.serialize property - -Optional serialization (used when passing context around client/server). - -Signature: - -```typescript -serialize?: (value: ExpressionValue) => any; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.to.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.to.md deleted file mode 100644 index 8045c5df638b0..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.to.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [to](./kibana-plugin-plugins-expressions-public.expressiontype.to.md) - -## ExpressionType.to property - -Signature: - -```typescript -to: (value: ExpressionValue, toTypeName: string, types: Record) => any; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.validate.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.validate.md deleted file mode 100644 index 7214467b2b444..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontype.validate.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) > [validate](./kibana-plugin-plugins-expressions-public.expressiontype.validate.md) - -## ExpressionType.validate property - -Type validation, useful for checking function output. - -Signature: - -```typescript -validate: (type: any) => void | Error; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.deserialize.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.deserialize.md deleted file mode 100644 index 75dac1e991f65..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.deserialize.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.md) > [deserialize](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.deserialize.md) - -## ExpressionTypeDefinition.deserialize property - -Signature: - -```typescript -deserialize?: (type: SerializedType) => Value; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.from.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.from.md deleted file mode 100644 index ac8920066eda7..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.from.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.md) > [from](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.from.md) - -## ExpressionTypeDefinition.from property - -Signature: - -```typescript -from?: { - [type: string]: ExpressionValueConverter; - }; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.help.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.help.md deleted file mode 100644 index ad5e5eb38fa72..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.help.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.md) > [help](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.help.md) - -## ExpressionTypeDefinition.help property - -Signature: - -```typescript -help?: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.md deleted file mode 100644 index 8c183e9a6de80..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.md) - -## ExpressionTypeDefinition interface - -A generic type which represents a custom Expression Type Definition that's registered to the Interpreter. - -Signature: - -```typescript -export interface ExpressionTypeDefinition -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [deserialize](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.deserialize.md) | (type: SerializedType) => Value | | -| [from](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.from.md) | {
[type: string]: ExpressionValueConverter<any, Value>;
} | | -| [help](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.help.md) | string | | -| [name](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.name.md) | Name | | -| [serialize](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.serialize.md) | (type: Value) => SerializedType | | -| [to](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.to.md) | {
[type: string]: ExpressionValueConverter<Value, any>;
} | | -| [validate](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.validate.md) | (type: any) => void | Error | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.name.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.name.md deleted file mode 100644 index eb79d01040373..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.md) > [name](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.name.md) - -## ExpressionTypeDefinition.name property - -Signature: - -```typescript -name: Name; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.serialize.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.serialize.md deleted file mode 100644 index 5881ddbe5a6c4..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.serialize.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.md) > [serialize](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.serialize.md) - -## ExpressionTypeDefinition.serialize property - -Signature: - -```typescript -serialize?: (type: Value) => SerializedType; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.to.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.to.md deleted file mode 100644 index 282cdcdfb342d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.to.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.md) > [to](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.to.md) - -## ExpressionTypeDefinition.to property - -Signature: - -```typescript -to?: { - [type: string]: ExpressionValueConverter; - }; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.validate.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.validate.md deleted file mode 100644 index 67d5e832c6284..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypedefinition.validate.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.md) > [validate](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.validate.md) - -## ExpressionTypeDefinition.validate property - -Signature: - -```typescript -validate?: (type: any) => void | Error; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.css.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.css.md deleted file mode 100644 index ca8e881ef7e46..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.css.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeStyle](./kibana-plugin-plugins-expressions-public.expressiontypestyle.md) > [css](./kibana-plugin-plugins-expressions-public.expressiontypestyle.css.md) - -## ExpressionTypeStyle.css property - -Signature: - -```typescript -css: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.md deleted file mode 100644 index 4e1cc86699f2d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeStyle](./kibana-plugin-plugins-expressions-public.expressiontypestyle.md) - -## ExpressionTypeStyle interface - -An object that represents style information, typically CSS. - -Signature: - -```typescript -export interface ExpressionTypeStyle -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [css](./kibana-plugin-plugins-expressions-public.expressiontypestyle.css.md) | string | | -| [spec](./kibana-plugin-plugins-expressions-public.expressiontypestyle.spec.md) | CSSStyle | | -| [type](./kibana-plugin-plugins-expressions-public.expressiontypestyle.type.md) | 'style' | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.spec.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.spec.md deleted file mode 100644 index e732893366a36..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.spec.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeStyle](./kibana-plugin-plugins-expressions-public.expressiontypestyle.md) > [spec](./kibana-plugin-plugins-expressions-public.expressiontypestyle.spec.md) - -## ExpressionTypeStyle.spec property - -Signature: - -```typescript -spec: CSSStyle; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.type.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.type.md deleted file mode 100644 index 01dd9b0da1072..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressiontypestyle.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionTypeStyle](./kibana-plugin-plugins-expressions-public.expressiontypestyle.md) > [type](./kibana-plugin-plugins-expressions-public.expressiontypestyle.type.md) - -## ExpressionTypeStyle.type property - -Signature: - -```typescript -type: 'style'; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalue.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalue.md deleted file mode 100644 index 53ab339df902a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalue.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionValue](./kibana-plugin-plugins-expressions-public.expressionvalue.md) - -## ExpressionValue type - -Signature: - -```typescript -export declare type ExpressionValue = ExpressionValueUnboxed | ExpressionValueBoxed; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueboxed.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueboxed.md deleted file mode 100644 index 6d8f060d4f91f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueboxed.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionValueBoxed](./kibana-plugin-plugins-expressions-public.expressionvalueboxed.md) - -## ExpressionValueBoxed type - -Signature: - -```typescript -export declare type ExpressionValueBoxed = { - type: Type; -} & Value; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueconverter.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueconverter.md deleted file mode 100644 index 95e69645b53ee..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueconverter.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionValueConverter](./kibana-plugin-plugins-expressions-public.expressionvalueconverter.md) - -## ExpressionValueConverter type - -Signature: - -```typescript -export declare type ExpressionValueConverter = (input: I, availableTypes: Record) => O; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueerror.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueerror.md deleted file mode 100644 index 6d30d45690844..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueerror.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionValueError](./kibana-plugin-plugins-expressions-public.expressionvalueerror.md) - -## ExpressionValueError type - -Signature: - -```typescript -export declare type ExpressionValueError = ExpressionValueBoxed<'error', { - error: ErrorLike; - info?: SerializableRecord; -}>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluefilter.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluefilter.md deleted file mode 100644 index 07c1bfe9a96d6..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluefilter.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionValueFilter](./kibana-plugin-plugins-expressions-public.expressionvaluefilter.md) - -## ExpressionValueFilter type - -Represents an object that is a Filter. - -Signature: - -```typescript -export declare type ExpressionValueFilter = ExpressionValueBoxed<'filter', { - filterType?: string; - value?: string; - column?: string; - and: ExpressionValueFilter[]; - to?: string; - from?: string; - query?: string | null; -}>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluenum.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluenum.md deleted file mode 100644 index fc92777ffd5b6..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluenum.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionValueNum](./kibana-plugin-plugins-expressions-public.expressionvaluenum.md) - -## ExpressionValueNum type - -Signature: - -```typescript -export declare type ExpressionValueNum = ExpressionValueBoxed<'num', { - value: number; -}>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluerender.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluerender.md deleted file mode 100644 index be9e7f859daec..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvaluerender.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionValueRender](./kibana-plugin-plugins-expressions-public.expressionvaluerender.md) - -## ExpressionValueRender type - -Represents an object that is intended to be rendered. - -Signature: - -```typescript -export declare type ExpressionValueRender = ExpressionValueBoxed; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueunboxed.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueunboxed.md deleted file mode 100644 index fbc37fe667d5e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.expressionvalueunboxed.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ExpressionValueUnboxed](./kibana-plugin-plugins-expressions-public.expressionvalueunboxed.md) - -## ExpressionValueUnboxed type - -Signature: - -```typescript -export declare type ExpressionValueUnboxed = any; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.label.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.label.md deleted file mode 100644 index 87294ce59feb6..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.label.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Font](./kibana-plugin-plugins-expressions-public.font.md) > [label](./kibana-plugin-plugins-expressions-public.font.label.md) - -## Font.label property - -Signature: - -```typescript -label: FontLabel; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.md deleted file mode 100644 index ef63d28fe6fba..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Font](./kibana-plugin-plugins-expressions-public.font.md) - -## Font interface - -An interface representing a font in Canvas, with a textual label and the CSS `font-value`. - -Signature: - -```typescript -export interface Font -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [label](./kibana-plugin-plugins-expressions-public.font.label.md) | FontLabel | | -| [value](./kibana-plugin-plugins-expressions-public.font.value.md) | FontValue | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.value.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.value.md deleted file mode 100644 index cada244174785..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.font.value.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Font](./kibana-plugin-plugins-expressions-public.font.md) > [value](./kibana-plugin-plugins-expressions-public.font.value.md) - -## Font.value property - -Signature: - -```typescript -value: FontValue; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontlabel.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontlabel.md deleted file mode 100644 index 5af3427730ad1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontlabel.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [FontLabel](./kibana-plugin-plugins-expressions-public.fontlabel.md) - -## FontLabel type - -This type contains a unions of all supported font labels, or the the name of the font the user would see in a UI. - -Signature: - -```typescript -export declare type FontLabel = typeof fonts[number]['label']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontstyle.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontstyle.md deleted file mode 100644 index 9f70d91c7ac9b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontstyle.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [FontStyle](./kibana-plugin-plugins-expressions-public.fontstyle.md) - -## FontStyle enum - -Enum of supported CSS `font-style` properties. - -Signature: - -```typescript -export declare enum FontStyle -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| ITALIC | "italic" | | -| NORMAL | "normal" | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontvalue.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontvalue.md deleted file mode 100644 index f03c9b61cb733..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontvalue.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [FontValue](./kibana-plugin-plugins-expressions-public.fontvalue.md) - -## FontValue type - -This type contains a union of all supported font values, equivalent to the CSS `font-value` property. - -Signature: - -```typescript -export declare type FontValue = typeof fonts[number]['value']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontweight.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontweight.md deleted file mode 100644 index 43388a3de11cc..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.fontweight.md +++ /dev/null @@ -1,32 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [FontWeight](./kibana-plugin-plugins-expressions-public.fontweight.md) - -## FontWeight enum - -Enum of supported CSS `font-weight` properties. - -Signature: - -```typescript -export declare enum FontWeight -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| BOLD | "bold" | | -| BOLDER | "bolder" | | -| EIGHT | "800" | | -| FIVE | "500" | | -| FOUR | "400" | | -| LIGHTER | "lighter" | | -| NINE | "900" | | -| NORMAL | "normal" | | -| ONE | "100" | | -| SEVEN | "700" | | -| SIX | "600" | | -| THREE | "300" | | -| TWO | "200" | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.format.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.format.md deleted file mode 100644 index 27a9690e6fb0d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.format.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [format](./kibana-plugin-plugins-expressions-public.format.md) - -## format() function - -Signature: - -```typescript -export declare function format(ast: T, type: T extends ExpressionAstExpression ? 'expression' : 'argument'): string; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | T | | -| type | T extends ExpressionAstExpression ? 'expression' : 'argument' | | - -Returns: - -`string` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.formatexpression.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.formatexpression.md deleted file mode 100644 index 425aa9c6171fc..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.formatexpression.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [formatExpression](./kibana-plugin-plugins-expressions-public.formatexpression.md) - -## formatExpression() function - -Given expression pipeline AST, returns formatted string. - -Signature: - -```typescript -export declare function formatExpression(ast: ExpressionAstExpression): string; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | ExpressionAstExpression | | - -Returns: - -`string` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry._constructor_.md deleted file mode 100644 index 2ab299e3d32f4..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-public.functionsregistry.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.functionsregistry._constructor_.md) - -## FunctionsRegistry.(constructor) - -Constructs a new instance of the `FunctionsRegistry` class - -Signature: - -```typescript -constructor(executor: Executor); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| executor | Executor<any> | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.get.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.get.md deleted file mode 100644 index 3ed2807028299..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.get.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-public.functionsregistry.md) > [get](./kibana-plugin-plugins-expressions-public.functionsregistry.get.md) - -## FunctionsRegistry.get() method - -Signature: - -```typescript -get(id: string): ExpressionFunction | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`ExpressionFunction | null` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.md deleted file mode 100644 index b32623934ee92..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-public.functionsregistry.md) - -## FunctionsRegistry class - -Signature: - -```typescript -export declare class FunctionsRegistry implements IRegistry -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(executor)](./kibana-plugin-plugins-expressions-public.functionsregistry._constructor_.md) | | Constructs a new instance of the FunctionsRegistry class | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [get(id)](./kibana-plugin-plugins-expressions-public.functionsregistry.get.md) | | | -| [register(functionDefinition)](./kibana-plugin-plugins-expressions-public.functionsregistry.register.md) | | | -| [toArray()](./kibana-plugin-plugins-expressions-public.functionsregistry.toarray.md) | | | -| [toJS()](./kibana-plugin-plugins-expressions-public.functionsregistry.tojs.md) | | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.register.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.register.md deleted file mode 100644 index 32f7f389e8958..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.register.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-public.functionsregistry.md) > [register](./kibana-plugin-plugins-expressions-public.functionsregistry.register.md) - -## FunctionsRegistry.register() method - -Signature: - -```typescript -register(functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| functionDefinition | AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition) | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.toarray.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.toarray.md deleted file mode 100644 index 5bc482097a175..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.toarray.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-public.functionsregistry.md) > [toArray](./kibana-plugin-plugins-expressions-public.functionsregistry.toarray.md) - -## FunctionsRegistry.toArray() method - -Signature: - -```typescript -toArray(): ExpressionFunction[]; -``` -Returns: - -`ExpressionFunction[]` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.tojs.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.tojs.md deleted file mode 100644 index d6790fb8f726e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.functionsregistry.tojs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-public.functionsregistry.md) > [toJS](./kibana-plugin-plugins-expressions-public.functionsregistry.tojs.md) - -## FunctionsRegistry.toJS() method - -Signature: - -```typescript -toJS(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.context.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.context.md deleted file mode 100644 index 40dcf07667b1b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.context.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [context](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.context.md) - -## IExpressionLoaderParams.context property - -Signature: - -```typescript -context?: ExpressionValue; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customfunctions.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customfunctions.md deleted file mode 100644 index 00ff3d498eb5c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customfunctions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [customFunctions](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customfunctions.md) - -## IExpressionLoaderParams.customFunctions property - -Signature: - -```typescript -customFunctions?: []; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customrenderers.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customrenderers.md deleted file mode 100644 index 72b82e2d41b05..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customrenderers.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [customRenderers](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customrenderers.md) - -## IExpressionLoaderParams.customRenderers property - -Signature: - -```typescript -customRenderers?: []; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.debug.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.debug.md deleted file mode 100644 index b27246449cc7c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.debug.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [debug](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.debug.md) - -## IExpressionLoaderParams.debug property - -Signature: - -```typescript -debug?: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.disablecaching.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.disablecaching.md deleted file mode 100644 index 62483016d3aee..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.disablecaching.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [disableCaching](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.disablecaching.md) - -## IExpressionLoaderParams.disableCaching property - -Signature: - -```typescript -disableCaching?: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.executioncontext.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.executioncontext.md deleted file mode 100644 index c133621424b5f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.executioncontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [executionContext](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.executioncontext.md) - -## IExpressionLoaderParams.executionContext property - -Signature: - -```typescript -executionContext?: KibanaExecutionContext; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.hascompatibleactions.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.hascompatibleactions.md deleted file mode 100644 index 4d2b76cb323fb..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.hascompatibleactions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [hasCompatibleActions](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.hascompatibleactions.md) - -## IExpressionLoaderParams.hasCompatibleActions property - -Signature: - -```typescript -hasCompatibleActions?: ExpressionRenderHandlerParams['hasCompatibleActions']; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.inspectoradapters.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.inspectoradapters.md deleted file mode 100644 index 52f2a6e56d133..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.inspectoradapters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [inspectorAdapters](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.inspectoradapters.md) - -## IExpressionLoaderParams.inspectorAdapters property - -Signature: - -```typescript -inspectorAdapters?: Adapters; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md deleted file mode 100644 index fcb0299e3fb68..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md +++ /dev/null @@ -1,34 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) - -## IExpressionLoaderParams interface - -Signature: - -```typescript -export interface IExpressionLoaderParams -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [context](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.context.md) | ExpressionValue | | -| [customFunctions](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customfunctions.md) | [] | | -| [customRenderers](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.customrenderers.md) | [] | | -| [debug](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.debug.md) | boolean | | -| [disableCaching](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.disablecaching.md) | boolean | | -| [executionContext](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.executioncontext.md) | KibanaExecutionContext | | -| [hasCompatibleActions](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.hascompatibleactions.md) | ExpressionRenderHandlerParams['hasCompatibleActions'] | | -| [inspectorAdapters](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.inspectoradapters.md) | Adapters | | -| [onRenderError](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.onrendererror.md) | RenderErrorHandlerFnType | | -| [partial](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.partial.md) | boolean | The flag to toggle on emitting partial results. By default, the partial results are disabled. | -| [renderMode](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.rendermode.md) | RenderMode | | -| [searchContext](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchcontext.md) | SerializableRecord | | -| [searchSessionId](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchsessionid.md) | string | | -| [syncColors](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.synccolors.md) | boolean | | -| [throttle](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.throttle.md) | number | Throttling of partial results in milliseconds. 0 is disabling the throttling. By default, it equals 1000. | -| [uiState](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.uistate.md) | unknown | | -| [variables](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.variables.md) | Record<string, any> | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.onrendererror.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.onrendererror.md deleted file mode 100644 index f45a9c76242c4..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.onrendererror.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [onRenderError](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.onrendererror.md) - -## IExpressionLoaderParams.onRenderError property - -Signature: - -```typescript -onRenderError?: RenderErrorHandlerFnType; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.partial.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.partial.md deleted file mode 100644 index 8922b2d0f377e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.partial.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [partial](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.partial.md) - -## IExpressionLoaderParams.partial property - -The flag to toggle on emitting partial results. By default, the partial results are disabled. - -Signature: - -```typescript -partial?: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.rendermode.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.rendermode.md deleted file mode 100644 index 2986b81fc67c5..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.rendermode.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [renderMode](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.rendermode.md) - -## IExpressionLoaderParams.renderMode property - -Signature: - -```typescript -renderMode?: RenderMode; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchcontext.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchcontext.md deleted file mode 100644 index 7b832af0e90d8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchcontext.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [searchContext](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchcontext.md) - -## IExpressionLoaderParams.searchContext property - -Signature: - -```typescript -searchContext?: SerializableRecord; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchsessionid.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchsessionid.md deleted file mode 100644 index bb021b003f0d3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchsessionid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [searchSessionId](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.searchsessionid.md) - -## IExpressionLoaderParams.searchSessionId property - -Signature: - -```typescript -searchSessionId?: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.synccolors.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.synccolors.md deleted file mode 100644 index 619f54ad88ef2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.synccolors.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [syncColors](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.synccolors.md) - -## IExpressionLoaderParams.syncColors property - -Signature: - -```typescript -syncColors?: boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.throttle.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.throttle.md deleted file mode 100644 index 54949bbbd5dd6..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.throttle.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [throttle](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.throttle.md) - -## IExpressionLoaderParams.throttle property - -Throttling of partial results in milliseconds. 0 is disabling the throttling. By default, it equals 1000. - -Signature: - -```typescript -throttle?: number; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.uistate.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.uistate.md deleted file mode 100644 index dca5032dabc78..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.uistate.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [uiState](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.uistate.md) - -## IExpressionLoaderParams.uiState property - -Signature: - -```typescript -uiState?: unknown; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.variables.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.variables.md deleted file mode 100644 index 0a04671919bd0..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iexpressionloaderparams.variables.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) > [variables](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.variables.md) - -## IExpressionLoaderParams.variables property - -Signature: - -```typescript -variables?: Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.done.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.done.md deleted file mode 100644 index 533cf498d72cf..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.done.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) > [done](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.done.md) - -## IInterpreterRenderHandlers.done property - -Done increments the number of rendering successes - -Signature: - -```typescript -done: () => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.event.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.event.md deleted file mode 100644 index 476167965927d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.event.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) > [event](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.event.md) - -## IInterpreterRenderHandlers.event property - -Signature: - -```typescript -event: (event: any) => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.getrendermode.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.getrendermode.md deleted file mode 100644 index 8cddec1a5359c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.getrendermode.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) > [getRenderMode](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.getrendermode.md) - -## IInterpreterRenderHandlers.getRenderMode property - -Signature: - -```typescript -getRenderMode: () => RenderMode; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.hascompatibleactions.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.hascompatibleactions.md deleted file mode 100644 index d178af55ae2d9..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.hascompatibleactions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) > [hasCompatibleActions](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.hascompatibleactions.md) - -## IInterpreterRenderHandlers.hasCompatibleActions property - -Signature: - -```typescript -hasCompatibleActions?: (event: any) => Promise; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.issynccolorsenabled.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.issynccolorsenabled.md deleted file mode 100644 index 6cdc796bf464b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.issynccolorsenabled.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) > [isSyncColorsEnabled](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.issynccolorsenabled.md) - -## IInterpreterRenderHandlers.isSyncColorsEnabled property - -Signature: - -```typescript -isSyncColorsEnabled: () => boolean; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md deleted file mode 100644 index 0b39a9b4b3ea2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) - -## IInterpreterRenderHandlers interface - -Signature: - -```typescript -export interface IInterpreterRenderHandlers -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [done](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.done.md) | () => void | Done increments the number of rendering successes | -| [event](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.event.md) | (event: any) => void | | -| [getRenderMode](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.getrendermode.md) | () => RenderMode | | -| [hasCompatibleActions](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.hascompatibleactions.md) | (event: any) => Promise<boolean> | | -| [isSyncColorsEnabled](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.issynccolorsenabled.md) | () => boolean | | -| [onDestroy](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.ondestroy.md) | (fn: () => void) => void | | -| [reload](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.reload.md) | () => void | | -| [uiState](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.uistate.md) | unknown | This uiState interface is actually PersistedState from the visualizations plugin, but expressions cannot know about vis or it creates a mess of circular dependencies. Downstream consumers of the uiState handler will need to cast for now. | -| [update](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.update.md) | (params: any) => void | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.ondestroy.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.ondestroy.md deleted file mode 100644 index b68c2023fdc8a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.ondestroy.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) > [onDestroy](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.ondestroy.md) - -## IInterpreterRenderHandlers.onDestroy property - -Signature: - -```typescript -onDestroy: (fn: () => void) => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.reload.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.reload.md deleted file mode 100644 index 0acd440e84f12..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.reload.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) > [reload](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.reload.md) - -## IInterpreterRenderHandlers.reload property - -Signature: - -```typescript -reload: () => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.uistate.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.uistate.md deleted file mode 100644 index 461bf861d4d5e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.uistate.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) > [uiState](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.uistate.md) - -## IInterpreterRenderHandlers.uiState property - -This uiState interface is actually `PersistedState` from the visualizations plugin, but expressions cannot know about vis or it creates a mess of circular dependencies. Downstream consumers of the uiState handler will need to cast for now. - -Signature: - -```typescript -uiState?: unknown; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.update.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.update.md deleted file mode 100644 index 28fcb58fb3c10..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.update.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) > [update](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.update.md) - -## IInterpreterRenderHandlers.update property - -Signature: - -```typescript -update: (params: any) => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.interpretererrortype.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.interpretererrortype.md deleted file mode 100644 index 8cb346eda4d74..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.interpretererrortype.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [InterpreterErrorType](./kibana-plugin-plugins-expressions-public.interpretererrortype.md) - -## InterpreterErrorType type - -> Warning: This API is now obsolete. -> -> Exported for backwards compatibility. -> - -Signature: - -```typescript -export declare type InterpreterErrorType = ExpressionValueError; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.get.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.get.md deleted file mode 100644 index 9aa696869eaa3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.get.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IRegistry](./kibana-plugin-plugins-expressions-public.iregistry.md) > [get](./kibana-plugin-plugins-expressions-public.iregistry.get.md) - -## IRegistry.get() method - -Signature: - -```typescript -get(id: string): T | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`T | null` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.md deleted file mode 100644 index 64991d90f2ae0..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IRegistry](./kibana-plugin-plugins-expressions-public.iregistry.md) - -## IRegistry interface - -Signature: - -```typescript -export interface IRegistry -``` - -## Methods - -| Method | Description | -| --- | --- | -| [get(id)](./kibana-plugin-plugins-expressions-public.iregistry.get.md) | | -| [toArray()](./kibana-plugin-plugins-expressions-public.iregistry.toarray.md) | | -| [toJS()](./kibana-plugin-plugins-expressions-public.iregistry.tojs.md) | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.toarray.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.toarray.md deleted file mode 100644 index 36b16ca48323f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.toarray.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IRegistry](./kibana-plugin-plugins-expressions-public.iregistry.md) > [toArray](./kibana-plugin-plugins-expressions-public.iregistry.toarray.md) - -## IRegistry.toArray() method - -Signature: - -```typescript -toArray(): T[]; -``` -Returns: - -`T[]` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.tojs.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.tojs.md deleted file mode 100644 index 2f7a3597c1f02..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.iregistry.tojs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [IRegistry](./kibana-plugin-plugins-expressions-public.iregistry.md) > [toJS](./kibana-plugin-plugins-expressions-public.iregistry.tojs.md) - -## IRegistry.toJS() method - -Signature: - -```typescript -toJS(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.isexpressionastbuilder.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.isexpressionastbuilder.md deleted file mode 100644 index f35e7122caeb5..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.isexpressionastbuilder.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [isExpressionAstBuilder](./kibana-plugin-plugins-expressions-public.isexpressionastbuilder.md) - -## isExpressionAstBuilder() function - -Type guard that checks whether a given value is an `ExpressionAstExpressionBuilder`. This is useful when working with subexpressions, where you might be retrieving a function argument, and need to know whether it is an expression builder instance which you can perform operations on. - -Signature: - -```typescript -export declare function isExpressionAstBuilder(val: any): val is ExpressionAstExpressionBuilder; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| val | any | | - -Returns: - -`val is ExpressionAstExpressionBuilder` - -## Example - -const arg = myFunction.getArgument('foo'); if (isExpressionAstBuilder(foo)) { foo.toAst(); } - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.knowntypetostring.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.knowntypetostring.md deleted file mode 100644 index 39c24760ca6ca..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.knowntypetostring.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [KnownTypeToString](./kibana-plugin-plugins-expressions-public.knowntypetostring.md) - -## KnownTypeToString type - -Map the type of the generic to a string-based representation of the type. - -If the provided generic is its own type interface, we use the value of the `type` key as a string literal type for it. - -Signature: - -```typescript -export declare type KnownTypeToString = T extends string ? 'string' : T extends boolean ? 'boolean' : T extends number ? 'number' : T extends null ? 'null' : T extends { - type: string; -} ? T['type'] : never; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.md deleted file mode 100644 index 42990930d0bdf..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.md +++ /dev/null @@ -1,129 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) - -## kibana-plugin-plugins-expressions-public package - -## Classes - -| Class | Description | -| --- | --- | -| [Execution](./kibana-plugin-plugins-expressions-public.execution.md) | | -| [ExecutionContract](./kibana-plugin-plugins-expressions-public.executioncontract.md) | ExecutionContract is a wrapper around Execution class. It provides the same functionality but does not expose Expressions plugin internals. | -| [Executor](./kibana-plugin-plugins-expressions-public.executor.md) | | -| [ExpressionFunction](./kibana-plugin-plugins-expressions-public.expressionfunction.md) | | -| [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-public.expressionfunctionparameter.md) | | -| [ExpressionRenderer](./kibana-plugin-plugins-expressions-public.expressionrenderer.md) | | -| [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-public.expressionrendererregistry.md) | | -| [ExpressionRenderHandler](./kibana-plugin-plugins-expressions-public.expressionrenderhandler.md) | | -| [ExpressionsInspectorAdapter](./kibana-plugin-plugins-expressions-public.expressionsinspectoradapter.md) | | -| [ExpressionsPublicPlugin](./kibana-plugin-plugins-expressions-public.expressionspublicplugin.md) | | -| [ExpressionsService](./kibana-plugin-plugins-expressions-public.expressionsservice.md) | ExpressionsService class is used for multiple purposes:1. It implements the same Expressions service that can be used on both: (1) server-side and (2) browser-side. 2. It implements the same Expressions service that users can fork/clone, thus have their own instance of the Expressions plugin. 3. ExpressionsService defines the public contracts of \*setup\* and \*start\* Kibana Platform life-cycles for ease-of-use on server-side and browser-side. 4. ExpressionsService creates a bound version of all exported contract functions. 5. Functions are bound the way there are:\`\`\`ts registerFunction = (...args: Parameters<Executor\['registerFunction'\]> ): ReturnType<Executor\['registerFunction'\]> => this.executor.registerFunction(...args); \`\`\`so that JSDoc appears in developers IDE when they use those plugins.expressions.registerFunction(. | -| [ExpressionType](./kibana-plugin-plugins-expressions-public.expressiontype.md) | | -| [FunctionsRegistry](./kibana-plugin-plugins-expressions-public.functionsregistry.md) | | -| [TablesAdapter](./kibana-plugin-plugins-expressions-public.tablesadapter.md) | | -| [TypesRegistry](./kibana-plugin-plugins-expressions-public.typesregistry.md) | | - -## Enumerations - -| Enumeration | Description | -| --- | --- | -| [FontStyle](./kibana-plugin-plugins-expressions-public.fontstyle.md) | Enum of supported CSS font-style properties. | -| [FontWeight](./kibana-plugin-plugins-expressions-public.fontweight.md) | Enum of supported CSS font-weight properties. | -| [Overflow](./kibana-plugin-plugins-expressions-public.overflow.md) | Enum of supported CSS overflow properties. | -| [TextAlignment](./kibana-plugin-plugins-expressions-public.textalignment.md) | Enum of supported CSS text-align properties. | -| [TextDecoration](./kibana-plugin-plugins-expressions-public.textdecoration.md) | Enum of supported CSS text-decoration properties. | - -## Functions - -| Function | Description | -| --- | --- | -| [buildExpression(initialState)](./kibana-plugin-plugins-expressions-public.buildexpression.md) | Makes it easy to progressively build, update, and traverse an expression AST. You can either start with an empty AST, or provide an expression string, AST, or array of expression function builders to use as initial state. | -| [buildExpressionFunction(fnName, initialArgs)](./kibana-plugin-plugins-expressions-public.buildexpressionfunction.md) | Manages an AST for a single expression function. The return value can be provided to buildExpression to add this function to an expression.Note that to preserve type safety and ensure no args are missing, all required arguments for the specified function must be provided up front. If desired, they can be changed or removed later. | -| [format(ast, type)](./kibana-plugin-plugins-expressions-public.format.md) | | -| [formatExpression(ast)](./kibana-plugin-plugins-expressions-public.formatexpression.md) | Given expression pipeline AST, returns formatted string. | -| [isExpressionAstBuilder(val)](./kibana-plugin-plugins-expressions-public.isexpressionastbuilder.md) | Type guard that checks whether a given value is an ExpressionAstExpressionBuilder. This is useful when working with subexpressions, where you might be retrieving a function argument, and need to know whether it is an expression builder instance which you can perform operations on. | -| [parse(expression, startRule)](./kibana-plugin-plugins-expressions-public.parse.md) | | -| [parseExpression(expression)](./kibana-plugin-plugins-expressions-public.parseexpression.md) | Given expression pipeline string, returns parsed AST. | -| [plugin(initializerContext)](./kibana-plugin-plugins-expressions-public.plugin.md) | | - -## Interfaces - -| Interface | Description | -| --- | --- | -| [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md) | A Datatable in Canvas is a unique structure that represents tabulated data. | -| [DatatableColumn](./kibana-plugin-plugins-expressions-public.datatablecolumn.md) | This type represents the shape of a column in a Datatable. | -| [ExecutionContext](./kibana-plugin-plugins-expressions-public.executioncontext.md) | ExecutionContext is an object available to all functions during a single execution; it provides various methods to perform side-effects. | -| [ExecutionParams](./kibana-plugin-plugins-expressions-public.executionparams.md) | | -| [ExecutionState](./kibana-plugin-plugins-expressions-public.executionstate.md) | | -| [ExecutorState](./kibana-plugin-plugins-expressions-public.executorstate.md) | | -| [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-public.expressionastexpressionbuilder.md) | | -| [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-public.expressionastfunctionbuilder.md) | | -| [ExpressionExecutor](./kibana-plugin-plugins-expressions-public.expressionexecutor.md) | | -| [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinition.md) | ExpressionFunctionDefinition is the interface plugins have to implement to register a function in expressions plugin. | -| [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-public.expressionfunctiondefinitions.md) | A mapping of ExpressionFunctionDefinitions for functions which the Expressions services provides out-of-the-box. Any new functions registered by the Expressions plugin should have their types added here. | -| [ExpressionImage](./kibana-plugin-plugins-expressions-public.expressionimage.md) | | -| [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-public.expressionrenderdefinition.md) | | -| [ExpressionRendererEvent](./kibana-plugin-plugins-expressions-public.expressionrendererevent.md) | | -| [ExpressionRenderError](./kibana-plugin-plugins-expressions-public.expressionrendererror.md) | | -| [ExpressionsServiceStart](./kibana-plugin-plugins-expressions-public.expressionsservicestart.md) | The public contract that ExpressionsService provides to other plugins in Kibana Platform in \*start\* life-cycle. | -| [ExpressionsStart](./kibana-plugin-plugins-expressions-public.expressionsstart.md) | Expressions public start contrect, extends | -| [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.expressiontypedefinition.md) | A generic type which represents a custom Expression Type Definition that's registered to the Interpreter. | -| [ExpressionTypeStyle](./kibana-plugin-plugins-expressions-public.expressiontypestyle.md) | An object that represents style information, typically CSS. | -| [Font](./kibana-plugin-plugins-expressions-public.font.md) | An interface representing a font in Canvas, with a textual label and the CSS font-value. | -| [IExpressionLoaderParams](./kibana-plugin-plugins-expressions-public.iexpressionloaderparams.md) | | -| [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-public.iinterpreterrenderhandlers.md) | | -| [IRegistry](./kibana-plugin-plugins-expressions-public.iregistry.md) | | -| [PointSeriesColumn](./kibana-plugin-plugins-expressions-public.pointseriescolumn.md) | Column in a PointSeries | -| [Range](./kibana-plugin-plugins-expressions-public.range.md) | | -| [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) | | -| [SerializedDatatable](./kibana-plugin-plugins-expressions-public.serializeddatatable.md) | | -| [SerializedFieldFormat](./kibana-plugin-plugins-expressions-public.serializedfieldformat.md) | JSON representation of a field formatter configuration. Is used to carry information about how to format data in a data table as part of the column definition. | - -## Variables - -| Variable | Description | -| --- | --- | -| [createDefaultInspectorAdapters](./kibana-plugin-plugins-expressions-public.createdefaultinspectoradapters.md) | | -| [ReactExpressionRenderer](./kibana-plugin-plugins-expressions-public.reactexpressionrenderer.md) | | - -## Type Aliases - -| Type Alias | Description | -| --- | --- | -| [AnyExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.anyexpressionfunctiondefinition.md) | Type to capture every possible expression function definition. | -| [AnyExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.anyexpressiontypedefinition.md) | | -| [ArgumentType](./kibana-plugin-plugins-expressions-public.argumenttype.md) | This type represents all of the possible combinations of properties of an Argument in an Expression Function. The presence or absence of certain fields influence the shape and presence of others within each arg in the specification. | -| [DatatableColumnType](./kibana-plugin-plugins-expressions-public.datatablecolumntype.md) | This type represents the type of any DatatableColumn in a Datatable. its duplicated from KBN\_FIELD\_TYPES | -| [DatatableRow](./kibana-plugin-plugins-expressions-public.datatablerow.md) | This type represents a row in a Datatable. | -| [ExecutionContainer](./kibana-plugin-plugins-expressions-public.executioncontainer.md) | | -| [ExecutorContainer](./kibana-plugin-plugins-expressions-public.executorcontainer.md) | | -| [ExpressionAstArgument](./kibana-plugin-plugins-expressions-public.expressionastargument.md) | | -| [ExpressionAstExpression](./kibana-plugin-plugins-expressions-public.expressionastexpression.md) | | -| [ExpressionAstFunction](./kibana-plugin-plugins-expressions-public.expressionastfunction.md) | | -| [ExpressionAstNode](./kibana-plugin-plugins-expressions-public.expressionastnode.md) | | -| [ExpressionRendererComponent](./kibana-plugin-plugins-expressions-public.expressionrenderercomponent.md) | | -| [ExpressionsServiceSetup](./kibana-plugin-plugins-expressions-public.expressionsservicesetup.md) | The public contract that ExpressionsService provides to other plugins in Kibana Platform in \*setup\* life-cycle. | -| [ExpressionsSetup](./kibana-plugin-plugins-expressions-public.expressionssetup.md) | Expressions public setup contract, extends [ExpressionsServiceSetup](./kibana-plugin-plugins-expressions-public.expressionsservicesetup.md) | -| [ExpressionValue](./kibana-plugin-plugins-expressions-public.expressionvalue.md) | | -| [ExpressionValueBoxed](./kibana-plugin-plugins-expressions-public.expressionvalueboxed.md) | | -| [ExpressionValueConverter](./kibana-plugin-plugins-expressions-public.expressionvalueconverter.md) | | -| [ExpressionValueError](./kibana-plugin-plugins-expressions-public.expressionvalueerror.md) | | -| [ExpressionValueFilter](./kibana-plugin-plugins-expressions-public.expressionvaluefilter.md) | Represents an object that is a Filter. | -| [ExpressionValueNum](./kibana-plugin-plugins-expressions-public.expressionvaluenum.md) | | -| [ExpressionValueRender](./kibana-plugin-plugins-expressions-public.expressionvaluerender.md) | Represents an object that is intended to be rendered. | -| [ExpressionValueUnboxed](./kibana-plugin-plugins-expressions-public.expressionvalueunboxed.md) | | -| [FontLabel](./kibana-plugin-plugins-expressions-public.fontlabel.md) | This type contains a unions of all supported font labels, or the the name of the font the user would see in a UI. | -| [FontValue](./kibana-plugin-plugins-expressions-public.fontvalue.md) | This type contains a union of all supported font values, equivalent to the CSS font-value property. | -| [InterpreterErrorType](./kibana-plugin-plugins-expressions-public.interpretererrortype.md) | | -| [KnownTypeToString](./kibana-plugin-plugins-expressions-public.knowntypetostring.md) | Map the type of the generic to a string-based representation of the type.If the provided generic is its own type interface, we use the value of the type key as a string literal type for it. | -| [PointSeries](./kibana-plugin-plugins-expressions-public.pointseries.md) | A PointSeries is a unique structure that represents dots on a chart. | -| [PointSeriesColumnName](./kibana-plugin-plugins-expressions-public.pointseriescolumnname.md) | Allowed column names in a PointSeries | -| [PointSeriesColumns](./kibana-plugin-plugins-expressions-public.pointseriescolumns.md) | Represents a collection of valid Columns in a PointSeries | -| [PointSeriesRow](./kibana-plugin-plugins-expressions-public.pointseriesrow.md) | | -| [ReactExpressionRendererType](./kibana-plugin-plugins-expressions-public.reactexpressionrenderertype.md) | | -| [Style](./kibana-plugin-plugins-expressions-public.style.md) | | -| [TypeString](./kibana-plugin-plugins-expressions-public.typestring.md) | If the type extends a Promise, we still need to return the string representation:someArgument: Promise<boolean | string> results in types: ['boolean', 'string'] | -| [TypeToString](./kibana-plugin-plugins-expressions-public.typetostring.md) | This can convert a type into a known Expression string representation of that type. For example, TypeToString<Datatable> will resolve to 'datatable'. This allows Expression Functions to continue to specify their type in a simple string format. | -| [UnmappedTypeStrings](./kibana-plugin-plugins-expressions-public.unmappedtypestrings.md) | Types used in Expressions that don't map to a primitive cleanly:date is typed as a number or string, and represents a date | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.overflow.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.overflow.md deleted file mode 100644 index e33f1554a23d3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.overflow.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Overflow](./kibana-plugin-plugins-expressions-public.overflow.md) - -## Overflow enum - -Enum of supported CSS `overflow` properties. - -Signature: - -```typescript -export declare enum Overflow -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| AUTO | "auto" | | -| HIDDEN | "hidden" | | -| SCROLL | "scroll" | | -| VISIBLE | "visible" | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.parse.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.parse.md deleted file mode 100644 index 0cbc2c15b6f54..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.parse.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [parse](./kibana-plugin-plugins-expressions-public.parse.md) - -## parse() function - -Signature: - -```typescript -export declare function parse(expression: E, startRule: S): S extends 'expression' ? ExpressionAstExpression : ExpressionAstArgument; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| expression | E | | -| startRule | S | | - -Returns: - -`S extends 'expression' ? ExpressionAstExpression : ExpressionAstArgument` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.parseexpression.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.parseexpression.md deleted file mode 100644 index c4474b150dcc2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.parseexpression.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [parseExpression](./kibana-plugin-plugins-expressions-public.parseexpression.md) - -## parseExpression() function - -Given expression pipeline string, returns parsed AST. - -Signature: - -```typescript -export declare function parseExpression(expression: string): ExpressionAstExpression; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| expression | string | | - -Returns: - -`ExpressionAstExpression` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.plugin.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.plugin.md deleted file mode 100644 index ef707992a0a54..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.plugin.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [plugin](./kibana-plugin-plugins-expressions-public.plugin.md) - -## plugin() function - -Signature: - -```typescript -export declare function plugin(initializerContext: PluginInitializerContext): ExpressionsPublicPlugin; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initializerContext | PluginInitializerContext | | - -Returns: - -`ExpressionsPublicPlugin` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseries.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseries.md deleted file mode 100644 index 14ba955ac2cc2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseries.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [PointSeries](./kibana-plugin-plugins-expressions-public.pointseries.md) - -## PointSeries type - -A `PointSeries` is a unique structure that represents dots on a chart. - -Signature: - -```typescript -export declare type PointSeries = ExpressionValueBoxed<'pointseries', { - columns: PointSeriesColumns; - rows: PointSeriesRow[]; -}>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.expression.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.expression.md deleted file mode 100644 index 5c034265f4f94..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.expression.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [PointSeriesColumn](./kibana-plugin-plugins-expressions-public.pointseriescolumn.md) > [expression](./kibana-plugin-plugins-expressions-public.pointseriescolumn.expression.md) - -## PointSeriesColumn.expression property - -Signature: - -```typescript -expression: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.md deleted file mode 100644 index 09ce5444caabf..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [PointSeriesColumn](./kibana-plugin-plugins-expressions-public.pointseriescolumn.md) - -## PointSeriesColumn interface - -Column in a PointSeries - -Signature: - -```typescript -export interface PointSeriesColumn -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [expression](./kibana-plugin-plugins-expressions-public.pointseriescolumn.expression.md) | string | | -| [role](./kibana-plugin-plugins-expressions-public.pointseriescolumn.role.md) | 'measure' | 'dimension' | | -| [type](./kibana-plugin-plugins-expressions-public.pointseriescolumn.type.md) | 'number' | 'string' | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.role.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.role.md deleted file mode 100644 index 715f66a43cd62..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.role.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [PointSeriesColumn](./kibana-plugin-plugins-expressions-public.pointseriescolumn.md) > [role](./kibana-plugin-plugins-expressions-public.pointseriescolumn.role.md) - -## PointSeriesColumn.role property - -Signature: - -```typescript -role: 'measure' | 'dimension'; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.type.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.type.md deleted file mode 100644 index 36a8128967cdd..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumn.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [PointSeriesColumn](./kibana-plugin-plugins-expressions-public.pointseriescolumn.md) > [type](./kibana-plugin-plugins-expressions-public.pointseriescolumn.type.md) - -## PointSeriesColumn.type property - -Signature: - -```typescript -type: 'number' | 'string'; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumnname.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumnname.md deleted file mode 100644 index bc39c694307c0..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumnname.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [PointSeriesColumnName](./kibana-plugin-plugins-expressions-public.pointseriescolumnname.md) - -## PointSeriesColumnName type - -Allowed column names in a PointSeries - -Signature: - -```typescript -export declare type PointSeriesColumnName = 'x' | 'y' | 'color' | 'size' | 'text'; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumns.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumns.md deleted file mode 100644 index c920a254645bd..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriescolumns.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [PointSeriesColumns](./kibana-plugin-plugins-expressions-public.pointseriescolumns.md) - -## PointSeriesColumns type - -Represents a collection of valid Columns in a PointSeries - -Signature: - -```typescript -export declare type PointSeriesColumns = Record | {}; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriesrow.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriesrow.md deleted file mode 100644 index 6e3b29572b6f4..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.pointseriesrow.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [PointSeriesRow](./kibana-plugin-plugins-expressions-public.pointseriesrow.md) - -## PointSeriesRow type - -Signature: - -```typescript -export declare type PointSeriesRow = Record; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.from.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.from.md deleted file mode 100644 index 5113a798864e9..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.from.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Range](./kibana-plugin-plugins-expressions-public.range.md) > [from](./kibana-plugin-plugins-expressions-public.range.from.md) - -## Range.from property - -Signature: - -```typescript -from: number; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.label.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.label.md deleted file mode 100644 index 26d1e7810f9e7..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.label.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Range](./kibana-plugin-plugins-expressions-public.range.md) > [label](./kibana-plugin-plugins-expressions-public.range.label.md) - -## Range.label property - -Signature: - -```typescript -label?: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.md deleted file mode 100644 index 83d4b9bd35090..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Range](./kibana-plugin-plugins-expressions-public.range.md) - -## Range interface - -Signature: - -```typescript -export interface Range -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [from](./kibana-plugin-plugins-expressions-public.range.from.md) | number | | -| [label](./kibana-plugin-plugins-expressions-public.range.label.md) | string | | -| [to](./kibana-plugin-plugins-expressions-public.range.to.md) | number | | -| [type](./kibana-plugin-plugins-expressions-public.range.type.md) | typeof name | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.to.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.to.md deleted file mode 100644 index bd79997e65fc7..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.to.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Range](./kibana-plugin-plugins-expressions-public.range.md) > [to](./kibana-plugin-plugins-expressions-public.range.to.md) - -## Range.to property - -Signature: - -```typescript -to: number; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.type.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.type.md deleted file mode 100644 index 4d5476516655d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.range.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Range](./kibana-plugin-plugins-expressions-public.range.md) > [type](./kibana-plugin-plugins-expressions-public.range.type.md) - -## Range.type property - -Signature: - -```typescript -type: typeof name; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrenderer.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrenderer.md deleted file mode 100644 index 8cc32ff698b38..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrenderer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRenderer](./kibana-plugin-plugins-expressions-public.reactexpressionrenderer.md) - -## ReactExpressionRenderer variable - -Signature: - -```typescript -ReactExpressionRenderer: ({ className, dataAttrs, padding, renderError, expression, onEvent, onData$, reload$, debounce, ...expressionLoaderOptions }: ReactExpressionRendererProps) => JSX.Element -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.classname.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.classname.md deleted file mode 100644 index b5b1391ae72fd..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.classname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) > [className](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.classname.md) - -## ReactExpressionRendererProps.className property - -Signature: - -```typescript -className?: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.dataattrs.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.dataattrs.md deleted file mode 100644 index a0914ce37299f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.dataattrs.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) > [dataAttrs](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.dataattrs.md) - -## ReactExpressionRendererProps.dataAttrs property - -Signature: - -```typescript -dataAttrs?: string[]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.debounce.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.debounce.md deleted file mode 100644 index 3f7eb12fbb7a8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.debounce.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) > [debounce](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.debounce.md) - -## ReactExpressionRendererProps.debounce property - -Signature: - -```typescript -debounce?: number; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.expression.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.expression.md deleted file mode 100644 index 21f4294db5aeb..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.expression.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) > [expression](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.expression.md) - -## ReactExpressionRendererProps.expression property - -Signature: - -```typescript -expression: string | ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md deleted file mode 100644 index d38027753a6ff..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) - -## ReactExpressionRendererProps interface - -Signature: - -```typescript -export interface ReactExpressionRendererProps extends IExpressionLoaderParams -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [className](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.classname.md) | string | | -| [dataAttrs](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.dataattrs.md) | string[] | | -| [debounce](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.debounce.md) | number | | -| [expression](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.expression.md) | string | ExpressionAstExpression | | -| [onData$](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.ondata_.md) | <TData, TInspectorAdapters>(data: TData, adapters?: TInspectorAdapters, partial?: boolean) => void | | -| [onEvent](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.onevent.md) | (event: ExpressionRendererEvent) => void | | -| [padding](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.padding.md) | 'xs' | 's' | 'm' | 'l' | 'xl' | | -| [reload$](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.reload_.md) | Observable<unknown> | An observable which can be used to re-run the expression without destroying the component | -| [renderError](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.rendererror.md) | (message?: string | null, error?: ExpressionRenderError | null) => React.ReactElement | React.ReactElement[] | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.ondata_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.ondata_.md deleted file mode 100644 index 47559d0f7653c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.ondata_.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) > [onData$](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.ondata_.md) - -## ReactExpressionRendererProps.onData$ property - -Signature: - -```typescript -onData$?: (data: TData, adapters?: TInspectorAdapters, partial?: boolean) => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.onevent.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.onevent.md deleted file mode 100644 index 4fe1e158df1b8..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.onevent.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) > [onEvent](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.onevent.md) - -## ReactExpressionRendererProps.onEvent property - -Signature: - -```typescript -onEvent?: (event: ExpressionRendererEvent) => void; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.padding.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.padding.md deleted file mode 100644 index 47a23f5c1088b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.padding.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) > [padding](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.padding.md) - -## ReactExpressionRendererProps.padding property - -Signature: - -```typescript -padding?: 'xs' | 's' | 'm' | 'l' | 'xl'; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.reload_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.reload_.md deleted file mode 100644 index a7991d559377d..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.reload_.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) > [reload$](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.reload_.md) - -## ReactExpressionRendererProps.reload$ property - -An observable which can be used to re-run the expression without destroying the component - -Signature: - -```typescript -reload$?: Observable; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.rendererror.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.rendererror.md deleted file mode 100644 index 162d0da04ae7f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.rendererror.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererProps](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.md) > [renderError](./kibana-plugin-plugins-expressions-public.reactexpressionrendererprops.rendererror.md) - -## ReactExpressionRendererProps.renderError property - -Signature: - -```typescript -renderError?: (message?: string | null, error?: ExpressionRenderError | null) => React.ReactElement | React.ReactElement[]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrenderertype.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrenderertype.md deleted file mode 100644 index 4ca56d534b84a..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.reactexpressionrenderertype.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [ReactExpressionRendererType](./kibana-plugin-plugins-expressions-public.reactexpressionrenderertype.md) - -## ReactExpressionRendererType type - -Signature: - -```typescript -export declare type ReactExpressionRendererType = React.ComponentType; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializeddatatable.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializeddatatable.md deleted file mode 100644 index 632cd1de2a0c2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializeddatatable.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [SerializedDatatable](./kibana-plugin-plugins-expressions-public.serializeddatatable.md) - -## SerializedDatatable interface - -Signature: - -```typescript -export interface SerializedDatatable extends Datatable -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [rows](./kibana-plugin-plugins-expressions-public.serializeddatatable.rows.md) | string[][] | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializeddatatable.rows.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializeddatatable.rows.md deleted file mode 100644 index 00d4323ae7025..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializeddatatable.rows.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [SerializedDatatable](./kibana-plugin-plugins-expressions-public.serializeddatatable.md) > [rows](./kibana-plugin-plugins-expressions-public.serializeddatatable.rows.md) - -## SerializedDatatable.rows property - -Signature: - -```typescript -rows: string[][]; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.id.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.id.md deleted file mode 100644 index 40a45d50e9b19..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [SerializedFieldFormat](./kibana-plugin-plugins-expressions-public.serializedfieldformat.md) > [id](./kibana-plugin-plugins-expressions-public.serializedfieldformat.id.md) - -## SerializedFieldFormat.id property - -Signature: - -```typescript -id?: string; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.md deleted file mode 100644 index 74fa132ec1189..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [SerializedFieldFormat](./kibana-plugin-plugins-expressions-public.serializedfieldformat.md) - -## SerializedFieldFormat interface - -JSON representation of a field formatter configuration. Is used to carry information about how to format data in a data table as part of the column definition. - -Signature: - -```typescript -export interface SerializedFieldFormat> -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-expressions-public.serializedfieldformat.id.md) | string | | -| [params](./kibana-plugin-plugins-expressions-public.serializedfieldformat.params.md) | TParams | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.params.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.params.md deleted file mode 100644 index 32d7e54cbc884..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.serializedfieldformat.params.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [SerializedFieldFormat](./kibana-plugin-plugins-expressions-public.serializedfieldformat.md) > [params](./kibana-plugin-plugins-expressions-public.serializedfieldformat.params.md) - -## SerializedFieldFormat.params property - -Signature: - -```typescript -params?: TParams; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.style.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.style.md deleted file mode 100644 index f42df4b8b314e..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.style.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [Style](./kibana-plugin-plugins-expressions-public.style.md) - -## Style type - -Signature: - -```typescript -export declare type Style = ExpressionTypeStyle; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.logdatatable.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.logdatatable.md deleted file mode 100644 index 281f48918416b..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.logdatatable.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TablesAdapter](./kibana-plugin-plugins-expressions-public.tablesadapter.md) > [logDatatable](./kibana-plugin-plugins-expressions-public.tablesadapter.logdatatable.md) - -## TablesAdapter.logDatatable() method - -Signature: - -```typescript -logDatatable(name: string, datatable: Datatable): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | -| datatable | Datatable | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.md deleted file mode 100644 index c489eff4cc252..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TablesAdapter](./kibana-plugin-plugins-expressions-public.tablesadapter.md) - -## TablesAdapter class - -Signature: - -```typescript -export declare class TablesAdapter extends EventEmitter -``` - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [tables](./kibana-plugin-plugins-expressions-public.tablesadapter.tables.md) | | {
[key: string]: Datatable;
} | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [logDatatable(name, datatable)](./kibana-plugin-plugins-expressions-public.tablesadapter.logdatatable.md) | | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.tables.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.tables.md deleted file mode 100644 index ef5ada66e50b3..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.tablesadapter.tables.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TablesAdapter](./kibana-plugin-plugins-expressions-public.tablesadapter.md) > [tables](./kibana-plugin-plugins-expressions-public.tablesadapter.tables.md) - -## TablesAdapter.tables property - -Signature: - -```typescript -get tables(): { - [key: string]: Datatable; - }; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.textalignment.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.textalignment.md deleted file mode 100644 index 351a7ba6e1f27..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.textalignment.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TextAlignment](./kibana-plugin-plugins-expressions-public.textalignment.md) - -## TextAlignment enum - -Enum of supported CSS `text-align` properties. - -Signature: - -```typescript -export declare enum TextAlignment -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| CENTER | "center" | | -| JUSTIFY | "justify" | | -| LEFT | "left" | | -| RIGHT | "right" | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.textdecoration.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.textdecoration.md deleted file mode 100644 index 3cd8e89f4cd8c..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.textdecoration.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TextDecoration](./kibana-plugin-plugins-expressions-public.textdecoration.md) - -## TextDecoration enum - -Enum of supported CSS `text-decoration` properties. - -Signature: - -```typescript -export declare enum TextDecoration -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| NONE | "none" | | -| UNDERLINE | "underline" | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry._constructor_.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry._constructor_.md deleted file mode 100644 index 856bf2bf05ad1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-public.typesregistry.md) > [(constructor)](./kibana-plugin-plugins-expressions-public.typesregistry._constructor_.md) - -## TypesRegistry.(constructor) - -Constructs a new instance of the `TypesRegistry` class - -Signature: - -```typescript -constructor(executor: Executor); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| executor | Executor<any> | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.get.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.get.md deleted file mode 100644 index f83e7435485c5..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.get.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-public.typesregistry.md) > [get](./kibana-plugin-plugins-expressions-public.typesregistry.get.md) - -## TypesRegistry.get() method - -Signature: - -```typescript -get(id: string): ExpressionType | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`ExpressionType | null` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.md deleted file mode 100644 index f1f386ec4210f..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-public.typesregistry.md) - -## TypesRegistry class - -Signature: - -```typescript -export declare class TypesRegistry implements IRegistry -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(executor)](./kibana-plugin-plugins-expressions-public.typesregistry._constructor_.md) | | Constructs a new instance of the TypesRegistry class | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [get(id)](./kibana-plugin-plugins-expressions-public.typesregistry.get.md) | | | -| [register(typeDefinition)](./kibana-plugin-plugins-expressions-public.typesregistry.register.md) | | | -| [toArray()](./kibana-plugin-plugins-expressions-public.typesregistry.toarray.md) | | | -| [toJS()](./kibana-plugin-plugins-expressions-public.typesregistry.tojs.md) | | | - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.register.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.register.md deleted file mode 100644 index b328f26aa50e2..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.register.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-public.typesregistry.md) > [register](./kibana-plugin-plugins-expressions-public.typesregistry.register.md) - -## TypesRegistry.register() method - -Signature: - -```typescript -register(typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| typeDefinition | AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition) | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.toarray.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.toarray.md deleted file mode 100644 index 2e9c8799cbd61..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.toarray.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-public.typesregistry.md) > [toArray](./kibana-plugin-plugins-expressions-public.typesregistry.toarray.md) - -## TypesRegistry.toArray() method - -Signature: - -```typescript -toArray(): ExpressionType[]; -``` -Returns: - -`ExpressionType[]` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.tojs.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.tojs.md deleted file mode 100644 index 14a22a890f0d1..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typesregistry.tojs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-public.typesregistry.md) > [toJS](./kibana-plugin-plugins-expressions-public.typesregistry.tojs.md) - -## TypesRegistry.toJS() method - -Signature: - -```typescript -toJS(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typestring.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typestring.md deleted file mode 100644 index 08dc2d6208d34..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typestring.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TypeString](./kibana-plugin-plugins-expressions-public.typestring.md) - -## TypeString type - -If the type extends a Promise, we still need to return the string representation: - -`someArgument: Promise` results in `types: ['boolean', 'string']` - -Signature: - -```typescript -export declare type TypeString = KnownTypeToString ? UnwrapObservable : UnwrapPromiseOrReturn>; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typetostring.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typetostring.md deleted file mode 100644 index 78f350a0c06ec..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.typetostring.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [TypeToString](./kibana-plugin-plugins-expressions-public.typetostring.md) - -## TypeToString type - -This can convert a type into a known Expression string representation of that type. For example, `TypeToString` will resolve to `'datatable'`. This allows Expression Functions to continue to specify their type in a simple string format. - -Signature: - -```typescript -export declare type TypeToString = KnownTypeToString | UnmappedTypeStrings; -``` diff --git a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.unmappedtypestrings.md b/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.unmappedtypestrings.md deleted file mode 100644 index 6455d6520bcec..0000000000000 --- a/docs/development/plugins/expressions/public/kibana-plugin-plugins-expressions-public.unmappedtypestrings.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) > [UnmappedTypeStrings](./kibana-plugin-plugins-expressions-public.unmappedtypestrings.md) - -## UnmappedTypeStrings type - -Types used in Expressions that don't map to a primitive cleanly: - -`date` is typed as a number or string, and represents a date - -Signature: - -```typescript -export declare type UnmappedTypeStrings = 'date' | 'filter'; -``` diff --git a/docs/development/plugins/expressions/server/index.md b/docs/development/plugins/expressions/server/index.md deleted file mode 100644 index 8c35c1631ba04..0000000000000 --- a/docs/development/plugins/expressions/server/index.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) - -## API Reference - -## Packages - -| Package | Description | -| --- | --- | -| [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.anyexpressionfunctiondefinition.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.anyexpressionfunctiondefinition.md deleted file mode 100644 index 04e652a66aa5c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.anyexpressionfunctiondefinition.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [AnyExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.anyexpressionfunctiondefinition.md) - -## AnyExpressionFunctionDefinition type - -Type to capture every possible expression function definition. - -Signature: - -```typescript -export declare type AnyExpressionFunctionDefinition = ExpressionFunctionDefinition, any>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.anyexpressiontypedefinition.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.anyexpressiontypedefinition.md deleted file mode 100644 index c28e1aa411a34..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.anyexpressiontypedefinition.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [AnyExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.anyexpressiontypedefinition.md) - -## AnyExpressionTypeDefinition type - -Signature: - -```typescript -export declare type AnyExpressionTypeDefinition = ExpressionTypeDefinition; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.argumenttype.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.argumenttype.md deleted file mode 100644 index 360b8999f2053..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.argumenttype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ArgumentType](./kibana-plugin-plugins-expressions-server.argumenttype.md) - -## ArgumentType type - -This type represents all of the possible combinations of properties of an Argument in an Expression Function. The presence or absence of certain fields influence the shape and presence of others within each `arg` in the specification. - -Signature: - -```typescript -export declare type ArgumentType = SingleArgumentType | MultipleArgumentType | UnresolvedSingleArgumentType | UnresolvedMultipleArgumentType; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.buildexpression.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.buildexpression.md deleted file mode 100644 index 2e84c2b706bfc..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.buildexpression.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [buildExpression](./kibana-plugin-plugins-expressions-server.buildexpression.md) - -## buildExpression() function - -Makes it easy to progressively build, update, and traverse an expression AST. You can either start with an empty AST, or provide an expression string, AST, or array of expression function builders to use as initial state. - -Signature: - -```typescript -export declare function buildExpression(initialState?: ExpressionAstFunctionBuilder[] | ExpressionAstExpression | string): ExpressionAstExpressionBuilder; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initialState | ExpressionAstFunctionBuilder[] | ExpressionAstExpression | string | | - -Returns: - -`ExpressionAstExpressionBuilder` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.buildexpressionfunction.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.buildexpressionfunction.md deleted file mode 100644 index 8fe851cdc64c4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.buildexpressionfunction.md +++ /dev/null @@ -1,30 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [buildExpressionFunction](./kibana-plugin-plugins-expressions-server.buildexpressionfunction.md) - -## buildExpressionFunction() function - -Manages an AST for a single expression function. The return value can be provided to `buildExpression` to add this function to an expression. - -Note that to preserve type safety and ensure no args are missing, all required arguments for the specified function must be provided up front. If desired, they can be changed or removed later. - -Signature: - -```typescript -export declare function buildExpressionFunction(fnName: InferFunctionDefinition['name'], -initialArgs: { - [K in keyof FunctionArgs]: FunctionArgs[K] | ExpressionAstExpressionBuilder | ExpressionAstExpressionBuilder[] | ExpressionAstExpression | ExpressionAstExpression[]; -}): ExpressionAstFunctionBuilder; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fnName | InferFunctionDefinition<FnDef>['name'] | | -| initialArgs | {
[K in keyof FunctionArgs<FnDef>]: FunctionArgs<FnDef>[K] | ExpressionAstExpressionBuilder | ExpressionAstExpressionBuilder[] | ExpressionAstExpression | ExpressionAstExpression[];
} | | - -Returns: - -`ExpressionAstFunctionBuilder` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.columns.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.columns.md deleted file mode 100644 index 1bd089af13c6c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.columns.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Datatable](./kibana-plugin-plugins-expressions-server.datatable.md) > [columns](./kibana-plugin-plugins-expressions-server.datatable.columns.md) - -## Datatable.columns property - -Signature: - -```typescript -columns: DatatableColumn[]; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.md deleted file mode 100644 index 7dc2ab2596e12..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Datatable](./kibana-plugin-plugins-expressions-server.datatable.md) - -## Datatable interface - -A `Datatable` in Canvas is a unique structure that represents tabulated data. - -Signature: - -```typescript -export interface Datatable -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [columns](./kibana-plugin-plugins-expressions-server.datatable.columns.md) | DatatableColumn[] | | -| [rows](./kibana-plugin-plugins-expressions-server.datatable.rows.md) | DatatableRow[] | | -| [type](./kibana-plugin-plugins-expressions-server.datatable.type.md) | typeof name | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.rows.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.rows.md deleted file mode 100644 index 75bd8e2f56bde..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.rows.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Datatable](./kibana-plugin-plugins-expressions-server.datatable.md) > [rows](./kibana-plugin-plugins-expressions-server.datatable.rows.md) - -## Datatable.rows property - -Signature: - -```typescript -rows: DatatableRow[]; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.type.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.type.md deleted file mode 100644 index bcd250c5a9f9e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatable.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Datatable](./kibana-plugin-plugins-expressions-server.datatable.md) > [type](./kibana-plugin-plugins-expressions-server.datatable.type.md) - -## Datatable.type property - -Signature: - -```typescript -type: typeof name; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.id.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.id.md deleted file mode 100644 index 1f246825fa30a..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [DatatableColumn](./kibana-plugin-plugins-expressions-server.datatablecolumn.md) > [id](./kibana-plugin-plugins-expressions-server.datatablecolumn.id.md) - -## DatatableColumn.id property - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.md deleted file mode 100644 index 662f65d6fad21..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [DatatableColumn](./kibana-plugin-plugins-expressions-server.datatablecolumn.md) - -## DatatableColumn interface - -This type represents the shape of a column in a `Datatable`. - -Signature: - -```typescript -export interface DatatableColumn -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-expressions-server.datatablecolumn.id.md) | string | | -| [meta](./kibana-plugin-plugins-expressions-server.datatablecolumn.meta.md) | DatatableColumnMeta | | -| [name](./kibana-plugin-plugins-expressions-server.datatablecolumn.name.md) | string | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.meta.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.meta.md deleted file mode 100644 index ef47c67a8d606..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.meta.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [DatatableColumn](./kibana-plugin-plugins-expressions-server.datatablecolumn.md) > [meta](./kibana-plugin-plugins-expressions-server.datatablecolumn.meta.md) - -## DatatableColumn.meta property - -Signature: - -```typescript -meta: DatatableColumnMeta; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.name.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.name.md deleted file mode 100644 index 112b4ac3b9941..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumn.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [DatatableColumn](./kibana-plugin-plugins-expressions-server.datatablecolumn.md) > [name](./kibana-plugin-plugins-expressions-server.datatablecolumn.name.md) - -## DatatableColumn.name property - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumntype.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumntype.md deleted file mode 100644 index dc98acffa1236..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablecolumntype.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [DatatableColumnType](./kibana-plugin-plugins-expressions-server.datatablecolumntype.md) - -## DatatableColumnType type - -This type represents the `type` of any `DatatableColumn` in a `Datatable`. its duplicated from KBN\_FIELD\_TYPES - -Signature: - -```typescript -export declare type DatatableColumnType = '_source' | 'attachment' | 'boolean' | 'date' | 'geo_point' | 'geo_shape' | 'ip' | 'murmur3' | 'number' | 'string' | 'unknown' | 'conflict' | 'object' | 'nested' | 'histogram' | 'null'; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablerow.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablerow.md deleted file mode 100644 index 56ef342b22a28..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.datatablerow.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [DatatableRow](./kibana-plugin-plugins-expressions-server.datatablerow.md) - -## DatatableRow type - -This type represents a row in a `Datatable`. - -Signature: - -```typescript -export declare type DatatableRow = Record; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution._constructor_.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution._constructor_.md deleted file mode 100644 index f24aae8603b7d..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [(constructor)](./kibana-plugin-plugins-expressions-server.execution._constructor_.md) - -## Execution.(constructor) - -Constructs a new instance of the `Execution` class - -Signature: - -```typescript -constructor(execution: ExecutionParams); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| execution | ExecutionParams | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.cancel.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.cancel.md deleted file mode 100644 index 2ee091da80504..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.cancel.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [cancel](./kibana-plugin-plugins-expressions-server.execution.cancel.md) - -## Execution.cancel() method - -Stop execution of expression. - -Signature: - -```typescript -cancel(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.cast.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.cast.md deleted file mode 100644 index 22b876332efb4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.cast.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [cast](./kibana-plugin-plugins-expressions-server.execution.cast.md) - -## Execution.cast() method - -Signature: - -```typescript -cast(value: any, toTypeNames?: string[]): any; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| value | any | | -| toTypeNames | string[] | | - -Returns: - -`any` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.context.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.context.md deleted file mode 100644 index 65c7bdca0fe5d..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.context.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [context](./kibana-plugin-plugins-expressions-server.execution.context.md) - -## Execution.context property - -Execution context - object that allows to do side-effects. Context is passed to every function. - -Signature: - -```typescript -readonly context: ExecutionContext; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.contract.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.contract.md deleted file mode 100644 index 2fc6a38997f77..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.contract.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [contract](./kibana-plugin-plugins-expressions-server.execution.contract.md) - -## Execution.contract property - -Contract is a public representation of `Execution` instances. Contract we can return to other plugins for their consumption. - -Signature: - -```typescript -readonly contract: ExecutionContract; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.execution.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.execution.md deleted file mode 100644 index acaccdeab7321..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.execution.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [execution](./kibana-plugin-plugins-expressions-server.execution.execution.md) - -## Execution.execution property - -Signature: - -```typescript -readonly execution: ExecutionParams; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.expression.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.expression.md deleted file mode 100644 index 0487378ce1bba..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.expression.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [expression](./kibana-plugin-plugins-expressions-server.execution.expression.md) - -## Execution.expression property - -Signature: - -```typescript -readonly expression: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.input.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.input.md deleted file mode 100644 index ea411523a2b0b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.input.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [input](./kibana-plugin-plugins-expressions-server.execution.input.md) - -## Execution.input property - -Initial input of the execution. - -N.B. It is initialized to `null` rather than `undefined` for legacy reasons, because in legacy interpreter it was set to `null` by default. - -Signature: - -```typescript -input: Input; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.inspectoradapters.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.inspectoradapters.md deleted file mode 100644 index 99bcca267f8ed..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.inspectoradapters.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [inspectorAdapters](./kibana-plugin-plugins-expressions-server.execution.inspectoradapters.md) - -## Execution.inspectorAdapters property - -Signature: - -```typescript -get inspectorAdapters(): InspectorAdapters; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.interpret.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.interpret.md deleted file mode 100644 index 99804dd20841d..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.interpret.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [interpret](./kibana-plugin-plugins-expressions-server.execution.interpret.md) - -## Execution.interpret() method - -Signature: - -```typescript -interpret(ast: ExpressionAstNode, input: T): Observable>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | ExpressionAstNode | | -| input | T | | - -Returns: - -`Observable>` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.invokechain.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.invokechain.md deleted file mode 100644 index 003702ff845b2..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.invokechain.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [invokeChain](./kibana-plugin-plugins-expressions-server.execution.invokechain.md) - -## Execution.invokeChain() method - -Signature: - -```typescript -invokeChain(chainArr: ExpressionAstFunction[], input: unknown): Observable; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| chainArr | ExpressionAstFunction[] | | -| input | unknown | | - -Returns: - -`Observable` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.invokefunction.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.invokefunction.md deleted file mode 100644 index 91839172c31f4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.invokefunction.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [invokeFunction](./kibana-plugin-plugins-expressions-server.execution.invokefunction.md) - -## Execution.invokeFunction() method - -Signature: - -```typescript -invokeFunction(fn: ExpressionFunction, input: unknown, args: Record): Observable; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fn | ExpressionFunction | | -| input | unknown | | -| args | Record<string, unknown> | | - -Returns: - -`Observable` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.md deleted file mode 100644 index 44d16ea02e270..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.md +++ /dev/null @@ -1,43 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) - -## Execution class - -Signature: - -```typescript -export declare class Execution -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(execution)](./kibana-plugin-plugins-expressions-server.execution._constructor_.md) | | Constructs a new instance of the Execution class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [context](./kibana-plugin-plugins-expressions-server.execution.context.md) | | ExecutionContext<InspectorAdapters> | Execution context - object that allows to do side-effects. Context is passed to every function. | -| [contract](./kibana-plugin-plugins-expressions-server.execution.contract.md) | | ExecutionContract<Input, Output, InspectorAdapters> | Contract is a public representation of Execution instances. Contract we can return to other plugins for their consumption. | -| [execution](./kibana-plugin-plugins-expressions-server.execution.execution.md) | | ExecutionParams | | -| [expression](./kibana-plugin-plugins-expressions-server.execution.expression.md) | | string | | -| [input](./kibana-plugin-plugins-expressions-server.execution.input.md) | | Input | Initial input of the execution.N.B. It is initialized to null rather than undefined for legacy reasons, because in legacy interpreter it was set to null by default. | -| [inspectorAdapters](./kibana-plugin-plugins-expressions-server.execution.inspectoradapters.md) | | InspectorAdapters | | -| [result](./kibana-plugin-plugins-expressions-server.execution.result.md) | | Observable<ExecutionResult<Output | ExpressionValueError>> | Future that tracks result or error of this execution. | -| [state](./kibana-plugin-plugins-expressions-server.execution.state.md) | | ExecutionContainer<ExecutionResult<Output | ExpressionValueError>> | Dynamic state of the execution. | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [cancel()](./kibana-plugin-plugins-expressions-server.execution.cancel.md) | | Stop execution of expression. | -| [cast(value, toTypeNames)](./kibana-plugin-plugins-expressions-server.execution.cast.md) | | | -| [interpret(ast, input)](./kibana-plugin-plugins-expressions-server.execution.interpret.md) | | | -| [invokeChain(chainArr, input)](./kibana-plugin-plugins-expressions-server.execution.invokechain.md) | | | -| [invokeFunction(fn, input, args)](./kibana-plugin-plugins-expressions-server.execution.invokefunction.md) | | | -| [resolveArgs(fnDef, input, argAsts)](./kibana-plugin-plugins-expressions-server.execution.resolveargs.md) | | | -| [start(input, isSubExpression)](./kibana-plugin-plugins-expressions-server.execution.start.md) | | Call this method to start execution.N.B. input is initialized to null rather than undefined for legacy reasons, because in legacy interpreter it was set to null by default. | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.resolveargs.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.resolveargs.md deleted file mode 100644 index 784818f2fb8e3..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.resolveargs.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [resolveArgs](./kibana-plugin-plugins-expressions-server.execution.resolveargs.md) - -## Execution.resolveArgs() method - -Signature: - -```typescript -resolveArgs(fnDef: ExpressionFunction, input: unknown, argAsts: any): Observable; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| fnDef | ExpressionFunction | | -| input | unknown | | -| argAsts | any | | - -Returns: - -`Observable` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.result.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.result.md deleted file mode 100644 index b3baac5be2fa3..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.result.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [result](./kibana-plugin-plugins-expressions-server.execution.result.md) - -## Execution.result property - -Future that tracks result or error of this execution. - -Signature: - -```typescript -readonly result: Observable>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.start.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.start.md deleted file mode 100644 index 23b4d414d09d1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.start.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [start](./kibana-plugin-plugins-expressions-server.execution.start.md) - -## Execution.start() method - -Call this method to start execution. - -N.B. `input` is initialized to `null` rather than `undefined` for legacy reasons, because in legacy interpreter it was set to `null` by default. - -Signature: - -```typescript -start(input?: Input, isSubExpression?: boolean): Observable>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| input | Input | | -| isSubExpression | boolean | | - -Returns: - -`Observable>` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.state.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.state.md deleted file mode 100644 index b7c26e9dee85a..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.execution.state.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Execution](./kibana-plugin-plugins-expressions-server.execution.md) > [state](./kibana-plugin-plugins-expressions-server.execution.state.md) - -## Execution.state property - -Dynamic state of the execution. - -Signature: - -```typescript -readonly state: ExecutionContainer>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontainer.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontainer.md deleted file mode 100644 index 5dc82fcbb9dd8..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontainer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContainer](./kibana-plugin-plugins-expressions-server.executioncontainer.md) - -## ExecutionContainer type - -Signature: - -```typescript -export declare type ExecutionContainer = StateContainer, ExecutionPureTransitions>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.abortsignal.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.abortsignal.md deleted file mode 100644 index 5c43623c8e603..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.abortsignal.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) > [abortSignal](./kibana-plugin-plugins-expressions-server.executioncontext.abortsignal.md) - -## ExecutionContext.abortSignal property - -Adds ability to abort current execution. - -Signature: - -```typescript -abortSignal: AbortSignal; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getexecutioncontext.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getexecutioncontext.md deleted file mode 100644 index b692ee1611f97..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getexecutioncontext.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) > [getExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.getexecutioncontext.md) - -## ExecutionContext.getExecutionContext property - -Contains the meta-data about the source of the expression. - -Signature: - -```typescript -getExecutionContext: () => KibanaExecutionContext | undefined; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getkibanarequest.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getkibanarequest.md deleted file mode 100644 index 203794a9d0302..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getkibanarequest.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) > [getKibanaRequest](./kibana-plugin-plugins-expressions-server.executioncontext.getkibanarequest.md) - -## ExecutionContext.getKibanaRequest property - -Getter to retrieve the `KibanaRequest` object inside an expression function. Useful for functions which are running on the server and need to perform operations that are scoped to a specific user. - -Signature: - -```typescript -getKibanaRequest?: () => KibanaRequest; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getsearchcontext.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getsearchcontext.md deleted file mode 100644 index 783841fbafa92..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getsearchcontext.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) > [getSearchContext](./kibana-plugin-plugins-expressions-server.executioncontext.getsearchcontext.md) - -## ExecutionContext.getSearchContext property - -Get search context of the expression. - -Signature: - -```typescript -getSearchContext: () => ExecutionContextSearch; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getsearchsessionid.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getsearchsessionid.md deleted file mode 100644 index a69f0ed32bd51..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.getsearchsessionid.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) > [getSearchSessionId](./kibana-plugin-plugins-expressions-server.executioncontext.getsearchsessionid.md) - -## ExecutionContext.getSearchSessionId property - -Search context in which expression should operate. - -Signature: - -```typescript -getSearchSessionId: () => string | undefined; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.inspectoradapters.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.inspectoradapters.md deleted file mode 100644 index b937432e4c180..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.inspectoradapters.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) > [inspectorAdapters](./kibana-plugin-plugins-expressions-server.executioncontext.inspectoradapters.md) - -## ExecutionContext.inspectorAdapters property - -Adapters for `inspector` plugin. - -Signature: - -```typescript -inspectorAdapters: InspectorAdapters; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.issynccolorsenabled.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.issynccolorsenabled.md deleted file mode 100644 index 24f7bb618deb8..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.issynccolorsenabled.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) > [isSyncColorsEnabled](./kibana-plugin-plugins-expressions-server.executioncontext.issynccolorsenabled.md) - -## ExecutionContext.isSyncColorsEnabled property - -Returns the state (true\|false) of the sync colors across panels switch. - -Signature: - -```typescript -isSyncColorsEnabled?: () => boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.md deleted file mode 100644 index 7a7ead6b9b153..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) - -## ExecutionContext interface - -`ExecutionContext` is an object available to all functions during a single execution; it provides various methods to perform side-effects. - -Signature: - -```typescript -export interface ExecutionContext -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [abortSignal](./kibana-plugin-plugins-expressions-server.executioncontext.abortsignal.md) | AbortSignal | Adds ability to abort current execution. | -| [getExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.getexecutioncontext.md) | () => KibanaExecutionContext | undefined | Contains the meta-data about the source of the expression. | -| [getKibanaRequest](./kibana-plugin-plugins-expressions-server.executioncontext.getkibanarequest.md) | () => KibanaRequest | Getter to retrieve the KibanaRequest object inside an expression function. Useful for functions which are running on the server and need to perform operations that are scoped to a specific user. | -| [getSearchContext](./kibana-plugin-plugins-expressions-server.executioncontext.getsearchcontext.md) | () => ExecutionContextSearch | Get search context of the expression. | -| [getSearchSessionId](./kibana-plugin-plugins-expressions-server.executioncontext.getsearchsessionid.md) | () => string | undefined | Search context in which expression should operate. | -| [inspectorAdapters](./kibana-plugin-plugins-expressions-server.executioncontext.inspectoradapters.md) | InspectorAdapters | Adapters for inspector plugin. | -| [isSyncColorsEnabled](./kibana-plugin-plugins-expressions-server.executioncontext.issynccolorsenabled.md) | () => boolean | Returns the state (true\|false) of the sync colors across panels switch. | -| [types](./kibana-plugin-plugins-expressions-server.executioncontext.types.md) | Record<string, ExpressionType> | A map of available expression types. | -| [variables](./kibana-plugin-plugins-expressions-server.executioncontext.variables.md) | Record<string, unknown> | Context variables that can be consumed using var and var_set functions. | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.types.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.types.md deleted file mode 100644 index 9f594a588b200..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.types.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) > [types](./kibana-plugin-plugins-expressions-server.executioncontext.types.md) - -## ExecutionContext.types property - -A map of available expression types. - -Signature: - -```typescript -types: Record; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.variables.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.variables.md deleted file mode 100644 index bce3b7bb1bc4d..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executioncontext.variables.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) > [variables](./kibana-plugin-plugins-expressions-server.executioncontext.variables.md) - -## ExecutionContext.variables property - -Context variables that can be consumed using `var` and `var_set` functions. - -Signature: - -```typescript -variables: Record; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.ast.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.ast.md deleted file mode 100644 index adaccf091bc5e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.ast.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionParams](./kibana-plugin-plugins-expressions-server.executionparams.md) > [ast](./kibana-plugin-plugins-expressions-server.executionparams.ast.md) - -## ExecutionParams.ast property - -Signature: - -```typescript -ast?: ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.executor.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.executor.md deleted file mode 100644 index fef0f6f8e2495..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.executor.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionParams](./kibana-plugin-plugins-expressions-server.executionparams.md) > [executor](./kibana-plugin-plugins-expressions-server.executionparams.executor.md) - -## ExecutionParams.executor property - -Signature: - -```typescript -executor: Executor; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.expression.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.expression.md deleted file mode 100644 index 7d75bd51a611b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.expression.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionParams](./kibana-plugin-plugins-expressions-server.executionparams.md) > [expression](./kibana-plugin-plugins-expressions-server.executionparams.expression.md) - -## ExecutionParams.expression property - -Signature: - -```typescript -expression?: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.md deleted file mode 100644 index 6a901c91ffff1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionParams](./kibana-plugin-plugins-expressions-server.executionparams.md) - -## ExecutionParams interface - -Signature: - -```typescript -export interface ExecutionParams -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [ast](./kibana-plugin-plugins-expressions-server.executionparams.ast.md) | ExpressionAstExpression | | -| [executor](./kibana-plugin-plugins-expressions-server.executionparams.executor.md) | Executor<any> | | -| [expression](./kibana-plugin-plugins-expressions-server.executionparams.expression.md) | string | | -| [params](./kibana-plugin-plugins-expressions-server.executionparams.params.md) | ExpressionExecutionParams | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.params.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.params.md deleted file mode 100644 index fec60af33e0c4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionparams.params.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionParams](./kibana-plugin-plugins-expressions-server.executionparams.md) > [params](./kibana-plugin-plugins-expressions-server.executionparams.params.md) - -## ExecutionParams.params property - -Signature: - -```typescript -params: ExpressionExecutionParams; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.ast.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.ast.md deleted file mode 100644 index 0eab94589a75e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.ast.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionState](./kibana-plugin-plugins-expressions-server.executionstate.md) > [ast](./kibana-plugin-plugins-expressions-server.executionstate.ast.md) - -## ExecutionState.ast property - -Signature: - -```typescript -ast: ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.error.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.error.md deleted file mode 100644 index 350d38697571a..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.error.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionState](./kibana-plugin-plugins-expressions-server.executionstate.md) > [error](./kibana-plugin-plugins-expressions-server.executionstate.error.md) - -## ExecutionState.error property - -Error happened during the execution. - -Signature: - -```typescript -error?: Error; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.md deleted file mode 100644 index a3b28bda8c864..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionState](./kibana-plugin-plugins-expressions-server.executionstate.md) - -## ExecutionState interface - -Signature: - -```typescript -export interface ExecutionState extends ExecutorState -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [ast](./kibana-plugin-plugins-expressions-server.executionstate.ast.md) | ExpressionAstExpression | | -| [error](./kibana-plugin-plugins-expressions-server.executionstate.error.md) | Error | Error happened during the execution. | -| [result](./kibana-plugin-plugins-expressions-server.executionstate.result.md) | Output | Result of the expression execution. | -| [state](./kibana-plugin-plugins-expressions-server.executionstate.state.md) | 'not-started' | 'pending' | 'result' | 'error' | Tracks state of execution.- not-started - before .start() method was called. - pending - immediately after .start() method is called. - result - when expression execution completed. - error - when execution failed with error. | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.result.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.result.md deleted file mode 100644 index b23ba17172a10..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.result.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionState](./kibana-plugin-plugins-expressions-server.executionstate.md) > [result](./kibana-plugin-plugins-expressions-server.executionstate.result.md) - -## ExecutionState.result property - -Result of the expression execution. - -Signature: - -```typescript -result?: Output; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.state.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.state.md deleted file mode 100644 index 6dcfca1a4fa0e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executionstate.state.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutionState](./kibana-plugin-plugins-expressions-server.executionstate.md) > [state](./kibana-plugin-plugins-expressions-server.executionstate.state.md) - -## ExecutionState.state property - -Tracks state of execution. - -- `not-started` - before .start() method was called. - `pending` - immediately after .start() method is called. - `result` - when expression execution completed. - `error` - when execution failed with error. - -Signature: - -```typescript -state: 'not-started' | 'pending' | 'result' | 'error'; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor._constructor_.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor._constructor_.md deleted file mode 100644 index f9b6759ef5529..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [(constructor)](./kibana-plugin-plugins-expressions-server.executor._constructor_.md) - -## Executor.(constructor) - -Constructs a new instance of the `Executor` class - -Signature: - -```typescript -constructor(state?: ExecutorState); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| state | ExecutorState<Context> | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.context.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.context.md deleted file mode 100644 index d53401c6d0419..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.context.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [context](./kibana-plugin-plugins-expressions-server.executor.context.md) - -## Executor.context property - -Signature: - -```typescript -get context(): Record; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.createexecution.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.createexecution.md deleted file mode 100644 index 34e920a04fd02..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.createexecution.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [createExecution](./kibana-plugin-plugins-expressions-server.executor.createexecution.md) - -## Executor.createExecution() method - -Signature: - -```typescript -createExecution(ast: string | ExpressionAstExpression, params?: ExpressionExecutionParams): Execution; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | string | ExpressionAstExpression | | -| params | ExpressionExecutionParams | | - -Returns: - -`Execution` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.createwithdefaults.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.createwithdefaults.md deleted file mode 100644 index 67863cc9e9ebe..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.createwithdefaults.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [createWithDefaults](./kibana-plugin-plugins-expressions-server.executor.createwithdefaults.md) - -## Executor.createWithDefaults() method - -Signature: - -```typescript -static createWithDefaults = Record>(state?: ExecutorState): Executor; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| state | ExecutorState<Ctx> | | - -Returns: - -`Executor` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.extendcontext.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.extendcontext.md deleted file mode 100644 index d78b4193b62fa..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.extendcontext.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [extendContext](./kibana-plugin-plugins-expressions-server.executor.extendcontext.md) - -## Executor.extendContext() method - -Signature: - -```typescript -extendContext(extraContext: Record): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| extraContext | Record<string, unknown> | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.extract.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.extract.md deleted file mode 100644 index 0829824732e74..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.extract.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [extract](./kibana-plugin-plugins-expressions-server.executor.extract.md) - -## Executor.extract() method - -Signature: - -```typescript -extract(ast: ExpressionAstExpression): { - state: ExpressionAstExpression; - references: SavedObjectReference[]; - }; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | ExpressionAstExpression | | - -Returns: - -`{ - state: ExpressionAstExpression; - references: SavedObjectReference[]; - }` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.fork.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.fork.md deleted file mode 100644 index 8cfec983e6cbd..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.fork.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [fork](./kibana-plugin-plugins-expressions-server.executor.fork.md) - -## Executor.fork() method - -Signature: - -```typescript -fork(): Executor; -``` -Returns: - -`Executor` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.functions.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.functions.md deleted file mode 100644 index 36cbe8608c872..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.functions.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [functions](./kibana-plugin-plugins-expressions-server.executor.functions.md) - -## Executor.functions property - -> Warning: This API is now obsolete. -> -> - -Signature: - -```typescript -readonly functions: FunctionsRegistry; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getallmigrations.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getallmigrations.md deleted file mode 100644 index f397f3a9869b8..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getallmigrations.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [getAllMigrations](./kibana-plugin-plugins-expressions-server.executor.getallmigrations.md) - -## Executor.getAllMigrations() method - -Signature: - -```typescript -getAllMigrations(): MigrateFunctionsObject; -``` -Returns: - -`MigrateFunctionsObject` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getfunction.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getfunction.md deleted file mode 100644 index 0c3f307214d01..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getfunction.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [getFunction](./kibana-plugin-plugins-expressions-server.executor.getfunction.md) - -## Executor.getFunction() method - -Signature: - -```typescript -getFunction(name: string): ExpressionFunction | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`ExpressionFunction | undefined` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getfunctions.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getfunctions.md deleted file mode 100644 index 9f4132e30297d..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.getfunctions.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [getFunctions](./kibana-plugin-plugins-expressions-server.executor.getfunctions.md) - -## Executor.getFunctions() method - -Signature: - -```typescript -getFunctions(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.gettype.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.gettype.md deleted file mode 100644 index ccff4bc632284..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.gettype.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [getType](./kibana-plugin-plugins-expressions-server.executor.gettype.md) - -## Executor.getType() method - -Signature: - -```typescript -getType(name: string): ExpressionType | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | - -Returns: - -`ExpressionType | undefined` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.gettypes.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.gettypes.md deleted file mode 100644 index 8658f36867971..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.gettypes.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [getTypes](./kibana-plugin-plugins-expressions-server.executor.gettypes.md) - -## Executor.getTypes() method - -Signature: - -```typescript -getTypes(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.inject.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.inject.md deleted file mode 100644 index bbc5f7a3cece7..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.inject.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [inject](./kibana-plugin-plugins-expressions-server.executor.inject.md) - -## Executor.inject() method - -Signature: - -```typescript -inject(ast: ExpressionAstExpression, references: SavedObjectReference[]): ExpressionAstExpression; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | ExpressionAstExpression | | -| references | SavedObjectReference[] | | - -Returns: - -`ExpressionAstExpression` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.md deleted file mode 100644 index 00b4300990ca8..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.md +++ /dev/null @@ -1,48 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) - -## Executor class - -Signature: - -```typescript -export declare class Executor = Record> implements PersistableStateService -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(state)](./kibana-plugin-plugins-expressions-server.executor._constructor_.md) | | Constructs a new instance of the Executor class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [context](./kibana-plugin-plugins-expressions-server.executor.context.md) | | Record<string, unknown> | | -| [functions](./kibana-plugin-plugins-expressions-server.executor.functions.md) | | FunctionsRegistry | | -| [state](./kibana-plugin-plugins-expressions-server.executor.state.md) | | ExecutorContainer<Context> | | -| [types](./kibana-plugin-plugins-expressions-server.executor.types.md) | | TypesRegistry | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [createExecution(ast, params)](./kibana-plugin-plugins-expressions-server.executor.createexecution.md) | | | -| [createWithDefaults(state)](./kibana-plugin-plugins-expressions-server.executor.createwithdefaults.md) | static | | -| [extendContext(extraContext)](./kibana-plugin-plugins-expressions-server.executor.extendcontext.md) | | | -| [extract(ast)](./kibana-plugin-plugins-expressions-server.executor.extract.md) | | | -| [fork()](./kibana-plugin-plugins-expressions-server.executor.fork.md) | | | -| [getAllMigrations()](./kibana-plugin-plugins-expressions-server.executor.getallmigrations.md) | | | -| [getFunction(name)](./kibana-plugin-plugins-expressions-server.executor.getfunction.md) | | | -| [getFunctions()](./kibana-plugin-plugins-expressions-server.executor.getfunctions.md) | | | -| [getType(name)](./kibana-plugin-plugins-expressions-server.executor.gettype.md) | | | -| [getTypes()](./kibana-plugin-plugins-expressions-server.executor.gettypes.md) | | | -| [inject(ast, references)](./kibana-plugin-plugins-expressions-server.executor.inject.md) | | | -| [migrateToLatest(state)](./kibana-plugin-plugins-expressions-server.executor.migratetolatest.md) | | | -| [registerFunction(functionDefinition)](./kibana-plugin-plugins-expressions-server.executor.registerfunction.md) | | | -| [registerType(typeDefinition)](./kibana-plugin-plugins-expressions-server.executor.registertype.md) | | | -| [run(ast, input, params)](./kibana-plugin-plugins-expressions-server.executor.run.md) | | Execute expression and return result. | -| [telemetry(ast, telemetryData)](./kibana-plugin-plugins-expressions-server.executor.telemetry.md) | | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.migratetolatest.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.migratetolatest.md deleted file mode 100644 index 13017871f2df1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.migratetolatest.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [migrateToLatest](./kibana-plugin-plugins-expressions-server.executor.migratetolatest.md) - -## Executor.migrateToLatest() method - -Signature: - -```typescript -migrateToLatest(state: VersionedState): ExpressionAstExpression; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| state | VersionedState | | - -Returns: - -`ExpressionAstExpression` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.registerfunction.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.registerfunction.md deleted file mode 100644 index 0cdd62735980c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.registerfunction.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [registerFunction](./kibana-plugin-plugins-expressions-server.executor.registerfunction.md) - -## Executor.registerFunction() method - -Signature: - -```typescript -registerFunction(functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| functionDefinition | AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition) | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.registertype.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.registertype.md deleted file mode 100644 index 355ff92921f10..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.registertype.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [registerType](./kibana-plugin-plugins-expressions-server.executor.registertype.md) - -## Executor.registerType() method - -Signature: - -```typescript -registerType(typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| typeDefinition | AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition) | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.run.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.run.md deleted file mode 100644 index 7b169d05dc31d..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.run.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [run](./kibana-plugin-plugins-expressions-server.executor.run.md) - -## Executor.run() method - -Execute expression and return result. - -Signature: - -```typescript -run(ast: string | ExpressionAstExpression, input: Input, params?: ExpressionExecutionParams): Observable>; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | string | ExpressionAstExpression | | -| input | Input | | -| params | ExpressionExecutionParams | | - -Returns: - -`Observable>` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.state.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.state.md deleted file mode 100644 index 2c3041484712a..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.state.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [state](./kibana-plugin-plugins-expressions-server.executor.state.md) - -## Executor.state property - -Signature: - -```typescript -readonly state: ExecutorContainer; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.telemetry.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.telemetry.md deleted file mode 100644 index 68100c38cfa5b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.telemetry.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [telemetry](./kibana-plugin-plugins-expressions-server.executor.telemetry.md) - -## Executor.telemetry() method - -Signature: - -```typescript -telemetry(ast: ExpressionAstExpression, telemetryData: Record): Record; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | ExpressionAstExpression | | -| telemetryData | Record<string, any> | | - -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.types.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.types.md deleted file mode 100644 index 2082917cf0624..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executor.types.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Executor](./kibana-plugin-plugins-expressions-server.executor.md) > [types](./kibana-plugin-plugins-expressions-server.executor.types.md) - -## Executor.types property - -> Warning: This API is now obsolete. -> -> - -Signature: - -```typescript -readonly types: TypesRegistry; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorcontainer.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorcontainer.md deleted file mode 100644 index a3847c5ad9a77..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorcontainer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutorContainer](./kibana-plugin-plugins-expressions-server.executorcontainer.md) - -## ExecutorContainer type - -Signature: - -```typescript -export declare type ExecutorContainer = Record> = StateContainer, ExecutorPureTransitions, ExecutorPureSelectors>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.context.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.context.md deleted file mode 100644 index 0829f2d6caf04..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.context.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutorState](./kibana-plugin-plugins-expressions-server.executorstate.md) > [context](./kibana-plugin-plugins-expressions-server.executorstate.context.md) - -## ExecutorState.context property - -Signature: - -```typescript -context: Context; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.functions.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.functions.md deleted file mode 100644 index 92a0865a7bb2f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.functions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutorState](./kibana-plugin-plugins-expressions-server.executorstate.md) > [functions](./kibana-plugin-plugins-expressions-server.executorstate.functions.md) - -## ExecutorState.functions property - -Signature: - -```typescript -functions: Record; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.md deleted file mode 100644 index 5faa326ee3534..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutorState](./kibana-plugin-plugins-expressions-server.executorstate.md) - -## ExecutorState interface - -Signature: - -```typescript -export interface ExecutorState = Record> -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [context](./kibana-plugin-plugins-expressions-server.executorstate.context.md) | Context | | -| [functions](./kibana-plugin-plugins-expressions-server.executorstate.functions.md) | Record<string, ExpressionFunction> | | -| [types](./kibana-plugin-plugins-expressions-server.executorstate.types.md) | Record<string, ExpressionType> | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.types.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.types.md deleted file mode 100644 index a435fabfedf92..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.executorstate.types.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExecutorState](./kibana-plugin-plugins-expressions-server.executorstate.md) > [types](./kibana-plugin-plugins-expressions-server.executorstate.types.md) - -## ExecutorState.types property - -Signature: - -```typescript -types: Record; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastargument.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastargument.md deleted file mode 100644 index 0518949ad612f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastargument.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstArgument](./kibana-plugin-plugins-expressions-server.expressionastargument.md) - -## ExpressionAstArgument type - -Signature: - -```typescript -export declare type ExpressionAstArgument = string | boolean | number | ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpression.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpression.md deleted file mode 100644 index 9606cb9e36960..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpression.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstExpression](./kibana-plugin-plugins-expressions-server.expressionastexpression.md) - -## ExpressionAstExpression type - -Signature: - -```typescript -export declare type ExpressionAstExpression = { - type: 'expression'; - chain: ExpressionAstFunction[]; -}; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.findfunction.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.findfunction.md deleted file mode 100644 index 28cf8707c17d6..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.findfunction.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md) > [findFunction](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.findfunction.md) - -## ExpressionAstExpressionBuilder.findFunction property - -Recursively searches expression for all ocurrences of the function, including in subexpressions. - -Useful when performing migrations on a specific function, as you can iterate over the array of references and update all functions at once. - -Signature: - -```typescript -findFunction: (fnName: InferFunctionDefinition['name']) => Array> | []; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.functions.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.functions.md deleted file mode 100644 index c3e1add70511b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.functions.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md) > [functions](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.functions.md) - -## ExpressionAstExpressionBuilder.functions property - -Array of each of the `buildExpressionFunction()` instances in this expression. Use this to remove or reorder functions in the expression. - -Signature: - -```typescript -functions: ExpressionAstFunctionBuilder[]; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md deleted file mode 100644 index 50a9c76daaa2b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md) - -## ExpressionAstExpressionBuilder interface - -Signature: - -```typescript -export interface ExpressionAstExpressionBuilder -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [findFunction](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.findfunction.md) | <FnDef extends AnyExpressionFunctionDefinition = AnyExpressionFunctionDefinition>(fnName: InferFunctionDefinition<FnDef>['name']) => Array<ExpressionAstFunctionBuilder<FnDef>> | [] | Recursively searches expression for all ocurrences of the function, including in subexpressions.Useful when performing migrations on a specific function, as you can iterate over the array of references and update all functions at once. | -| [functions](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.functions.md) | ExpressionAstFunctionBuilder[] | Array of each of the buildExpressionFunction() instances in this expression. Use this to remove or reorder functions in the expression. | -| [toAst](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.toast.md) | () => ExpressionAstExpression | Converts expression to an AST. ExpressionAstExpression | -| [toString](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.tostring.md) | () => string | Converts expression to an expression string. string | -| [type](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.type.md) | 'expression_builder' | Used to identify expression builder objects. | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.toast.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.toast.md deleted file mode 100644 index 5c6189e6a46c4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.toast.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md) > [toAst](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.toast.md) - -## ExpressionAstExpressionBuilder.toAst property - -Converts expression to an AST. - - `ExpressionAstExpression` - -Signature: - -```typescript -toAst: () => ExpressionAstExpression; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.tostring.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.tostring.md deleted file mode 100644 index 80aaeef1700c3..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.tostring.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md) > [toString](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.tostring.md) - -## ExpressionAstExpressionBuilder.toString property - -Converts expression to an expression string. - - `string` - -Signature: - -```typescript -toString: () => string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.type.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.type.md deleted file mode 100644 index 401b2e3725e84..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md) > [type](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.type.md) - -## ExpressionAstExpressionBuilder.type property - -Used to identify expression builder objects. - -Signature: - -```typescript -type: 'expression_builder'; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunction.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunction.md deleted file mode 100644 index 7fbcf2dcfd141..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunction.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunction](./kibana-plugin-plugins-expressions-server.expressionastfunction.md) - -## ExpressionAstFunction type - -Signature: - -```typescript -export declare type ExpressionAstFunction = { - type: 'function'; - function: string; - arguments: Record; - debug?: ExpressionAstFunctionDebug; -}; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.addargument.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.addargument.md deleted file mode 100644 index 29e3baec18a2e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.addargument.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) > [addArgument](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.addargument.md) - -## ExpressionAstFunctionBuilder.addArgument property - -Adds an additional argument to the function. For multi-args, this should be called once for each new arg. Note that TS will not enforce whether multi-args are available, so only use this to update an existing arg if you are certain it is a multi-arg. - -Signature: - -```typescript -addArgument:
>(name: A, value: FunctionArgs[A] | ExpressionAstExpressionBuilder) => this; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.arguments.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.arguments.md deleted file mode 100644 index 4c0eee637b3e1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.arguments.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) > [arguments](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.arguments.md) - -## ExpressionAstFunctionBuilder.arguments property - -Object of all args currently added to the function. This is structured similarly to `ExpressionAstFunction['arguments']`, however any subexpressions are returned as expression builder instances instead of expression ASTs. - -Signature: - -```typescript -arguments: FunctionBuilderArguments; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.getargument.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.getargument.md deleted file mode 100644 index 09b76ccbf23d9..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.getargument.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) > [getArgument](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.getargument.md) - -## ExpressionAstFunctionBuilder.getArgument property - -Retrieves an existing argument by name. Useful when you want to retrieve the current array of args and add something to it before calling `replaceArgument`. Any subexpression arguments will be returned as expression builder instances. - -Signature: - -```typescript -getArgument: >(name: A) => Array[A] | ExpressionAstExpressionBuilder> | undefined; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md deleted file mode 100644 index 2a502d6f05e0b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) - -## ExpressionAstFunctionBuilder interface - -Signature: - -```typescript -export interface ExpressionAstFunctionBuilder -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [addArgument](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.addargument.md) | <A extends FunctionArgName<FnDef>>(name: A, value: FunctionArgs<FnDef>[A] | ExpressionAstExpressionBuilder) => this | Adds an additional argument to the function. For multi-args, this should be called once for each new arg. Note that TS will not enforce whether multi-args are available, so only use this to update an existing arg if you are certain it is a multi-arg. | -| [arguments](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.arguments.md) | FunctionBuilderArguments<FnDef> | Object of all args currently added to the function. This is structured similarly to ExpressionAstFunction['arguments'], however any subexpressions are returned as expression builder instances instead of expression ASTs. | -| [getArgument](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.getargument.md) | <A extends FunctionArgName<FnDef>>(name: A) => Array<FunctionArgs<FnDef>[A] | ExpressionAstExpressionBuilder> | undefined | Retrieves an existing argument by name. Useful when you want to retrieve the current array of args and add something to it before calling replaceArgument. Any subexpression arguments will be returned as expression builder instances. | -| [name](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.name.md) | InferFunctionDefinition<FnDef>['name'] | Name of this expression function. | -| [removeArgument](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.removeargument.md) | <A extends OptionalKeys<FunctionArgs<FnDef>>>(name: A) => this | Removes an (optional) argument from the function.TypeScript will enforce that you only remove optional arguments. For manipulating required args, use replaceArgument. | -| [replaceArgument](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.replaceargument.md) | <A extends FunctionArgName<FnDef>>(name: A, value: Array<FunctionArgs<FnDef>[A] | ExpressionAstExpressionBuilder>) => this | Overwrites an existing argument with a new value. In order to support multi-args, the value given must always be an array. | -| [toAst](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.toast.md) | () => ExpressionAstFunction | Converts function to an AST. ExpressionAstFunction | -| [toString](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.tostring.md) | () => string | Converts function to an expression string. string | -| [type](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.type.md) | 'expression_function_builder' | Used to identify expression function builder objects. | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.name.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.name.md deleted file mode 100644 index a2b6a4128549f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.name.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) > [name](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.name.md) - -## ExpressionAstFunctionBuilder.name property - -Name of this expression function. - -Signature: - -```typescript -name: InferFunctionDefinition['name']; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.removeargument.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.removeargument.md deleted file mode 100644 index b5fd0cc7e3727..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.removeargument.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) > [removeArgument](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.removeargument.md) - -## ExpressionAstFunctionBuilder.removeArgument property - -Removes an (optional) argument from the function. - -TypeScript will enforce that you only remove optional arguments. For manipulating required args, use `replaceArgument`. - -Signature: - -```typescript -removeArgument: >>(name: A) => this; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.replaceargument.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.replaceargument.md deleted file mode 100644 index 943d8ea235763..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.replaceargument.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) > [replaceArgument](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.replaceargument.md) - -## ExpressionAstFunctionBuilder.replaceArgument property - -Overwrites an existing argument with a new value. In order to support multi-args, the value given must always be an array. - -Signature: - -```typescript -replaceArgument: >(name: A, value: Array[A] | ExpressionAstExpressionBuilder>) => this; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.toast.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.toast.md deleted file mode 100644 index a8e9205610501..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.toast.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) > [toAst](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.toast.md) - -## ExpressionAstFunctionBuilder.toAst property - -Converts function to an AST. - - `ExpressionAstFunction` - -Signature: - -```typescript -toAst: () => ExpressionAstFunction; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.tostring.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.tostring.md deleted file mode 100644 index af307cbc84c9f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.tostring.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) > [toString](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.tostring.md) - -## ExpressionAstFunctionBuilder.toString property - -Converts function to an expression string. - - `string` - -Signature: - -```typescript -toString: () => string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.type.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.type.md deleted file mode 100644 index ed1db54c6eeaa..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) > [type](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.type.md) - -## ExpressionAstFunctionBuilder.type property - -Used to identify expression function builder objects. - -Signature: - -```typescript -type: 'expression_function_builder'; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastnode.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastnode.md deleted file mode 100644 index d04c5556ff0ff..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionastnode.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionAstNode](./kibana-plugin-plugins-expressions-server.expressionastnode.md) - -## ExpressionAstNode type - -Signature: - -```typescript -export declare type ExpressionAstNode = ExpressionAstExpression | ExpressionAstFunction | ExpressionAstArgument; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction._constructor_.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction._constructor_.md deleted file mode 100644 index 96ed22f3277b4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [(constructor)](./kibana-plugin-plugins-expressions-server.expressionfunction._constructor_.md) - -## ExpressionFunction.(constructor) - -Constructs a new instance of the `ExpressionFunction` class - -Signature: - -```typescript -constructor(functionDefinition: AnyExpressionFunctionDefinition); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| functionDefinition | AnyExpressionFunctionDefinition | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.accepts.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.accepts.md deleted file mode 100644 index 25008a56e0465..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.accepts.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [accepts](./kibana-plugin-plugins-expressions-server.expressionfunction.accepts.md) - -## ExpressionFunction.accepts property - -Signature: - -```typescript -accepts: (type: string) => boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.aliases.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.aliases.md deleted file mode 100644 index 6e11246275d04..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.aliases.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [aliases](./kibana-plugin-plugins-expressions-server.expressionfunction.aliases.md) - -## ExpressionFunction.aliases property - -Aliases that can be used instead of `name`. - -Signature: - -```typescript -aliases: string[]; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.args.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.args.md deleted file mode 100644 index ffa8cd0d11f7a..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.args.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [args](./kibana-plugin-plugins-expressions-server.expressionfunction.args.md) - -## ExpressionFunction.args property - -Specification of expression function parameters. - -Signature: - -```typescript -args: Record; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.disabled.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.disabled.md deleted file mode 100644 index 8ae51645f5df9..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.disabled.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [disabled](./kibana-plugin-plugins-expressions-server.expressionfunction.disabled.md) - -## ExpressionFunction.disabled property - -Signature: - -```typescript -disabled: boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.extract.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.extract.md deleted file mode 100644 index e7ecad4a6c9e4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.extract.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [extract](./kibana-plugin-plugins-expressions-server.expressionfunction.extract.md) - -## ExpressionFunction.extract property - -Signature: - -```typescript -extract: (state: ExpressionAstFunction['arguments']) => { - state: ExpressionAstFunction['arguments']; - references: SavedObjectReference[]; - }; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.fn.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.fn.md deleted file mode 100644 index 12056cac12cce..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.fn.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [fn](./kibana-plugin-plugins-expressions-server.expressionfunction.fn.md) - -## ExpressionFunction.fn property - -Function to run function (context, args) - -Signature: - -```typescript -fn: (input: ExpressionValue, params: Record, handlers: object) => ExpressionValue; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.help.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.help.md deleted file mode 100644 index 0a20a1ec60860..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.help.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [help](./kibana-plugin-plugins-expressions-server.expressionfunction.help.md) - -## ExpressionFunction.help property - -A short help text. - -Signature: - -```typescript -help: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.inject.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.inject.md deleted file mode 100644 index 85c98ef9193da..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.inject.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [inject](./kibana-plugin-plugins-expressions-server.expressionfunction.inject.md) - -## ExpressionFunction.inject property - -Signature: - -```typescript -inject: (state: ExpressionAstFunction['arguments'], references: SavedObjectReference[]) => ExpressionAstFunction['arguments']; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.inputtypes.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.inputtypes.md deleted file mode 100644 index 1fa11bbb77416..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.inputtypes.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [inputTypes](./kibana-plugin-plugins-expressions-server.expressionfunction.inputtypes.md) - -## ExpressionFunction.inputTypes property - -Type of inputs that this function supports. - -Signature: - -```typescript -inputTypes: string[] | undefined; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.md deleted file mode 100644 index 3b3d60cc27366..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.md +++ /dev/null @@ -1,36 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) - -## ExpressionFunction class - -Signature: - -```typescript -export declare class ExpressionFunction implements PersistableState -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(functionDefinition)](./kibana-plugin-plugins-expressions-server.expressionfunction._constructor_.md) | | Constructs a new instance of the ExpressionFunction class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [accepts](./kibana-plugin-plugins-expressions-server.expressionfunction.accepts.md) | | (type: string) => boolean | | -| [aliases](./kibana-plugin-plugins-expressions-server.expressionfunction.aliases.md) | | string[] | Aliases that can be used instead of name. | -| [args](./kibana-plugin-plugins-expressions-server.expressionfunction.args.md) | | Record<string, ExpressionFunctionParameter> | Specification of expression function parameters. | -| [disabled](./kibana-plugin-plugins-expressions-server.expressionfunction.disabled.md) | | boolean | | -| [extract](./kibana-plugin-plugins-expressions-server.expressionfunction.extract.md) | | (state: ExpressionAstFunction['arguments']) => {
state: ExpressionAstFunction['arguments'];
references: SavedObjectReference[];
} | | -| [fn](./kibana-plugin-plugins-expressions-server.expressionfunction.fn.md) | | (input: ExpressionValue, params: Record<string, any>, handlers: object) => ExpressionValue | Function to run function (context, args) | -| [help](./kibana-plugin-plugins-expressions-server.expressionfunction.help.md) | | string | A short help text. | -| [inject](./kibana-plugin-plugins-expressions-server.expressionfunction.inject.md) | | (state: ExpressionAstFunction['arguments'], references: SavedObjectReference[]) => ExpressionAstFunction['arguments'] | | -| [inputTypes](./kibana-plugin-plugins-expressions-server.expressionfunction.inputtypes.md) | | string[] | undefined | Type of inputs that this function supports. | -| [migrations](./kibana-plugin-plugins-expressions-server.expressionfunction.migrations.md) | | {
[key: string]: (state: SerializableRecord) => SerializableRecord;
} | | -| [name](./kibana-plugin-plugins-expressions-server.expressionfunction.name.md) | | string | Name of function | -| [telemetry](./kibana-plugin-plugins-expressions-server.expressionfunction.telemetry.md) | | (state: ExpressionAstFunction['arguments'], telemetryData: Record<string, any>) => Record<string, any> | | -| [type](./kibana-plugin-plugins-expressions-server.expressionfunction.type.md) | | string | Return type of function. This SHOULD be supplied. We use it for UI and autocomplete hinting. We may also use it for optimizations in the future. | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.migrations.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.migrations.md deleted file mode 100644 index 5d9410b62bb13..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.migrations.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [migrations](./kibana-plugin-plugins-expressions-server.expressionfunction.migrations.md) - -## ExpressionFunction.migrations property - -Signature: - -```typescript -migrations: { - [key: string]: (state: SerializableRecord) => SerializableRecord; - }; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.name.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.name.md deleted file mode 100644 index 46115c10c79ad..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.name.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [name](./kibana-plugin-plugins-expressions-server.expressionfunction.name.md) - -## ExpressionFunction.name property - -Name of function - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.telemetry.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.telemetry.md deleted file mode 100644 index 2894486847b27..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.telemetry.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [telemetry](./kibana-plugin-plugins-expressions-server.expressionfunction.telemetry.md) - -## ExpressionFunction.telemetry property - -Signature: - -```typescript -telemetry: (state: ExpressionAstFunction['arguments'], telemetryData: Record) => Record; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.type.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.type.md deleted file mode 100644 index 82bfff184b7cf..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunction.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) > [type](./kibana-plugin-plugins-expressions-server.expressionfunction.type.md) - -## ExpressionFunction.type property - -Return type of function. This SHOULD be supplied. We use it for UI and autocomplete hinting. We may also use it for optimizations in the future. - -Signature: - -```typescript -type: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.aliases.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.aliases.md deleted file mode 100644 index 3f5a608cc9bd2..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.aliases.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) > [aliases](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.aliases.md) - -## ExpressionFunctionDefinition.aliases property - - What is this? - -Signature: - -```typescript -aliases?: string[]; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.args.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.args.md deleted file mode 100644 index 4ceb1d92bf8eb..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.args.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) > [args](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.args.md) - -## ExpressionFunctionDefinition.args property - -Specification of arguments that function supports. This list will also be used for autocomplete functionality when your function is being edited. - -Signature: - -```typescript -args: { - [key in keyof Arguments]: ArgumentType; - }; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.context.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.context.md deleted file mode 100644 index 54d5c7c8a688d..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.context.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) > [context](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.context.md) - -## ExpressionFunctionDefinition.context property - -> Warning: This API is now obsolete. -> -> Use `inputTypes` instead. -> - -Signature: - -```typescript -context?: { - types: AnyExpressionFunctionDefinition['inputTypes']; - }; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.disabled.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.disabled.md deleted file mode 100644 index 88456c8700aec..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.disabled.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) > [disabled](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.disabled.md) - -## ExpressionFunctionDefinition.disabled property - -if set to true function will be disabled (but its migrate function will still be available) - -Signature: - -```typescript -disabled?: boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.fn.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.fn.md deleted file mode 100644 index 41f85be7141be..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.fn.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) > [fn](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.fn.md) - -## ExpressionFunctionDefinition.fn() method - -The actual implementation of the function. - -Signature: - -```typescript -fn(input: Input, args: Arguments, context: Context): Output; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| input | Input | | -| args | Arguments | | -| context | Context | | - -Returns: - -`Output` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.help.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.help.md deleted file mode 100644 index 594cb768f3caa..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.help.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) > [help](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.help.md) - -## ExpressionFunctionDefinition.help property - -Help text displayed in the Expression editor. This text should be internationalized. - -Signature: - -```typescript -help: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.inputtypes.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.inputtypes.md deleted file mode 100644 index b47dc915cc72e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.inputtypes.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) > [inputTypes](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.inputtypes.md) - -## ExpressionFunctionDefinition.inputTypes property - -List of allowed type names for input value of this function. If this property is set the input of function will be cast to the first possible type in this list. If this property is missing the input will be provided to the function as-is. - -Signature: - -```typescript -inputTypes?: Array>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md deleted file mode 100644 index 35248c01a4e29..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md +++ /dev/null @@ -1,33 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) - -## ExpressionFunctionDefinition interface - -`ExpressionFunctionDefinition` is the interface plugins have to implement to register a function in `expressions` plugin. - -Signature: - -```typescript -export interface ExpressionFunctionDefinition, Output, Context extends ExecutionContext = ExecutionContext> extends PersistableStateDefinition -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [aliases](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.aliases.md) | string[] | What is this? | -| [args](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.args.md) | {
[key in keyof Arguments]: ArgumentType<Arguments[key]>;
} | Specification of arguments that function supports. This list will also be used for autocomplete functionality when your function is being edited. | -| [context](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.context.md) | {
types: AnyExpressionFunctionDefinition['inputTypes'];
} | | -| [disabled](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.disabled.md) | boolean | if set to true function will be disabled (but its migrate function will still be available) | -| [help](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.help.md) | string | Help text displayed in the Expression editor. This text should be internationalized. | -| [inputTypes](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.inputtypes.md) | Array<TypeToString<Input>> | List of allowed type names for input value of this function. If this property is set the input of function will be cast to the first possible type in this list. If this property is missing the input will be provided to the function as-is. | -| [name](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.name.md) | Name | The name of the function, as will be used in expression. | -| [type](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.type.md) | TypeString<Output> | UnmappedTypeStrings | Name of type of value this function outputs. | - -## Methods - -| Method | Description | -| --- | --- | -| [fn(input, args, context)](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.fn.md) | The actual implementation of the function. | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.name.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.name.md deleted file mode 100644 index 177b44aab4ce8..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.name.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) > [name](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.name.md) - -## ExpressionFunctionDefinition.name property - -The name of the function, as will be used in expression. - -Signature: - -```typescript -name: Name; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.type.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.type.md deleted file mode 100644 index 2994b9547fd8c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) > [type](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.type.md) - -## ExpressionFunctionDefinition.type property - -Name of type of value this function outputs. - -Signature: - -```typescript -type?: TypeString | UnmappedTypeStrings; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.clog.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.clog.md deleted file mode 100644 index 0c01e93152c75..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.clog.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) > [clog](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.clog.md) - -## ExpressionFunctionDefinitions.clog property - -Signature: - -```typescript -clog: ExpressionFunctionClog; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.cumulative_sum.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.cumulative_sum.md deleted file mode 100644 index 2fb8cde92e877..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.cumulative_sum.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) > [cumulative\_sum](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.cumulative_sum.md) - -## ExpressionFunctionDefinitions.cumulative\_sum property - -Signature: - -```typescript -cumulative_sum: ExpressionFunctionCumulativeSum; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.derivative.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.derivative.md deleted file mode 100644 index 6c51f1eb97750..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.derivative.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) > [derivative](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.derivative.md) - -## ExpressionFunctionDefinitions.derivative property - -Signature: - -```typescript -derivative: ExpressionFunctionDerivative; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.font.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.font.md deleted file mode 100644 index 842e3e069d91e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.font.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) > [font](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.font.md) - -## ExpressionFunctionDefinitions.font property - -Signature: - -```typescript -font: ExpressionFunctionFont; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md deleted file mode 100644 index f55fed99e1d3d..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) - -## ExpressionFunctionDefinitions interface - -A mapping of `ExpressionFunctionDefinition`s for functions which the Expressions services provides out-of-the-box. Any new functions registered by the Expressions plugin should have their types added here. - -Signature: - -```typescript -export interface ExpressionFunctionDefinitions -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [clog](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.clog.md) | ExpressionFunctionClog | | -| [cumulative\_sum](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.cumulative_sum.md) | ExpressionFunctionCumulativeSum | | -| [derivative](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.derivative.md) | ExpressionFunctionDerivative | | -| [font](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.font.md) | ExpressionFunctionFont | | -| [moving\_average](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.moving_average.md) | ExpressionFunctionMovingAverage | | -| [overall\_metric](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.overall_metric.md) | ExpressionFunctionOverallMetric | | -| [theme](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.theme.md) | ExpressionFunctionTheme | | -| [var\_set](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var_set.md) | ExpressionFunctionVarSet | | -| [var](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var.md) | ExpressionFunctionVar | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.moving_average.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.moving_average.md deleted file mode 100644 index 9e3b5299f5f97..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.moving_average.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) > [moving\_average](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.moving_average.md) - -## ExpressionFunctionDefinitions.moving\_average property - -Signature: - -```typescript -moving_average: ExpressionFunctionMovingAverage; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.overall_metric.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.overall_metric.md deleted file mode 100644 index b8564a696e6e4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.overall_metric.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) > [overall\_metric](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.overall_metric.md) - -## ExpressionFunctionDefinitions.overall\_metric property - -Signature: - -```typescript -overall_metric: ExpressionFunctionOverallMetric; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.theme.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.theme.md deleted file mode 100644 index 98291fe35c1aa..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.theme.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) > [theme](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.theme.md) - -## ExpressionFunctionDefinitions.theme property - -Signature: - -```typescript -theme: ExpressionFunctionTheme; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var.md deleted file mode 100644 index 55d576193ba9c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) > [var](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var.md) - -## ExpressionFunctionDefinitions.var property - -Signature: - -```typescript -var: ExpressionFunctionVar; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var_set.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var_set.md deleted file mode 100644 index 3163cf1accab1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var_set.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) > [var\_set](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.var_set.md) - -## ExpressionFunctionDefinitions.var\_set property - -Signature: - -```typescript -var_set: ExpressionFunctionVarSet; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter._constructor_.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter._constructor_.md deleted file mode 100644 index a9ad2069cfe15..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter._constructor_.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [(constructor)](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter._constructor_.md) - -## ExpressionFunctionParameter.(constructor) - -Constructs a new instance of the `ExpressionFunctionParameter` class - -Signature: - -```typescript -constructor(name: string, arg: ArgumentType); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| name | string | | -| arg | ArgumentType<any> | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.accepts.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.accepts.md deleted file mode 100644 index 083bbdf1da4e7..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.accepts.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [accepts](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.accepts.md) - -## ExpressionFunctionParameter.accepts() method - -Signature: - -```typescript -accepts(type: string): boolean; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| type | string | | - -Returns: - -`boolean` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.aliases.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.aliases.md deleted file mode 100644 index c7d27a48bdad5..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.aliases.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [aliases](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.aliases.md) - -## ExpressionFunctionParameter.aliases property - -Signature: - -```typescript -aliases: string[]; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.default.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.default.md deleted file mode 100644 index d4105febffe86..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.default.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [default](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.default.md) - -## ExpressionFunctionParameter.default property - -Signature: - -```typescript -default: any; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.help.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.help.md deleted file mode 100644 index b21626df64121..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.help.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [help](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.help.md) - -## ExpressionFunctionParameter.help property - -Signature: - -```typescript -help: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md deleted file mode 100644 index e9e35183e4e76..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md +++ /dev/null @@ -1,38 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) - -## ExpressionFunctionParameter class - -Signature: - -```typescript -export declare class ExpressionFunctionParameter -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(name, arg)](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter._constructor_.md) | | Constructs a new instance of the ExpressionFunctionParameter class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [aliases](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.aliases.md) | | string[] | | -| [default](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.default.md) | | any | | -| [help](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.help.md) | | string | | -| [multi](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.multi.md) | | boolean | | -| [name](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.name.md) | | string | | -| [options](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.options.md) | | any[] | | -| [required](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.required.md) | | boolean | | -| [resolve](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.resolve.md) | | boolean | | -| [types](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.types.md) | | string[] | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [accepts(type)](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.accepts.md) | | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.multi.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.multi.md deleted file mode 100644 index 86e1921910a30..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.multi.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [multi](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.multi.md) - -## ExpressionFunctionParameter.multi property - -Signature: - -```typescript -multi: boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.name.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.name.md deleted file mode 100644 index 8aab81d92e65a..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [name](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.name.md) - -## ExpressionFunctionParameter.name property - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.options.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.options.md deleted file mode 100644 index 95369ebd5ce88..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.options.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [options](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.options.md) - -## ExpressionFunctionParameter.options property - -Signature: - -```typescript -options: any[]; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.required.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.required.md deleted file mode 100644 index 0e58b41e2a22c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.required.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [required](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.required.md) - -## ExpressionFunctionParameter.required property - -Signature: - -```typescript -required: boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.resolve.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.resolve.md deleted file mode 100644 index 3415c5f6a7639..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.resolve.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [resolve](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.resolve.md) - -## ExpressionFunctionParameter.resolve property - -Signature: - -```typescript -resolve: boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.types.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.types.md deleted file mode 100644 index f7d6079705e8e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionfunctionparameter.types.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) > [types](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.types.md) - -## ExpressionFunctionParameter.types property - -Signature: - -```typescript -types: string[]; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.dataurl.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.dataurl.md deleted file mode 100644 index a51dc1eaea66f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.dataurl.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionImage](./kibana-plugin-plugins-expressions-server.expressionimage.md) > [dataurl](./kibana-plugin-plugins-expressions-server.expressionimage.dataurl.md) - -## ExpressionImage.dataurl property - -Signature: - -```typescript -dataurl: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.md deleted file mode 100644 index 7f323fba7bfe1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionImage](./kibana-plugin-plugins-expressions-server.expressionimage.md) - -## ExpressionImage interface - -Signature: - -```typescript -export interface ExpressionImage -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [dataurl](./kibana-plugin-plugins-expressions-server.expressionimage.dataurl.md) | string | | -| [mode](./kibana-plugin-plugins-expressions-server.expressionimage.mode.md) | string | | -| [type](./kibana-plugin-plugins-expressions-server.expressionimage.type.md) | 'image' | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.mode.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.mode.md deleted file mode 100644 index 9aae0ed3ea8b4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.mode.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionImage](./kibana-plugin-plugins-expressions-server.expressionimage.md) > [mode](./kibana-plugin-plugins-expressions-server.expressionimage.mode.md) - -## ExpressionImage.mode property - -Signature: - -```typescript -mode: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.type.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.type.md deleted file mode 100644 index 0cc0418228281..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionimage.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionImage](./kibana-plugin-plugins-expressions-server.expressionimage.md) > [type](./kibana-plugin-plugins-expressions-server.expressionimage.type.md) - -## ExpressionImage.type property - -Signature: - -```typescript -type: 'image'; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.displayname.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.displayname.md deleted file mode 100644 index 8ae5aa2f1790e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.displayname.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md) > [displayName](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.displayname.md) - -## ExpressionRenderDefinition.displayName property - -A user friendly name of the renderer as will be displayed to user in UI. - -Signature: - -```typescript -displayName?: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.help.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.help.md deleted file mode 100644 index 971abba04fdf9..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.help.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md) > [help](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.help.md) - -## ExpressionRenderDefinition.help property - -Help text as will be displayed to user. A sentence or few about what this element does. - -Signature: - -```typescript -help?: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md deleted file mode 100644 index 9cefb6ef196cf..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md) - -## ExpressionRenderDefinition interface - -Signature: - -```typescript -export interface ExpressionRenderDefinition -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [displayName](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.displayname.md) | string | A user friendly name of the renderer as will be displayed to user in UI. | -| [help](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.help.md) | string | Help text as will be displayed to user. A sentence or few about what this element does. | -| [name](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.name.md) | string | Technical name of the renderer, used as ID to identify renderer in expression renderer registry. This must match the name of the expression function that is used to create the type: render object. | -| [render](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.render.md) | (domNode: HTMLElement, config: Config, handlers: IInterpreterRenderHandlers) => void | Promise<void> | The function called to render the output data of an expression. | -| [reuseDomNode](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.reusedomnode.md) | boolean | Tell the renderer if the dom node should be reused, it's recreated each time by default. | -| [validate](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.validate.md) | () => undefined | Error | Used to validate the data before calling the render function. | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.name.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.name.md deleted file mode 100644 index 62eec0109c374..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.name.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md) > [name](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.name.md) - -## ExpressionRenderDefinition.name property - -Technical name of the renderer, used as ID to identify renderer in expression renderer registry. This must match the name of the expression function that is used to create the `type: render` object. - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.render.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.render.md deleted file mode 100644 index 99698e1828637..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.render.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md) > [render](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.render.md) - -## ExpressionRenderDefinition.render property - -The function called to render the output data of an expression. - -Signature: - -```typescript -render: (domNode: HTMLElement, config: Config, handlers: IInterpreterRenderHandlers) => void | Promise; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.reusedomnode.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.reusedomnode.md deleted file mode 100644 index 435920cccc642..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.reusedomnode.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md) > [reuseDomNode](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.reusedomnode.md) - -## ExpressionRenderDefinition.reuseDomNode property - -Tell the renderer if the dom node should be reused, it's recreated each time by default. - -Signature: - -```typescript -reuseDomNode: boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.validate.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.validate.md deleted file mode 100644 index f640744374eda..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderdefinition.validate.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md) > [validate](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.validate.md) - -## ExpressionRenderDefinition.validate property - -Used to validate the data before calling the render function. - -Signature: - -```typescript -validate?: () => undefined | Error; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer._constructor_.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer._constructor_.md deleted file mode 100644 index 5db39853728af..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-server.expressionrenderer.md) > [(constructor)](./kibana-plugin-plugins-expressions-server.expressionrenderer._constructor_.md) - -## ExpressionRenderer.(constructor) - -Constructs a new instance of the `ExpressionRenderer` class - -Signature: - -```typescript -constructor(config: ExpressionRenderDefinition); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| config | ExpressionRenderDefinition<Config> | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.displayname.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.displayname.md deleted file mode 100644 index 41846bf41997f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.displayname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-server.expressionrenderer.md) > [displayName](./kibana-plugin-plugins-expressions-server.expressionrenderer.displayname.md) - -## ExpressionRenderer.displayName property - -Signature: - -```typescript -readonly displayName: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.help.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.help.md deleted file mode 100644 index 9cf60c832fb95..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.help.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-server.expressionrenderer.md) > [help](./kibana-plugin-plugins-expressions-server.expressionrenderer.help.md) - -## ExpressionRenderer.help property - -Signature: - -```typescript -readonly help: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.md deleted file mode 100644 index 6f5c336a89e5c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.md +++ /dev/null @@ -1,29 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-server.expressionrenderer.md) - -## ExpressionRenderer class - -Signature: - -```typescript -export declare class ExpressionRenderer -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(config)](./kibana-plugin-plugins-expressions-server.expressionrenderer._constructor_.md) | | Constructs a new instance of the ExpressionRenderer class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [displayName](./kibana-plugin-plugins-expressions-server.expressionrenderer.displayname.md) | | string | | -| [help](./kibana-plugin-plugins-expressions-server.expressionrenderer.help.md) | | string | | -| [name](./kibana-plugin-plugins-expressions-server.expressionrenderer.name.md) | | string | | -| [render](./kibana-plugin-plugins-expressions-server.expressionrenderer.render.md) | | ExpressionRenderDefinition<Config>['render'] | | -| [reuseDomNode](./kibana-plugin-plugins-expressions-server.expressionrenderer.reusedomnode.md) | | boolean | | -| [validate](./kibana-plugin-plugins-expressions-server.expressionrenderer.validate.md) | | () => void | Error | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.name.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.name.md deleted file mode 100644 index f320fcd8408ab..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-server.expressionrenderer.md) > [name](./kibana-plugin-plugins-expressions-server.expressionrenderer.name.md) - -## ExpressionRenderer.name property - -Signature: - -```typescript -readonly name: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.render.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.render.md deleted file mode 100644 index d7cf04e6d8bfa..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.render.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-server.expressionrenderer.md) > [render](./kibana-plugin-plugins-expressions-server.expressionrenderer.render.md) - -## ExpressionRenderer.render property - -Signature: - -```typescript -readonly render: ExpressionRenderDefinition['render']; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.reusedomnode.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.reusedomnode.md deleted file mode 100644 index 8fd9c5fa8e6ff..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.reusedomnode.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-server.expressionrenderer.md) > [reuseDomNode](./kibana-plugin-plugins-expressions-server.expressionrenderer.reusedomnode.md) - -## ExpressionRenderer.reuseDomNode property - -Signature: - -```typescript -readonly reuseDomNode: boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.validate.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.validate.md deleted file mode 100644 index d40945cfb88f1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrenderer.validate.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRenderer](./kibana-plugin-plugins-expressions-server.expressionrenderer.md) > [validate](./kibana-plugin-plugins-expressions-server.expressionrenderer.validate.md) - -## ExpressionRenderer.validate property - -Signature: - -```typescript -readonly validate: () => void | Error; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.get.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.get.md deleted file mode 100644 index 6f8e6c868ac9b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.get.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.md) > [get](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.get.md) - -## ExpressionRendererRegistry.get() method - -Signature: - -```typescript -get(id: string): ExpressionRenderer | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`ExpressionRenderer | null` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.md deleted file mode 100644 index d4a34ab140854..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.md) - -## ExpressionRendererRegistry class - -Signature: - -```typescript -export declare class ExpressionRendererRegistry implements IRegistry -``` - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [get(id)](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.get.md) | | | -| [register(definition)](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.register.md) | | | -| [toArray()](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.toarray.md) | | | -| [toJS()](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.tojs.md) | | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.register.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.register.md deleted file mode 100644 index d5411a327fbcd..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.register.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.md) > [register](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.register.md) - -## ExpressionRendererRegistry.register() method - -Signature: - -```typescript -register(definition: AnyExpressionRenderDefinition | (() => AnyExpressionRenderDefinition)): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| definition | AnyExpressionRenderDefinition | (() => AnyExpressionRenderDefinition) | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.toarray.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.toarray.md deleted file mode 100644 index edb153000b458..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.toarray.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.md) > [toArray](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.toarray.md) - -## ExpressionRendererRegistry.toArray() method - -Signature: - -```typescript -toArray(): ExpressionRenderer[]; -``` -Returns: - -`ExpressionRenderer[]` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.tojs.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.tojs.md deleted file mode 100644 index f7230e9102c8f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionrendererregistry.tojs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.md) > [toJS](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.tojs.md) - -## ExpressionRendererRegistry.toJS() method - -Signature: - -```typescript -toJS(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin._constructor_.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin._constructor_.md deleted file mode 100644 index 639ae379f0ed7..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionsServerPlugin](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.md) > [(constructor)](./kibana-plugin-plugins-expressions-server.expressionsserverplugin._constructor_.md) - -## ExpressionsServerPlugin.(constructor) - -Constructs a new instance of the `ExpressionsServerPlugin` class - -Signature: - -```typescript -constructor(initializerContext: PluginInitializerContext); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initializerContext | PluginInitializerContext | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.expressions.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.expressions.md deleted file mode 100644 index a391220a6349e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.expressions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionsServerPlugin](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.md) > [expressions](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.expressions.md) - -## ExpressionsServerPlugin.expressions property - -Signature: - -```typescript -readonly expressions: ExpressionsService; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.md deleted file mode 100644 index f92d572b1111a..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.md +++ /dev/null @@ -1,32 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionsServerPlugin](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.md) - -## ExpressionsServerPlugin class - -Signature: - -```typescript -export declare class ExpressionsServerPlugin implements Plugin -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(initializerContext)](./kibana-plugin-plugins-expressions-server.expressionsserverplugin._constructor_.md) | | Constructs a new instance of the ExpressionsServerPlugin class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [expressions](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.expressions.md) | | ExpressionsService | | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [setup(core)](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.setup.md) | | | -| [start(core)](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.start.md) | | | -| [stop()](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.stop.md) | | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.setup.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.setup.md deleted file mode 100644 index 18e33d4e0bc60..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.setup.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionsServerPlugin](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.md) > [setup](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.setup.md) - -## ExpressionsServerPlugin.setup() method - -Signature: - -```typescript -setup(core: CoreSetup): ExpressionsServerSetup; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| core | CoreSetup | | - -Returns: - -`ExpressionsServerSetup` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.start.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.start.md deleted file mode 100644 index 31578685ff386..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.start.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionsServerPlugin](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.md) > [start](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.start.md) - -## ExpressionsServerPlugin.start() method - -Signature: - -```typescript -start(core: CoreStart): ExpressionsServerStart; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| core | CoreStart | | - -Returns: - -`ExpressionsServerStart` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.stop.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.stop.md deleted file mode 100644 index 2f6abade901b1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverplugin.stop.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionsServerPlugin](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.md) > [stop](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.stop.md) - -## ExpressionsServerPlugin.stop() method - -Signature: - -```typescript -stop(): void; -``` -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserversetup.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserversetup.md deleted file mode 100644 index 2cf591a59c4f6..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserversetup.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionsServerSetup](./kibana-plugin-plugins-expressions-server.expressionsserversetup.md) - -## ExpressionsServerSetup type - -Signature: - -```typescript -export declare type ExpressionsServerSetup = ExpressionsServiceSetup; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverstart.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverstart.md deleted file mode 100644 index 9ceb261a7f689..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionsserverstart.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionsServerStart](./kibana-plugin-plugins-expressions-server.expressionsserverstart.md) - -## ExpressionsServerStart type - -Signature: - -```typescript -export declare type ExpressionsServerStart = ExpressionsServiceStart; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype._constructor_.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype._constructor_.md deleted file mode 100644 index 966955c03ff08..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [(constructor)](./kibana-plugin-plugins-expressions-server.expressiontype._constructor_.md) - -## ExpressionType.(constructor) - -Constructs a new instance of the `ExpressionType` class - -Signature: - -```typescript -constructor(definition: AnyExpressionTypeDefinition); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| definition | AnyExpressionTypeDefinition | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.castsfrom.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.castsfrom.md deleted file mode 100644 index 57758e8fa7788..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.castsfrom.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [castsFrom](./kibana-plugin-plugins-expressions-server.expressiontype.castsfrom.md) - -## ExpressionType.castsFrom property - -Signature: - -```typescript -castsFrom: (value: ExpressionValue) => boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.caststo.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.caststo.md deleted file mode 100644 index eec17f8606817..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.caststo.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [castsTo](./kibana-plugin-plugins-expressions-server.expressiontype.caststo.md) - -## ExpressionType.castsTo property - -Signature: - -```typescript -castsTo: (value: ExpressionValue) => boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.create.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.create.md deleted file mode 100644 index 3fbd1f7986254..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.create.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [create](./kibana-plugin-plugins-expressions-server.expressiontype.create.md) - -## ExpressionType.create property - -Signature: - -```typescript -create: unknown; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.deserialize.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.deserialize.md deleted file mode 100644 index 232d70b846092..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.deserialize.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [deserialize](./kibana-plugin-plugins-expressions-server.expressiontype.deserialize.md) - -## ExpressionType.deserialize property - -Signature: - -```typescript -deserialize?: (serialized: any) => ExpressionValue; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.from.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.from.md deleted file mode 100644 index 4d24a4162c096..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.from.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [from](./kibana-plugin-plugins-expressions-server.expressiontype.from.md) - -## ExpressionType.from property - -Signature: - -```typescript -from: (value: ExpressionValue, types: Record) => any; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.getfromfn.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.getfromfn.md deleted file mode 100644 index 092227af92a19..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.getfromfn.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [getFromFn](./kibana-plugin-plugins-expressions-server.expressiontype.getfromfn.md) - -## ExpressionType.getFromFn property - -Signature: - -```typescript -getFromFn: (typeName: string) => undefined | ExpressionValueConverter; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.gettofn.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.gettofn.md deleted file mode 100644 index 8454116f50ac8..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.gettofn.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [getToFn](./kibana-plugin-plugins-expressions-server.expressiontype.gettofn.md) - -## ExpressionType.getToFn property - -Signature: - -```typescript -getToFn: (typeName: string) => undefined | ExpressionValueConverter; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.help.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.help.md deleted file mode 100644 index bd5be7329d6a4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.help.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [help](./kibana-plugin-plugins-expressions-server.expressiontype.help.md) - -## ExpressionType.help property - -A short help text. - -Signature: - -```typescript -help: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.md deleted file mode 100644 index 49f3f504c9419..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.md +++ /dev/null @@ -1,35 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) - -## ExpressionType class - -Signature: - -```typescript -export declare class ExpressionType -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(definition)](./kibana-plugin-plugins-expressions-server.expressiontype._constructor_.md) | | Constructs a new instance of the ExpressionType class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [castsFrom](./kibana-plugin-plugins-expressions-server.expressiontype.castsfrom.md) | | (value: ExpressionValue) => boolean | | -| [castsTo](./kibana-plugin-plugins-expressions-server.expressiontype.caststo.md) | | (value: ExpressionValue) => boolean | | -| [create](./kibana-plugin-plugins-expressions-server.expressiontype.create.md) | | unknown | | -| [deserialize](./kibana-plugin-plugins-expressions-server.expressiontype.deserialize.md) | | (serialized: any) => ExpressionValue | | -| [from](./kibana-plugin-plugins-expressions-server.expressiontype.from.md) | | (value: ExpressionValue, types: Record<string, ExpressionType>) => any | | -| [getFromFn](./kibana-plugin-plugins-expressions-server.expressiontype.getfromfn.md) | | (typeName: string) => undefined | ExpressionValueConverter<ExpressionValue, ExpressionValue> | | -| [getToFn](./kibana-plugin-plugins-expressions-server.expressiontype.gettofn.md) | | (typeName: string) => undefined | ExpressionValueConverter<ExpressionValue, ExpressionValue> | | -| [help](./kibana-plugin-plugins-expressions-server.expressiontype.help.md) | | string | A short help text. | -| [name](./kibana-plugin-plugins-expressions-server.expressiontype.name.md) | | string | | -| [serialize](./kibana-plugin-plugins-expressions-server.expressiontype.serialize.md) | | (value: ExpressionValue) => any | Optional serialization (used when passing context around client/server). | -| [to](./kibana-plugin-plugins-expressions-server.expressiontype.to.md) | | (value: ExpressionValue, toTypeName: string, types: Record<string, ExpressionType>) => any | | -| [validate](./kibana-plugin-plugins-expressions-server.expressiontype.validate.md) | | (type: any) => void | Error | Type validation, useful for checking function output. | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.name.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.name.md deleted file mode 100644 index 44e0e18270b14..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [name](./kibana-plugin-plugins-expressions-server.expressiontype.name.md) - -## ExpressionType.name property - -Signature: - -```typescript -name: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.serialize.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.serialize.md deleted file mode 100644 index 013b95bf2d0ce..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.serialize.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [serialize](./kibana-plugin-plugins-expressions-server.expressiontype.serialize.md) - -## ExpressionType.serialize property - -Optional serialization (used when passing context around client/server). - -Signature: - -```typescript -serialize?: (value: ExpressionValue) => any; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.to.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.to.md deleted file mode 100644 index 70e4504324f22..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.to.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [to](./kibana-plugin-plugins-expressions-server.expressiontype.to.md) - -## ExpressionType.to property - -Signature: - -```typescript -to: (value: ExpressionValue, toTypeName: string, types: Record) => any; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.validate.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.validate.md deleted file mode 100644 index 6e1fd681a732b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontype.validate.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) > [validate](./kibana-plugin-plugins-expressions-server.expressiontype.validate.md) - -## ExpressionType.validate property - -Type validation, useful for checking function output. - -Signature: - -```typescript -validate: (type: any) => void | Error; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.deserialize.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.deserialize.md deleted file mode 100644 index 71e9ecd7270d9..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.deserialize.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.md) > [deserialize](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.deserialize.md) - -## ExpressionTypeDefinition.deserialize property - -Signature: - -```typescript -deserialize?: (type: SerializedType) => Value; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.from.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.from.md deleted file mode 100644 index f3ad8791c7bac..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.from.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.md) > [from](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.from.md) - -## ExpressionTypeDefinition.from property - -Signature: - -```typescript -from?: { - [type: string]: ExpressionValueConverter; - }; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.help.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.help.md deleted file mode 100644 index f1c4d48599da6..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.help.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.md) > [help](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.help.md) - -## ExpressionTypeDefinition.help property - -Signature: - -```typescript -help?: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.md deleted file mode 100644 index 5179bd1df7311..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.md) - -## ExpressionTypeDefinition interface - -A generic type which represents a custom Expression Type Definition that's registered to the Interpreter. - -Signature: - -```typescript -export interface ExpressionTypeDefinition -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [deserialize](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.deserialize.md) | (type: SerializedType) => Value | | -| [from](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.from.md) | {
[type: string]: ExpressionValueConverter<any, Value>;
} | | -| [help](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.help.md) | string | | -| [name](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.name.md) | Name | | -| [serialize](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.serialize.md) | (type: Value) => SerializedType | | -| [to](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.to.md) | {
[type: string]: ExpressionValueConverter<Value, any>;
} | | -| [validate](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.validate.md) | (type: any) => void | Error | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.name.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.name.md deleted file mode 100644 index cfc1cebac16da..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.name.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.md) > [name](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.name.md) - -## ExpressionTypeDefinition.name property - -Signature: - -```typescript -name: Name; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.serialize.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.serialize.md deleted file mode 100644 index 05ec569f62638..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.serialize.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.md) > [serialize](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.serialize.md) - -## ExpressionTypeDefinition.serialize property - -Signature: - -```typescript -serialize?: (type: Value) => SerializedType; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.to.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.to.md deleted file mode 100644 index 6c2c22fc902c6..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.to.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.md) > [to](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.to.md) - -## ExpressionTypeDefinition.to property - -Signature: - -```typescript -to?: { - [type: string]: ExpressionValueConverter; - }; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.validate.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.validate.md deleted file mode 100644 index acdcf089fcbe0..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypedefinition.validate.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.md) > [validate](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.validate.md) - -## ExpressionTypeDefinition.validate property - -Signature: - -```typescript -validate?: (type: any) => void | Error; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.css.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.css.md deleted file mode 100644 index 7cb6e9bc8b45d..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.css.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeStyle](./kibana-plugin-plugins-expressions-server.expressiontypestyle.md) > [css](./kibana-plugin-plugins-expressions-server.expressiontypestyle.css.md) - -## ExpressionTypeStyle.css property - -Signature: - -```typescript -css: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.md deleted file mode 100644 index 274e9b7b6772c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeStyle](./kibana-plugin-plugins-expressions-server.expressiontypestyle.md) - -## ExpressionTypeStyle interface - -An object that represents style information, typically CSS. - -Signature: - -```typescript -export interface ExpressionTypeStyle -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [css](./kibana-plugin-plugins-expressions-server.expressiontypestyle.css.md) | string | | -| [spec](./kibana-plugin-plugins-expressions-server.expressiontypestyle.spec.md) | CSSStyle | | -| [type](./kibana-plugin-plugins-expressions-server.expressiontypestyle.type.md) | 'style' | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.spec.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.spec.md deleted file mode 100644 index 95f3edbc2b725..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.spec.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeStyle](./kibana-plugin-plugins-expressions-server.expressiontypestyle.md) > [spec](./kibana-plugin-plugins-expressions-server.expressiontypestyle.spec.md) - -## ExpressionTypeStyle.spec property - -Signature: - -```typescript -spec: CSSStyle; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.type.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.type.md deleted file mode 100644 index be3b476cb8b53..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressiontypestyle.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionTypeStyle](./kibana-plugin-plugins-expressions-server.expressiontypestyle.md) > [type](./kibana-plugin-plugins-expressions-server.expressiontypestyle.type.md) - -## ExpressionTypeStyle.type property - -Signature: - -```typescript -type: 'style'; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalue.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalue.md deleted file mode 100644 index fc9af5fbc6695..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalue.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionValue](./kibana-plugin-plugins-expressions-server.expressionvalue.md) - -## ExpressionValue type - -Signature: - -```typescript -export declare type ExpressionValue = ExpressionValueUnboxed | ExpressionValueBoxed; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueboxed.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueboxed.md deleted file mode 100644 index ad84aec0dc6d5..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueboxed.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionValueBoxed](./kibana-plugin-plugins-expressions-server.expressionvalueboxed.md) - -## ExpressionValueBoxed type - -Signature: - -```typescript -export declare type ExpressionValueBoxed = { - type: Type; -} & Value; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueconverter.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueconverter.md deleted file mode 100644 index d1b69590141cb..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueconverter.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionValueConverter](./kibana-plugin-plugins-expressions-server.expressionvalueconverter.md) - -## ExpressionValueConverter type - -Signature: - -```typescript -export declare type ExpressionValueConverter = (input: I, availableTypes: Record) => O; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueerror.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueerror.md deleted file mode 100644 index 2a4f4dc7aab70..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueerror.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionValueError](./kibana-plugin-plugins-expressions-server.expressionvalueerror.md) - -## ExpressionValueError type - -Signature: - -```typescript -export declare type ExpressionValueError = ExpressionValueBoxed<'error', { - error: ErrorLike; - info?: SerializableRecord; -}>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluefilter.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluefilter.md deleted file mode 100644 index fb65bc2550513..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluefilter.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionValueFilter](./kibana-plugin-plugins-expressions-server.expressionvaluefilter.md) - -## ExpressionValueFilter type - -Represents an object that is a Filter. - -Signature: - -```typescript -export declare type ExpressionValueFilter = ExpressionValueBoxed<'filter', { - filterType?: string; - value?: string; - column?: string; - and: ExpressionValueFilter[]; - to?: string; - from?: string; - query?: string | null; -}>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluenum.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluenum.md deleted file mode 100644 index b109a23dc7259..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluenum.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionValueNum](./kibana-plugin-plugins-expressions-server.expressionvaluenum.md) - -## ExpressionValueNum type - -Signature: - -```typescript -export declare type ExpressionValueNum = ExpressionValueBoxed<'num', { - value: number; -}>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluerender.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluerender.md deleted file mode 100644 index 96958d753a78e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvaluerender.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionValueRender](./kibana-plugin-plugins-expressions-server.expressionvaluerender.md) - -## ExpressionValueRender type - -Represents an object that is intended to be rendered. - -Signature: - -```typescript -export declare type ExpressionValueRender = ExpressionValueBoxed; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueunboxed.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueunboxed.md deleted file mode 100644 index 2393b2bb70e6b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.expressionvalueunboxed.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [ExpressionValueUnboxed](./kibana-plugin-plugins-expressions-server.expressionvalueunboxed.md) - -## ExpressionValueUnboxed type - -Signature: - -```typescript -export declare type ExpressionValueUnboxed = any; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.label.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.label.md deleted file mode 100644 index 5f11f866be2f6..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.label.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Font](./kibana-plugin-plugins-expressions-server.font.md) > [label](./kibana-plugin-plugins-expressions-server.font.label.md) - -## Font.label property - -Signature: - -```typescript -label: FontLabel; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.md deleted file mode 100644 index f3ff25e034624..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Font](./kibana-plugin-plugins-expressions-server.font.md) - -## Font interface - -An interface representing a font in Canvas, with a textual label and the CSS `font-value`. - -Signature: - -```typescript -export interface Font -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [label](./kibana-plugin-plugins-expressions-server.font.label.md) | FontLabel | | -| [value](./kibana-plugin-plugins-expressions-server.font.value.md) | FontValue | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.value.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.value.md deleted file mode 100644 index 1bb1fac163661..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.font.value.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Font](./kibana-plugin-plugins-expressions-server.font.md) > [value](./kibana-plugin-plugins-expressions-server.font.value.md) - -## Font.value property - -Signature: - -```typescript -value: FontValue; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontlabel.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontlabel.md deleted file mode 100644 index 4837abb7542fa..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontlabel.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [FontLabel](./kibana-plugin-plugins-expressions-server.fontlabel.md) - -## FontLabel type - -This type contains a unions of all supported font labels, or the the name of the font the user would see in a UI. - -Signature: - -```typescript -export declare type FontLabel = typeof fonts[number]['label']; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontstyle.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontstyle.md deleted file mode 100644 index 26588096666df..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontstyle.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [FontStyle](./kibana-plugin-plugins-expressions-server.fontstyle.md) - -## FontStyle enum - -Enum of supported CSS `font-style` properties. - -Signature: - -```typescript -export declare enum FontStyle -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| ITALIC | "italic" | | -| NORMAL | "normal" | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontvalue.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontvalue.md deleted file mode 100644 index 6c0332067a369..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontvalue.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [FontValue](./kibana-plugin-plugins-expressions-server.fontvalue.md) - -## FontValue type - -This type contains a union of all supported font values, equivalent to the CSS `font-value` property. - -Signature: - -```typescript -export declare type FontValue = typeof fonts[number]['value']; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontweight.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontweight.md deleted file mode 100644 index 314e4b17df01e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.fontweight.md +++ /dev/null @@ -1,32 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [FontWeight](./kibana-plugin-plugins-expressions-server.fontweight.md) - -## FontWeight enum - -Enum of supported CSS `font-weight` properties. - -Signature: - -```typescript -export declare enum FontWeight -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| BOLD | "bold" | | -| BOLDER | "bolder" | | -| EIGHT | "800" | | -| FIVE | "500" | | -| FOUR | "400" | | -| LIGHTER | "lighter" | | -| NINE | "900" | | -| NORMAL | "normal" | | -| ONE | "100" | | -| SEVEN | "700" | | -| SIX | "600" | | -| THREE | "300" | | -| TWO | "200" | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.format.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.format.md deleted file mode 100644 index aae8498bce03f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.format.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [format](./kibana-plugin-plugins-expressions-server.format.md) - -## format() function - -Signature: - -```typescript -export declare function format(ast: T, type: T extends ExpressionAstExpression ? 'expression' : 'argument'): string; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | T | | -| type | T extends ExpressionAstExpression ? 'expression' : 'argument' | | - -Returns: - -`string` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.formatexpression.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.formatexpression.md deleted file mode 100644 index 701d7b448f69f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.formatexpression.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [formatExpression](./kibana-plugin-plugins-expressions-server.formatexpression.md) - -## formatExpression() function - -Given expression pipeline AST, returns formatted string. - -Signature: - -```typescript -export declare function formatExpression(ast: ExpressionAstExpression): string; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| ast | ExpressionAstExpression | | - -Returns: - -`string` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry._constructor_.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry._constructor_.md deleted file mode 100644 index c3dc8b8e9b16f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-server.functionsregistry.md) > [(constructor)](./kibana-plugin-plugins-expressions-server.functionsregistry._constructor_.md) - -## FunctionsRegistry.(constructor) - -Constructs a new instance of the `FunctionsRegistry` class - -Signature: - -```typescript -constructor(executor: Executor); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| executor | Executor<any> | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.get.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.get.md deleted file mode 100644 index 795b3a87eac09..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.get.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-server.functionsregistry.md) > [get](./kibana-plugin-plugins-expressions-server.functionsregistry.get.md) - -## FunctionsRegistry.get() method - -Signature: - -```typescript -get(id: string): ExpressionFunction | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`ExpressionFunction | null` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.md deleted file mode 100644 index 790105c68241a..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-server.functionsregistry.md) - -## FunctionsRegistry class - -Signature: - -```typescript -export declare class FunctionsRegistry implements IRegistry -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(executor)](./kibana-plugin-plugins-expressions-server.functionsregistry._constructor_.md) | | Constructs a new instance of the FunctionsRegistry class | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [get(id)](./kibana-plugin-plugins-expressions-server.functionsregistry.get.md) | | | -| [register(functionDefinition)](./kibana-plugin-plugins-expressions-server.functionsregistry.register.md) | | | -| [toArray()](./kibana-plugin-plugins-expressions-server.functionsregistry.toarray.md) | | | -| [toJS()](./kibana-plugin-plugins-expressions-server.functionsregistry.tojs.md) | | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.register.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.register.md deleted file mode 100644 index 7da47937e80f0..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.register.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-server.functionsregistry.md) > [register](./kibana-plugin-plugins-expressions-server.functionsregistry.register.md) - -## FunctionsRegistry.register() method - -Signature: - -```typescript -register(functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| functionDefinition | AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition) | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.toarray.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.toarray.md deleted file mode 100644 index 5f9ca38990076..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.toarray.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-server.functionsregistry.md) > [toArray](./kibana-plugin-plugins-expressions-server.functionsregistry.toarray.md) - -## FunctionsRegistry.toArray() method - -Signature: - -```typescript -toArray(): ExpressionFunction[]; -``` -Returns: - -`ExpressionFunction[]` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.tojs.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.tojs.md deleted file mode 100644 index 35751bb534e58..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.functionsregistry.tojs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [FunctionsRegistry](./kibana-plugin-plugins-expressions-server.functionsregistry.md) > [toJS](./kibana-plugin-plugins-expressions-server.functionsregistry.tojs.md) - -## FunctionsRegistry.toJS() method - -Signature: - -```typescript -toJS(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.done.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.done.md deleted file mode 100644 index c6204769e893c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.done.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) > [done](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.done.md) - -## IInterpreterRenderHandlers.done property - -Done increments the number of rendering successes - -Signature: - -```typescript -done: () => void; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.event.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.event.md deleted file mode 100644 index 6a011aaf7f132..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.event.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) > [event](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.event.md) - -## IInterpreterRenderHandlers.event property - -Signature: - -```typescript -event: (event: any) => void; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.getrendermode.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.getrendermode.md deleted file mode 100644 index 16db25ab244f6..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.getrendermode.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) > [getRenderMode](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.getrendermode.md) - -## IInterpreterRenderHandlers.getRenderMode property - -Signature: - -```typescript -getRenderMode: () => RenderMode; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.hascompatibleactions.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.hascompatibleactions.md deleted file mode 100644 index 55419279f5d21..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.hascompatibleactions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) > [hasCompatibleActions](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.hascompatibleactions.md) - -## IInterpreterRenderHandlers.hasCompatibleActions property - -Signature: - -```typescript -hasCompatibleActions?: (event: any) => Promise; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.issynccolorsenabled.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.issynccolorsenabled.md deleted file mode 100644 index 71a7e020e65a5..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.issynccolorsenabled.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) > [isSyncColorsEnabled](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.issynccolorsenabled.md) - -## IInterpreterRenderHandlers.isSyncColorsEnabled property - -Signature: - -```typescript -isSyncColorsEnabled: () => boolean; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md deleted file mode 100644 index 831c9023c7e48..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) - -## IInterpreterRenderHandlers interface - -Signature: - -```typescript -export interface IInterpreterRenderHandlers -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [done](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.done.md) | () => void | Done increments the number of rendering successes | -| [event](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.event.md) | (event: any) => void | | -| [getRenderMode](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.getrendermode.md) | () => RenderMode | | -| [hasCompatibleActions](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.hascompatibleactions.md) | (event: any) => Promise<boolean> | | -| [isSyncColorsEnabled](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.issynccolorsenabled.md) | () => boolean | | -| [onDestroy](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.ondestroy.md) | (fn: () => void) => void | | -| [reload](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.reload.md) | () => void | | -| [uiState](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.uistate.md) | unknown | This uiState interface is actually PersistedState from the visualizations plugin, but expressions cannot know about vis or it creates a mess of circular dependencies. Downstream consumers of the uiState handler will need to cast for now. | -| [update](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.update.md) | (params: any) => void | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.ondestroy.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.ondestroy.md deleted file mode 100644 index 14ef98d17769c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.ondestroy.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) > [onDestroy](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.ondestroy.md) - -## IInterpreterRenderHandlers.onDestroy property - -Signature: - -```typescript -onDestroy: (fn: () => void) => void; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.reload.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.reload.md deleted file mode 100644 index c5e74e79f652b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.reload.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) > [reload](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.reload.md) - -## IInterpreterRenderHandlers.reload property - -Signature: - -```typescript -reload: () => void; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.uistate.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.uistate.md deleted file mode 100644 index ca1c8eec8c2f7..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.uistate.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) > [uiState](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.uistate.md) - -## IInterpreterRenderHandlers.uiState property - -This uiState interface is actually `PersistedState` from the visualizations plugin, but expressions cannot know about vis or it creates a mess of circular dependencies. Downstream consumers of the uiState handler will need to cast for now. - -Signature: - -```typescript -uiState?: unknown; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.update.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.update.md deleted file mode 100644 index 2649ea99b3386..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.update.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) > [update](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.update.md) - -## IInterpreterRenderHandlers.update property - -Signature: - -```typescript -update: (params: any) => void; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.interpretererrortype.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.interpretererrortype.md deleted file mode 100644 index 032cea643c5bf..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.interpretererrortype.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [InterpreterErrorType](./kibana-plugin-plugins-expressions-server.interpretererrortype.md) - -## InterpreterErrorType type - -> Warning: This API is now obsolete. -> -> Exported for backwards compatibility. -> - -Signature: - -```typescript -export declare type InterpreterErrorType = ExpressionValueError; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.get.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.get.md deleted file mode 100644 index b0b4524afe40a..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.get.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IRegistry](./kibana-plugin-plugins-expressions-server.iregistry.md) > [get](./kibana-plugin-plugins-expressions-server.iregistry.get.md) - -## IRegistry.get() method - -Signature: - -```typescript -get(id: string): T | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`T | null` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.md deleted file mode 100644 index 71aafe2db2dd1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IRegistry](./kibana-plugin-plugins-expressions-server.iregistry.md) - -## IRegistry interface - -Signature: - -```typescript -export interface IRegistry -``` - -## Methods - -| Method | Description | -| --- | --- | -| [get(id)](./kibana-plugin-plugins-expressions-server.iregistry.get.md) | | -| [toArray()](./kibana-plugin-plugins-expressions-server.iregistry.toarray.md) | | -| [toJS()](./kibana-plugin-plugins-expressions-server.iregistry.tojs.md) | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.toarray.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.toarray.md deleted file mode 100644 index 73718cd036c85..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.toarray.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IRegistry](./kibana-plugin-plugins-expressions-server.iregistry.md) > [toArray](./kibana-plugin-plugins-expressions-server.iregistry.toarray.md) - -## IRegistry.toArray() method - -Signature: - -```typescript -toArray(): T[]; -``` -Returns: - -`T[]` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.tojs.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.tojs.md deleted file mode 100644 index af83efbd99aa7..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.iregistry.tojs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [IRegistry](./kibana-plugin-plugins-expressions-server.iregistry.md) > [toJS](./kibana-plugin-plugins-expressions-server.iregistry.tojs.md) - -## IRegistry.toJS() method - -Signature: - -```typescript -toJS(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.isexpressionastbuilder.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.isexpressionastbuilder.md deleted file mode 100644 index 7692ff21ae934..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.isexpressionastbuilder.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [isExpressionAstBuilder](./kibana-plugin-plugins-expressions-server.isexpressionastbuilder.md) - -## isExpressionAstBuilder() function - -Type guard that checks whether a given value is an `ExpressionAstExpressionBuilder`. This is useful when working with subexpressions, where you might be retrieving a function argument, and need to know whether it is an expression builder instance which you can perform operations on. - -Signature: - -```typescript -export declare function isExpressionAstBuilder(val: any): val is ExpressionAstExpressionBuilder; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| val | any | | - -Returns: - -`val is ExpressionAstExpressionBuilder` - -## Example - -const arg = myFunction.getArgument('foo'); if (isExpressionAstBuilder(foo)) { foo.toAst(); } - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.knowntypetostring.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.knowntypetostring.md deleted file mode 100644 index ed536ac3b7173..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.knowntypetostring.md +++ /dev/null @@ -1,17 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [KnownTypeToString](./kibana-plugin-plugins-expressions-server.knowntypetostring.md) - -## KnownTypeToString type - -Map the type of the generic to a string-based representation of the type. - -If the provided generic is its own type interface, we use the value of the `type` key as a string literal type for it. - -Signature: - -```typescript -export declare type KnownTypeToString = T extends string ? 'string' : T extends boolean ? 'boolean' : T extends number ? 'number' : T extends null ? 'null' : T extends { - type: string; -} ? T['type'] : never; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.md deleted file mode 100644 index 5f7f373cd927f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.md +++ /dev/null @@ -1,108 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) - -## kibana-plugin-plugins-expressions-server package - -## Classes - -| Class | Description | -| --- | --- | -| [Execution](./kibana-plugin-plugins-expressions-server.execution.md) | | -| [Executor](./kibana-plugin-plugins-expressions-server.executor.md) | | -| [ExpressionFunction](./kibana-plugin-plugins-expressions-server.expressionfunction.md) | | -| [ExpressionFunctionParameter](./kibana-plugin-plugins-expressions-server.expressionfunctionparameter.md) | | -| [ExpressionRenderer](./kibana-plugin-plugins-expressions-server.expressionrenderer.md) | | -| [ExpressionRendererRegistry](./kibana-plugin-plugins-expressions-server.expressionrendererregistry.md) | | -| [ExpressionsServerPlugin](./kibana-plugin-plugins-expressions-server.expressionsserverplugin.md) | | -| [ExpressionType](./kibana-plugin-plugins-expressions-server.expressiontype.md) | | -| [FunctionsRegistry](./kibana-plugin-plugins-expressions-server.functionsregistry.md) | | -| [TypesRegistry](./kibana-plugin-plugins-expressions-server.typesregistry.md) | | - -## Enumerations - -| Enumeration | Description | -| --- | --- | -| [FontStyle](./kibana-plugin-plugins-expressions-server.fontstyle.md) | Enum of supported CSS font-style properties. | -| [FontWeight](./kibana-plugin-plugins-expressions-server.fontweight.md) | Enum of supported CSS font-weight properties. | -| [Overflow](./kibana-plugin-plugins-expressions-server.overflow.md) | Enum of supported CSS overflow properties. | -| [TextAlignment](./kibana-plugin-plugins-expressions-server.textalignment.md) | Enum of supported CSS text-align properties. | -| [TextDecoration](./kibana-plugin-plugins-expressions-server.textdecoration.md) | Enum of supported CSS text-decoration properties. | - -## Functions - -| Function | Description | -| --- | --- | -| [buildExpression(initialState)](./kibana-plugin-plugins-expressions-server.buildexpression.md) | Makes it easy to progressively build, update, and traverse an expression AST. You can either start with an empty AST, or provide an expression string, AST, or array of expression function builders to use as initial state. | -| [buildExpressionFunction(fnName, initialArgs)](./kibana-plugin-plugins-expressions-server.buildexpressionfunction.md) | Manages an AST for a single expression function. The return value can be provided to buildExpression to add this function to an expression.Note that to preserve type safety and ensure no args are missing, all required arguments for the specified function must be provided up front. If desired, they can be changed or removed later. | -| [format(ast, type)](./kibana-plugin-plugins-expressions-server.format.md) | | -| [formatExpression(ast)](./kibana-plugin-plugins-expressions-server.formatexpression.md) | Given expression pipeline AST, returns formatted string. | -| [isExpressionAstBuilder(val)](./kibana-plugin-plugins-expressions-server.isexpressionastbuilder.md) | Type guard that checks whether a given value is an ExpressionAstExpressionBuilder. This is useful when working with subexpressions, where you might be retrieving a function argument, and need to know whether it is an expression builder instance which you can perform operations on. | -| [parse(expression, startRule)](./kibana-plugin-plugins-expressions-server.parse.md) | | -| [parseExpression(expression)](./kibana-plugin-plugins-expressions-server.parseexpression.md) | Given expression pipeline string, returns parsed AST. | -| [plugin(initializerContext)](./kibana-plugin-plugins-expressions-server.plugin.md) | | - -## Interfaces - -| Interface | Description | -| --- | --- | -| [Datatable](./kibana-plugin-plugins-expressions-server.datatable.md) | A Datatable in Canvas is a unique structure that represents tabulated data. | -| [DatatableColumn](./kibana-plugin-plugins-expressions-server.datatablecolumn.md) | This type represents the shape of a column in a Datatable. | -| [ExecutionContext](./kibana-plugin-plugins-expressions-server.executioncontext.md) | ExecutionContext is an object available to all functions during a single execution; it provides various methods to perform side-effects. | -| [ExecutionParams](./kibana-plugin-plugins-expressions-server.executionparams.md) | | -| [ExecutionState](./kibana-plugin-plugins-expressions-server.executionstate.md) | | -| [ExecutorState](./kibana-plugin-plugins-expressions-server.executorstate.md) | | -| [ExpressionAstExpressionBuilder](./kibana-plugin-plugins-expressions-server.expressionastexpressionbuilder.md) | | -| [ExpressionAstFunctionBuilder](./kibana-plugin-plugins-expressions-server.expressionastfunctionbuilder.md) | | -| [ExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinition.md) | ExpressionFunctionDefinition is the interface plugins have to implement to register a function in expressions plugin. | -| [ExpressionFunctionDefinitions](./kibana-plugin-plugins-expressions-server.expressionfunctiondefinitions.md) | A mapping of ExpressionFunctionDefinitions for functions which the Expressions services provides out-of-the-box. Any new functions registered by the Expressions plugin should have their types added here. | -| [ExpressionImage](./kibana-plugin-plugins-expressions-server.expressionimage.md) | | -| [ExpressionRenderDefinition](./kibana-plugin-plugins-expressions-server.expressionrenderdefinition.md) | | -| [ExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.expressiontypedefinition.md) | A generic type which represents a custom Expression Type Definition that's registered to the Interpreter. | -| [ExpressionTypeStyle](./kibana-plugin-plugins-expressions-server.expressiontypestyle.md) | An object that represents style information, typically CSS. | -| [Font](./kibana-plugin-plugins-expressions-server.font.md) | An interface representing a font in Canvas, with a textual label and the CSS font-value. | -| [IInterpreterRenderHandlers](./kibana-plugin-plugins-expressions-server.iinterpreterrenderhandlers.md) | | -| [IRegistry](./kibana-plugin-plugins-expressions-server.iregistry.md) | | -| [PointSeriesColumn](./kibana-plugin-plugins-expressions-server.pointseriescolumn.md) | Column in a PointSeries | -| [Range](./kibana-plugin-plugins-expressions-server.range.md) | | -| [SerializedDatatable](./kibana-plugin-plugins-expressions-server.serializeddatatable.md) | | -| [SerializedFieldFormat](./kibana-plugin-plugins-expressions-server.serializedfieldformat.md) | JSON representation of a field formatter configuration. Is used to carry information about how to format data in a data table as part of the column definition. | - -## Type Aliases - -| Type Alias | Description | -| --- | --- | -| [AnyExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-server.anyexpressionfunctiondefinition.md) | Type to capture every possible expression function definition. | -| [AnyExpressionTypeDefinition](./kibana-plugin-plugins-expressions-server.anyexpressiontypedefinition.md) | | -| [ArgumentType](./kibana-plugin-plugins-expressions-server.argumenttype.md) | This type represents all of the possible combinations of properties of an Argument in an Expression Function. The presence or absence of certain fields influence the shape and presence of others within each arg in the specification. | -| [DatatableColumnType](./kibana-plugin-plugins-expressions-server.datatablecolumntype.md) | This type represents the type of any DatatableColumn in a Datatable. its duplicated from KBN\_FIELD\_TYPES | -| [DatatableRow](./kibana-plugin-plugins-expressions-server.datatablerow.md) | This type represents a row in a Datatable. | -| [ExecutionContainer](./kibana-plugin-plugins-expressions-server.executioncontainer.md) | | -| [ExecutorContainer](./kibana-plugin-plugins-expressions-server.executorcontainer.md) | | -| [ExpressionAstArgument](./kibana-plugin-plugins-expressions-server.expressionastargument.md) | | -| [ExpressionAstExpression](./kibana-plugin-plugins-expressions-server.expressionastexpression.md) | | -| [ExpressionAstFunction](./kibana-plugin-plugins-expressions-server.expressionastfunction.md) | | -| [ExpressionAstNode](./kibana-plugin-plugins-expressions-server.expressionastnode.md) | | -| [ExpressionsServerSetup](./kibana-plugin-plugins-expressions-server.expressionsserversetup.md) | | -| [ExpressionsServerStart](./kibana-plugin-plugins-expressions-server.expressionsserverstart.md) | | -| [ExpressionValue](./kibana-plugin-plugins-expressions-server.expressionvalue.md) | | -| [ExpressionValueBoxed](./kibana-plugin-plugins-expressions-server.expressionvalueboxed.md) | | -| [ExpressionValueConverter](./kibana-plugin-plugins-expressions-server.expressionvalueconverter.md) | | -| [ExpressionValueError](./kibana-plugin-plugins-expressions-server.expressionvalueerror.md) | | -| [ExpressionValueFilter](./kibana-plugin-plugins-expressions-server.expressionvaluefilter.md) | Represents an object that is a Filter. | -| [ExpressionValueNum](./kibana-plugin-plugins-expressions-server.expressionvaluenum.md) | | -| [ExpressionValueRender](./kibana-plugin-plugins-expressions-server.expressionvaluerender.md) | Represents an object that is intended to be rendered. | -| [ExpressionValueUnboxed](./kibana-plugin-plugins-expressions-server.expressionvalueunboxed.md) | | -| [FontLabel](./kibana-plugin-plugins-expressions-server.fontlabel.md) | This type contains a unions of all supported font labels, or the the name of the font the user would see in a UI. | -| [FontValue](./kibana-plugin-plugins-expressions-server.fontvalue.md) | This type contains a union of all supported font values, equivalent to the CSS font-value property. | -| [InterpreterErrorType](./kibana-plugin-plugins-expressions-server.interpretererrortype.md) | | -| [KnownTypeToString](./kibana-plugin-plugins-expressions-server.knowntypetostring.md) | Map the type of the generic to a string-based representation of the type.If the provided generic is its own type interface, we use the value of the type key as a string literal type for it. | -| [PointSeries](./kibana-plugin-plugins-expressions-server.pointseries.md) | A PointSeries is a unique structure that represents dots on a chart. | -| [PointSeriesColumnName](./kibana-plugin-plugins-expressions-server.pointseriescolumnname.md) | Allowed column names in a PointSeries | -| [PointSeriesColumns](./kibana-plugin-plugins-expressions-server.pointseriescolumns.md) | Represents a collection of valid Columns in a PointSeries | -| [PointSeriesRow](./kibana-plugin-plugins-expressions-server.pointseriesrow.md) | | -| [Style](./kibana-plugin-plugins-expressions-server.style.md) | | -| [TypeString](./kibana-plugin-plugins-expressions-server.typestring.md) | If the type extends a Promise, we still need to return the string representation:someArgument: Promise<boolean | string> results in types: ['boolean', 'string'] | -| [TypeToString](./kibana-plugin-plugins-expressions-server.typetostring.md) | This can convert a type into a known Expression string representation of that type. For example, TypeToString<Datatable> will resolve to 'datatable'. This allows Expression Functions to continue to specify their type in a simple string format. | -| [UnmappedTypeStrings](./kibana-plugin-plugins-expressions-server.unmappedtypestrings.md) | Types used in Expressions that don't map to a primitive cleanly:date is typed as a number or string, and represents a date | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.overflow.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.overflow.md deleted file mode 100644 index 2b1d1a34cd46a..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.overflow.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Overflow](./kibana-plugin-plugins-expressions-server.overflow.md) - -## Overflow enum - -Enum of supported CSS `overflow` properties. - -Signature: - -```typescript -export declare enum Overflow -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| AUTO | "auto" | | -| HIDDEN | "hidden" | | -| SCROLL | "scroll" | | -| VISIBLE | "visible" | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.parse.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.parse.md deleted file mode 100644 index ec2534986006f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.parse.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [parse](./kibana-plugin-plugins-expressions-server.parse.md) - -## parse() function - -Signature: - -```typescript -export declare function parse(expression: E, startRule: S): S extends 'expression' ? ExpressionAstExpression : ExpressionAstArgument; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| expression | E | | -| startRule | S | | - -Returns: - -`S extends 'expression' ? ExpressionAstExpression : ExpressionAstArgument` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.parseexpression.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.parseexpression.md deleted file mode 100644 index 0d8547fd5243b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.parseexpression.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [parseExpression](./kibana-plugin-plugins-expressions-server.parseexpression.md) - -## parseExpression() function - -Given expression pipeline string, returns parsed AST. - -Signature: - -```typescript -export declare function parseExpression(expression: string): ExpressionAstExpression; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| expression | string | | - -Returns: - -`ExpressionAstExpression` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.plugin.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.plugin.md deleted file mode 100644 index 79a7100ebf540..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.plugin.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [plugin](./kibana-plugin-plugins-expressions-server.plugin.md) - -## plugin() function - -Signature: - -```typescript -export declare function plugin(initializerContext: PluginInitializerContext): ExpressionsServerPlugin; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initializerContext | PluginInitializerContext | | - -Returns: - -`ExpressionsServerPlugin` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseries.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseries.md deleted file mode 100644 index f65efd705666d..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseries.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [PointSeries](./kibana-plugin-plugins-expressions-server.pointseries.md) - -## PointSeries type - -A `PointSeries` is a unique structure that represents dots on a chart. - -Signature: - -```typescript -export declare type PointSeries = ExpressionValueBoxed<'pointseries', { - columns: PointSeriesColumns; - rows: PointSeriesRow[]; -}>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.expression.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.expression.md deleted file mode 100644 index c857a9f29fa60..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.expression.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [PointSeriesColumn](./kibana-plugin-plugins-expressions-server.pointseriescolumn.md) > [expression](./kibana-plugin-plugins-expressions-server.pointseriescolumn.expression.md) - -## PointSeriesColumn.expression property - -Signature: - -```typescript -expression: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.md deleted file mode 100644 index 5aec683421dd1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [PointSeriesColumn](./kibana-plugin-plugins-expressions-server.pointseriescolumn.md) - -## PointSeriesColumn interface - -Column in a PointSeries - -Signature: - -```typescript -export interface PointSeriesColumn -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [expression](./kibana-plugin-plugins-expressions-server.pointseriescolumn.expression.md) | string | | -| [role](./kibana-plugin-plugins-expressions-server.pointseriescolumn.role.md) | 'measure' | 'dimension' | | -| [type](./kibana-plugin-plugins-expressions-server.pointseriescolumn.type.md) | 'number' | 'string' | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.role.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.role.md deleted file mode 100644 index 1f6b770ecba15..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.role.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [PointSeriesColumn](./kibana-plugin-plugins-expressions-server.pointseriescolumn.md) > [role](./kibana-plugin-plugins-expressions-server.pointseriescolumn.role.md) - -## PointSeriesColumn.role property - -Signature: - -```typescript -role: 'measure' | 'dimension'; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.type.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.type.md deleted file mode 100644 index 5cb51f460d722..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumn.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [PointSeriesColumn](./kibana-plugin-plugins-expressions-server.pointseriescolumn.md) > [type](./kibana-plugin-plugins-expressions-server.pointseriescolumn.type.md) - -## PointSeriesColumn.type property - -Signature: - -```typescript -type: 'number' | 'string'; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumnname.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumnname.md deleted file mode 100644 index 2d8522b30903c..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumnname.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [PointSeriesColumnName](./kibana-plugin-plugins-expressions-server.pointseriescolumnname.md) - -## PointSeriesColumnName type - -Allowed column names in a PointSeries - -Signature: - -```typescript -export declare type PointSeriesColumnName = 'x' | 'y' | 'color' | 'size' | 'text'; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumns.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumns.md deleted file mode 100644 index f6eee6e2bc9d1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriescolumns.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [PointSeriesColumns](./kibana-plugin-plugins-expressions-server.pointseriescolumns.md) - -## PointSeriesColumns type - -Represents a collection of valid Columns in a PointSeries - -Signature: - -```typescript -export declare type PointSeriesColumns = Record | {}; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriesrow.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriesrow.md deleted file mode 100644 index d9a77305e9f99..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.pointseriesrow.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [PointSeriesRow](./kibana-plugin-plugins-expressions-server.pointseriesrow.md) - -## PointSeriesRow type - -Signature: - -```typescript -export declare type PointSeriesRow = Record; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.from.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.from.md deleted file mode 100644 index f349681c1472f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.from.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Range](./kibana-plugin-plugins-expressions-server.range.md) > [from](./kibana-plugin-plugins-expressions-server.range.from.md) - -## Range.from property - -Signature: - -```typescript -from: number; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.label.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.label.md deleted file mode 100644 index 767f6011290a1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.label.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Range](./kibana-plugin-plugins-expressions-server.range.md) > [label](./kibana-plugin-plugins-expressions-server.range.label.md) - -## Range.label property - -Signature: - -```typescript -label?: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.md deleted file mode 100644 index 4e6ae12217f2e..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Range](./kibana-plugin-plugins-expressions-server.range.md) - -## Range interface - -Signature: - -```typescript -export interface Range -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [from](./kibana-plugin-plugins-expressions-server.range.from.md) | number | | -| [label](./kibana-plugin-plugins-expressions-server.range.label.md) | string | | -| [to](./kibana-plugin-plugins-expressions-server.range.to.md) | number | | -| [type](./kibana-plugin-plugins-expressions-server.range.type.md) | typeof name | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.to.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.to.md deleted file mode 100644 index c5a1fe2fe2080..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.to.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Range](./kibana-plugin-plugins-expressions-server.range.md) > [to](./kibana-plugin-plugins-expressions-server.range.to.md) - -## Range.to property - -Signature: - -```typescript -to: number; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.type.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.type.md deleted file mode 100644 index dd856dc0eb713..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.range.type.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Range](./kibana-plugin-plugins-expressions-server.range.md) > [type](./kibana-plugin-plugins-expressions-server.range.type.md) - -## Range.type property - -Signature: - -```typescript -type: typeof name; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializeddatatable.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializeddatatable.md deleted file mode 100644 index 12951f9323503..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializeddatatable.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [SerializedDatatable](./kibana-plugin-plugins-expressions-server.serializeddatatable.md) - -## SerializedDatatable interface - -Signature: - -```typescript -export interface SerializedDatatable extends Datatable -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [rows](./kibana-plugin-plugins-expressions-server.serializeddatatable.rows.md) | string[][] | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializeddatatable.rows.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializeddatatable.rows.md deleted file mode 100644 index e82504f153f6b..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializeddatatable.rows.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [SerializedDatatable](./kibana-plugin-plugins-expressions-server.serializeddatatable.md) > [rows](./kibana-plugin-plugins-expressions-server.serializeddatatable.rows.md) - -## SerializedDatatable.rows property - -Signature: - -```typescript -rows: string[][]; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.id.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.id.md deleted file mode 100644 index def3296aedcf7..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.id.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [SerializedFieldFormat](./kibana-plugin-plugins-expressions-server.serializedfieldformat.md) > [id](./kibana-plugin-plugins-expressions-server.serializedfieldformat.id.md) - -## SerializedFieldFormat.id property - -Signature: - -```typescript -id?: string; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.md deleted file mode 100644 index c62e830ccf7b9..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [SerializedFieldFormat](./kibana-plugin-plugins-expressions-server.serializedfieldformat.md) - -## SerializedFieldFormat interface - -JSON representation of a field formatter configuration. Is used to carry information about how to format data in a data table as part of the column definition. - -Signature: - -```typescript -export interface SerializedFieldFormat> -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-expressions-server.serializedfieldformat.id.md) | string | | -| [params](./kibana-plugin-plugins-expressions-server.serializedfieldformat.params.md) | TParams | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.params.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.params.md deleted file mode 100644 index 8861f729aa2b1..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.serializedfieldformat.params.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [SerializedFieldFormat](./kibana-plugin-plugins-expressions-server.serializedfieldformat.md) > [params](./kibana-plugin-plugins-expressions-server.serializedfieldformat.params.md) - -## SerializedFieldFormat.params property - -Signature: - -```typescript -params?: TParams; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.style.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.style.md deleted file mode 100644 index e43addfd5ff30..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.style.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [Style](./kibana-plugin-plugins-expressions-server.style.md) - -## Style type - -Signature: - -```typescript -export declare type Style = ExpressionTypeStyle; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.textalignment.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.textalignment.md deleted file mode 100644 index 2adc12371b4be..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.textalignment.md +++ /dev/null @@ -1,23 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [TextAlignment](./kibana-plugin-plugins-expressions-server.textalignment.md) - -## TextAlignment enum - -Enum of supported CSS `text-align` properties. - -Signature: - -```typescript -export declare enum TextAlignment -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| CENTER | "center" | | -| JUSTIFY | "justify" | | -| LEFT | "left" | | -| RIGHT | "right" | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.textdecoration.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.textdecoration.md deleted file mode 100644 index 98d9b38547baf..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.textdecoration.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [TextDecoration](./kibana-plugin-plugins-expressions-server.textdecoration.md) - -## TextDecoration enum - -Enum of supported CSS `text-decoration` properties. - -Signature: - -```typescript -export declare enum TextDecoration -``` - -## Enumeration Members - -| Member | Value | Description | -| --- | --- | --- | -| NONE | "none" | | -| UNDERLINE | "underline" | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry._constructor_.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry._constructor_.md deleted file mode 100644 index 87290d88214d0..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-server.typesregistry.md) > [(constructor)](./kibana-plugin-plugins-expressions-server.typesregistry._constructor_.md) - -## TypesRegistry.(constructor) - -Constructs a new instance of the `TypesRegistry` class - -Signature: - -```typescript -constructor(executor: Executor); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| executor | Executor<any> | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.get.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.get.md deleted file mode 100644 index c8d674eab50cd..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.get.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-server.typesregistry.md) > [get](./kibana-plugin-plugins-expressions-server.typesregistry.get.md) - -## TypesRegistry.get() method - -Signature: - -```typescript -get(id: string): ExpressionType | null; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| id | string | | - -Returns: - -`ExpressionType | null` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.md deleted file mode 100644 index 2c4d75e020035..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-server.typesregistry.md) - -## TypesRegistry class - -Signature: - -```typescript -export declare class TypesRegistry implements IRegistry -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)(executor)](./kibana-plugin-plugins-expressions-server.typesregistry._constructor_.md) | | Constructs a new instance of the TypesRegistry class | - -## Methods - -| Method | Modifiers | Description | -| --- | --- | --- | -| [get(id)](./kibana-plugin-plugins-expressions-server.typesregistry.get.md) | | | -| [register(typeDefinition)](./kibana-plugin-plugins-expressions-server.typesregistry.register.md) | | | -| [toArray()](./kibana-plugin-plugins-expressions-server.typesregistry.toarray.md) | | | -| [toJS()](./kibana-plugin-plugins-expressions-server.typesregistry.tojs.md) | | | - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.register.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.register.md deleted file mode 100644 index 935a862407dfe..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.register.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-server.typesregistry.md) > [register](./kibana-plugin-plugins-expressions-server.typesregistry.register.md) - -## TypesRegistry.register() method - -Signature: - -```typescript -register(typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)): void; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| typeDefinition | AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition) | | - -Returns: - -`void` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.toarray.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.toarray.md deleted file mode 100644 index e3c6b13a22a58..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.toarray.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-server.typesregistry.md) > [toArray](./kibana-plugin-plugins-expressions-server.typesregistry.toarray.md) - -## TypesRegistry.toArray() method - -Signature: - -```typescript -toArray(): ExpressionType[]; -``` -Returns: - -`ExpressionType[]` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.tojs.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.tojs.md deleted file mode 100644 index 2ff258bd54e44..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typesregistry.tojs.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [TypesRegistry](./kibana-plugin-plugins-expressions-server.typesregistry.md) > [toJS](./kibana-plugin-plugins-expressions-server.typesregistry.tojs.md) - -## TypesRegistry.toJS() method - -Signature: - -```typescript -toJS(): Record; -``` -Returns: - -`Record` - diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typestring.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typestring.md deleted file mode 100644 index adf2c52490de4..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typestring.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [TypeString](./kibana-plugin-plugins-expressions-server.typestring.md) - -## TypeString type - -If the type extends a Promise, we still need to return the string representation: - -`someArgument: Promise` results in `types: ['boolean', 'string']` - -Signature: - -```typescript -export declare type TypeString = KnownTypeToString ? UnwrapObservable : UnwrapPromiseOrReturn>; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typetostring.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typetostring.md deleted file mode 100644 index 578438c03a0e5..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.typetostring.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [TypeToString](./kibana-plugin-plugins-expressions-server.typetostring.md) - -## TypeToString type - -This can convert a type into a known Expression string representation of that type. For example, `TypeToString` will resolve to `'datatable'`. This allows Expression Functions to continue to specify their type in a simple string format. - -Signature: - -```typescript -export declare type TypeToString = KnownTypeToString | UnmappedTypeStrings; -``` diff --git a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.unmappedtypestrings.md b/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.unmappedtypestrings.md deleted file mode 100644 index da872bfabce4f..0000000000000 --- a/docs/development/plugins/expressions/server/kibana-plugin-plugins-expressions-server.unmappedtypestrings.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-expressions-server](./kibana-plugin-plugins-expressions-server.md) > [UnmappedTypeStrings](./kibana-plugin-plugins-expressions-server.unmappedtypestrings.md) - -## UnmappedTypeStrings type - -Types used in Expressions that don't map to a primitive cleanly: - -`date` is typed as a number or string, and represents a date - -Signature: - -```typescript -export declare type UnmappedTypeStrings = 'date' | 'filter'; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/index.md b/docs/development/plugins/kibana_utils/common/state_containers/index.md deleted file mode 100644 index b4e1071ceb732..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/index.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) - -## API Reference - -## Packages - -| Package | Description | -| --- | --- | -| [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) | State containers are Redux-store-like objects meant to help you manage state in your services or apps. Refer to [guides and examples](https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_containers) for more info | - diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestate.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestate.md deleted file mode 100644 index 92893afc02bef..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestate.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [BaseState](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestate.md) - -## BaseState type - -Base [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md) state shape - -Signature: - -```typescript -export declare type BaseState = object; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.get.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.get.md deleted file mode 100644 index b939954d92aa6..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.get.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [BaseStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md) > [get](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.get.md) - -## BaseStateContainer.get property - -Retrieves current state from the container - -Signature: - -```typescript -get: () => State; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md deleted file mode 100644 index 66c25c87f5e37..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [BaseStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md) - -## BaseStateContainer interface - -Base state container shape without transitions or selectors - -Signature: - -```typescript -export interface BaseStateContainer -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [get](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.get.md) | () => State | Retrieves current state from the container | -| [set](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.set.md) | (state: State) => void | Sets state into container | -| [state$](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.state_.md) | Observable<State> | of state | - diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.set.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.set.md deleted file mode 100644 index ed4ff365adfb3..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.set.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [BaseStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md) > [set](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.set.md) - -## BaseStateContainer.set property - -Sets state into container - -Signature: - -```typescript -set: (state: State) => void; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.state_.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.state_.md deleted file mode 100644 index 35838fa53d539..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.state_.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [BaseStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md) > [state$](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.state_.md) - -## BaseStateContainer.state$ property - - of state - -Signature: - -```typescript -state$: Observable; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.comparator.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.comparator.md deleted file mode 100644 index f429866848aa4..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.comparator.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [Comparator](./kibana-plugin-plugins-kibana_utils-common-state_containers.comparator.md) - -## Comparator type - -Used to compare state, see [useContainerSelector](./kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerselector.md). - -Signature: - -```typescript -export declare type Comparator = (previous: Result, current: Result) => boolean; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.connect.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.connect.md deleted file mode 100644 index ca68c47ddaa7e..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.connect.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [Connect](./kibana-plugin-plugins-kibana_utils-common-state_containers.connect.md) - -## Connect type - -Similar to `connect` from react-redux, allows to map state from state container to component's props. - -Signature: - -```typescript -export declare type Connect = (mapStateToProp: MapStateToProps>) => (component: ComponentType) => FC>; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer.md deleted file mode 100644 index cc43b59676dc1..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [createStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer.md) - -## createStateContainer() function - -Creates a state container without transitions and without selectors. - -Signature: - -```typescript -export declare function createStateContainer(defaultState: State): ReduxLikeStateContainer; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| defaultState | State | initial state | - -Returns: - -`ReduxLikeStateContainer` - diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_1.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_1.md deleted file mode 100644 index 8aadd0a234a8a..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_1.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [createStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_1.md) - -## createStateContainer() function - -Creates a state container with transitions, but without selectors. - -Signature: - -```typescript -export declare function createStateContainer(defaultState: State, pureTransitions: PureTransitions): ReduxLikeStateContainer; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| defaultState | State | initial state | -| pureTransitions | PureTransitions | state transitions configuration object. Map of . | - -Returns: - -`ReduxLikeStateContainer` - diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_2.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_2.md deleted file mode 100644 index bb06ca18e808a..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_2.md +++ /dev/null @@ -1,27 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [createStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_2.md) - -## createStateContainer() function - -Creates a state container with transitions and selectors. - -Signature: - -```typescript -export declare function createStateContainer(defaultState: State, pureTransitions: PureTransitions, pureSelectors: PureSelectors, options?: CreateStateContainerOptions): ReduxLikeStateContainer; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| defaultState | State | initial state | -| pureTransitions | PureTransitions | state transitions configuration object. Map of . | -| pureSelectors | PureSelectors | state selectors configuration object. Map of . | -| options | CreateStateContainerOptions | state container options [CreateStateContainerOptions](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.md) | - -Returns: - -`ReduxLikeStateContainer` - diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.freeze.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.freeze.md deleted file mode 100644 index 0b05775ad1458..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.freeze.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [CreateStateContainerOptions](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.md) > [freeze](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.freeze.md) - -## CreateStateContainerOptions.freeze property - -Function to use when freezing state. Supply identity function. If not provided, default `deepFreeze` is used. - -Signature: - -```typescript -freeze?: (state: T) => T; -``` - -## Example - -If you expect that your state will be mutated externally an you cannot prevent that - -```ts -{ - freeze: state => state, -} - -``` - diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.md deleted file mode 100644 index 8dba1b647edf4..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [CreateStateContainerOptions](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.md) - -## CreateStateContainerOptions interface - -State container options - -Signature: - -```typescript -export interface CreateStateContainerOptions -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [freeze](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.freeze.md) | <T>(state: T) => T | Function to use when freezing state. Supply identity function. If not provided, default deepFreeze is used. | - diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainerreacthelpers.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainerreacthelpers.md deleted file mode 100644 index a6076490c2746..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainerreacthelpers.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [createStateContainerReactHelpers](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainerreacthelpers.md) - -## createStateContainerReactHelpers variable - -Creates helpers for using [State Containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md) with react Refer to [guide](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_containers/react.md) for details - -Signature: - -```typescript -createStateContainerReactHelpers: >() => { - Provider: React.Provider; - Consumer: React.Consumer; - context: React.Context; - useContainer: () => Container; - useState: () => UnboxState; - useTransitions: () => Container["transitions"]; - useSelector: (selector: (state: UnboxState) => Result, comparator?: Comparator) => Result; - connect: Connect>; -} -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.dispatch.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.dispatch.md deleted file mode 100644 index d4057a549bb0d..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.dispatch.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [Dispatch](./kibana-plugin-plugins-kibana_utils-common-state_containers.dispatch.md) - -## Dispatch type - -Redux like dispatch - -Signature: - -```typescript -export declare type Dispatch = (action: T) => void; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepureselector.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepureselector.md deleted file mode 100644 index 5e4e86ad82d53..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepureselector.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [EnsurePureSelector](./kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepureselector.md) - -## EnsurePureSelector type - - -Signature: - -```typescript -export declare type EnsurePureSelector = Ensure>; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepuretransition.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepuretransition.md deleted file mode 100644 index 0e621e989346b..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepuretransition.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [EnsurePureTransition](./kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepuretransition.md) - -## EnsurePureTransition type - - -Signature: - -```typescript -export declare type EnsurePureTransition = Ensure>; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.mapstatetoprops.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.mapstatetoprops.md deleted file mode 100644 index 8e6a49ac72742..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.mapstatetoprops.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [MapStateToProps](./kibana-plugin-plugins-kibana_utils-common-state_containers.mapstatetoprops.md) - -## MapStateToProps type - -State container state to component props mapper. See [Connect](./kibana-plugin-plugins-kibana_utils-common-state_containers.connect.md) - -Signature: - -```typescript -export declare type MapStateToProps = (state: State) => StateProps; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.md deleted file mode 100644 index 7cabb72cecb31..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.md +++ /dev/null @@ -1,52 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) - -## kibana-plugin-plugins-kibana\_utils-common-state\_containers package - -State containers are Redux-store-like objects meant to help you manage state in your services or apps. Refer to [guides and examples](https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_containers) for more info - -## Functions - -| Function | Description | -| --- | --- | -| [createStateContainer(defaultState)](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer.md) | Creates a state container without transitions and without selectors. | -| [createStateContainer(defaultState, pureTransitions)](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_1.md) | Creates a state container with transitions, but without selectors. | -| [createStateContainer(defaultState, pureTransitions, pureSelectors, options)](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainer_2.md) | Creates a state container with transitions and selectors. | - -## Interfaces - -| Interface | Description | -| --- | --- | -| [BaseStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md) | Base state container shape without transitions or selectors | -| [CreateStateContainerOptions](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontaineroptions.md) | State container options | -| [ReduxLikeStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md) | Fully featured state container which matches Redux store interface. Extends [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md). Allows to use state container with redux libraries. | -| [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md) | Fully featured state container with [Selectors](./kibana-plugin-plugins-kibana_utils-common-state_containers.selector.md) and . Extends [BaseStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md). | - -## Variables - -| Variable | Description | -| --- | --- | -| [createStateContainerReactHelpers](./kibana-plugin-plugins-kibana_utils-common-state_containers.createstatecontainerreacthelpers.md) | Creates helpers for using [State Containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md) with react Refer to [guide](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_containers/react.md) for details | -| [useContainerSelector](./kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerselector.md) | React hook to apply selector to state container to extract only needed information. Will re-render your component only when the section changes. | -| [useContainerState](./kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerstate.md) | React hooks that returns the latest state of a [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md). | - -## Type Aliases - -| Type Alias | Description | -| --- | --- | -| [BaseState](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestate.md) | Base [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md) state shape | -| [Comparator](./kibana-plugin-plugins-kibana_utils-common-state_containers.comparator.md) | Used to compare state, see [useContainerSelector](./kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerselector.md). | -| [Connect](./kibana-plugin-plugins-kibana_utils-common-state_containers.connect.md) | Similar to connect from react-redux, allows to map state from state container to component's props. | -| [Dispatch](./kibana-plugin-plugins-kibana_utils-common-state_containers.dispatch.md) | Redux like dispatch | -| [EnsurePureSelector](./kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepureselector.md) | | -| [EnsurePureTransition](./kibana-plugin-plugins-kibana_utils-common-state_containers.ensurepuretransition.md) | | -| [MapStateToProps](./kibana-plugin-plugins-kibana_utils-common-state_containers.mapstatetoprops.md) | State container state to component props mapper. See [Connect](./kibana-plugin-plugins-kibana_utils-common-state_containers.connect.md) | -| [Middleware](./kibana-plugin-plugins-kibana_utils-common-state_containers.middleware.md) | Redux like Middleware | -| [PureSelector](./kibana-plugin-plugins-kibana_utils-common-state_containers.pureselector.md) | | -| [PureSelectorsToSelectors](./kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectorstoselectors.md) | | -| [PureSelectorToSelector](./kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectortoselector.md) | | -| [Reducer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reducer.md) | Redux like Reducer | -| [Selector](./kibana-plugin-plugins-kibana_utils-common-state_containers.selector.md) | | -| [UnboxState](./kibana-plugin-plugins-kibana_utils-common-state_containers.unboxstate.md) | Utility type for inferring state shape from [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md) | - diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.middleware.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.middleware.md deleted file mode 100644 index 574b83306dc95..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.middleware.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [Middleware](./kibana-plugin-plugins-kibana_utils-common-state_containers.middleware.md) - -## Middleware type - -Redux like Middleware - -Signature: - -```typescript -export declare type Middleware = (store: Pick, 'getState' | 'dispatch'>) => (next: (action: TransitionDescription) => TransitionDescription | any) => Dispatch; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselector.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselector.md deleted file mode 100644 index 6ac07cba446f5..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselector.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [PureSelector](./kibana-plugin-plugins-kibana_utils-common-state_containers.pureselector.md) - -## PureSelector type - - -Signature: - -```typescript -export declare type PureSelector = (state: State) => Selector; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectorstoselectors.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectorstoselectors.md deleted file mode 100644 index 82a91f7c87e17..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectorstoselectors.md +++ /dev/null @@ -1,14 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [PureSelectorsToSelectors](./kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectorstoselectors.md) - -## PureSelectorsToSelectors type - - -Signature: - -```typescript -export declare type PureSelectorsToSelectors = { - [K in keyof T]: PureSelectorToSelector>; -}; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectortoselector.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectortoselector.md deleted file mode 100644 index 5c12afd1cd971..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectortoselector.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [PureSelectorToSelector](./kibana-plugin-plugins-kibana_utils-common-state_containers.pureselectortoselector.md) - -## PureSelectorToSelector type - - -Signature: - -```typescript -export declare type PureSelectorToSelector> = ReturnType>; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reducer.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reducer.md deleted file mode 100644 index 519e6ce7d7cfb..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reducer.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [Reducer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reducer.md) - -## Reducer type - -Redux like Reducer - -Signature: - -```typescript -export declare type Reducer = (state: State, action: TransitionDescription) => State; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.addmiddleware.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.addmiddleware.md deleted file mode 100644 index e90da05e30d87..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.addmiddleware.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [ReduxLikeStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md) > [addMiddleware](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.addmiddleware.md) - -## ReduxLikeStateContainer.addMiddleware property - -Signature: - -```typescript -addMiddleware: (middleware: Middleware) => void; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.dispatch.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.dispatch.md deleted file mode 100644 index 7a9755ee3b65c..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.dispatch.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [ReduxLikeStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md) > [dispatch](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.dispatch.md) - -## ReduxLikeStateContainer.dispatch property - -Signature: - -```typescript -dispatch: (action: TransitionDescription) => void; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.getstate.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.getstate.md deleted file mode 100644 index 86e1c6dd34cd6..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.getstate.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [ReduxLikeStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md) > [getState](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.getstate.md) - -## ReduxLikeStateContainer.getState property - -Signature: - -```typescript -getState: () => State; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md deleted file mode 100644 index 1229f4c2998f8..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [ReduxLikeStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md) - -## ReduxLikeStateContainer interface - -Fully featured state container which matches Redux store interface. Extends [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md). Allows to use state container with redux libraries. - -Signature: - -```typescript -export interface ReduxLikeStateContainer extends StateContainer -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [addMiddleware](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.addmiddleware.md) | (middleware: Middleware<State>) => void | | -| [dispatch](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.dispatch.md) | (action: TransitionDescription) => void | | -| [getState](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.getstate.md) | () => State | | -| [reducer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.reducer.md) | Reducer<State> | | -| [replaceReducer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.replacereducer.md) | (nextReducer: Reducer<State>) => void | | -| [subscribe](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.subscribe.md) | (listener: (state: State) => void) => () => void | | - diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.reducer.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.reducer.md deleted file mode 100644 index 49eabf19340f2..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.reducer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [ReduxLikeStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md) > [reducer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.reducer.md) - -## ReduxLikeStateContainer.reducer property - -Signature: - -```typescript -reducer: Reducer; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.replacereducer.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.replacereducer.md deleted file mode 100644 index 2582d31d9adc4..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.replacereducer.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [ReduxLikeStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md) > [replaceReducer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.replacereducer.md) - -## ReduxLikeStateContainer.replaceReducer property - -Signature: - -```typescript -replaceReducer: (nextReducer: Reducer) => void; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.subscribe.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.subscribe.md deleted file mode 100644 index 15139a7bd9f3e..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.subscribe.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [ReduxLikeStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.md) > [subscribe](./kibana-plugin-plugins-kibana_utils-common-state_containers.reduxlikestatecontainer.subscribe.md) - -## ReduxLikeStateContainer.subscribe property - -Signature: - -```typescript -subscribe: (listener: (state: State) => void) => () => void; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.selector.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.selector.md deleted file mode 100644 index 5c143551d130b..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.selector.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [Selector](./kibana-plugin-plugins-kibana_utils-common-state_containers.selector.md) - -## Selector type - - -Signature: - -```typescript -export declare type Selector = (...args: Args) => Result; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md deleted file mode 100644 index 5d47540c824b0..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md) - -## StateContainer interface - -Fully featured state container with [Selectors](./kibana-plugin-plugins-kibana_utils-common-state_containers.selector.md) and . Extends [BaseStateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.basestatecontainer.md). - -Signature: - -```typescript -export interface StateContainer extends BaseStateContainer -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [selectors](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.selectors.md) | Readonly<PureSelectorsToSelectors<PureSelectors>> | | -| [transitions](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.transitions.md) | Readonly<PureTransitionsToTransitions<PureTransitions>> | | - diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.selectors.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.selectors.md deleted file mode 100644 index 2afac07b59e39..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.selectors.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md) > [selectors](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.selectors.md) - -## StateContainer.selectors property - -Signature: - -```typescript -selectors: Readonly>; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.transitions.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.transitions.md deleted file mode 100644 index 4712d3287beef..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.transitions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md) > [transitions](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.transitions.md) - -## StateContainer.transitions property - -Signature: - -```typescript -transitions: Readonly>; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.unboxstate.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.unboxstate.md deleted file mode 100644 index d4f99841456d7..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.unboxstate.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [UnboxState](./kibana-plugin-plugins-kibana_utils-common-state_containers.unboxstate.md) - -## UnboxState type - -Utility type for inferring state shape from [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md) - -Signature: - -```typescript -export declare type UnboxState> = Container extends StateContainer ? T : never; -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerselector.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerselector.md deleted file mode 100644 index fe5f30a9c8472..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerselector.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [useContainerSelector](./kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerselector.md) - -## useContainerSelector variable - -React hook to apply selector to state container to extract only needed information. Will re-render your component only when the section changes. - -Signature: - -```typescript -useContainerSelector: , Result>(container: Container, selector: (state: UnboxState) => Result, comparator?: Comparator) => Result -``` diff --git a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerstate.md b/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerstate.md deleted file mode 100644 index 7cef47c58f9d9..0000000000000 --- a/docs/development/plugins/kibana_utils/common/state_containers/kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerstate.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-common-state\_containers](./kibana-plugin-plugins-kibana_utils-common-state_containers.md) > [useContainerState](./kibana-plugin-plugins-kibana_utils-common-state_containers.usecontainerstate.md) - -## useContainerState variable - -React hooks that returns the latest state of a [StateContainer](./kibana-plugin-plugins-kibana_utils-common-state_containers.statecontainer.md). - -Signature: - -```typescript -useContainerState: >(container: Container) => UnboxState -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/index.md b/docs/development/plugins/kibana_utils/public/state_sync/index.md deleted file mode 100644 index 5625e4a4b5eb8..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/index.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) - -## API Reference - -## Packages - -| Package | Description | -| --- | --- | -| [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) | State syncing utilities are a set of helpers for syncing your application state with browser URL or browser storage.They are designed to work together with [state containers](https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_containers). But state containers are not required.State syncing utilities include:\* util which: \* Subscribes to state changes and pushes them to state storage. \* Optionally subscribes to state storage changes and pushes them to state. \* Two types of storages compatible with syncState: \* - Serializes state and persists it to URL's query param in rison or hashed format. Listens for state updates in the URL and pushes them back to state. \* - Serializes state and persists it to browser storage.Refer [here](https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_sync) for a complete guide and examples. | - diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.createkbnurlstatestorage.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.createkbnurlstatestorage.md deleted file mode 100644 index 478ba2d409acd..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.createkbnurlstatestorage.md +++ /dev/null @@ -1,18 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [createKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.createkbnurlstatestorage.md) - -## createKbnUrlStateStorage variable - -Creates [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) state storage - -Signature: - -```typescript -createKbnUrlStateStorage: ({ useHash, history, onGetError, onSetError, }?: { - useHash: boolean; - history?: History | undefined; - onGetError?: ((error: Error) => void) | undefined; - onSetError?: ((error: Error) => void) | undefined; -}) => IKbnUrlStateStorage -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.createsessionstoragestatestorage.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.createsessionstoragestatestorage.md deleted file mode 100644 index dccff93ad1724..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.createsessionstoragestatestorage.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [createSessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.createsessionstoragestatestorage.md) - -## createSessionStorageStateStorage variable - -Creates [ISessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md) [guide](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md) - -Signature: - -```typescript -createSessionStorageStateStorage: (storage?: Storage) => ISessionStorageStateStorage -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.cancel.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.cancel.md deleted file mode 100644 index ed78bc0169ebf..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.cancel.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) > [cancel](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.cancel.md) - -## IKbnUrlStateStorage.cancel property - -Cancels any pending url updates - -Signature: - -```typescript -cancel: () => void; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.change_.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.change_.md deleted file mode 100644 index 2b55f2aca70c8..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.change_.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) > [change$](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.change_.md) - -## IKbnUrlStateStorage.change$ property - -Signature: - -```typescript -change$: (key: string) => Observable; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.get.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.get.md deleted file mode 100644 index 0eb60c21fbbbf..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.get.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) > [get](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.get.md) - -## IKbnUrlStateStorage.get property - -Signature: - -```typescript -get: (key: string) => State | null; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.kbnurlcontrols.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.kbnurlcontrols.md deleted file mode 100644 index 8e3b9a7bfeb3f..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.kbnurlcontrols.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) > [kbnUrlControls](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.kbnurlcontrols.md) - -## IKbnUrlStateStorage.kbnUrlControls property - -Lower level wrapper around history library that handles batching multiple URL updates into one history change - -Signature: - -```typescript -kbnUrlControls: IKbnUrlControls; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md deleted file mode 100644 index be77e5887e98f..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md +++ /dev/null @@ -1,28 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) - -## IKbnUrlStateStorage interface - -KbnUrlStateStorage is a state storage for [syncState()](./kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md) utility which: - -1. Keeps state in sync with the URL. 2. Serializes data and stores it in the URL in one of the supported formats: \* Rison encoded. \* Hashed URL: In URL we store only the hash from the serialized state, but the state itself is stored in sessionStorage. See Kibana's `state:storeInSessionStorage` advanced option for more context. 3. Takes care of listening to the URL updates and notifies state about the updates. 4. Takes care of batching URL updates to prevent redundant browser history records. - -[Refer to this guide for more info](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/kbn_url_storage.md) - -Signature: - -```typescript -export interface IKbnUrlStateStorage extends IStateStorage -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [cancel](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.cancel.md) | () => void | Cancels any pending url updates | -| [change$](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.change_.md) | <State = unknown>(key: string) => Observable<State | null> | | -| [get](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.get.md) | <State = unknown>(key: string) => State | null | | -| [kbnUrlControls](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.kbnurlcontrols.md) | IKbnUrlControls | Lower level wrapper around history library that handles batching multiple URL updates into one history change | -| [set](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.set.md) | <State>(key: string, state: State, opts?: {
replace: boolean;
}) => Promise<string | undefined> | | - diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.set.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.set.md deleted file mode 100644 index 2eab44d344414..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.set.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) > [set](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.set.md) - -## IKbnUrlStateStorage.set property - -Signature: - -```typescript -set: (key: string, state: State, opts?: { - replace: boolean; - }) => Promise; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.md deleted file mode 100644 index d81694484c3c0..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [INullableBaseStateContainer](./kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.md) - -## INullableBaseStateContainer interface - -Extension of with one constraint: set state should handle `null` as incoming state - -Signature: - -```typescript -export interface INullableBaseStateContainer extends BaseStateContainer -``` - -## Remarks - -State container for `stateSync()` have to accept `null` for example, `set()` implementation could handle null and fallback to some default state this is required to handle edge case, when state in storage becomes empty and syncing is in progress. State container will be notified about about storage becoming empty with null passed in. - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [set](./kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.set.md) | (state: State | null) => void | | - diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.set.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.set.md deleted file mode 100644 index dd2978f59484a..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.set.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [INullableBaseStateContainer](./kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.md) > [set](./kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.set.md) - -## INullableBaseStateContainer.set property - -Signature: - -```typescript -set: (state: State | null) => void; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.get.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.get.md deleted file mode 100644 index 83131c77132ce..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.get.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [ISessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md) > [get](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.get.md) - -## ISessionStorageStateStorage.get property - -Signature: - -```typescript -get: (key: string) => State | null; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md deleted file mode 100644 index 7792bc3932f95..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md +++ /dev/null @@ -1,21 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [ISessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md) - -## ISessionStorageStateStorage interface - -[IStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md) for storing state in browser [guide](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md) - -Signature: - -```typescript -export interface ISessionStorageStateStorage extends IStateStorage -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [get](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.get.md) | <State = unknown>(key: string) => State | null | | -| [set](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.set.md) | <State>(key: string, state: State) => void | | - diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.set.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.set.md deleted file mode 100644 index 04b0ab01f0d13..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.set.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [ISessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md) > [set](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.set.md) - -## ISessionStorageStateStorage.set property - -Signature: - -```typescript -set: (key: string, state: State) => void; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.cancel.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.cancel.md deleted file mode 100644 index 13bacfae9ef56..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.cancel.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md) > [cancel](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.cancel.md) - -## IStateStorage.cancel property - -Optional method to cancel any pending activity [syncState()](./kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md) will call it during destroy, if it is provided by IStateStorage - -Signature: - -```typescript -cancel?: () => void; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.change_.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.change_.md deleted file mode 100644 index ed6672a3d83c6..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.change_.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md) > [change$](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.change_.md) - -## IStateStorage.change$ property - -Should notify when the stored state has changed - -Signature: - -```typescript -change$?: (key: string) => Observable; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.get.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.get.md deleted file mode 100644 index 2c0b2ee970cc6..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.get.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md) > [get](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.get.md) - -## IStateStorage.get property - -Should retrieve state from the storage and deserialize it - -Signature: - -```typescript -get: (key: string) => State | null; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md deleted file mode 100644 index 82f7949dfdc03..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md +++ /dev/null @@ -1,25 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md) - -## IStateStorage interface - -Any StateStorage have to implement IStateStorage interface StateStorage is responsible for: \* state serialisation / deserialization \* persisting to and retrieving from storage - -For an example take a look at already implemented [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) and [ISessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md) state storages - -Signature: - -```typescript -export interface IStateStorage -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [cancel](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.cancel.md) | () => void | Optional method to cancel any pending activity [syncState()](./kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md) will call it during destroy, if it is provided by IStateStorage | -| [change$](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.change_.md) | <State = unknown>(key: string) => Observable<State | null> | Should notify when the stored state has changed | -| [get](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.get.md) | <State = unknown>(key: string) => State | null | Should retrieve state from the storage and deserialize it | -| [set](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.set.md) | <State>(key: string, state: State) => any | Take in a state object, should serialise and persist | - diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.set.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.set.md deleted file mode 100644 index 3f286994ed4af..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.set.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md) > [set](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.set.md) - -## IStateStorage.set property - -Take in a state object, should serialise and persist - -Signature: - -```typescript -set: (key: string, state: State) => any; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.md deleted file mode 100644 index f9368de4240ac..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IStateSyncConfig](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.md) - -## IStateSyncConfig interface - -Config for setting up state syncing with - -Signature: - -```typescript -export interface IStateSyncConfig -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [stateContainer](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statecontainer.md) | INullableBaseStateContainer<State> | State container to keep in sync with storage, have to implement [INullableBaseStateContainer](./kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.md) interface We encourage to use as a state container, but it is also possible to implement own custom container for advanced use cases | -| [stateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statestorage.md) | StateStorage | State storage to use, State storage is responsible for serialising / deserialising and persisting / retrieving stored stateThere are common strategies already implemented: see [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) which replicate what State (AppState, GlobalState) in legacy world did | -| [storageKey](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.storagekey.md) | string | Storage key to use for syncing, e.g. storageKey '\_a' should sync state to ?\_a query param | - diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statecontainer.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statecontainer.md deleted file mode 100644 index 0098dd5c99aeb..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statecontainer.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IStateSyncConfig](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.md) > [stateContainer](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statecontainer.md) - -## IStateSyncConfig.stateContainer property - -State container to keep in sync with storage, have to implement [INullableBaseStateContainer](./kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.md) interface We encourage to use as a state container, but it is also possible to implement own custom container for advanced use cases - -Signature: - -```typescript -stateContainer: INullableBaseStateContainer; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statestorage.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statestorage.md deleted file mode 100644 index ef872ba0ba9b5..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statestorage.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IStateSyncConfig](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.md) > [stateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.statestorage.md) - -## IStateSyncConfig.stateStorage property - -State storage to use, State storage is responsible for serialising / deserialising and persisting / retrieving stored state - -There are common strategies already implemented: see [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) which replicate what State (AppState, GlobalState) in legacy world did - -Signature: - -```typescript -stateStorage: StateStorage; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.storagekey.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.storagekey.md deleted file mode 100644 index d3887c23df1e0..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.storagekey.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [IStateSyncConfig](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.md) > [storageKey](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.storagekey.md) - -## IStateSyncConfig.storageKey property - -Storage key to use for syncing, e.g. storageKey '\_a' should sync state to ?\_a query param - -Signature: - -```typescript -storageKey: string; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.md deleted file mode 100644 index b4bc93fd78a9d..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [ISyncStateRef](./kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.md) - -## ISyncStateRef interface - - -Signature: - -```typescript -export interface ISyncStateRef -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [start](./kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.start.md) | StartSyncStateFnType | start state syncing | -| [stop](./kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.stop.md) | StopSyncStateFnType | stop state syncing | - diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.start.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.start.md deleted file mode 100644 index d8df808ba215f..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.start.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [ISyncStateRef](./kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.md) > [start](./kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.start.md) - -## ISyncStateRef.start property - -start state syncing - -Signature: - -```typescript -start: StartSyncStateFnType; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.stop.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.stop.md deleted file mode 100644 index 70356dd9d6c79..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.stop.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [ISyncStateRef](./kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.md) > [stop](./kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.stop.md) - -## ISyncStateRef.stop property - -stop state syncing - -Signature: - -```typescript -stop: StopSyncStateFnType; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.md deleted file mode 100644 index 52919f78a035c..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.md +++ /dev/null @@ -1,48 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) - -## kibana-plugin-plugins-kibana\_utils-public-state\_sync package - -State syncing utilities are a set of helpers for syncing your application state with browser URL or browser storage. - -They are designed to work together with [state containers](https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_containers). But state containers are not required. - -State syncing utilities include: - -\*[syncState()](./kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md) util which: \* Subscribes to state changes and pushes them to state storage. \* Optionally subscribes to state storage changes and pushes them to state. \* Two types of storages compatible with `syncState`: \* [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) - Serializes state and persists it to URL's query param in rison or hashed format. Listens for state updates in the URL and pushes them back to state. \* [ISessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md) - Serializes state and persists it to browser storage. - -Refer [here](https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_sync) for a complete guide and examples. - -## Functions - -| Function | Description | -| --- | --- | -| [syncState({ storageKey, stateStorage, stateContainer, })](./kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md) | Utility for syncing application state wrapped in state container with some kind of storage (e.g. URL)Go [here](https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_sync) for a complete guide and examples. | -| [syncStates(stateSyncConfigs)](./kibana-plugin-plugins-kibana_utils-public-state_sync.syncstates.md) | | - -## Interfaces - -| Interface | Description | -| --- | --- | -| [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) | KbnUrlStateStorage is a state storage for [syncState()](./kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md) utility which:1. Keeps state in sync with the URL. 2. Serializes data and stores it in the URL in one of the supported formats: \* Rison encoded. \* Hashed URL: In URL we store only the hash from the serialized state, but the state itself is stored in sessionStorage. See Kibana's state:storeInSessionStorage advanced option for more context. 3. Takes care of listening to the URL updates and notifies state about the updates. 4. Takes care of batching URL updates to prevent redundant browser history records.[Refer to this guide for more info](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/kbn_url_storage.md) | -| [INullableBaseStateContainer](./kibana-plugin-plugins-kibana_utils-public-state_sync.inullablebasestatecontainer.md) | Extension of with one constraint: set state should handle null as incoming state | -| [ISessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md) | [IStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md) for storing state in browser [guide](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md) | -| [IStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatestorage.md) | Any StateStorage have to implement IStateStorage interface StateStorage is responsible for: \* state serialisation / deserialization \* persisting to and retrieving from storageFor an example take a look at already implemented [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) and [ISessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md) state storages | -| [IStateSyncConfig](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.md) | Config for setting up state syncing with | -| [ISyncStateRef](./kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.md) | | - -## Variables - -| Variable | Description | -| --- | --- | -| [createKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.createkbnurlstatestorage.md) | Creates [IKbnUrlStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.ikbnurlstatestorage.md) state storage | -| [createSessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.createsessionstoragestatestorage.md) | Creates [ISessionStorageStateStorage](./kibana-plugin-plugins-kibana_utils-public-state_sync.isessionstoragestatestorage.md) [guide](https://github.com/elastic/kibana/blob/master/src/plugins/kibana_utils/docs/state_sync/storages/session_storage.md) | - -## Type Aliases - -| Type Alias | Description | -| --- | --- | -| [StartSyncStateFnType](./kibana-plugin-plugins-kibana_utils-public-state_sync.startsyncstatefntype.md) | | -| [StopSyncStateFnType](./kibana-plugin-plugins-kibana_utils-public-state_sync.stopsyncstatefntype.md) | | - diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.startsyncstatefntype.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.startsyncstatefntype.md deleted file mode 100644 index 23f71ba330d4b..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.startsyncstatefntype.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [StartSyncStateFnType](./kibana-plugin-plugins-kibana_utils-public-state_sync.startsyncstatefntype.md) - -## StartSyncStateFnType type - - -Signature: - -```typescript -export declare type StartSyncStateFnType = () => void; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.stopsyncstatefntype.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.stopsyncstatefntype.md deleted file mode 100644 index 69ff6e899e860..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.stopsyncstatefntype.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [StopSyncStateFnType](./kibana-plugin-plugins-kibana_utils-public-state_sync.stopsyncstatefntype.md) - -## StopSyncStateFnType type - - -Signature: - -```typescript -export declare type StopSyncStateFnType = () => void; -``` diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md deleted file mode 100644 index 10dc4d0e18746..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md +++ /dev/null @@ -1,91 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [syncState](./kibana-plugin-plugins-kibana_utils-public-state_sync.syncstate.md) - -## syncState() function - -Utility for syncing application state wrapped in state container with some kind of storage (e.g. URL) - -Go [here](https://github.com/elastic/kibana/tree/master/src/plugins/kibana_utils/docs/state_sync) for a complete guide and examples. - -Signature: - -```typescript -export declare function syncState({ storageKey, stateStorage, stateContainer, }: IStateSyncConfig): ISyncStateRef; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { storageKey, stateStorage, stateContainer, } | IStateSyncConfig<State, IStateStorage> | | - -Returns: - -`ISyncStateRef` - -- [ISyncStateRef](./kibana-plugin-plugins-kibana_utils-public-state_sync.isyncstateref.md) - -## Example 1 - -the simplest use case - -```ts -const stateStorage = createKbnUrlStateStorage(); -syncState({ - storageKey: '_s', - stateContainer, - stateStorage -}); - -``` - -## Example 2 - -conditionally configuring sync strategy - -```ts -const stateStorage = createKbnUrlStateStorage({useHash: config.get('state:stateContainerInSessionStorage')}) -syncState({ - storageKey: '_s', - stateContainer, - stateStorage -}); - -``` - -## Example 3 - -implementing custom sync strategy - -```ts -const localStorageStateStorage = { - set: (storageKey, state) => localStorage.setItem(storageKey, JSON.stringify(state)), - get: (storageKey) => localStorage.getItem(storageKey) ? JSON.parse(localStorage.getItem(storageKey)) : null -}; -syncState({ - storageKey: '_s', - stateContainer, - stateStorage: localStorageStateStorage -}); - -``` - -## Example 4 - -transforming state before serialising Useful for: \* Migration / backward compatibility \* Syncing part of state \* Providing default values - -```ts -const stateToStorage = (s) => ({ tab: s.tab }); -syncState({ - storageKey: '_s', - stateContainer: { - get: () => stateToStorage(stateContainer.get()), - set: stateContainer.set(({ tab }) => ({ ...stateContainer.get(), tab }), - state$: stateContainer.state$.pipe(map(stateToStorage)) - }, - stateStorage -}); - -``` - diff --git a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.syncstates.md b/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.syncstates.md deleted file mode 100644 index 87a2449a384df..0000000000000 --- a/docs/development/plugins/kibana_utils/public/state_sync/kibana-plugin-plugins-kibana_utils-public-state_sync.syncstates.md +++ /dev/null @@ -1,42 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-kibana\_utils-public-state\_sync](./kibana-plugin-plugins-kibana_utils-public-state_sync.md) > [syncStates](./kibana-plugin-plugins-kibana_utils-public-state_sync.syncstates.md) - -## syncStates() function - -Signature: - -```typescript -export declare function syncStates(stateSyncConfigs: Array>): ISyncStateRef; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| stateSyncConfigs | Array<IStateSyncConfig<any>> | Array of [IStateSyncConfig](./kibana-plugin-plugins-kibana_utils-public-state_sync.istatesyncconfig.md) to sync | - -Returns: - -`ISyncStateRef` - -## Example - -sync multiple different sync configs - -```ts -syncStates([ - { - storageKey: '_s1', - stateStorage: stateStorage1, - stateContainer: stateContainer1, - }, - { - storageKey: '_s2', - stateStorage: stateStorage2, - stateContainer: stateContainer2, - }, -]); - -``` - diff --git a/docs/development/plugins/ui_actions/public/index.md b/docs/development/plugins/ui_actions/public/index.md deleted file mode 100644 index cbc7035b880fa..0000000000000 --- a/docs/development/plugins/ui_actions/public/index.md +++ /dev/null @@ -1,12 +0,0 @@ - - -[Home](./index.md) - -## API Reference - -## Packages - -| Package | Description | -| --- | --- | -| [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) | | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.execute.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.execute.md deleted file mode 100644 index 22a520123cf3f..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.execute.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) > [execute](./kibana-plugin-plugins-ui_actions-public.action.execute.md) - -## Action.execute() method - -Executes the action. - -Signature: - -```typescript -execute(context: ActionExecutionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionExecutionContext<Context> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.getdisplayname.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.getdisplayname.md deleted file mode 100644 index cd8cc527e96ec..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.getdisplayname.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) > [getDisplayName](./kibana-plugin-plugins-ui_actions-public.action.getdisplayname.md) - -## Action.getDisplayName() method - -Returns a title to be displayed to the user. - -Signature: - -```typescript -getDisplayName(context: ActionExecutionContext): string; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionExecutionContext<Context> | | - -Returns: - -`string` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.gethref.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.gethref.md deleted file mode 100644 index 5ad9d5e24cf87..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.gethref.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) > [getHref](./kibana-plugin-plugins-ui_actions-public.action.gethref.md) - -## Action.getHref() method - -This method should return a link if this item can be clicked on. The link is used to navigate user if user middle-clicks it or Ctrl + clicks or right-clicks and selects "Open in new tab". - -Signature: - -```typescript -getHref?(context: ActionExecutionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionExecutionContext<Context> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.geticontype.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.geticontype.md deleted file mode 100644 index 34d45c4ec75c2..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.geticontype.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) > [getIconType](./kibana-plugin-plugins-ui_actions-public.action.geticontype.md) - -## Action.getIconType() method - -Optional EUI icon type that can be displayed along with the title. - -Signature: - -```typescript -getIconType(context: ActionExecutionContext): string | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionExecutionContext<Context> | | - -Returns: - -`string | undefined` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.id.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.id.md deleted file mode 100644 index e32a5c8592cce..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.id.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) > [id](./kibana-plugin-plugins-ui_actions-public.action.id.md) - -## Action.id property - -A unique identifier for this action instance. - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.iscompatible.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.iscompatible.md deleted file mode 100644 index 7a1f6cd23be17..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.iscompatible.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) > [isCompatible](./kibana-plugin-plugins-ui_actions-public.action.iscompatible.md) - -## Action.isCompatible() method - -Returns a promise that resolves to true if this action is compatible given the context, otherwise resolves to false. - -Signature: - -```typescript -isCompatible(context: ActionExecutionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionExecutionContext<Context> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.md deleted file mode 100644 index d8e527debcc4e..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.md +++ /dev/null @@ -1,32 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) - -## Action interface - -Signature: - -```typescript -export interface Action extends Partial>> -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-ui_actions-public.action.id.md) | string | A unique identifier for this action instance. | -| [MenuItem](./kibana-plugin-plugins-ui_actions-public.action.menuitem.md) | UiComponent<{
context: ActionExecutionContext<Context>;
}> | UiComponent to render when displaying this action as a context menu item. If not provided, getDisplayName will be used instead. | -| [order](./kibana-plugin-plugins-ui_actions-public.action.order.md) | number | Determined the order when there is more than one action matched to a trigger. Higher numbers are displayed first. | -| [type](./kibana-plugin-plugins-ui_actions-public.action.type.md) | string | The action type is what determines the context shape. | - -## Methods - -| Method | Description | -| --- | --- | -| [execute(context)](./kibana-plugin-plugins-ui_actions-public.action.execute.md) | Executes the action. | -| [getDisplayName(context)](./kibana-plugin-plugins-ui_actions-public.action.getdisplayname.md) | Returns a title to be displayed to the user. | -| [getHref(context)](./kibana-plugin-plugins-ui_actions-public.action.gethref.md) | This method should return a link if this item can be clicked on. The link is used to navigate user if user middle-clicks it or Ctrl + clicks or right-clicks and selects "Open in new tab". | -| [getIconType(context)](./kibana-plugin-plugins-ui_actions-public.action.geticontype.md) | Optional EUI icon type that can be displayed along with the title. | -| [isCompatible(context)](./kibana-plugin-plugins-ui_actions-public.action.iscompatible.md) | Returns a promise that resolves to true if this action is compatible given the context, otherwise resolves to false. | -| [shouldAutoExecute(context)](./kibana-plugin-plugins-ui_actions-public.action.shouldautoexecute.md) | Determines if action should be executed automatically, without first showing up in context menu. false by default. | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.menuitem.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.menuitem.md deleted file mode 100644 index ac2168b88e3be..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.menuitem.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) > [MenuItem](./kibana-plugin-plugins-ui_actions-public.action.menuitem.md) - -## Action.MenuItem property - -`UiComponent` to render when displaying this action as a context menu item. If not provided, `getDisplayName` will be used instead. - -Signature: - -```typescript -MenuItem?: UiComponent<{ - context: ActionExecutionContext; - }>; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.order.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.order.md deleted file mode 100644 index ce9f66cfe5143..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.order.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) > [order](./kibana-plugin-plugins-ui_actions-public.action.order.md) - -## Action.order property - -Determined the order when there is more than one action matched to a trigger. Higher numbers are displayed first. - -Signature: - -```typescript -order?: number; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.shouldautoexecute.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.shouldautoexecute.md deleted file mode 100644 index 1a784f5dad2d5..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.shouldautoexecute.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) > [shouldAutoExecute](./kibana-plugin-plugins-ui_actions-public.action.shouldautoexecute.md) - -## Action.shouldAutoExecute() method - -Determines if action should be executed automatically, without first showing up in context menu. false by default. - -Signature: - -```typescript -shouldAutoExecute?(context: ActionExecutionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionExecutionContext<Context> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.type.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.type.md deleted file mode 100644 index 6905f3deb441d..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Action](./kibana-plugin-plugins-ui_actions-public.action.md) > [type](./kibana-plugin-plugins-ui_actions-public.action.type.md) - -## Action.type property - -The action type is what determines the context shape. - -Signature: - -```typescript -readonly type: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_field.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_field.md deleted file mode 100644 index 25788d7aecc9f..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_field.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [ACTION\_VISUALIZE\_FIELD](./kibana-plugin-plugins-ui_actions-public.action_visualize_field.md) - -## ACTION\_VISUALIZE\_FIELD variable - -Signature: - -```typescript -ACTION_VISUALIZE_FIELD = "ACTION_VISUALIZE_FIELD" -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_geo_field.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_geo_field.md deleted file mode 100644 index c9ef93eff934b..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_geo_field.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [ACTION\_VISUALIZE\_GEO\_FIELD](./kibana-plugin-plugins-ui_actions-public.action_visualize_geo_field.md) - -## ACTION\_VISUALIZE\_GEO\_FIELD variable - -Signature: - -```typescript -ACTION_VISUALIZE_GEO_FIELD = "ACTION_VISUALIZE_GEO_FIELD" -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_lens_field.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_lens_field.md deleted file mode 100644 index b00618f510510..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.action_visualize_lens_field.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [ACTION\_VISUALIZE\_LENS\_FIELD](./kibana-plugin-plugins-ui_actions-public.action_visualize_lens_field.md) - -## ACTION\_VISUALIZE\_LENS\_FIELD variable - -Signature: - -```typescript -ACTION_VISUALIZE_LENS_FIELD = "ACTION_VISUALIZE_LENS_FIELD" -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutioncontext.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutioncontext.md deleted file mode 100644 index d6f754a1ba458..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutioncontext.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [ActionExecutionContext](./kibana-plugin-plugins-ui_actions-public.actionexecutioncontext.md) - -## ActionExecutionContext type - -Action methods are executed with Context from trigger + [ActionExecutionMeta](./kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.md) - -Signature: - -```typescript -export declare type ActionExecutionContext = Context & ActionExecutionMeta; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.md deleted file mode 100644 index 2056d8f9c7fc6..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [ActionExecutionMeta](./kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.md) - -## ActionExecutionMeta interface - -During action execution we can provide additional information, for example, trigger, that caused the action execution - -Signature: - -```typescript -export interface ActionExecutionMeta -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [trigger](./kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.trigger.md) | Trigger | Trigger that executed the action | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.trigger.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.trigger.md deleted file mode 100644 index 530c2fe514d2c..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.trigger.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [ActionExecutionMeta](./kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.md) > [trigger](./kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.trigger.md) - -## ActionExecutionMeta.trigger property - -Trigger that executed the action - -Signature: - -```typescript -trigger: Trigger; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.buildcontextmenuforactions.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.buildcontextmenuforactions.md deleted file mode 100644 index 2d6c0ff106072..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.buildcontextmenuforactions.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [buildContextMenuForActions](./kibana-plugin-plugins-ui_actions-public.buildcontextmenuforactions.md) - -## buildContextMenuForActions() function - -Transforms an array of Actions to the shape EuiContextMenuPanel expects. - -Signature: - -```typescript -export declare function buildContextMenuForActions({ actions, title, closeMenu, }: BuildContextMenuParams): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { actions, title, closeMenu, } | BuildContextMenuParams | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.createaction.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.createaction.md deleted file mode 100644 index 8bb9094a1d8bf..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.createaction.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [createAction](./kibana-plugin-plugins-ui_actions-public.createaction.md) - -## createAction() function - -Signature: - -```typescript -export declare function createAction(action: ActionDefinition): Action; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| action | ActionDefinition<Context> | | - -Returns: - -`Action` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror._constructor_.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror._constructor_.md deleted file mode 100644 index f06bb05270ff0..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror._constructor_.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [IncompatibleActionError](./kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.md) > [(constructor)](./kibana-plugin-plugins-ui_actions-public.incompatibleactionerror._constructor_.md) - -## IncompatibleActionError.(constructor) - -Constructs a new instance of the `IncompatibleActionError` class - -Signature: - -```typescript -constructor(); -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.code.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.code.md deleted file mode 100644 index f16aa47438d72..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.code.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [IncompatibleActionError](./kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.md) > [code](./kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.code.md) - -## IncompatibleActionError.code property - -Signature: - -```typescript -code: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.md deleted file mode 100644 index 7c9943a53c2bb..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [IncompatibleActionError](./kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.md) - -## IncompatibleActionError class - -Signature: - -```typescript -export declare class IncompatibleActionError extends Error -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)()](./kibana-plugin-plugins-ui_actions-public.incompatibleactionerror._constructor_.md) | | Constructs a new instance of the IncompatibleActionError class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [code](./kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.code.md) | | string | | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.md deleted file mode 100644 index 9f009d1617cc8..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.md +++ /dev/null @@ -1,57 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) - -## kibana-plugin-plugins-ui\_actions-public package - -## Classes - -| Class | Description | -| --- | --- | -| [IncompatibleActionError](./kibana-plugin-plugins-ui_actions-public.incompatibleactionerror.md) | | -| [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) | | - -## Functions - -| Function | Description | -| --- | --- | -| [buildContextMenuForActions({ actions, title, closeMenu, })](./kibana-plugin-plugins-ui_actions-public.buildcontextmenuforactions.md) | Transforms an array of Actions to the shape EuiContextMenuPanel expects. | -| [createAction(action)](./kibana-plugin-plugins-ui_actions-public.createaction.md) | | -| [plugin(initializerContext)](./kibana-plugin-plugins-ui_actions-public.plugin.md) | | - -## Interfaces - -| Interface | Description | -| --- | --- | -| [Action](./kibana-plugin-plugins-ui_actions-public.action.md) | | -| [ActionExecutionMeta](./kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.md) | During action execution we can provide additional information, for example, trigger, that caused the action execution | -| [RowClickContext](./kibana-plugin-plugins-ui_actions-public.rowclickcontext.md) | | -| [Trigger](./kibana-plugin-plugins-ui_actions-public.trigger.md) | This is a convenience interface used to register a \*trigger\*.Trigger specifies a named anchor to which Action can be attached. When Trigger is being \*called\* it creates a Context object and passes it to the execute method of an Action.More than one action can be attached to a single trigger, in which case when trigger is \*called\* it first displays a context menu for user to pick a single action to execute. | -| [UiActionsActionDefinition](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md) | A convenience interface used to register an action. | -| [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) | Represents something that can be displayed to user in UI. | -| [UiActionsServiceParams](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.md) | | -| [VisualizeFieldContext](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.md) | | - -## Variables - -| Variable | Description | -| --- | --- | -| [ACTION\_VISUALIZE\_FIELD](./kibana-plugin-plugins-ui_actions-public.action_visualize_field.md) | | -| [ACTION\_VISUALIZE\_GEO\_FIELD](./kibana-plugin-plugins-ui_actions-public.action_visualize_geo_field.md) | | -| [ACTION\_VISUALIZE\_LENS\_FIELD](./kibana-plugin-plugins-ui_actions-public.action_visualize_lens_field.md) | | -| [ROW\_CLICK\_TRIGGER](./kibana-plugin-plugins-ui_actions-public.row_click_trigger.md) | | -| [rowClickTrigger](./kibana-plugin-plugins-ui_actions-public.rowclicktrigger.md) | | -| [VISUALIZE\_FIELD\_TRIGGER](./kibana-plugin-plugins-ui_actions-public.visualize_field_trigger.md) | | -| [VISUALIZE\_GEO\_FIELD\_TRIGGER](./kibana-plugin-plugins-ui_actions-public.visualize_geo_field_trigger.md) | | -| [visualizeFieldTrigger](./kibana-plugin-plugins-ui_actions-public.visualizefieldtrigger.md) | | -| [visualizeGeoFieldTrigger](./kibana-plugin-plugins-ui_actions-public.visualizegeofieldtrigger.md) | | - -## Type Aliases - -| Type Alias | Description | -| --- | --- | -| [ActionExecutionContext](./kibana-plugin-plugins-ui_actions-public.actionexecutioncontext.md) | Action methods are executed with Context from trigger + [ActionExecutionMeta](./kibana-plugin-plugins-ui_actions-public.actionexecutionmeta.md) | -| [UiActionsPresentableGrouping](./kibana-plugin-plugins-ui_actions-public.uiactionspresentablegrouping.md) | | -| [UiActionsSetup](./kibana-plugin-plugins-ui_actions-public.uiactionssetup.md) | | -| [UiActionsStart](./kibana-plugin-plugins-ui_actions-public.uiactionsstart.md) | | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.plugin.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.plugin.md deleted file mode 100644 index d9427317d4fc6..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.plugin.md +++ /dev/null @@ -1,22 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [plugin](./kibana-plugin-plugins-ui_actions-public.plugin.md) - -## plugin() function - -Signature: - -```typescript -export declare function plugin(initializerContext: PluginInitializerContext): UiActionsPlugin; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| initializerContext | PluginInitializerContext | | - -Returns: - -`UiActionsPlugin` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.row_click_trigger.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.row_click_trigger.md deleted file mode 100644 index 3541b53ab1d61..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.row_click_trigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [ROW\_CLICK\_TRIGGER](./kibana-plugin-plugins-ui_actions-public.row_click_trigger.md) - -## ROW\_CLICK\_TRIGGER variable - -Signature: - -```typescript -ROW_CLICK_TRIGGER = "ROW_CLICK_TRIGGER" -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.data.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.data.md deleted file mode 100644 index 1068cc9146893..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.data.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [RowClickContext](./kibana-plugin-plugins-ui_actions-public.rowclickcontext.md) > [data](./kibana-plugin-plugins-ui_actions-public.rowclickcontext.data.md) - -## RowClickContext.data property - -Signature: - -```typescript -data: { - rowIndex: number; - table: Datatable; - columns?: string[]; - }; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.embeddable.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.embeddable.md deleted file mode 100644 index a75637e8ea9d3..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.embeddable.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [RowClickContext](./kibana-plugin-plugins-ui_actions-public.rowclickcontext.md) > [embeddable](./kibana-plugin-plugins-ui_actions-public.rowclickcontext.embeddable.md) - -## RowClickContext.embeddable property - -Signature: - -```typescript -embeddable?: unknown; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.md deleted file mode 100644 index b69734cfc3233..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclickcontext.md +++ /dev/null @@ -1,19 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [RowClickContext](./kibana-plugin-plugins-ui_actions-public.rowclickcontext.md) - -## RowClickContext interface - -Signature: - -```typescript -export interface RowClickContext -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [data](./kibana-plugin-plugins-ui_actions-public.rowclickcontext.data.md) | {
rowIndex: number;
table: Datatable;
columns?: string[];
} | | -| [embeddable](./kibana-plugin-plugins-ui_actions-public.rowclickcontext.embeddable.md) | unknown | | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclicktrigger.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclicktrigger.md deleted file mode 100644 index f05138296e6e8..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.rowclicktrigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [rowClickTrigger](./kibana-plugin-plugins-ui_actions-public.rowclicktrigger.md) - -## rowClickTrigger variable - -Signature: - -```typescript -rowClickTrigger: Trigger -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.description.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.description.md deleted file mode 100644 index 76faaf8e1a691..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.description.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Trigger](./kibana-plugin-plugins-ui_actions-public.trigger.md) > [description](./kibana-plugin-plugins-ui_actions-public.trigger.description.md) - -## Trigger.description property - -A longer user friendly description of the trigger. - -Signature: - -```typescript -description?: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.id.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.id.md deleted file mode 100644 index 5bf868720cdec..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.id.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Trigger](./kibana-plugin-plugins-ui_actions-public.trigger.md) > [id](./kibana-plugin-plugins-ui_actions-public.trigger.id.md) - -## Trigger.id property - -Unique name of the trigger as identified in `ui_actions` plugin trigger registry. - -Signature: - -```typescript -id: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.md deleted file mode 100644 index d829d7b87c177..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.md +++ /dev/null @@ -1,26 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Trigger](./kibana-plugin-plugins-ui_actions-public.trigger.md) - -## Trigger interface - -This is a convenience interface used to register a \*trigger\*. - -`Trigger` specifies a named anchor to which `Action` can be attached. When `Trigger` is being \*called\* it creates a `Context` object and passes it to the `execute` method of an `Action`. - -More than one action can be attached to a single trigger, in which case when trigger is \*called\* it first displays a context menu for user to pick a single action to execute. - -Signature: - -```typescript -export interface Trigger -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [description](./kibana-plugin-plugins-ui_actions-public.trigger.description.md) | string | A longer user friendly description of the trigger. | -| [id](./kibana-plugin-plugins-ui_actions-public.trigger.id.md) | string | Unique name of the trigger as identified in ui_actions plugin trigger registry. | -| [title](./kibana-plugin-plugins-ui_actions-public.trigger.title.md) | string | User friendly name of the trigger. | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.title.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.title.md deleted file mode 100644 index ded71c8d0c437..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.trigger.title.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [Trigger](./kibana-plugin-plugins-ui_actions-public.trigger.md) > [title](./kibana-plugin-plugins-ui_actions-public.trigger.title.md) - -## Trigger.title property - -User friendly name of the trigger. - -Signature: - -```typescript -title?: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.execute.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.execute.md deleted file mode 100644 index a2cf61ecc1306..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.execute.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsActionDefinition](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md) > [execute](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.execute.md) - -## UiActionsActionDefinition.execute() method - -Executes the action. - -Signature: - -```typescript -execute(context: ActionDefinitionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionDefinitionContext<Context> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.gethref.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.gethref.md deleted file mode 100644 index 83fee1233a206..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.gethref.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsActionDefinition](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md) > [getHref](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.gethref.md) - -## UiActionsActionDefinition.getHref() method - -This method should return a link if this item can be clicked on. The link is used to navigate user if user middle-clicks it or Ctrl + clicks or right-clicks and selects "Open in new tab". - -Signature: - -```typescript -getHref?(context: ActionDefinitionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionDefinitionContext<Context> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.id.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.id.md deleted file mode 100644 index 01fa6abce3b4a..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.id.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsActionDefinition](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md) > [id](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.id.md) - -## UiActionsActionDefinition.id property - -ID of the action that uniquely identifies this action in the actions registry. - -Signature: - -```typescript -readonly id: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.iscompatible.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.iscompatible.md deleted file mode 100644 index 736cc40c4243f..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.iscompatible.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsActionDefinition](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md) > [isCompatible](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.iscompatible.md) - -## UiActionsActionDefinition.isCompatible() method - -Returns a promise that resolves to true if this item is compatible given the context and should be displayed to user, otherwise resolves to false. - -Signature: - -```typescript -isCompatible?(context: ActionDefinitionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionDefinitionContext<Context> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md deleted file mode 100644 index a4de28ff4d1af..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md +++ /dev/null @@ -1,30 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsActionDefinition](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md) - -## UiActionsActionDefinition interface - -A convenience interface used to register an action. - -Signature: - -```typescript -export interface ActionDefinition extends Partial>> -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [id](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.id.md) | string | ID of the action that uniquely identifies this action in the actions registry. | -| [type](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.type.md) | string | ID of the factory for this action. Used to construct dynamic actions. | - -## Methods - -| Method | Description | -| --- | --- | -| [execute(context)](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.execute.md) | Executes the action. | -| [getHref(context)](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.gethref.md) | This method should return a link if this item can be clicked on. The link is used to navigate user if user middle-clicks it or Ctrl + clicks or right-clicks and selects "Open in new tab". | -| [isCompatible(context)](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.iscompatible.md) | Returns a promise that resolves to true if this item is compatible given the context and should be displayed to user, otherwise resolves to false. | -| [shouldAutoExecute(context)](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.shouldautoexecute.md) | Determines if action should be executed automatically, without first showing up in context menu. false by default. | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.shouldautoexecute.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.shouldautoexecute.md deleted file mode 100644 index 04b9975f3b92e..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.shouldautoexecute.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsActionDefinition](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md) > [shouldAutoExecute](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.shouldautoexecute.md) - -## UiActionsActionDefinition.shouldAutoExecute() method - -Determines if action should be executed automatically, without first showing up in context menu. false by default. - -Signature: - -```typescript -shouldAutoExecute?(context: ActionDefinitionContext): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | ActionDefinitionContext<Context> | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.type.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.type.md deleted file mode 100644 index c2cc8b41568ce..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.type.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsActionDefinition](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.md) > [type](./kibana-plugin-plugins-ui_actions-public.uiactionsactiondefinition.type.md) - -## UiActionsActionDefinition.type property - -ID of the factory for this action. Used to construct dynamic actions. - -Signature: - -```typescript -readonly type?: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplayname.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplayname.md deleted file mode 100644 index 986ad4afa5a48..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplayname.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) > [getDisplayName](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplayname.md) - -## UiActionsPresentable.getDisplayName() method - -Returns a title to be displayed to the user. - -Signature: - -```typescript -getDisplayName(context: Context): string; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | Context | | - -Returns: - -`string` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplaynametooltip.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplaynametooltip.md deleted file mode 100644 index a35f455f7af25..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplaynametooltip.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) > [getDisplayNameTooltip](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplaynametooltip.md) - -## UiActionsPresentable.getDisplayNameTooltip() method - -Returns tooltip text which should be displayed when user hovers this object. Should return empty string if tooltip should not be displayed. - -Signature: - -```typescript -getDisplayNameTooltip?(context: Context): string; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | Context | | - -Returns: - -`string` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.gethref.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.gethref.md deleted file mode 100644 index 0c9bd434ff331..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.gethref.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) > [getHref](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.gethref.md) - -## UiActionsPresentable.getHref() method - -This method should return a link if this item can be clicked on. The link is used to navigate user if user middle-clicks it or Ctrl + clicks or right-clicks and selects "Open in new tab". - -Signature: - -```typescript -getHref?(context: Context): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | Context | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.geticontype.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.geticontype.md deleted file mode 100644 index 8bf5af0f3b7e2..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.geticontype.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) > [getIconType](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.geticontype.md) - -## UiActionsPresentable.getIconType() method - -Optional EUI icon type that can be displayed along with the title. - -Signature: - -```typescript -getIconType(context: Context): string | undefined; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | Context | | - -Returns: - -`string | undefined` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.grouping.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.grouping.md deleted file mode 100644 index 6b160becf1afc..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.grouping.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) > [grouping](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.grouping.md) - -## UiActionsPresentable.grouping property - -Grouping where this item should appear as a submenu. Each entry is a new sub-menu level. For example, used to show drilldowns and sharing options in panel context menu in a sub-menu. - -Signature: - -```typescript -readonly grouping?: PresentableGrouping; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.id.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.id.md deleted file mode 100644 index e98401d95cba8..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.id.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) > [id](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.id.md) - -## UiActionsPresentable.id property - -ID that uniquely identifies this object. - -Signature: - -```typescript -readonly id: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.iscompatible.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.iscompatible.md deleted file mode 100644 index 073f75c840bcd..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.iscompatible.md +++ /dev/null @@ -1,24 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) > [isCompatible](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.iscompatible.md) - -## UiActionsPresentable.isCompatible() method - -Returns a promise that resolves to true if this item is compatible given the context and should be displayed to user, otherwise resolves to false. - -Signature: - -```typescript -isCompatible(context: Context): Promise; -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| context | Context | | - -Returns: - -`Promise` - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md deleted file mode 100644 index 659ea999b9f8e..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md +++ /dev/null @@ -1,33 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) - -## UiActionsPresentable interface - -Represents something that can be displayed to user in UI. - -Signature: - -```typescript -export interface Presentable -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [grouping](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.grouping.md) | PresentableGrouping<Context> | Grouping where this item should appear as a submenu. Each entry is a new sub-menu level. For example, used to show drilldowns and sharing options in panel context menu in a sub-menu. | -| [id](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.id.md) | string | ID that uniquely identifies this object. | -| [MenuItem](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.menuitem.md) | UiComponent<{
context: Context;
}> | UiComponent to render when displaying this entity as a context menu item. If not provided, getDisplayName will be used instead. | -| [order](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.order.md) | number | Determines the display order in relation to other items. Higher numbers are displayed first. | - -## Methods - -| Method | Description | -| --- | --- | -| [getDisplayName(context)](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplayname.md) | Returns a title to be displayed to the user. | -| [getDisplayNameTooltip(context)](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.getdisplaynametooltip.md) | Returns tooltip text which should be displayed when user hovers this object. Should return empty string if tooltip should not be displayed. | -| [getHref(context)](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.gethref.md) | This method should return a link if this item can be clicked on. The link is used to navigate user if user middle-clicks it or Ctrl + clicks or right-clicks and selects "Open in new tab". | -| [getIconType(context)](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.geticontype.md) | Optional EUI icon type that can be displayed along with the title. | -| [isCompatible(context)](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.iscompatible.md) | Returns a promise that resolves to true if this item is compatible given the context and should be displayed to user, otherwise resolves to false. | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.menuitem.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.menuitem.md deleted file mode 100644 index 42afe6b8361f0..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.menuitem.md +++ /dev/null @@ -1,15 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) > [MenuItem](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.menuitem.md) - -## UiActionsPresentable.MenuItem property - -`UiComponent` to render when displaying this entity as a context menu item. If not provided, `getDisplayName` will be used instead. - -Signature: - -```typescript -readonly MenuItem?: UiComponent<{ - context: Context; - }>; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.order.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.order.md deleted file mode 100644 index 0bbf80dc89211..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentable.order.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentable](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.md) > [order](./kibana-plugin-plugins-ui_actions-public.uiactionspresentable.order.md) - -## UiActionsPresentable.order property - -Determines the display order in relation to other items. Higher numbers are displayed first. - -Signature: - -```typescript -readonly order: number; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentablegrouping.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentablegrouping.md deleted file mode 100644 index 2fb6c3e187d3d..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionspresentablegrouping.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsPresentableGrouping](./kibana-plugin-plugins-ui_actions-public.uiactionspresentablegrouping.md) - -## UiActionsPresentableGrouping type - -Signature: - -```typescript -export declare type PresentableGrouping = Array>; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice._constructor_.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice._constructor_.md deleted file mode 100644 index ff272245dbbf9..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice._constructor_.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [(constructor)](./kibana-plugin-plugins-ui_actions-public.uiactionsservice._constructor_.md) - -## UiActionsService.(constructor) - -Constructs a new instance of the `UiActionsService` class - -Signature: - -```typescript -constructor({ triggers, actions, triggerToActions, }?: UiActionsServiceParams); -``` - -## Parameters - -| Parameter | Type | Description | -| --- | --- | --- | -| { triggers, actions, triggerToActions, } | UiActionsServiceParams | | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.actions.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.actions.md deleted file mode 100644 index aaf4cebaf841c..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.actions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [actions](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.actions.md) - -## UiActionsService.actions property - -Signature: - -```typescript -protected readonly actions: ActionRegistry; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.addtriggeraction.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.addtriggeraction.md deleted file mode 100644 index 1831c2c78b365..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.addtriggeraction.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [addTriggerAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.addtriggeraction.md) - -## UiActionsService.addTriggerAction property - -`addTriggerAction` is similar to `attachAction` as it attaches action to a trigger, but it also registers the action, if it has not been registered, yet. - -Signature: - -```typescript -readonly addTriggerAction: (triggerId: string, action: ActionDefinition) => void; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.attachaction.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.attachaction.md deleted file mode 100644 index fd17c76b0ee9f..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.attachaction.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [attachAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.attachaction.md) - -## UiActionsService.attachAction property - -Signature: - -```typescript -readonly attachAction: (triggerId: string, actionId: string) => void; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.clear.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.clear.md deleted file mode 100644 index 024c7e3c3f85a..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.clear.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [clear](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.clear.md) - -## UiActionsService.clear property - -Removes all registered triggers and actions. - -Signature: - -```typescript -readonly clear: () => void; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.detachaction.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.detachaction.md deleted file mode 100644 index bf9c589e59f60..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.detachaction.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [detachAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.detachaction.md) - -## UiActionsService.detachAction property - -Signature: - -```typescript -readonly detachAction: (triggerId: string, actionId: string) => void; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.executetriggeractions.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.executetriggeractions.md deleted file mode 100644 index fb1a1ef14d315..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.executetriggeractions.md +++ /dev/null @@ -1,16 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [executeTriggerActions](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.executetriggeractions.md) - -## UiActionsService.executeTriggerActions property - -> Warning: This API is now obsolete. -> -> Use `plugins.uiActions.getTrigger(triggerId).exec(params)` instead. -> - -Signature: - -```typescript -readonly executeTriggerActions: (triggerId: string, context: object) => Promise; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.executionservice.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.executionservice.md deleted file mode 100644 index 06384cc110a59..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.executionservice.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [executionService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.executionservice.md) - -## UiActionsService.executionService property - -Signature: - -```typescript -readonly executionService: UiActionsExecutionService; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.fork.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.fork.md deleted file mode 100644 index 2b7a43a44cca6..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.fork.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [fork](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.fork.md) - -## UiActionsService.fork property - -"Fork" a separate instance of `UiActionsService` that inherits all existing triggers and actions, but going forward all new triggers and actions added to this instance of `UiActionsService` are only available within this instance. - -Signature: - -```typescript -readonly fork: () => UiActionsService; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.getaction.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.getaction.md deleted file mode 100644 index 32a4fcf8e6f89..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.getaction.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [getAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.getaction.md) - -## UiActionsService.getAction property - -Signature: - -```typescript -readonly getAction: >(id: string) => Action>; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettrigger.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettrigger.md deleted file mode 100644 index b8f59e943f38e..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettrigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [getTrigger](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettrigger.md) - -## UiActionsService.getTrigger property - -Signature: - -```typescript -readonly getTrigger: (triggerId: string) => TriggerContract; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggeractions.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggeractions.md deleted file mode 100644 index c7c0eac755aec..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggeractions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [getTriggerActions](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggeractions.md) - -## UiActionsService.getTriggerActions property - -Signature: - -```typescript -readonly getTriggerActions: (triggerId: string) => Action[]; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggercompatibleactions.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggercompatibleactions.md deleted file mode 100644 index 9e3e38a6ac43d..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggercompatibleactions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [getTriggerCompatibleActions](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggercompatibleactions.md) - -## UiActionsService.getTriggerCompatibleActions property - -Signature: - -```typescript -readonly getTriggerCompatibleActions: (triggerId: string, context: object) => Promise; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.hasaction.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.hasaction.md deleted file mode 100644 index 2287cb3052864..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.hasaction.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [hasAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.hasaction.md) - -## UiActionsService.hasAction property - -Signature: - -```typescript -readonly hasAction: (actionId: string) => boolean; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.md deleted file mode 100644 index 20c237fabd074..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.md +++ /dev/null @@ -1,41 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) - -## UiActionsService class - -Signature: - -```typescript -export declare class UiActionsService -``` - -## Constructors - -| Constructor | Modifiers | Description | -| --- | --- | --- | -| [(constructor)({ triggers, actions, triggerToActions, })](./kibana-plugin-plugins-ui_actions-public.uiactionsservice._constructor_.md) | | Constructs a new instance of the UiActionsService class | - -## Properties - -| Property | Modifiers | Type | Description | -| --- | --- | --- | --- | -| [actions](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.actions.md) | | ActionRegistry | | -| [addTriggerAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.addtriggeraction.md) | | (triggerId: string, action: ActionDefinition) => void | addTriggerAction is similar to attachAction as it attaches action to a trigger, but it also registers the action, if it has not been registered, yet. | -| [attachAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.attachaction.md) | | (triggerId: string, actionId: string) => void | | -| [clear](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.clear.md) | | () => void | Removes all registered triggers and actions. | -| [detachAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.detachaction.md) | | (triggerId: string, actionId: string) => void | | -| [executeTriggerActions](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.executetriggeractions.md) | | (triggerId: string, context: object) => Promise<void> | | -| [executionService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.executionservice.md) | | UiActionsExecutionService | | -| [fork](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.fork.md) | | () => UiActionsService | "Fork" a separate instance of UiActionsService that inherits all existing triggers and actions, but going forward all new triggers and actions added to this instance of UiActionsService are only available within this instance. | -| [getAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.getaction.md) | | <T extends ActionDefinition<object>>(id: string) => Action<ActionContext<T>> | | -| [getTrigger](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettrigger.md) | | (triggerId: string) => TriggerContract | | -| [getTriggerActions](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggeractions.md) | | (triggerId: string) => Action[] | | -| [getTriggerCompatibleActions](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.gettriggercompatibleactions.md) | | (triggerId: string, context: object) => Promise<Action[]> | | -| [hasAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.hasaction.md) | | (actionId: string) => boolean | | -| [registerAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.registeraction.md) | | <A extends ActionDefinition<object>>(definition: A) => Action<ActionContext<A>> | | -| [registerTrigger](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.registertrigger.md) | | (trigger: Trigger) => void | | -| [triggers](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggers.md) | | TriggerRegistry | | -| [triggerToActions](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggertoactions.md) | | TriggerToActionsRegistry | | -| [unregisterAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.unregisteraction.md) | | (actionId: string) => void | | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.registeraction.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.registeraction.md deleted file mode 100644 index 75289e8f32351..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.registeraction.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [registerAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.registeraction.md) - -## UiActionsService.registerAction property - -Signature: - -```typescript -readonly registerAction:
>(definition: A) => Action>; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.registertrigger.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.registertrigger.md deleted file mode 100644 index 3002409c02304..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.registertrigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [registerTrigger](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.registertrigger.md) - -## UiActionsService.registerTrigger property - -Signature: - -```typescript -readonly registerTrigger: (trigger: Trigger) => void; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggers.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggers.md deleted file mode 100644 index 07d480286e771..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggers.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [triggers](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggers.md) - -## UiActionsService.triggers property - -Signature: - -```typescript -protected readonly triggers: TriggerRegistry; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggertoactions.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggertoactions.md deleted file mode 100644 index 1b79a1dd84593..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggertoactions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [triggerToActions](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.triggertoactions.md) - -## UiActionsService.triggerToActions property - -Signature: - -```typescript -protected readonly triggerToActions: TriggerToActionsRegistry; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.unregisteraction.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.unregisteraction.md deleted file mode 100644 index 0e0eb971c1a7b..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsservice.unregisteraction.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsService](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.md) > [unregisterAction](./kibana-plugin-plugins-ui_actions-public.uiactionsservice.unregisteraction.md) - -## UiActionsService.unregisterAction property - -Signature: - -```typescript -readonly unregisterAction: (actionId: string) => void; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.actions.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.actions.md deleted file mode 100644 index 44d2957b0f8ba..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.actions.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsServiceParams](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.md) > [actions](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.actions.md) - -## UiActionsServiceParams.actions property - -Signature: - -```typescript -readonly actions?: ActionRegistry; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.md deleted file mode 100644 index 756cd3de92ef8..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsServiceParams](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.md) - -## UiActionsServiceParams interface - -Signature: - -```typescript -export interface UiActionsServiceParams -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [actions](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.actions.md) | ActionRegistry | | -| [triggers](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggers.md) | TriggerRegistry | | -| [triggerToActions](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggertoactions.md) | TriggerToActionsRegistry | A 1-to-N mapping from Trigger to zero or more Action. | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggers.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggers.md deleted file mode 100644 index 061aa5eb68c5d..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggers.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsServiceParams](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.md) > [triggers](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggers.md) - -## UiActionsServiceParams.triggers property - -Signature: - -```typescript -readonly triggers?: TriggerRegistry; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggertoactions.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggertoactions.md deleted file mode 100644 index bdf1acba484e6..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggertoactions.md +++ /dev/null @@ -1,13 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsServiceParams](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.md) > [triggerToActions](./kibana-plugin-plugins-ui_actions-public.uiactionsserviceparams.triggertoactions.md) - -## UiActionsServiceParams.triggerToActions property - -A 1-to-N mapping from `Trigger` to zero or more `Action`. - -Signature: - -```typescript -readonly triggerToActions?: TriggerToActionsRegistry; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionssetup.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionssetup.md deleted file mode 100644 index d03d4cf9f1ee2..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionssetup.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsSetup](./kibana-plugin-plugins-ui_actions-public.uiactionssetup.md) - -## UiActionsSetup type - -Signature: - -```typescript -export declare type UiActionsSetup = Pick; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsstart.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsstart.md deleted file mode 100644 index 41f5bbf705e20..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.uiactionsstart.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [UiActionsStart](./kibana-plugin-plugins-ui_actions-public.uiactionsstart.md) - -## UiActionsStart type - -Signature: - -```typescript -export declare type UiActionsStart = PublicMethodsOf; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualize_field_trigger.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualize_field_trigger.md deleted file mode 100644 index c5d9f53557d6f..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualize_field_trigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [VISUALIZE\_FIELD\_TRIGGER](./kibana-plugin-plugins-ui_actions-public.visualize_field_trigger.md) - -## VISUALIZE\_FIELD\_TRIGGER variable - -Signature: - -```typescript -VISUALIZE_FIELD_TRIGGER = "VISUALIZE_FIELD_TRIGGER" -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualize_geo_field_trigger.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualize_geo_field_trigger.md deleted file mode 100644 index a9396c1905485..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualize_geo_field_trigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [VISUALIZE\_GEO\_FIELD\_TRIGGER](./kibana-plugin-plugins-ui_actions-public.visualize_geo_field_trigger.md) - -## VISUALIZE\_GEO\_FIELD\_TRIGGER variable - -Signature: - -```typescript -VISUALIZE_GEO_FIELD_TRIGGER = "VISUALIZE_GEO_FIELD_TRIGGER" -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.contextualfields.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.contextualfields.md deleted file mode 100644 index 681d4127e4030..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.contextualfields.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [VisualizeFieldContext](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.md) > [contextualFields](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.contextualfields.md) - -## VisualizeFieldContext.contextualFields property - -Signature: - -```typescript -contextualFields?: string[]; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.fieldname.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.fieldname.md deleted file mode 100644 index 95f45b1fbee4a..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.fieldname.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [VisualizeFieldContext](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.md) > [fieldName](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.fieldname.md) - -## VisualizeFieldContext.fieldName property - -Signature: - -```typescript -fieldName: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.indexpatternid.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.indexpatternid.md deleted file mode 100644 index 588c115cd9885..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.indexpatternid.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [VisualizeFieldContext](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.md) > [indexPatternId](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.indexpatternid.md) - -## VisualizeFieldContext.indexPatternId property - -Signature: - -```typescript -indexPatternId: string; -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.md deleted file mode 100644 index 7aeb254db7771..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.md +++ /dev/null @@ -1,20 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [VisualizeFieldContext](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.md) - -## VisualizeFieldContext interface - -Signature: - -```typescript -export interface VisualizeFieldContext -``` - -## Properties - -| Property | Type | Description | -| --- | --- | --- | -| [contextualFields](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.contextualfields.md) | string[] | | -| [fieldName](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.fieldname.md) | string | | -| [indexPatternId](./kibana-plugin-plugins-ui_actions-public.visualizefieldcontext.indexpatternid.md) | string | | - diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldtrigger.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldtrigger.md deleted file mode 100644 index eb62d36df84d8..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizefieldtrigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [visualizeFieldTrigger](./kibana-plugin-plugins-ui_actions-public.visualizefieldtrigger.md) - -## visualizeFieldTrigger variable - -Signature: - -```typescript -visualizeFieldTrigger: Trigger -``` diff --git a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizegeofieldtrigger.md b/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizegeofieldtrigger.md deleted file mode 100644 index c547c33aaccbf..0000000000000 --- a/docs/development/plugins/ui_actions/public/kibana-plugin-plugins-ui_actions-public.visualizegeofieldtrigger.md +++ /dev/null @@ -1,11 +0,0 @@ - - -[Home](./index.md) > [kibana-plugin-plugins-ui\_actions-public](./kibana-plugin-plugins-ui_actions-public.md) > [visualizeGeoFieldTrigger](./kibana-plugin-plugins-ui_actions-public.visualizegeofieldtrigger.md) - -## visualizeGeoFieldTrigger variable - -Signature: - -```typescript -visualizeGeoFieldTrigger: Trigger -``` diff --git a/src/dev/run_check_published_api_changes.ts b/src/dev/run_check_published_api_changes.ts index 54782d0ddc3e4..be2ca43432748 100644 --- a/src/dev/run_check_published_api_changes.ts +++ b/src/dev/run_check_published_api_changes.ts @@ -215,19 +215,7 @@ async function run(folder: string, { opts }: { opts: Options }): Promise Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { $Values } from '@kbn/utility-types'; -import { Action } from 'history'; -import { Adapters as Adapters_2 } from 'src/plugins/inspector/common'; -import { ApiResponse } from '@elastic/elasticsearch/lib/Transport'; -import { Assign } from '@kbn/utility-types'; -import { BfetchPublicSetup } from 'src/plugins/bfetch/public'; -import Boom from '@hapi/boom'; -import { ConfigDeprecationProvider } from '@kbn/config'; -import { CoreSetup } from 'src/core/public'; -import { CoreStart } from 'kibana/public'; -import { CoreStart as CoreStart_2 } from 'src/core/public'; -import { CustomFilter as CustomFilter_2 } from '@kbn/es-query'; -import { Datatable as Datatable_2 } from 'src/plugins/expressions'; -import { Datatable as Datatable_3 } from 'src/plugins/expressions/common'; -import { DatatableColumn as DatatableColumn_2 } from 'src/plugins/expressions'; -import { DatatableColumnType as DatatableColumnType_2 } from 'src/plugins/expressions/common'; -import { DetailedPeerCertificate } from 'tls'; -import { Ensure } from '@kbn/utility-types'; -import { EnvironmentMode } from '@kbn/config'; -import { ErrorToastOptions } from 'src/core/public/notifications'; -import { ES_FIELD_TYPES } from '@kbn/field-types'; -import { EsQueryConfig as EsQueryConfig_2 } from '@kbn/es-query'; -import { estypes } from '@elastic/elasticsearch'; -import { EuiBreadcrumb } from '@elastic/eui'; -import { EuiButtonEmptyProps } from '@elastic/eui'; -import { EuiComboBoxProps } from '@elastic/eui'; -import { EuiConfirmModalProps } from '@elastic/eui'; -import { EuiFlyoutSize } from '@elastic/eui'; -import { EuiGlobalToastListToast } from '@elastic/eui'; -import { EuiIconProps } from '@elastic/eui'; -import { EventEmitter } from 'events'; -import { ExecutionContext } from 'src/plugins/expressions/common'; -import { ExistsFilter as ExistsFilter_2 } from '@kbn/es-query'; -import { ExpressionAstExpression } from 'src/plugins/expressions/common'; -import { ExpressionFunctionDefinition } from 'src/plugins/expressions/common'; -import { ExpressionsSetup } from 'src/plugins/expressions/public'; -import { ExpressionValueBoxed } from 'src/plugins/expressions/common'; -import { FieldFormatsSetup } from 'src/plugins/field_formats/public'; -import { FieldFormatsStart } from 'src/plugins/field_formats/public'; -import { Filter as Filter_2 } from '@kbn/es-query'; -import { FilterStateStore } from '@kbn/es-query'; -import { History } from 'history'; -import { Href } from 'history'; -import { HttpSetup } from 'kibana/public'; -import { IAggConfigs as IAggConfigs_2 } from 'src/plugins/data/public'; -import { IconType } from '@elastic/eui'; -import { IEsSearchResponse as IEsSearchResponse_2 } from 'src/plugins/data/public'; -import { IFieldSubType as IFieldSubType_2 } from '@kbn/es-query'; -import { IncomingHttpHeaders } from 'http'; -import { IndexPatternBase } from '@kbn/es-query'; -import { IndexPatternFieldBase } from '@kbn/es-query'; -import { InjectedIntl } from '@kbn/i18n/react'; -import { ISearchOptions as ISearchOptions_2 } from 'src/plugins/data/public'; -import { ISearchSource as ISearchSource_2 } from 'src/plugins/data/public'; -import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; -import { IUiSettingsClient } from 'src/core/public'; -import { KBN_FIELD_TYPES } from '@kbn/field-types'; -import { KibanaClient } from '@elastic/elasticsearch/api/kibana'; -import { KibanaExecutionContext } from 'src/core/public'; -import { KueryNode as KueryNode_3 } from '@kbn/es-query'; -import { Location } from 'history'; -import { LocationDescriptorObject } from 'history'; -import { Logger } from '@kbn/logging'; -import { LogMeta } from '@kbn/logging'; -import { MatchAllFilter as MatchAllFilter_2 } from '@kbn/es-query'; -import { MaybePromise } from '@kbn/utility-types'; -import { Moment } from 'moment'; -import moment from 'moment'; -import { ObjectType } from '@kbn/config-schema'; -import { Observable } from 'rxjs'; -import { PackageInfo } from '@kbn/config'; -import { Path } from 'history'; -import { PeerCertificate } from 'tls'; -import { PhraseFilter as PhraseFilter_2 } from '@kbn/es-query'; -import { PhrasesFilter as PhrasesFilter_2 } from '@kbn/es-query'; -import { Plugin } from 'src/core/public'; -import { PluginInitializerContext as PluginInitializerContext_2 } from 'src/core/public'; -import { PluginInitializerContext as PluginInitializerContext_3 } from 'kibana/public'; -import { PopoverAnchorPosition } from '@elastic/eui'; -import { PublicContract } from '@kbn/utility-types'; -import { PublicMethodsOf } from '@kbn/utility-types'; -import { PublicUiSettingsParams } from 'src/core/server/types'; -import { Query } from '@kbn/es-query'; -import { RangeFilter as RangeFilter_2 } from '@kbn/es-query'; -import { RangeFilterMeta as RangeFilterMeta_2 } from '@kbn/es-query'; -import { RangeFilterParams as RangeFilterParams_2 } from '@kbn/es-query'; -import React from 'react'; -import * as React_2 from 'react'; -import { RecursiveReadonly } from '@kbn/utility-types'; -import { Request as Request_2 } from '@hapi/hapi'; -import { RequestAdapter } from 'src/plugins/inspector/common'; -import { RequestStatistics as RequestStatistics_2 } from 'src/plugins/inspector/common'; -import { Required } from '@kbn/utility-types'; -import * as Rx from 'rxjs'; -import { SavedObject } from 'src/core/server'; -import { SavedObject as SavedObject_2 } from 'kibana/server'; -import { SavedObjectReference as SavedObjectReference_2 } from 'src/core/types'; -import { SavedObjectsClientContract } from 'src/core/public'; -import { SavedObjectsFindOptions } from 'kibana/public'; -import { SavedObjectsFindResponse } from 'kibana/server'; -import { SavedObjectsUpdateResponse } from 'kibana/server'; -import { SchemaTypeError } from '@kbn/config-schema'; -import { SerializableRecord } from '@kbn/utility-types'; -import { SerializedFieldFormat as SerializedFieldFormat_3 } from 'src/plugins/expressions/common'; -import { StartServicesAccessor } from 'kibana/public'; -import { ToastInputFields } from 'src/core/public/notifications'; -import { TransportRequestOptions } from '@elastic/elasticsearch/lib/Transport'; -import { TransportRequestParams } from '@elastic/elasticsearch/lib/Transport'; -import { TransportRequestPromise } from '@elastic/elasticsearch/lib/Transport'; -import { Type } from '@kbn/config-schema'; -import { TypeOf } from '@kbn/config-schema'; -import { UiActionsSetup } from 'src/plugins/ui_actions/public'; -import { UiActionsStart } from 'src/plugins/ui_actions/public'; -import { UiCounterMetricType } from '@kbn/analytics'; -import { Unit } from '@elastic/datemath'; -import { UnregisterCallback } from 'history'; -import { URL } from 'url'; -import { UserProvidedValues } from 'src/core/server/types'; - -// Warning: (ae-missing-release-tag) "ACTION_GLOBAL_APPLY_FILTER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const ACTION_GLOBAL_APPLY_FILTER = "ACTION_GLOBAL_APPLY_FILTER"; - -// Warning: (ae-missing-release-tag) "AggConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class AggConfig { - // Warning: (ae-incompatible-release-tags) The symbol "__constructor" is marked as @public, but its signature references "IAggConfigs" which is marked as @internal - constructor(aggConfigs: IAggConfigs, opts: AggConfigOptions); - // Warning: (ae-incompatible-release-tags) The symbol "aggConfigs" is marked as @public, but its signature references "IAggConfigs" which is marked as @internal - // - // (undocumented) - aggConfigs: IAggConfigs; - // (undocumented) - brandNew?: boolean; - // (undocumented) - createFilter(key: string, params?: {}): any; - // (undocumented) - enabled: boolean; - static ensureIds(list: any[]): any[]; - // (undocumented) - fieldIsTimeField(): boolean; - // (undocumented) - fieldName(): any; - // (undocumented) - getAggParams(): import("./param_types/agg").AggParamType[]; - // (undocumented) - getField(): any; - // (undocumented) - getFieldDisplayName(): any; - // (undocumented) - getIndexPattern(): import("../../../public").IndexPattern; - // (undocumented) - getKey(bucket: any, key?: string): any; - // (undocumented) - getParam(key: string): any; - // (undocumented) - getRequestAggs(): AggConfig[]; - // (undocumented) - getResponseAggs(): AggConfig[]; - // (undocumented) - getTimeRange(): import("../../../public").TimeRange | undefined; - // (undocumented) - getTimeShift(): undefined | moment.Duration; - // (undocumented) - getValue(bucket: any): any; - getValueBucketPath(): string; - // (undocumented) - hasTimeShift(): boolean; - // (undocumented) - id: string; - // (undocumented) - isFilterable(): boolean; - // (undocumented) - makeLabel(percentageMode?: boolean): any; - static nextId(list: IAggConfig[]): number; - onSearchRequestStart(searchSource: ISearchSource_2, options?: ISearchOptions_2): Promise | Promise; - // (undocumented) - params: any; - // Warning: (ae-incompatible-release-tags) The symbol "parent" is marked as @public, but its signature references "IAggConfigs" which is marked as @internal - // - // (undocumented) - parent?: IAggConfigs; - // (undocumented) - schema?: string; - // (undocumented) - serialize(): AggConfigSerialized; - setParams(from: any): void; - // (undocumented) - setType(type: IAggType): void; - // Warning: (ae-incompatible-release-tags) The symbol "toDsl" is marked as @public, but its signature references "IAggConfigs" which is marked as @internal - toDsl(aggConfigs?: IAggConfigs): any; - // (undocumented) - toExpressionAst(): ExpressionAstExpression | undefined; - // @deprecated (undocumented) - toJSON(): AggConfigSerialized; - toSerializedFieldFormat(): {} | Ensure, SerializableRecord>; - // (undocumented) - get type(): IAggType; - set type(type: IAggType); - // Warning: (ae-incompatible-release-tags) The symbol "write" is marked as @public, but its signature references "IAggConfigs" which is marked as @internal - // - // (undocumented) - write(aggs?: IAggConfigs): Record; -} - -// Warning: (ae-missing-release-tag) "AggConfigOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type AggConfigOptions = Assign; - -// Warning: (ae-missing-release-tag) "AggConfigs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class AggConfigs { - // Warning: (ae-forgotten-export) The symbol "AggConfigsOptions" needs to be exported by the entry point index.d.ts - constructor(indexPattern: IndexPattern, configStates: Pick & Pick<{ - type: string | IAggType; - }, "type"> & Pick<{ - type: string | IAggType; - }, never>, "schema" | "type" | "enabled" | "id" | "params">[] | undefined, opts: AggConfigsOptions); - // (undocumented) - aggs: IAggConfig[]; - // (undocumented) - byId(id: string): AggConfig | undefined; - // (undocumented) - byIndex(index: number): AggConfig; - // (undocumented) - byName(name: string): AggConfig[]; - // (undocumented) - bySchemaName(schema: string): AggConfig[]; - // (undocumented) - byType(type: string): AggConfig[]; - // (undocumented) - byTypeName(type: string): AggConfig[]; - // (undocumented) - clone({ enabledOnly }?: { - enabledOnly?: boolean | undefined; - }): AggConfigs; - // Warning: (ae-forgotten-export) The symbol "CreateAggConfigParams" needs to be exported by the entry point index.d.ts - // - // (undocumented) - createAggConfig: (params: CreateAggConfigParams, { addToAggConfigs }?: { - addToAggConfigs?: boolean | undefined; - }) => T; - // (undocumented) - forceNow?: Date; - // (undocumented) - getAll(): AggConfig[]; - // (undocumented) - getRequestAggById(id: string): AggConfig | undefined; - // (undocumented) - getRequestAggs(): AggConfig[]; - getResolvedTimeRange(): import("../..").TimeRangeBounds | undefined; - getResponseAggById(id: string): AggConfig | undefined; - getResponseAggs(): AggConfig[]; - // (undocumented) - getSearchSourceTimeFilter(forceNow?: Date): import("@kbn/es-query").RangeFilter[] | { - meta: { - index: string | undefined; - params: {}; - alias: string; - disabled: boolean; - negate: boolean; - }; - query: { - bool: { - should: { - bool: { - filter: { - range: { - [x: string]: { - gte: string; - lte: string; - }; - }; - }[]; - }; - }[]; - minimum_should_match: number; - }; - }; - }[]; - // (undocumented) - getTimeShiftInterval(): moment.Duration | undefined; - // (undocumented) - getTimeShifts(): Record; - // (undocumented) - hasTimeShifts(): boolean; - // (undocumented) - hierarchical?: boolean; - // (undocumented) - indexPattern: IndexPattern; - jsonDataEquals(aggConfigs: AggConfig[]): boolean; - // (undocumented) - onSearchRequestStart(searchSource: ISearchSource_2, options?: ISearchOptions_2): Promise<[unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown]>; - // (undocumented) - postFlightTransform(response: IEsSearchResponse_2): IEsSearchResponse_2; - // (undocumented) - setForceNow(now: Date | undefined): void; - // (undocumented) - setTimeFields(timeFields: string[] | undefined): void; - // (undocumented) - setTimeRange(timeRange: TimeRange): void; - // (undocumented) - timeFields?: string[]; - // (undocumented) - timeRange?: TimeRange; - // (undocumented) - toDsl(): Record; - } - -// @public (undocumented) -export type AggConfigSerialized = Ensure<{ - type: string; - enabled?: boolean; - id?: string; - params?: {} | SerializableRecord; - schema?: string; -}, SerializableRecord>; - -// Warning: (ae-missing-release-tag) "AggFunctionsMapping" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface AggFunctionsMapping { - // Warning: (ae-forgotten-export) The symbol "aggAvg" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggAvg: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggBucketAvg" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggBucketAvg: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggBucketMax" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggBucketMax: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggBucketMin" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggBucketMin: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggBucketSum" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggBucketSum: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggCardinality" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggCardinality: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggCount" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggCount: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggCumulativeSum" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggCumulativeSum: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggDateHistogram" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggDateHistogram: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggDateRange" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggDateRange: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggDerivative" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggDerivative: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggFilter" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggFilter: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggFilteredMetric" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggFilteredMetric: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggFilters" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggFilters: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggGeoBounds" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggGeoBounds: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggGeoCentroid" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggGeoCentroid: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggGeoHash" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggGeoHash: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggGeoTile" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggGeoTile: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggHistogram" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggHistogram: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggIpRange" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggIpRange: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggMax" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggMax: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggMedian" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggMedian: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggMin" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggMin: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggMovingAvg" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggMovingAvg: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggPercentileRanks" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggPercentileRanks: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggPercentiles" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggPercentiles: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggRange" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggRange: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggSerialDiff" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggSerialDiff: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggSignificantTerms" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggSignificantTerms: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggSinglePercentile" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggSinglePercentile: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggStdDeviation" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggStdDeviation: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggSum" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggSum: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggTerms" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggTerms: ReturnType; - // Warning: (ae-forgotten-export) The symbol "aggTopHit" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggTopHit: ReturnType; -} - -// Warning: (ae-missing-release-tag) "AggGroupLabels" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const AggGroupLabels: { - buckets: string; - metrics: string; - none: string; -}; - -// Warning: (ae-missing-release-tag) "AggGroupName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type AggGroupName = $Values; - -// Warning: (ae-missing-release-tag) "AggGroupNames" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const AggGroupNames: Readonly<{ - Buckets: "buckets"; - Metrics: "metrics"; - None: "none"; -}>; - -// Warning: (ae-forgotten-export) The symbol "BaseParamType" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "AggParam" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type AggParam = BaseParamType; - -// Warning: (ae-missing-release-tag) "AggParamOption" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface AggParamOption { - // (undocumented) - display: string; - // (undocumented) - enabled?(agg: AggConfig): boolean; - // (undocumented) - val: string; -} - -// Warning: (ae-missing-release-tag) "AggParamType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class AggParamType extends BaseParamType { - constructor(config: Record); - // (undocumented) - allowedAggs: string[]; - // (undocumented) - makeAgg: (agg: TAggConfig, state?: AggConfigSerialized) => TAggConfig; -} - -// Warning: (ae-missing-release-tag) "AggregationRestrictions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -type AggregationRestrictions = Record; - -export { AggregationRestrictions } - -export { AggregationRestrictions as IndexPatternAggRestrictions } - -// Warning: (ae-forgotten-export) The symbol "AggsCommonStart" needs to be exported by the entry point index.d.ts -// -// @public -export type AggsStart = Assign; - -// Warning: (ae-missing-release-tag) "APPLY_FILTER_TRIGGER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const APPLY_FILTER_TRIGGER = "FILTER_TRIGGER"; - -// Warning: (ae-missing-release-tag) "ApplyGlobalFilterActionContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ApplyGlobalFilterActionContext { - // (undocumented) - controlledBy?: string; - // (undocumented) - embeddable?: unknown; - // (undocumented) - filters: Filter[]; - // (undocumented) - timeFieldName?: string; -} - -// Warning: (ae-forgotten-export) The symbol "AutocompleteService" needs to be exported by the entry point index.d.ts -// -// @public (undocumented) -export type AutocompleteStart = ReturnType; - -// Warning: (ae-missing-release-tag) "AutoRefreshDoneFn" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type AutoRefreshDoneFn = () => void; - -// Warning: (ae-missing-release-tag) "BUCKET_TYPES" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export enum BUCKET_TYPES { - // (undocumented) - DATE_HISTOGRAM = "date_histogram", - // (undocumented) - DATE_RANGE = "date_range", - // (undocumented) - FILTER = "filter", - // (undocumented) - FILTERS = "filters", - // (undocumented) - GEOHASH_GRID = "geohash_grid", - // (undocumented) - GEOTILE_GRID = "geotile_grid", - // (undocumented) - HISTOGRAM = "histogram", - // (undocumented) - IP_RANGE = "ip_range", - // (undocumented) - RANGE = "range", - // (undocumented) - SIGNIFICANT_TERMS = "significant_terms", - // (undocumented) - TERMS = "terms" -} - -// Warning: (ae-missing-release-tag) "castEsToKbnFieldTypeName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export const castEsToKbnFieldTypeName: (esType: string) => import("@kbn/field-types").KBN_FIELD_TYPES; - -// Warning: (ae-forgotten-export) The symbol "QuerySetup" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "BaseStateContainer" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "connectToQueryState" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export const connectToQueryState: ({ timefilter: { timefilter }, filterManager, queryString, state$, }: Pick, stateContainer: BaseStateContainer, syncConfig: { - time?: boolean; - refreshInterval?: boolean; - filters?: FilterStateStore | boolean; - query?: boolean; -}) => () => void; - -// Warning: (ae-missing-release-tag) "createSavedQueryService" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const createSavedQueryService: (savedObjectsClient: SavedObjectsClientContract) => SavedQueryService; - -// Warning: (ae-missing-release-tag) "CustomFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type CustomFilter = CustomFilter_2; - -// Warning: (ae-forgotten-export) The symbol "DataSetupDependencies" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "DataStartDependencies" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "DataPublicPlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class DataPlugin implements Plugin { - // Warning: (ae-forgotten-export) The symbol "ConfigSchema" needs to be exported by the entry point index.d.ts - constructor(initializerContext: PluginInitializerContext_2); - // (undocumented) - setup(core: CoreSetup, { bfetch, expressions, uiActions, usageCollection, inspector, fieldFormats, }: DataSetupDependencies): DataPublicPluginSetup; - // (undocumented) - start(core: CoreStart_2, { uiActions, fieldFormats }: DataStartDependencies): DataPublicPluginStart; - // (undocumented) - stop(): void; - } - -// Warning: (ae-missing-release-tag) "DataPublicPluginSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface DataPublicPluginSetup { - // Warning: (ae-forgotten-export) The symbol "AutocompleteSetup" needs to be exported by the entry point index.d.ts - // - // (undocumented) - autocomplete: AutocompleteSetup; - // (undocumented) - query: QuerySetup; - // (undocumented) - search: ISearchSetup; -} - -// Warning: (ae-missing-release-tag) "DataPublicPluginStart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface DataPublicPluginStart { - actions: DataPublicPluginStartActions; - autocomplete: AutocompleteStart; - // @deprecated (undocumented) - fieldFormats: FieldFormatsStart; - indexPatterns: IndexPatternsContract; - // Warning: (ae-forgotten-export) The symbol "NowProviderPublicContract" needs to be exported by the entry point index.d.ts - // - // (undocumented) - nowProvider: NowProviderPublicContract; - query: QueryStart; - search: ISearchStart; - ui: DataPublicPluginStartUi; -} - -// Warning: (ae-missing-release-tag) "DataPublicPluginStartActions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface DataPublicPluginStartActions { - // Warning: (ae-forgotten-export) The symbol "createFiltersFromRangeSelectAction" needs to be exported by the entry point index.d.ts - // - // (undocumented) - createFiltersFromRangeSelectAction: typeof createFiltersFromRangeSelectAction; - // Warning: (ae-forgotten-export) The symbol "createFiltersFromValueClickAction" needs to be exported by the entry point index.d.ts - // - // (undocumented) - createFiltersFromValueClickAction: typeof createFiltersFromValueClickAction; -} - -// Warning: (ae-missing-release-tag) "DataPublicPluginStartUi" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface DataPublicPluginStartUi { - // (undocumented) - IndexPatternSelect: React.ComponentType; - // (undocumented) - SearchBar: React.ComponentType; -} - -// Warning: (ae-missing-release-tag) "DuplicateIndexPatternError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class DuplicateIndexPatternError extends Error { - constructor(message: string); -} - -export { ES_FIELD_TYPES } - -// Warning: (ae-missing-release-tag) "ES_SEARCH_STRATEGY" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const ES_SEARCH_STRATEGY = "es"; - -// Warning: (ae-forgotten-export) The symbol "Input" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "Arguments" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "Output" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EsaggsExpressionFunctionDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type EsaggsExpressionFunctionDefinition = ExpressionFunctionDefinition<'esaggs', Input_36, Arguments_21, Output_36>; - -// Warning: (ae-missing-release-tag) "esFilters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated -export const esFilters: { - FilterLabel: (props: import("./ui/filter_bar/filter_editor/lib/filter_label").FilterLabelProps) => JSX.Element; - FilterItem: (props: import("./ui/filter_bar/filter_item").FilterItemProps) => JSX.Element; - FILTERS: typeof import("@kbn/es-query").FILTERS; - FilterStateStore: typeof FilterStateStore; - buildEmptyFilter: (isPinned: boolean, index?: string | undefined) => import("@kbn/es-query").Filter; - buildPhrasesFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, params: (string | number | boolean)[], indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").PhrasesFilter; - buildExistsFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").ExistsFilter; - buildPhraseFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, value: string | number | boolean, indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").PhraseFilter | import("@kbn/es-query").ScriptedPhraseFilter; - buildQueryFilter: (query: (Record & { - query_string?: { - query: string; - } | undefined; - }) | undefined, index: string, alias: string) => import("@kbn/es-query").QueryStringFilter; - buildRangeFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, params: import("@kbn/es-query").RangeFilterParams, indexPattern: import("@kbn/es-query").IndexPatternBase, formattedValue?: string | undefined) => import("@kbn/es-query").RangeFilter | import("@kbn/es-query").ScriptedRangeFilter | import("@kbn/es-query/target_types/filters/build_filters").MatchAllRangeFilter; - isPhraseFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").PhraseFilter; - isExistsFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").ExistsFilter; - isPhrasesFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").PhrasesFilter; - isRangeFilter: (filter?: import("@kbn/es-query").Filter | undefined) => filter is import("@kbn/es-query").RangeFilter; - isMatchAllFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").MatchAllFilter; - isMissingFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").MissingFilter; - isQueryStringFilter: (filter: import("@kbn/es-query").Filter) => filter is import("@kbn/es-query").QueryStringFilter; - isFilterPinned: (filter: import("@kbn/es-query").Filter) => boolean | undefined; - toggleFilterNegated: (filter: import("@kbn/es-query").Filter) => { - meta: { - negate: boolean; - alias?: string | null | undefined; - disabled?: boolean | undefined; - controlledBy?: string | undefined; - index?: string | undefined; - isMultiIndex?: boolean | undefined; - type?: string | undefined; - key?: string | undefined; - params?: any; - value?: string | undefined; - }; - $state?: { - store: FilterStateStore; - } | undefined; - query?: Record | undefined; - }; - disableFilter: (filter: import("@kbn/es-query").Filter) => import("@kbn/es-query").Filter; - getPhraseFilterField: (filter: import("@kbn/es-query").PhraseFilter) => string; - getPhraseFilterValue: (filter: import("@kbn/es-query").PhraseFilter | import("@kbn/es-query").ScriptedPhraseFilter) => string | number | boolean; - getDisplayValueFromFilter: typeof getDisplayValueFromFilter; - compareFilters: (first: import("@kbn/es-query").Filter | import("@kbn/es-query").Filter[], second: import("@kbn/es-query").Filter | import("@kbn/es-query").Filter[], comparatorOptions?: import("@kbn/es-query").FilterCompareOptions | undefined) => boolean; - COMPARE_ALL_OPTIONS: import("@kbn/es-query").FilterCompareOptions; - generateFilters: typeof generateFilters; - onlyDisabledFiltersChanged: (newFilters?: import("@kbn/es-query").Filter[] | undefined, oldFilters?: import("@kbn/es-query").Filter[] | undefined) => boolean; - changeTimeFilter: typeof changeTimeFilter; - convertRangeFilterToTimeRangeString: typeof convertRangeFilterToTimeRangeString; - mapAndFlattenFilters: (filters: import("@kbn/es-query").Filter[]) => import("@kbn/es-query").Filter[]; - extractTimeFilter: typeof extractTimeFilter; - extractTimeRange: typeof extractTimeRange; -}; - -// Warning: (ae-missing-release-tag) "esKuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export const esKuery: { - nodeTypes: import("@kbn/es-query/target_types/kuery/node_types").NodeTypes; - fromKueryExpression: (expression: string | import("@elastic/elasticsearch/api/types").QueryDslQueryContainer, parseOptions?: Partial | undefined) => import("@kbn/es-query").KueryNode; - toElasticsearchQuery: (node: import("@kbn/es-query").KueryNode, indexPattern?: import("@kbn/es-query").IndexPatternBase | undefined, config?: import("@kbn/es-query").KueryQueryOptions | undefined, context?: Record | undefined) => import("@elastic/elasticsearch/api/types").QueryDslQueryContainer; -}; - -// Warning: (ae-missing-release-tag) "esQuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export const esQuery: { - buildEsQuery: typeof import("@kbn/es-query").buildEsQuery; - getEsQueryConfig: typeof getEsQueryConfig; - buildQueryFromFilters: (filters: import("@kbn/es-query").Filter[] | undefined, indexPattern: import("@kbn/es-query").IndexPatternBase | undefined, ignoreFilterIfFieldNotInIndex?: boolean | undefined) => import("@kbn/es-query").BoolQuery; - luceneStringToDsl: typeof import("@kbn/es-query").luceneStringToDsl; - decorateQuery: typeof import("@kbn/es-query").decorateQuery; -}; - -// Warning: (ae-missing-release-tag) "EsQueryConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type EsQueryConfig = EsQueryConfig_2; - -// Warning: (ae-forgotten-export) The symbol "SortDirectionNumeric" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "SortDirectionFormat" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EsQuerySortValue" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type EsQuerySortValue = Record; - -// Warning: (ae-missing-release-tag) "ExecutionContextSearch" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExecutionContextSearch = { - filters?: Filter[]; - query?: Query | Query[]; - timeRange?: TimeRange; -}; - -// Warning: (ae-missing-release-tag) "ExistsFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type ExistsFilter = ExistsFilter_2; - -// Warning: (ae-missing-release-tag) "exporters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const exporters: { - datatableToCSV: typeof datatableToCSV; - CSV_MIME_TYPE: string; - cellHasFormulas: (val: string) => boolean; - tableHasFormulas: (columns: import("../../expressions").DatatableColumn[], rows: Record[]) => boolean; -}; - -// Warning: (ae-missing-release-tag) "ExpressionFunctionKibana" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionFunctionKibana = ExpressionFunctionDefinition<'kibana', ExpressionValueSearchContext | null, object, ExpressionValueSearchContext, ExecutionContext>; - -// Warning: (ae-forgotten-export) The symbol "Arguments" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExpressionFunctionKibanaContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionFunctionKibanaContext = ExpressionFunctionDefinition<'kibana_context', KibanaContext | null, Arguments_22, Promise, ExecutionContext>; - -// Warning: (ae-missing-release-tag) "ExpressionValueSearchContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueSearchContext = ExpressionValueBoxed<'kibana_context', ExecutionContextSearch>; - -// Warning: (ae-missing-release-tag) "extractReferences" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const extractSearchSourceReferences: (state: SearchSourceFields) => [SearchSourceFields & { - indexRefName?: string; -}, SavedObjectReference_2[]]; - -// Warning: (ae-missing-release-tag) "extractTimeRange" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function extractTimeRange(filters: Filter_2[], timeFieldName?: string): { - restOfFilters: Filter_2[]; - timeRange?: TimeRange; -}; - -// Warning: (ae-forgotten-export) The symbol "FieldSpec" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "IIndexPatternFieldList" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "fieldList" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const fieldList: (specs?: FieldSpec[], shortDotsEnable?: boolean) => IIndexPatternFieldList; - -// Warning: (ae-missing-release-tag) "Filter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type Filter = Filter_2; - -// Warning: (ae-forgotten-export) The symbol "FilterItemProps" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "FilterItem" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const FilterItem: (props: FilterItemProps) => JSX.Element; - -// Warning: (ae-forgotten-export) The symbol "FilterLabelProps" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "FilterLabel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const FilterLabel: (props: FilterLabelProps) => JSX.Element; - -// Warning: (ae-forgotten-export) The symbol "PersistableStateService" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "FilterManager" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class FilterManager implements PersistableStateService { - constructor(uiSettings: IUiSettingsClient); - // (undocumented) - addFilters(filters: Filter_2[] | Filter_2, pinFilterStatus?: boolean): void; - // (undocumented) - extract: any; - // (undocumented) - getAllMigrations: () => {}; - // (undocumented) - getAppFilters(): Filter_2[]; - // (undocumented) - getFetches$(): import("rxjs").Observable; - // (undocumented) - getFilters(): Filter_2[]; - // (undocumented) - getGlobalFilters(): Filter_2[]; - // Warning: (ae-forgotten-export) The symbol "PartitionedFilters" needs to be exported by the entry point index.d.ts - // - // (undocumented) - getPartitionedFilters(): PartitionedFilters; - // (undocumented) - getUpdates$(): import("rxjs").Observable; - // (undocumented) - inject: any; - // (undocumented) - migrateToLatest: any; - // (undocumented) - removeAll(): void; - // (undocumented) - removeFilter(filter: Filter_2): void; - setAppFilters(newAppFilters: Filter_2[]): void; - // (undocumented) - setFilters(newFilters: Filter_2[], pinFilterStatus?: boolean): void; - // (undocumented) - static setFiltersStore(filters: Filter_2[], store: FilterStateStore, shouldOverrideStore?: boolean): void; - setGlobalFilters(newGlobalFilters: Filter_2[]): void; - // (undocumented) - telemetry: (filters: import("@kbn/utility-types").SerializableRecord, collector: unknown) => {}; - } - -// Warning: (ae-missing-release-tag) "generateFilters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function generateFilters(filterManager: FilterManager, field: IFieldType | string, values: any, operation: string, index: string): Filter_2[]; - -// Warning: (ae-forgotten-export) The symbol "QueryLanguage" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "getDefaultQuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function getDefaultQuery(language?: QueryLanguage): { - query: string; - language: QueryLanguage; -}; - -// Warning: (ae-missing-release-tag) "getDisplayValueFromFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function getDisplayValueFromFilter(filter: Filter, indexPatterns: IIndexPattern[]): string; - -// Warning: (ae-forgotten-export) The symbol "KibanaConfig" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "getEsQueryConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function getEsQueryConfig(config: KibanaConfig): EsQueryConfig_2; - -// Warning: (ae-missing-release-tag) "GetFieldsOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface GetFieldsOptions { - // (undocumented) - allowNoIndex?: boolean; - // (undocumented) - lookBack?: boolean; - // (undocumented) - metaFields?: string[]; - // (undocumented) - pattern: string; - // (undocumented) - rollupIndex?: string; - // (undocumented) - type?: string; -} - -// Warning: (ae-missing-release-tag) "getKbnTypeNames" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export const getKbnTypeNames: () => string[]; - -// Warning: (ae-forgotten-export) The symbol "ISearchRequestParams" needs to be exported by the entry point index.d.ts -// Warning: (ae-incompatible-release-tags) The symbol "getSearchParamsFromRequest" is marked as @public, but its signature references "SearchRequest" which is marked as @internal -// -// @public (undocumented) -export function getSearchParamsFromRequest(searchRequest: SearchRequest, dependencies: { - getConfig: GetConfigFn; -}): ISearchRequestParams; - -// Warning: (ae-missing-release-tag) "getTime" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function getTime(indexPattern: IIndexPattern | undefined, timeRange: TimeRange, options?: { - forceNow?: Date; - fieldName?: string; -}): import("@kbn/es-query").RangeFilter | import("@kbn/es-query").ScriptedRangeFilter | import("@kbn/es-query/target_types/filters/build_filters").MatchAllRangeFilter | undefined; - -// Warning: (ae-missing-release-tag) "IAggConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type IAggConfig = AggConfig; - -// @internal -export type IAggConfigs = AggConfigs; - -// Warning: (ae-forgotten-export) The symbol "AggType" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "IAggType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type IAggType = AggType; - -// Warning: (ae-missing-release-tag) "IDataPluginServices" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IDataPluginServices extends Partial { - // (undocumented) - appName: string; - // (undocumented) - data: DataPublicPluginStart; - // (undocumented) - http: CoreStart_2['http']; - // (undocumented) - notifications: CoreStart_2['notifications']; - // (undocumented) - savedObjects: CoreStart_2['savedObjects']; - // (undocumented) - storage: IStorageWrapper; - // (undocumented) - uiSettings: CoreStart_2['uiSettings']; - // Warning: (ae-forgotten-export) The symbol "UsageCollectionStart" needs to be exported by the entry point index.d.ts - // - // (undocumented) - usageCollection?: UsageCollectionStart; -} - -// Warning: (ae-forgotten-export) The symbol "KibanaServerError" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "IEsErrorAttributes" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "IEsError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type IEsError = KibanaServerError; - -// Warning: (ae-missing-release-tag) "IEsSearchRequest" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IEsSearchRequest extends IKibanaSearchRequest { - // (undocumented) - indexType?: string; -} - -// Warning: (ae-missing-release-tag) "IEsSearchResponse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type IEsSearchResponse = IKibanaSearchResponse>; - -// Warning: (ae-forgotten-export) The symbol "FieldParamType" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "IFieldParamType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type IFieldParamType = FieldParamType; - -// Warning: (ae-missing-release-tag) "IFieldSubType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type IFieldSubType = IFieldSubType_2; - -// Warning: (ae-missing-release-tag) "IFieldType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export interface IFieldType extends IndexPatternFieldBase { - // (undocumented) - aggregatable?: boolean; - // (undocumented) - count?: number; - // (undocumented) - customLabel?: string; - // (undocumented) - displayName?: string; - // (undocumented) - esTypes?: string[]; - // (undocumented) - filterable?: boolean; - // (undocumented) - format?: any; - // (undocumented) - readFromDocValues?: boolean; - // (undocumented) - searchable?: boolean; - // (undocumented) - sortable?: boolean; - // (undocumented) - toSpec?: (options?: { - getFormatterForField?: IndexPattern['getFormatterForField']; - }) => FieldSpec; - // (undocumented) - visualizable?: boolean; -} - -// Warning: (ae-missing-release-tag) "IIndexPattern" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export interface IIndexPattern extends IndexPatternBase { - // Warning: (ae-forgotten-export) The symbol "SerializedFieldFormat" needs to be exported by the entry point index.d.ts - // - // (undocumented) - fieldFormatMap?: Record | undefined>; - // (undocumented) - fields: IFieldType[]; - // Warning: (ae-forgotten-export) The symbol "FieldFormat" needs to be exported by the entry point index.d.ts - getFormatterForField?: (field: IndexPatternField | IndexPatternField['spec'] | IFieldType) => FieldFormat; - // (undocumented) - getTimeField?(): IFieldType | undefined; - // (undocumented) - timeFieldName?: string; - // (undocumented) - title: string; - type?: string; -} - -// Warning: (ae-missing-release-tag) "IKibanaSearchRequest" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IKibanaSearchRequest { - id?: string; - // (undocumented) - params?: Params; -} - -// Warning: (ae-missing-release-tag) "IKibanaSearchResponse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IKibanaSearchResponse { - id?: string; - isPartial?: boolean; - isRestored?: boolean; - isRunning?: boolean; - loaded?: number; - rawResponse: RawResponse; - total?: number; - warning?: string; -} - -// Warning: (ae-forgotten-export) The symbol "MetricAggType" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "IMetricAggType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type IMetricAggType = MetricAggType; - -// @public (undocumented) -export const INDEX_PATTERN_SAVED_OBJECT_TYPE = "index-pattern"; - -// Warning: (ae-missing-release-tag) "IndexPattern" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class IndexPattern implements IIndexPattern { - // Warning: (ae-forgotten-export) The symbol "IndexPatternDeps" needs to be exported by the entry point index.d.ts - constructor({ spec, fieldFormats, shortDotsEnable, metaFields, }: IndexPatternDeps); - addRuntimeField(name: string, runtimeField: RuntimeField): void; - // @deprecated - addScriptedField(name: string, script: string, fieldType?: string): Promise; - readonly allowNoIndex: boolean; - // (undocumented) - readonly deleteFieldFormat: (fieldName: string) => void; - // (undocumented) - fieldFormatMap: Record; - // (undocumented) - fields: IIndexPatternFieldList & { - toSpec: () => IndexPatternFieldMap; - }; - // (undocumented) - flattenHit: (hit: Record, deep?: boolean) => Record; - // (undocumented) - formatField: FormatFieldFn; - // (undocumented) - formatHit: { - (hit: Record, type?: string): any; - formatField: FormatFieldFn; - }; - // (undocumented) - getAggregationRestrictions(): Record> | undefined; - getAsSavedObjectBody(): IndexPatternAttributes; - // (undocumented) - getComputedFields(): { - storedFields: string[]; - scriptFields: any; - docvalueFields: { - field: any; - format: string; - }[]; - runtimeFields: Record; - }; - // (undocumented) - getFieldAttrs: () => { - [x: string]: FieldAttrSet; - }; - // (undocumented) - getFieldByName(name: string): IndexPatternField | undefined; - getFormatterForField(field: IndexPatternField | IndexPatternField['spec'] | IFieldType): FieldFormat; - getFormatterForFieldNoDefault(fieldname: string): FieldFormat | undefined; - // @deprecated (undocumented) - getNonScriptedFields(): IndexPatternField[]; - getOriginalSavedObjectBody: () => { - fieldAttrs?: string | undefined; - title?: string | undefined; - timeFieldName?: string | undefined; - intervalName?: string | undefined; - fields?: string | undefined; - sourceFilters?: string | undefined; - fieldFormatMap?: string | undefined; - typeMeta?: string | undefined; - type?: string | undefined; - }; - getRuntimeField(name: string): RuntimeField | null; - // @deprecated (undocumented) - getScriptedFields(): IndexPatternField[]; - getSourceFiltering(): { - excludes: any[]; - }; - // (undocumented) - getTimeField(): IndexPatternField | undefined; - hasRuntimeField(name: string): boolean; - // (undocumented) - id?: string; - // @deprecated (undocumented) - intervalName: string | undefined; - // (undocumented) - isTimeBased(): boolean; - // (undocumented) - isTimeNanosBased(): boolean; - // (undocumented) - metaFields: string[]; - removeRuntimeField(name: string): void; - // @deprecated - removeScriptedField(fieldName: string): void; - replaceAllRuntimeFields(newFields: Record): void; - resetOriginalSavedObjectBody: () => void; - // (undocumented) - protected setFieldAttrs(fieldName: string, attrName: K, value: FieldAttrSet[K]): void; - // (undocumented) - setFieldCount(fieldName: string, count: number | undefined | null): void; - // (undocumented) - setFieldCustomLabel(fieldName: string, customLabel: string | undefined | null): void; - // (undocumented) - readonly setFieldFormat: (fieldName: string, format: SerializedFieldFormat) => void; - // Warning: (ae-forgotten-export) The symbol "SourceFilter" needs to be exported by the entry point index.d.ts - // - // (undocumented) - sourceFilters?: SourceFilter[]; - // (undocumented) - timeFieldName: string | undefined; - // (undocumented) - title: string; - toSpec(): IndexPatternSpec; - type: string | undefined; - typeMeta?: TypeMeta; - version: string | undefined; -} - -// Warning: (ae-missing-release-tag) "IndexPatternAttributes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface IndexPatternAttributes { - allowNoIndex?: boolean; - // (undocumented) - fieldAttrs?: string; - // (undocumented) - fieldFormatMap?: string; - // (undocumented) - fields: string; - // (undocumented) - intervalName?: string; - // (undocumented) - runtimeFieldMap?: string; - // (undocumented) - sourceFilters?: string; - // (undocumented) - timeFieldName?: string; - // (undocumented) - title: string; - // (undocumented) - type?: string; - // (undocumented) - typeMeta?: string; -} - -// @public (undocumented) -export class IndexPatternField implements IFieldType { - constructor(spec: FieldSpec); - // (undocumented) - get aggregatable(): boolean; - get conflictDescriptions(): Record | undefined; - set conflictDescriptions(conflictDescriptions: Record | undefined); - get count(): number; - set count(count: number); - // (undocumented) - get customLabel(): string | undefined; - set customLabel(customLabel: string | undefined); - // (undocumented) - deleteCount(): void; - // (undocumented) - get displayName(): string; - // (undocumented) - get esTypes(): string[] | undefined; - // (undocumented) - get filterable(): boolean; - get isMapped(): boolean | undefined; - get lang(): "painless" | "expression" | "mustache" | "java" | undefined; - set lang(lang: "painless" | "expression" | "mustache" | "java" | undefined); - // (undocumented) - get name(): string; - // (undocumented) - get readFromDocValues(): boolean; - // (undocumented) - get runtimeField(): RuntimeField | undefined; - set runtimeField(runtimeField: RuntimeField | undefined); - get script(): string | undefined; - set script(script: string | undefined); - // (undocumented) - get scripted(): boolean; - // (undocumented) - get searchable(): boolean; - // (undocumented) - get sortable(): boolean; - // (undocumented) - readonly spec: FieldSpec; - // (undocumented) - get subType(): import("@kbn/es-query").IFieldSubType | undefined; - // (undocumented) - toJSON(): { - count: number; - script: string | undefined; - lang: "painless" | "expression" | "mustache" | "java" | undefined; - conflictDescriptions: Record | undefined; - name: string; - type: string; - esTypes: string[] | undefined; - scripted: boolean; - searchable: boolean; - aggregatable: boolean; - readFromDocValues: boolean; - subType: import("@kbn/es-query").IFieldSubType | undefined; - customLabel: string | undefined; - }; - // (undocumented) - toSpec({ getFormatterForField, }?: { - getFormatterForField?: IndexPattern['getFormatterForField']; - }): FieldSpec; - // (undocumented) - get type(): string; - // (undocumented) - get visualizable(): boolean; -} - -// Warning: (ae-missing-release-tag) "IndexPatternListItem" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IndexPatternListItem { - // (undocumented) - id: string; - // (undocumented) - title: string; - // (undocumented) - type?: string; - // (undocumented) - typeMeta?: TypeMeta; -} - -// Warning: (ae-forgotten-export) The symbol "name" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "Input" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "Arguments" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "Output" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "IndexPatternLoadExpressionFunctionDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type IndexPatternLoadExpressionFunctionDefinition = ExpressionFunctionDefinition; - -// Warning: (ae-missing-release-tag) "indexPatterns" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const indexPatterns: { - ILLEGAL_CHARACTERS_KEY: string; - CONTAINS_SPACES_KEY: string; - ILLEGAL_CHARACTERS_VISIBLE: string[]; - ILLEGAL_CHARACTERS: string[]; - isDefault: (indexPattern: import("../common").IIndexPattern) => boolean; - isFilterable: typeof isFilterable; - isNestedField: typeof isNestedField; - validate: typeof validateIndexPattern; - flattenHitWrapper: typeof flattenHitWrapper; -}; - -// Warning: (ae-missing-release-tag) "IndexPatternsContract" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type IndexPatternsContract = PublicMethodsOf; - -// Warning: (ae-missing-release-tag) "IndexPatternSelectProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type IndexPatternSelectProps = Required, 'isLoading' | 'onSearchChange' | 'options' | 'selectedOptions' | 'onChange'>, 'placeholder'> & { - onChange: (indexPatternId?: string) => void; - indexPatternId: string; - onNoIndexPatterns?: () => void; -}; - -// Warning: (ae-missing-release-tag) "IndexPatternSpec" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface IndexPatternSpec { - // (undocumented) - allowNoIndex?: boolean; - // Warning: (ae-forgotten-export) The symbol "FieldAttrs" needs to be exported by the entry point index.d.ts - // - // (undocumented) - fieldAttrs?: FieldAttrs; - // (undocumented) - fieldFormats?: Record; - // (undocumented) - fields?: IndexPatternFieldMap; - id?: string; - // @deprecated (undocumented) - intervalName?: string; - // (undocumented) - runtimeFieldMap?: Record; - // (undocumented) - sourceFilters?: SourceFilter[]; - // (undocumented) - timeFieldName?: string; - // (undocumented) - title?: string; - // (undocumented) - type?: string; - // (undocumented) - typeMeta?: TypeMeta; - version?: string; -} - -// Warning: (ae-missing-release-tag) "IndexPatternsService" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class IndexPatternsService { - // Warning: (ae-forgotten-export) The symbol "IndexPatternsServiceDeps" needs to be exported by the entry point index.d.ts - constructor({ uiSettings, savedObjectsClient, apiClient, fieldFormats, onNotification, onError, onRedirectNoIndexPattern, }: IndexPatternsServiceDeps); - clearCache: (id?: string | undefined) => void; - create(spec: IndexPatternSpec, skipFetchFields?: boolean): Promise; - createAndSave(spec: IndexPatternSpec, override?: boolean, skipFetchFields?: boolean): Promise; - createSavedObject(indexPattern: IndexPattern, override?: boolean): Promise; - delete(indexPatternId: string): Promise<{}>; - // Warning: (ae-forgotten-export) The symbol "EnsureDefaultIndexPattern" needs to be exported by the entry point index.d.ts - // - // (undocumented) - ensureDefaultIndexPattern: EnsureDefaultIndexPattern; - fieldArrayToMap: (fields: FieldSpec[], fieldAttrs?: FieldAttrs | undefined) => Record; - find: (search: string, size?: number) => Promise; - get: (id: string) => Promise; - // (undocumented) - getCache: () => Promise>[] | null | undefined>; - getDefault: () => Promise; - getDefaultId: () => Promise; - getFieldsForIndexPattern: (indexPattern: IndexPattern | IndexPatternSpec, options?: GetFieldsOptions | undefined) => Promise; - getFieldsForWildcard: (options: GetFieldsOptions) => Promise; - getIds: (refresh?: boolean) => Promise; - getIdsWithTitle: (refresh?: boolean) => Promise; - getTitles: (refresh?: boolean) => Promise; - hasUserIndexPattern(): Promise; - refreshFields: (indexPattern: IndexPattern) => Promise; - savedObjectToSpec: (savedObject: SavedObject) => IndexPatternSpec; - setDefault: (id: string | null, force?: boolean) => Promise; - updateSavedObject(indexPattern: IndexPattern, saveAttempts?: number, ignoreErrors?: boolean): Promise; -} - -// Warning: (ae-missing-release-tag) "IndexPatternType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export enum IndexPatternType { - // (undocumented) - DEFAULT = "default", - // (undocumented) - ROLLUP = "rollup" -} - -// Warning: (ae-missing-release-tag) "injectReferences" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const injectSearchSourceReferences: (searchSourceFields: SearchSourceFields & { - indexRefName: string; -}, references: SavedObjectReference_2[]) => SearchSourceFields; - -// Warning: (ae-missing-release-tag) "isCompleteResponse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const isCompleteResponse: (response?: IKibanaSearchResponse | undefined) => boolean; - -// Warning: (ae-missing-release-tag) "ISearchGeneric" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ISearchGeneric = (request: SearchStrategyRequest, options?: ISearchOptions) => Observable; - -// Warning: (ae-missing-release-tag) "ISearchOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ISearchOptions { - abortSignal?: AbortSignal; - // (undocumented) - executionContext?: KibanaExecutionContext; - indexPattern?: IndexPattern; - // Warning: (ae-forgotten-export) The symbol "IInspectorInfo" needs to be exported by the entry point index.d.ts - inspector?: IInspectorInfo; - isRestore?: boolean; - isStored?: boolean; - legacyHitsTotal?: boolean; - sessionId?: string; - strategy?: string; -} - -// Warning: (ae-missing-release-tag) "ISearchSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ISearchSetup { - // Warning: (ae-forgotten-export) The symbol "AggsSetup" needs to be exported by the entry point index.d.ts - // - // (undocumented) - aggs: AggsSetup; - session: ISessionService; - sessionsClient: ISessionsClient; - // Warning: (ae-incompatible-release-tags) The symbol "usageCollector" is marked as @public, but its signature references "SearchUsageCollector" which is marked as @internal - // - // (undocumented) - usageCollector?: SearchUsageCollector; -} - -// @public -export type ISearchSource = Pick; - -// @public -export interface ISearchStart { - aggs: AggsStart; - search: ISearchGeneric; - searchSource: ISearchStartSearchSource; - session: ISessionService; - sessionsClient: ISessionsClient; - // (undocumented) - showError: (e: Error) => void; -} - -// @public -export interface ISearchStartSearchSource { - create: (fields?: SearchSourceFields) => Promise; - createEmpty: () => ISearchSource; -} - -// Warning: (ae-missing-release-tag) "isErrorResponse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const isErrorResponse: (response?: IKibanaSearchResponse | undefined) => boolean; - -// Warning: (ae-missing-release-tag) "isEsError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function isEsError(e: any): e is IEsError; - -// Warning: (ae-forgotten-export) The symbol "SessionsClient" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ISessionsClient" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ISessionsClient = PublicContract; - -// Warning: (ae-forgotten-export) The symbol "SessionService" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ISessionService" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ISessionService = PublicContract; - -// Warning: (ae-missing-release-tag) "isFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export const isFilter: (x: unknown) => x is Filter_2; - -// Warning: (ae-missing-release-tag) "isFilters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export const isFilters: (x: unknown) => x is Filter_2[]; - -// Warning: (ae-missing-release-tag) "isPartialResponse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const isPartialResponse: (response?: IKibanaSearchResponse | undefined) => boolean; - -// Warning: (ae-missing-release-tag) "isQuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const isQuery: (x: unknown) => x is Query; - -// Warning: (ae-missing-release-tag) "isTimeRange" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const isTimeRange: (x: unknown) => x is TimeRange; - -export { KBN_FIELD_TYPES } - -// Warning: (ae-missing-release-tag) "KibanaContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type KibanaContext = ExpressionValueSearchContext; - -// Warning: (ae-missing-release-tag) "KueryNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type KueryNode = KueryNode_3; - -// Warning: (ae-missing-release-tag) "MatchAllFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type MatchAllFilter = MatchAllFilter_2; - -// Warning: (ae-missing-release-tag) "METRIC_TYPES" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export enum METRIC_TYPES { - // (undocumented) - AVG = "avg", - // (undocumented) - AVG_BUCKET = "avg_bucket", - // (undocumented) - CARDINALITY = "cardinality", - // (undocumented) - COUNT = "count", - // (undocumented) - CUMULATIVE_SUM = "cumulative_sum", - // (undocumented) - DERIVATIVE = "derivative", - // (undocumented) - FILTERED_METRIC = "filtered_metric", - // (undocumented) - GEO_BOUNDS = "geo_bounds", - // (undocumented) - GEO_CENTROID = "geo_centroid", - // (undocumented) - MAX = "max", - // (undocumented) - MAX_BUCKET = "max_bucket", - // (undocumented) - MEDIAN = "median", - // (undocumented) - MIN = "min", - // (undocumented) - MIN_BUCKET = "min_bucket", - // (undocumented) - MOVING_FN = "moving_avg", - // (undocumented) - PERCENTILE_RANKS = "percentile_ranks", - // (undocumented) - PERCENTILES = "percentiles", - // (undocumented) - SERIAL_DIFF = "serial_diff", - // (undocumented) - SINGLE_PERCENTILE = "single_percentile", - // (undocumented) - STD_DEV = "std_dev", - // (undocumented) - SUM = "sum", - // (undocumented) - SUM_BUCKET = "sum_bucket", - // (undocumented) - TOP_HITS = "top_hits" -} - -// Warning: (ae-missing-release-tag) "noSearchSessionStorageCapabilityMessage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export const noSearchSessionStorageCapabilityMessage: string; - -// Warning: (ae-missing-release-tag) "OptionedParamType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class OptionedParamType extends BaseParamType { - constructor(config: Record); - // (undocumented) - options: OptionedValueProp[]; -} - -// Warning: (ae-missing-release-tag) "OptionedValueProp" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface OptionedValueProp { - // (undocumented) - disabled?: boolean; - // (undocumented) - isCompatible: (agg: IAggConfig) => boolean; - // (undocumented) - text: string; - // (undocumented) - value: string; -} - -// Warning: (ae-forgotten-export) The symbol "parseEsInterval" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ParsedInterval" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ParsedInterval = ReturnType; - -// Warning: (ae-missing-release-tag) "parseSearchSourceJSON" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const parseSearchSourceJSON: (searchSourceJSON: string) => SearchSourceFields; - -// Warning: (ae-missing-release-tag) "PhraseFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type PhraseFilter = PhraseFilter_2; - -// Warning: (ae-missing-release-tag) "PhrasesFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type PhrasesFilter = PhrasesFilter_2; - -// Warning: (ae-forgotten-export) The symbol "PluginInitializerContext" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "plugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function plugin(initializerContext: PluginInitializerContext): DataPlugin; - -export { Query } - -// Warning: (ae-forgotten-export) The symbol "QueryService" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "QueryStart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type QueryStart = ReturnType; - -// Warning: (ae-missing-release-tag) "QueryState" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface QueryState { - // (undocumented) - filters?: Filter[]; - // (undocumented) - query?: Query; - // (undocumented) - refreshInterval?: RefreshInterval; - // (undocumented) - time?: TimeRange; -} - -// Warning: (ae-forgotten-export) The symbol "QueryStateChangePartial" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "QueryStateChange" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface QueryStateChange extends QueryStateChangePartial { - // (undocumented) - appFilters?: boolean; - // (undocumented) - globalFilters?: boolean; -} - -// Warning: (ae-missing-release-tag) "QueryStringInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const QueryStringInput: (props: QueryStringInputProps) => JSX.Element; - -// Warning: (ae-missing-release-tag) "QueryStringInputProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface QueryStringInputProps { - // (undocumented) - autoSubmit?: boolean; - // (undocumented) - bubbleSubmitEvent?: boolean; - // (undocumented) - className?: string; - // (undocumented) - dataTestSubj?: string; - // (undocumented) - disableAutoFocus?: boolean; - // (undocumented) - disableLanguageSwitcher?: boolean; - // (undocumented) - iconType?: EuiIconProps['type']; - // (undocumented) - indexPatterns: Array; - // (undocumented) - isClearable?: boolean; - // (undocumented) - isInvalid?: boolean; - // (undocumented) - languageSwitcherPopoverAnchorPosition?: PopoverAnchorPosition; - // (undocumented) - nonKqlMode?: 'lucene' | 'text'; - // (undocumented) - nonKqlModeHelpText?: string; - // (undocumented) - onBlur?: () => void; - // (undocumented) - onChange?: (query: Query) => void; - // (undocumented) - onChangeQueryInputFocus?: (isFocused: boolean) => void; - // (undocumented) - onSubmit?: (query: Query) => void; - // Warning: (ae-forgotten-export) The symbol "PersistedLog" needs to be exported by the entry point index.d.ts - // - // (undocumented) - persistedLog?: PersistedLog; - // (undocumented) - placeholder?: string; - // (undocumented) - prepend?: any; - // (undocumented) - query: Query; - // (undocumented) - screenTitle?: string; - // Warning: (ae-forgotten-export) The symbol "SuggestionsListSize" needs to be exported by the entry point index.d.ts - // - // (undocumented) - size?: SuggestionsListSize; - // (undocumented) - storageKey?: string; - // (undocumented) - submitOnBlur?: boolean; - timeRangeForSuggestionsOverride?: boolean; -} - -// @public (undocumented) -export type QuerySuggestion = QuerySuggestionBasic | QuerySuggestionField; - -// @public (undocumented) -export interface QuerySuggestionBasic { - // (undocumented) - cursorIndex?: number; - // (undocumented) - description?: string | JSX.Element; - // (undocumented) - end: number; - // (undocumented) - start: number; - // (undocumented) - text: string; - // (undocumented) - type: QuerySuggestionTypes; -} - -// @public (undocumented) -export interface QuerySuggestionField extends QuerySuggestionBasic { - // (undocumented) - field: IFieldType; - // (undocumented) - type: QuerySuggestionTypes.Field; -} - -// Warning: (ae-missing-release-tag) "QuerySuggestionGetFn" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type QuerySuggestionGetFn = (args: QuerySuggestionGetFnArgs) => Promise | undefined; - -// @public (undocumented) -export interface QuerySuggestionGetFnArgs { - // (undocumented) - boolFilter?: any; - // (undocumented) - indexPatterns: IIndexPattern[]; - // (undocumented) - language: string; - // Warning: (ae-forgotten-export) The symbol "ValueSuggestionsMethod" needs to be exported by the entry point index.d.ts - // - // (undocumented) - method?: ValueSuggestionsMethod; - // (undocumented) - query: string; - // (undocumented) - selectionEnd: number; - // (undocumented) - selectionStart: number; - // (undocumented) - signal?: AbortSignal; - // (undocumented) - useTimeRange?: boolean; -} - -// Warning: (ae-missing-release-tag) "QuerySuggestionTypes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export enum QuerySuggestionTypes { - // (undocumented) - Conjunction = "conjunction", - // (undocumented) - Field = "field", - // (undocumented) - Operator = "operator", - // (undocumented) - RecentSearch = "recentSearch", - // (undocumented) - Value = "value" -} - -// Warning: (ae-missing-release-tag) "RangeFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type RangeFilter = RangeFilter_2; - -// Warning: (ae-missing-release-tag) "RangeFilterMeta" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type RangeFilterMeta = RangeFilterMeta_2; - -// Warning: (ae-missing-release-tag) "RangeFilterParams" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type RangeFilterParams = RangeFilterParams_2; - -// Warning: (ae-missing-release-tag) "Reason" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface Reason { - // (undocumented) - caused_by?: { - type: string; - reason: string; - }; - // (undocumented) - lang?: estypes.ScriptLanguage; - // (undocumented) - position?: { - offset: number; - start: number; - end: number; - }; - // (undocumented) - reason: string; - // (undocumented) - script?: string; - // (undocumented) - script_stack?: string[]; - // (undocumented) - type: string; -} - -// Warning: (ae-missing-release-tag) "RefreshInterval" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type RefreshInterval = { - pause: boolean; - value: number; -}; - -// Warning: (ae-missing-release-tag) "SavedQuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface SavedQuery { - // Warning: (ae-forgotten-export) The symbol "SavedQueryAttributes" needs to be exported by the entry point index.d.ts - // - // (undocumented) - attributes: SavedQueryAttributes; - // (undocumented) - id: string; -} - -// Warning: (ae-missing-release-tag) "SavedQueryService" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface SavedQueryService { - // (undocumented) - deleteSavedQuery: (id: string) => Promise<{}>; - // (undocumented) - findSavedQueries: (searchText?: string, perPage?: number, activePage?: number) => Promise<{ - total: number; - queries: SavedQuery[]; - }>; - // (undocumented) - getAllSavedQueries: () => Promise; - // (undocumented) - getSavedQuery: (id: string) => Promise; - // (undocumented) - getSavedQueryCount: () => Promise; - // (undocumented) - saveQuery: (attributes: SavedQueryAttributes, config?: { - overwrite: boolean; - }) => Promise; -} - -// Warning: (ae-missing-release-tag) "SavedQueryTimeFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type SavedQueryTimeFilter = TimeRange & { - refreshInterval: RefreshInterval; -}; - -// Warning: (ae-missing-release-tag) "search" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const search: { - aggs: { - CidrMask: typeof CidrMask; - dateHistogramInterval: typeof dateHistogramInterval; - intervalOptions: ({ - display: string; - val: string; - enabled(agg: import("../common").IBucketAggConfig): boolean; - } | { - display: string; - val: string; - })[]; - InvalidEsCalendarIntervalError: typeof InvalidEsCalendarIntervalError; - InvalidEsIntervalFormatError: typeof InvalidEsIntervalFormatError; - IpAddress: typeof IpAddress; - isDateHistogramBucketAggConfig: typeof isDateHistogramBucketAggConfig; - isNumberType: (agg: import("../common").AggConfig) => boolean; - isStringType: (agg: import("../common").AggConfig) => boolean; - isType: (...types: string[]) => (agg: import("../common").AggConfig) => boolean; - isValidEsInterval: typeof isValidEsInterval; - isValidInterval: typeof isValidInterval; - parentPipelineType: string; - parseEsInterval: typeof parseEsInterval; - parseInterval: typeof parseInterval; - propFilter: typeof propFilter; - siblingPipelineType: string; - termsAggFilter: string[]; - toAbsoluteDates: typeof toAbsoluteDates; - boundsDescendingRaw: ({ - bound: number; - interval: import("moment").Duration; - boundLabel: string; - intervalLabel: string; - } | { - bound: import("moment").Duration; - interval: import("moment").Duration; - boundLabel: string; - intervalLabel: string; - })[]; - getNumberHistogramIntervalByDatatableColumn: (column: import("../../expressions").DatatableColumn) => number | undefined; - getDateHistogramMetaDataByDatatableColumn: (column: import("../../expressions").DatatableColumn, defaults?: Partial<{ - timeZone: string; - }>) => { - interval: string | undefined; - timeZone: string | undefined; - timeRange: import("../common").TimeRange | undefined; - } | undefined; - }; - getResponseInspectorStats: typeof getResponseInspectorStats; - tabifyAggResponse: typeof tabifyAggResponse; - tabifyGetColumns: typeof tabifyGetColumns; -}; - -// Warning: (ae-missing-release-tag) "SEARCH_SESSIONS_MANAGEMENT_ID" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const SEARCH_SESSIONS_MANAGEMENT_ID = "search_sessions"; - -// Warning: (ae-missing-release-tag) "SearchBar" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const SearchBar: React.ComponentClass, "query" | "placeholder" | "isLoading" | "iconType" | "indexPatterns" | "filters" | "dataTestSubj" | "refreshInterval" | "isClearable" | "nonKqlMode" | "nonKqlModeHelpText" | "screenTitle" | "onRefresh" | "onRefreshChange" | "showQueryInput" | "showDatePicker" | "showAutoRefreshOnly" | "dateRangeFrom" | "dateRangeTo" | "isRefreshPaused" | "customSubmitButton" | "timeHistory" | "indicateNoData" | "onFiltersUpdated" | "savedQuery" | "showSaveQuery" | "onClearSavedQuery" | "showQueryBar" | "showFilterBar" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "displayStyle">, any> & { - WrappedComponent: React.ComponentType & ReactIntl.InjectedIntlProps>; -}; - -// Warning: (ae-forgotten-export) The symbol "SearchBarOwnProps" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "SearchBarInjectedDeps" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "SearchBarProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type SearchBarProps = SearchBarOwnProps & SearchBarInjectedDeps; - -// @internal -export type SearchRequest = Record; - -// Warning: (ae-forgotten-export) The symbol "UrlGeneratorId" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "SearchSessionInfoProvider" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface SearchSessionInfoProvider { - appendSessionStartTimeToName?: boolean; - getName: () => Promise; - // (undocumented) - getUrlGeneratorData: () => Promise<{ - urlGeneratorId: ID; - initialState: UrlGeneratorStateMapping[ID]['State']; - restoreState: UrlGeneratorStateMapping[ID]['State']; - }>; -} - -// @public -export enum SearchSessionState { - BackgroundCompleted = "backgroundCompleted", - BackgroundLoading = "backgroundLoading", - Canceled = "canceled", - Completed = "completed", - Loading = "loading", - None = "none", - Restored = "restored" -} - -// @public (undocumented) -export class SearchSource { - // Warning: (ae-forgotten-export) The symbol "SearchSourceDependencies" needs to be exported by the entry point index.d.ts - constructor(fields: SearchSourceFields | undefined, dependencies: SearchSourceDependencies); - // @deprecated (undocumented) - create(): SearchSource; - createChild(options?: {}): SearchSource; - createCopy(): SearchSource; - destroy(): void; - fetch$(options?: ISearchOptions): Observable>>; - // @deprecated - fetch(options?: ISearchOptions): Promise>; - getField(field: K, recurse?: boolean): SearchSourceFields[K]; - getFields(): SearchSourceFields; - getId(): string; - getOwnField(field: K): SearchSourceFields[K]; - getParent(): SearchSource | undefined; - getSearchRequestBody(): any; - getSerializedFields(recurse?: boolean): SearchSourceFields; - // Warning: (ae-incompatible-release-tags) The symbol "history" is marked as @public, but its signature references "SearchRequest" which is marked as @internal - // - // (undocumented) - history: SearchRequest[]; - onRequestStart(handler: (searchSource: SearchSource, options?: ISearchOptions) => Promise): void; - removeField(field: K): this; - serialize(): { - searchSourceJSON: string; - references: import("../../../../../core/types").SavedObjectReference[]; - }; - setField(field: K, value: SearchSourceFields[K]): this; - setFields(newFields: SearchSourceFields): this; - // Warning: (ae-forgotten-export) The symbol "SearchSourceOptions" needs to be exported by the entry point index.d.ts - setParent(parent?: ISearchSource, options?: SearchSourceOptions): this; - setPreferredSearchStrategyId(searchStrategyId: string): void; -} - -// Warning: (ae-missing-release-tag) "SearchSourceFields" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface SearchSourceFields { - // (undocumented) - aggs?: object | IAggConfigs_2 | (() => object); - // Warning: (ae-forgotten-export) The symbol "SearchFieldValue" needs to be exported by the entry point index.d.ts - fields?: SearchFieldValue[]; - // @deprecated - fieldsFromSource?: estypes.Fields; - // (undocumented) - filter?: Filter[] | Filter | (() => Filter[] | Filter | undefined); - // (undocumented) - from?: number; - // (undocumented) - highlight?: any; - // (undocumented) - highlightAll?: boolean; - // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "IndexPatternService" - // - // (undocumented) - index?: IndexPattern; - // (undocumented) - parent?: SearchSourceFields; - // Warning: (ae-unresolved-link) The @link reference could not be resolved: Reexported declarations are not supported - // - // (undocumented) - query?: Query; - // Warning: (ae-forgotten-export) The symbol "EsQuerySearchAfter" needs to be exported by the entry point index.d.ts - // - // (undocumented) - searchAfter?: EsQuerySearchAfter; - // (undocumented) - size?: number; - // (undocumented) - sort?: EsQuerySortValue | EsQuerySortValue[]; - // (undocumented) - source?: boolean | estypes.Fields; - // (undocumented) - terminate_after?: number; - // (undocumented) - timeout?: string; - // (undocumented) - trackTotalHits?: boolean | number; - // (undocumented) - type?: string; - // (undocumented) - version?: boolean; -} - -// @internal (undocumented) -export interface SearchUsageCollector { - // (undocumented) - trackQueryTimedOut: () => Promise; - // (undocumented) - trackSessionCancelled: () => Promise; - // (undocumented) - trackSessionDeleted: () => Promise; - // (undocumented) - trackSessionExtended: () => Promise; - // (undocumented) - trackSessionIndicatorSaveDisabled: () => Promise; - // (undocumented) - trackSessionIndicatorTourLoading: () => Promise; - // (undocumented) - trackSessionIndicatorTourRestored: () => Promise; - // (undocumented) - trackSessionIsRestored: () => Promise; - // (undocumented) - trackSessionReloaded: () => Promise; - // (undocumented) - trackSessionSavedResults: () => Promise; - // (undocumented) - trackSessionSentToBackground: () => Promise; - // (undocumented) - trackSessionsListLoaded: () => Promise; - // (undocumented) - trackSessionViewRestored: () => Promise; - // (undocumented) - trackViewSessionsList: () => Promise; -} - -// Warning: (ae-missing-release-tag) "SortDirection" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export enum SortDirection { - // (undocumented) - asc = "asc", - // (undocumented) - desc = "desc" -} - -// Warning: (ae-missing-release-tag) "StatefulSearchBarProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type StatefulSearchBarProps = SearchBarOwnProps & { - appName: string; - useDefaultBehaviors?: boolean; - savedQueryId?: string; - onSavedQueryIdChange?: (savedQueryId?: string) => void; -}; - -// Warning: (ae-forgotten-export) The symbol "IKbnUrlStateStorage" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "syncQueryStateWithUrl" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export const syncQueryStateWithUrl: (query: Pick, kbnUrlStateStorage: IKbnUrlStateStorage) => { - stop: () => void; - hasInheritedQueryFromUrl: boolean; -}; - -// Warning: (ae-forgotten-export) The symbol "Timefilter" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "TimefilterContract" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type TimefilterContract = PublicMethodsOf; - -// Warning: (ae-missing-release-tag) "TimeHistory" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class TimeHistory { - constructor(storage: IStorageWrapper); - // (undocumented) - add(time: TimeRange): void; - // (undocumented) - get(): TimeRange[]; - } - -// Warning: (ae-missing-release-tag) "TimeHistoryContract" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type TimeHistoryContract = PublicMethodsOf; - -// Warning: (ae-missing-release-tag) "TimeRange" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type TimeRange = { - from: string; - to: string; - mode?: 'absolute' | 'relative'; -}; - -// Warning: (ae-missing-release-tag) "TypeMeta" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface TypeMeta { - // (undocumented) - aggs?: Record; - // (undocumented) - params?: { - rollup_index: string; - }; -} - -// Warning: (ae-missing-release-tag) "UI_SETTINGS" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const UI_SETTINGS: { - readonly META_FIELDS: "metaFields"; - readonly DOC_HIGHLIGHT: "doc_table:highlight"; - readonly QUERY_STRING_OPTIONS: "query:queryString:options"; - readonly QUERY_ALLOW_LEADING_WILDCARDS: "query:allowLeadingWildcards"; - readonly SEARCH_QUERY_LANGUAGE: "search:queryLanguage"; - readonly SORT_OPTIONS: "sort:options"; - readonly COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX: "courier:ignoreFilterIfFieldNotInIndex"; - readonly COURIER_SET_REQUEST_PREFERENCE: "courier:setRequestPreference"; - readonly COURIER_CUSTOM_REQUEST_PREFERENCE: "courier:customRequestPreference"; - readonly COURIER_MAX_CONCURRENT_SHARD_REQUESTS: "courier:maxConcurrentShardRequests"; - readonly SEARCH_INCLUDE_FROZEN: "search:includeFrozen"; - readonly SEARCH_TIMEOUT: "search:timeout"; - readonly HISTOGRAM_BAR_TARGET: "histogram:barTarget"; - readonly HISTOGRAM_MAX_BARS: "histogram:maxBars"; - readonly HISTORY_LIMIT: "history:limit"; - readonly TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: "timepicker:refreshIntervalDefaults"; - readonly TIMEPICKER_QUICK_RANGES: "timepicker:quickRanges"; - readonly TIMEPICKER_TIME_DEFAULTS: "timepicker:timeDefaults"; - readonly INDEXPATTERN_PLACEHOLDER: "indexPattern:placeholder"; - readonly FILTERS_PINNED_BY_DEFAULT: "filters:pinnedByDefault"; - readonly FILTERS_EDITOR_SUGGEST_VALUES: "filterEditor:suggestValues"; - readonly AUTOCOMPLETE_USE_TIMERANGE: "autocomplete:useTimeRange"; - readonly AUTOCOMPLETE_VALUE_SUGGESTION_METHOD: "autocomplete:valueSuggestionMethod"; -}; - -// Warning: (ae-missing-release-tag) "waitUntilNextSessionCompletes$" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function waitUntilNextSessionCompletes$(sessionService: ISessionService, { waitForIdle }?: WaitUntilNextSessionCompletesOptions): import("rxjs").Observable; - -// Warning: (ae-missing-release-tag) "WaitUntilNextSessionCompletesOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface WaitUntilNextSessionCompletesOptions { - waitForIdle?: number; -} - - -// Warnings were encountered during analysis: -// -// src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts:52:45 - (ae-forgotten-export) The symbol "IndexPatternFieldMap" needs to be exported by the entry point index.d.ts -// src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts:66:5 - (ae-forgotten-export) The symbol "FormatFieldFn" needs to be exported by the entry point index.d.ts -// src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts:139:7 - (ae-forgotten-export) The symbol "FieldAttrSet" needs to be exported by the entry point index.d.ts -// src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts:170:7 - (ae-forgotten-export) The symbol "RuntimeField" needs to be exported by the entry point index.d.ts -// src/plugins/data/common/search/aggs/types.ts:128:51 - (ae-forgotten-export) The symbol "AggTypesRegistryStart" needs to be exported by the entry point index.d.ts -// src/plugins/data/common/search/search_source/fetch/get_search_params.ts:35:19 - (ae-forgotten-export) The symbol "GetConfigFn" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/deprecated.ts:98:23 - (ae-forgotten-export) The symbol "changeTimeFilter" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/deprecated.ts:98:23 - (ae-forgotten-export) The symbol "convertRangeFilterToTimeRangeString" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/deprecated.ts:98:23 - (ae-forgotten-export) The symbol "extractTimeFilter" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:27:23 - (ae-forgotten-export) The symbol "datatableToCSV" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:53:27 - (ae-forgotten-export) The symbol "isFilterable" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:53:27 - (ae-forgotten-export) The symbol "isNestedField" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:53:27 - (ae-forgotten-export) The symbol "validateIndexPattern" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:53:27 - (ae-forgotten-export) The symbol "flattenHitWrapper" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:211:20 - (ae-forgotten-export) The symbol "getResponseInspectorStats" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:211:20 - (ae-forgotten-export) The symbol "tabifyAggResponse" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:211:20 - (ae-forgotten-export) The symbol "tabifyGetColumns" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:213:1 - (ae-forgotten-export) The symbol "CidrMask" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:214:1 - (ae-forgotten-export) The symbol "dateHistogramInterval" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:223:1 - (ae-forgotten-export) The symbol "InvalidEsCalendarIntervalError" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:224:1 - (ae-forgotten-export) The symbol "InvalidEsIntervalFormatError" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:225:1 - (ae-forgotten-export) The symbol "IpAddress" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:226:1 - (ae-forgotten-export) The symbol "isDateHistogramBucketAggConfig" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:230:1 - (ae-forgotten-export) The symbol "isValidEsInterval" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:231:1 - (ae-forgotten-export) The symbol "isValidInterval" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:234:1 - (ae-forgotten-export) The symbol "parseInterval" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:235:1 - (ae-forgotten-export) The symbol "propFilter" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/index.ts:238:1 - (ae-forgotten-export) The symbol "toAbsoluteDates" needs to be exported by the entry point index.d.ts -// src/plugins/data/public/search/session/session_service.ts:62:5 - (ae-forgotten-export) The symbol "UrlGeneratorStateMapping" needs to be exported by the entry point index.d.ts - -// (No @packageDocumentation comment for this package) - -``` diff --git a/src/plugins/data/server/plugins_data_server.api.md b/src/plugins/data/server/plugins_data_server.api.md deleted file mode 100644 index 9faa7439d70a4..0000000000000 --- a/src/plugins/data/server/plugins_data_server.api.md +++ /dev/null @@ -1,695 +0,0 @@ -## API Report File for "kibana" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { APICaller as APICaller_2 } from 'kibana/server'; -import Boom from '@hapi/boom'; -import { BulkIndexDocumentsParams } from 'elasticsearch'; -import { CallCluster as CallCluster_2 } from 'src/legacy/core_plugins/elasticsearch'; -import { CatAliasesParams } from 'elasticsearch'; -import { CatAllocationParams } from 'elasticsearch'; -import { CatCommonParams } from 'elasticsearch'; -import { CatFielddataParams } from 'elasticsearch'; -import { CatHealthParams } from 'elasticsearch'; -import { CatHelpParams } from 'elasticsearch'; -import { CatIndicesParams } from 'elasticsearch'; -import { CatRecoveryParams } from 'elasticsearch'; -import { CatSegmentsParams } from 'elasticsearch'; -import { CatShardsParams } from 'elasticsearch'; -import { CatSnapshotsParams } from 'elasticsearch'; -import { CatTasksParams } from 'elasticsearch'; -import { CatThreadPoolParams } from 'elasticsearch'; -import { ClearScrollParams } from 'elasticsearch'; -import { Client } from 'elasticsearch'; -import { ClusterAllocationExplainParams } from 'elasticsearch'; -import { ClusterGetSettingsParams } from 'elasticsearch'; -import { ClusterHealthParams } from 'elasticsearch'; -import { ClusterPendingTasksParams } from 'elasticsearch'; -import { ClusterPutSettingsParams } from 'elasticsearch'; -import { ClusterRerouteParams } from 'elasticsearch'; -import { ClusterStateParams } from 'elasticsearch'; -import { ClusterStatsParams } from 'elasticsearch'; -import { ConfigOptions } from 'elasticsearch'; -import { CountParams } from 'elasticsearch'; -import { CreateDocumentParams } from 'elasticsearch'; -import { DeleteDocumentByQueryParams } from 'elasticsearch'; -import { DeleteDocumentParams } from 'elasticsearch'; -import { DeleteScriptParams } from 'elasticsearch'; -import { DeleteTemplateParams } from 'elasticsearch'; -import { DetailedPeerCertificate } from 'tls'; -import { Duration } from 'moment'; -import { ExistsParams } from 'elasticsearch'; -import { ExplainParams } from 'elasticsearch'; -import { FieldStatsParams } from 'elasticsearch'; -import { GenericParams } from 'elasticsearch'; -import { GetParams } from 'elasticsearch'; -import { GetResponse } from 'elasticsearch'; -import { GetScriptParams } from 'elasticsearch'; -import { GetSourceParams } from 'elasticsearch'; -import { GetTemplateParams } from 'elasticsearch'; -import { IContextProvider as IContextProvider_2 } from 'kibana/server'; -import { IncomingHttpHeaders } from 'http'; -import { IndexDocumentParams } from 'elasticsearch'; -import { IndicesAnalyzeParams } from 'elasticsearch'; -import { IndicesClearCacheParams } from 'elasticsearch'; -import { IndicesCloseParams } from 'elasticsearch'; -import { IndicesCreateParams } from 'elasticsearch'; -import { IndicesDeleteAliasParams } from 'elasticsearch'; -import { IndicesDeleteParams } from 'elasticsearch'; -import { IndicesDeleteTemplateParams } from 'elasticsearch'; -import { IndicesExistsAliasParams } from 'elasticsearch'; -import { IndicesExistsParams } from 'elasticsearch'; -import { IndicesExistsTemplateParams } from 'elasticsearch'; -import { IndicesExistsTypeParams } from 'elasticsearch'; -import { IndicesFlushParams } from 'elasticsearch'; -import { IndicesFlushSyncedParams } from 'elasticsearch'; -import { IndicesForcemergeParams } from 'elasticsearch'; -import { IndicesGetAliasParams } from 'elasticsearch'; -import { IndicesGetFieldMappingParams } from 'elasticsearch'; -import { IndicesGetMappingParams } from 'elasticsearch'; -import { IndicesGetParams } from 'elasticsearch'; -import { IndicesGetSettingsParams } from 'elasticsearch'; -import { IndicesGetTemplateParams } from 'elasticsearch'; -import { IndicesGetUpgradeParams } from 'elasticsearch'; -import { IndicesOpenParams } from 'elasticsearch'; -import { IndicesPutAliasParams } from 'elasticsearch'; -import { IndicesPutMappingParams } from 'elasticsearch'; -import { IndicesPutSettingsParams } from 'elasticsearch'; -import { IndicesPutTemplateParams } from 'elasticsearch'; -import { IndicesRecoveryParams } from 'elasticsearch'; -import { IndicesRefreshParams } from 'elasticsearch'; -import { IndicesRolloverParams } from 'elasticsearch'; -import { IndicesSegmentsParams } from 'elasticsearch'; -import { IndicesShardStoresParams } from 'elasticsearch'; -import { IndicesShrinkParams } from 'elasticsearch'; -import { IndicesStatsParams } from 'elasticsearch'; -import { IndicesUpdateAliasesParams } from 'elasticsearch'; -import { IndicesUpgradeParams } from 'elasticsearch'; -import { IndicesValidateQueryParams } from 'elasticsearch'; -import { InfoParams } from 'elasticsearch'; -import { IngestDeletePipelineParams } from 'elasticsearch'; -import { IngestGetPipelineParams } from 'elasticsearch'; -import { IngestPutPipelineParams } from 'elasticsearch'; -import { IngestSimulateParams } from 'elasticsearch'; -import { KibanaConfigType as KibanaConfigType_2 } from 'src/core/server/kibana_config'; -import { Logger as Logger_2 } from 'src/core/server/logging'; -import { Logger as Logger_3 } from 'kibana/server'; -import { MGetParams } from 'elasticsearch'; -import { MGetResponse } from 'elasticsearch'; -import moment from 'moment'; -import { MSearchParams } from 'elasticsearch'; -import { MSearchResponse } from 'elasticsearch'; -import { MSearchTemplateParams } from 'elasticsearch'; -import { MTermVectorsParams } from 'elasticsearch'; -import { NodesHotThreadsParams } from 'elasticsearch'; -import { NodesInfoParams } from 'elasticsearch'; -import { NodesStatsParams } from 'elasticsearch'; -import { ObjectType } from '@kbn/config-schema'; -import { Observable } from 'rxjs'; -import { PeerCertificate } from 'tls'; -import { PingParams } from 'elasticsearch'; -import { PutScriptParams } from 'elasticsearch'; -import { PutTemplateParams } from 'elasticsearch'; -import { RecursiveReadonly } from 'kibana/public'; -import { ReindexParams } from 'elasticsearch'; -import { ReindexRethrottleParams } from 'elasticsearch'; -import { RenderSearchTemplateParams } from 'elasticsearch'; -import { Request } from '@hapi/hapi'; -import { ResponseObject } from '@hapi/hapi'; -import { ResponseToolkit } from '@hapi/hapi'; -import { SchemaTypeError } from '@kbn/config-schema'; -import { ScrollParams } from 'elasticsearch'; -import { SearchParams } from 'elasticsearch'; -import { SearchResponse } from 'elasticsearch'; -import { SearchShardsParams } from 'elasticsearch'; -import { SearchTemplateParams } from 'elasticsearch'; -import { ShallowPromise } from '@kbn/utility-types'; -import { SnapshotCreateParams } from 'elasticsearch'; -import { SnapshotCreateRepositoryParams } from 'elasticsearch'; -import { SnapshotDeleteParams } from 'elasticsearch'; -import { SnapshotDeleteRepositoryParams } from 'elasticsearch'; -import { SnapshotGetParams } from 'elasticsearch'; -import { SnapshotGetRepositoryParams } from 'elasticsearch'; -import { SnapshotRestoreParams } from 'elasticsearch'; -import { SnapshotStatusParams } from 'elasticsearch'; -import { SnapshotVerifyRepositoryParams } from 'elasticsearch'; -import { Stream } from 'stream'; -import { SuggestParams } from 'elasticsearch'; -import { TasksCancelParams } from 'elasticsearch'; -import { TasksGetParams } from 'elasticsearch'; -import { TasksListParams } from 'elasticsearch'; -import { TermvectorsParams } from 'elasticsearch'; -import { Type } from '@kbn/config-schema'; -import { TypeOf } from '@kbn/config-schema'; -import { UpdateDocumentByQueryParams } from 'elasticsearch'; -import { UpdateDocumentParams } from 'elasticsearch'; -import { Url } from 'url'; - -// Warning: (ae-missing-release-tag) "castEsToKbnFieldTypeName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export const castEsToKbnFieldTypeName: (esType: string) => KBN_FIELD_TYPES; - -// @public (undocumented) -export enum ES_FIELD_TYPES { - // (undocumented) - ATTACHMENT = "attachment", - // (undocumented) - BOOLEAN = "boolean", - // (undocumented) - BYTE = "byte", - // (undocumented) - DATE = "date", - // (undocumented) - DATE_NANOS = "date_nanos", - // (undocumented) - DOUBLE = "double", - // (undocumented) - FLOAT = "float", - // (undocumented) - GEO_POINT = "geo_point", - // (undocumented) - GEO_SHAPE = "geo_shape", - // (undocumented) - HALF_FLOAT = "half_float", - // (undocumented) - _ID = "_id", - // (undocumented) - _INDEX = "_index", - // (undocumented) - INTEGER = "integer", - // (undocumented) - IP = "ip", - // (undocumented) - KEYWORD = "keyword", - // (undocumented) - LONG = "long", - // (undocumented) - MURMUR3 = "murmur3", - // (undocumented) - NESTED = "nested", - // (undocumented) - OBJECT = "object", - // (undocumented) - SCALED_FLOAT = "scaled_float", - // (undocumented) - SHORT = "short", - // (undocumented) - _SOURCE = "_source", - // (undocumented) - STRING = "string", - // (undocumented) - TEXT = "text", - // (undocumented) - TOKEN_COUNT = "token_count", - // (undocumented) - _TYPE = "_type" -} - -// Warning: (ae-missing-release-tag) "esFilters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const esFilters: { - buildQueryFilter: (query: any, index: string, alias: string) => import("../common").QueryStringFilter; - buildCustomFilter: typeof buildCustomFilter; - buildEmptyFilter: (isPinned: boolean, index?: string | undefined) => import("../common").Filter; - buildExistsFilter: (field: import("../common").IFieldType, indexPattern: import("../common").IIndexPattern) => import("../common").ExistsFilter; - buildFilter: typeof buildFilter; - buildPhraseFilter: (field: import("../common").IFieldType, value: any, indexPattern: import("../common").IIndexPattern) => import("../common").PhraseFilter; - buildPhrasesFilter: (field: import("../common").IFieldType, params: any[], indexPattern: import("../common").IIndexPattern) => import("../common").PhrasesFilter; - buildRangeFilter: (field: import("../common").IFieldType, params: import("../common").RangeFilterParams, indexPattern: import("../common").IIndexPattern, formattedValue?: string | undefined) => import("../common").RangeFilter; - isFilterDisabled: (filter: import("../common").Filter) => boolean; -}; - -// Warning: (ae-missing-release-tag) "esKuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const esKuery: { - nodeTypes: import("../common/es_query/kuery/node_types").NodeTypes; - fromKueryExpression: (expression: any, parseOptions?: Partial) => import("../common").KueryNode; - toElasticsearchQuery: (node: import("../common").KueryNode, indexPattern?: import("../common").IIndexPattern | undefined, config?: Record | undefined, context?: Record | undefined) => import("../../kibana_utils/common").JsonObject; -}; - -// Warning: (ae-missing-release-tag) "esQuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const esQuery: { - getEsQueryConfig: typeof getEsQueryConfig; - buildEsQuery: typeof buildEsQuery; -}; - -// Warning: (ae-missing-release-tag) "EsQueryConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EsQueryConfig { - // (undocumented) - allowLeadingWildcards: boolean; - // (undocumented) - dateFormatTZ?: string; - // (undocumented) - ignoreFilterIfFieldNotInIndex: boolean; - // (undocumented) - queryStringOptions: Record; -} - -// Warning: (ae-missing-release-tag) "FieldFormatConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface FieldFormatConfig { - // (undocumented) - es?: boolean; - // Warning: (ae-forgotten-export) The symbol "FieldFormatId" needs to be exported by the entry point index.d.ts - // - // (undocumented) - id: FieldFormatId; - // (undocumented) - params: Record; -} - -// Warning: (ae-missing-release-tag) "fieldFormats" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const fieldFormats: { - FieldFormatsRegistry: typeof FieldFormatsRegistry; - FieldFormat: typeof FieldFormat; - serializeFieldFormat: (agg: import("../../../legacy/core_plugins/data/public/search").AggConfig) => import("../../expressions/common").SerializedFieldFormat; - BoolFormat: typeof BoolFormat; - BytesFormat: typeof BytesFormat; - ColorFormat: typeof ColorFormat; - DateNanosFormat: typeof DateNanosFormat; - DurationFormat: typeof DurationFormat; - IpFormat: typeof IpFormat; - NumberFormat: typeof NumberFormat; - PercentFormat: typeof PercentFormat; - RelativeDateFormat: typeof RelativeDateFormat; - SourceFormat: typeof SourceFormat; - StaticLookupFormat: typeof StaticLookupFormat; - UrlFormat: typeof UrlFormat; - StringFormat: typeof StringFormat; - TruncateFormat: typeof TruncateFormat; -}; - -// Warning: (ae-missing-release-tag) "FieldFormatsGetConfigFn" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type FieldFormatsGetConfigFn = (key: string, defaultOverride?: T) => T; - -// Warning: (ae-missing-release-tag) "Filter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface Filter { - // Warning: (ae-forgotten-export) The symbol "FilterState" needs to be exported by the entry point index.d.ts - // - // (undocumented) - $state?: FilterState; - // Warning: (ae-forgotten-export) The symbol "FilterMeta" needs to be exported by the entry point index.d.ts - // - // (undocumented) - meta: FilterMeta; - // (undocumented) - query?: any; -} - -// Warning: (ae-missing-release-tag) "IFieldFormatsRegistry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type IFieldFormatsRegistry = PublicMethodsOf; - -// Warning: (ae-missing-release-tag) "IFieldSubType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IFieldSubType { - // (undocumented) - multi?: { - parent: string; - }; - // (undocumented) - nested?: { - path: string; - }; -} - -// Warning: (ae-missing-release-tag) "IFieldType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IFieldType { - // (undocumented) - aggregatable?: boolean; - // (undocumented) - count?: number; - // (undocumented) - displayName?: string; - // (undocumented) - esTypes?: string[]; - // (undocumented) - filterable?: boolean; - // (undocumented) - format?: any; - // (undocumented) - lang?: string; - // (undocumented) - name: string; - // (undocumented) - readFromDocValues?: boolean; - // (undocumented) - script?: string; - // (undocumented) - scripted?: boolean; - // (undocumented) - searchable?: boolean; - // (undocumented) - sortable?: boolean; - // (undocumented) - subType?: IFieldSubType; - // (undocumented) - type: string; - // (undocumented) - visualizable?: boolean; -} - -// Warning: (ae-missing-release-tag) "IIndexPattern" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IIndexPattern { - // (undocumented) - [key: string]: any; - // (undocumented) - fieldFormatMap?: Record; - // (undocumented) - fields: IFieldType[]; - // (undocumented) - id?: string; - // (undocumented) - timeFieldName?: string; - // (undocumented) - title: string; - // (undocumented) - type?: string; -} - -// Warning: (ae-missing-release-tag) "IndexPatternAttributes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated -export interface IndexPatternAttributes { - // (undocumented) - fields: string; - // (undocumented) - timeFieldName?: string; - // (undocumented) - title: string; - // (undocumented) - type: string; - // (undocumented) - typeMeta: string; -} - -// Warning: (ae-missing-release-tag) "FieldDescriptor" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IndexPatternFieldDescriptor { - // (undocumented) - aggregatable: boolean; - // (undocumented) - esTypes: string[]; - // (undocumented) - name: string; - // (undocumented) - readFromDocValues: boolean; - // (undocumented) - searchable: boolean; - // Warning: (ae-forgotten-export) The symbol "FieldSubType" needs to be exported by the entry point index.d.ts - // - // (undocumented) - subType?: FieldSubType; - // (undocumented) - type: string; -} - -// Warning: (ae-missing-release-tag) "indexPatterns" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const indexPatterns: { - isFilterable: typeof isFilterable; - isNestedField: typeof isNestedField; -}; - -// Warning: (ae-missing-release-tag) "IndexPatternsFetcher" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class IndexPatternsFetcher { - constructor(callDataCluster: APICaller_2); - getFieldsForTimePattern(options: { - pattern: string; - metaFields: string[]; - lookBack: number; - interval: string; - }): Promise; - getFieldsForWildcard(options: { - pattern: string | string[]; - metaFields?: string[]; - }): Promise; -} - -// Warning: (ae-missing-release-tag) "IRequestTypesMap" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IRequestTypesMap { - // Warning: (ae-forgotten-export) The symbol "IKibanaSearchRequest" needs to be exported by the entry point index.d.ts - // - // (undocumented) - [key: string]: IKibanaSearchRequest; - // Warning: (ae-forgotten-export) The symbol "ES_SEARCH_STRATEGY" needs to be exported by the entry point index.d.ts - // Warning: (ae-forgotten-export) The symbol "IEsSearchRequest" needs to be exported by the entry point index.d.ts - // - // (undocumented) - [ES_SEARCH_STRATEGY]: IEsSearchRequest; -} - -// Warning: (ae-missing-release-tag) "IResponseTypesMap" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IResponseTypesMap { - // Warning: (ae-forgotten-export) The symbol "IKibanaSearchResponse" needs to be exported by the entry point index.d.ts - // - // (undocumented) - [key: string]: IKibanaSearchResponse; - // Warning: (ae-forgotten-export) The symbol "IEsSearchResponse" needs to be exported by the entry point index.d.ts - // - // (undocumented) - [ES_SEARCH_STRATEGY]: IEsSearchResponse; -} - -// Warning: (ae-missing-release-tag) "ISearchContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ISearchContext { - // Warning: (ae-forgotten-export) The symbol "SharedGlobalConfig" needs to be exported by the entry point index.d.ts - // - // (undocumented) - config$: Observable; - // Warning: (ae-forgotten-export) The symbol "CoreSetup" needs to be exported by the entry point index.d.ts - // - // (undocumented) - core: CoreSetup; -} - -// Warning: (ae-missing-release-tag) "ISearchSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ISearchSetup { - // (undocumented) - __LEGACY: { - search: (caller: APICaller_2, request: IRequestTypesMap[T], strategyName?: T) => Promise; - }; - // (undocumented) - registerSearchStrategyContext: (pluginId: symbol, strategyName: TContextName, provider: IContextProvider_2, TContextName>) => void; - // Warning: (ae-forgotten-export) The symbol "TRegisterSearchStrategyProvider" needs to be exported by the entry point index.d.ts - registerSearchStrategyProvider: TRegisterSearchStrategyProvider; -} - -// @public (undocumented) -export enum KBN_FIELD_TYPES { - // (undocumented) - ATTACHMENT = "attachment", - // (undocumented) - BOOLEAN = "boolean", - // (undocumented) - CONFLICT = "conflict", - // (undocumented) - DATE = "date", - // (undocumented) - GEO_POINT = "geo_point", - // (undocumented) - GEO_SHAPE = "geo_shape", - // (undocumented) - IP = "ip", - // (undocumented) - MURMUR3 = "murmur3", - // (undocumented) - NESTED = "nested", - // (undocumented) - NUMBER = "number", - // (undocumented) - OBJECT = "object", - // (undocumented) - _SOURCE = "_source", - // (undocumented) - STRING = "string", - // (undocumented) - UNKNOWN = "unknown" -} - -// Warning: (ae-missing-release-tag) "KueryNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface KueryNode { - // (undocumented) - [key: string]: any; - // Warning: (ae-forgotten-export) The symbol "NodeTypes" needs to be exported by the entry point index.d.ts - // - // (undocumented) - type: keyof NodeTypes; -} - -// Warning: (ae-missing-release-tag) "parseInterval" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function parseInterval(interval: string): moment.Duration | null; - -// Warning: (ae-forgotten-export) The symbol "Plugin" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "DataServerPlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class Plugin implements Plugin_2 { - // Warning: (ae-forgotten-export) The symbol "PluginInitializerContext" needs to be exported by the entry point index.d.ts - constructor(initializerContext: PluginInitializerContext); - // Warning: (ae-forgotten-export) The symbol "DataPluginSetupDependencies" needs to be exported by the entry point index.d.ts - // - // (undocumented) - setup(core: CoreSetup, { usageCollection }: DataPluginSetupDependencies): { - fieldFormats: { - register: (customFieldFormat: import("../common").IFieldFormatType) => number; - }; - search: ISearchSetup; - }; - // Warning: (ae-forgotten-export) The symbol "CoreStart" needs to be exported by the entry point index.d.ts - // - // (undocumented) - start(core: CoreStart): { - fieldFormats: { - fieldFormatServiceFactory: (uiSettings: import("kibana/server").IUiSettingsClient) => Promise; - }; - }; - // (undocumented) - stop(): void; -} - -// @public -export function plugin(initializerContext: PluginInitializerContext): Plugin; - -// Warning: (ae-missing-release-tag) "DataPluginSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface PluginSetup { - // Warning: (ae-forgotten-export) The symbol "FieldFormatsSetup" needs to be exported by the entry point index.d.ts - // - // (undocumented) - fieldFormats: FieldFormatsSetup; - // (undocumented) - search: ISearchSetup; -} - -// Warning: (ae-missing-release-tag) "DataPluginStart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface PluginStart { - // Warning: (ae-forgotten-export) The symbol "FieldFormatsStart" needs to be exported by the entry point index.d.ts - // - // (undocumented) - fieldFormats: FieldFormatsStart; -} - -// Warning: (ae-missing-release-tag) "Query" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface Query { - // (undocumented) - language: string; - // (undocumented) - query: string | { - [key: string]: any; - }; -} - -// Warning: (ae-missing-release-tag) "RefreshInterval" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface RefreshInterval { - // (undocumented) - pause: boolean; - // (undocumented) - value: number; -} - -// Warning: (ae-missing-release-tag) "shouldReadFieldFromDocValues" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function shouldReadFieldFromDocValues(aggregatable: boolean, esType: string): boolean; - -// Warning: (ae-missing-release-tag) "TimeRange" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface TimeRange { - // (undocumented) - from: string; - // (undocumented) - to: string; -} - -// Warning: (ae-forgotten-export) The symbol "ISearchGeneric" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ISearchStrategy" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "TSearchStrategyProvider" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type TSearchStrategyProvider = (context: ISearchContext, caller: APICaller_2, search: ISearchGeneric) => ISearchStrategy; - -// Warning: (ae-missing-release-tag) "TStrategyTypes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type TStrategyTypes = typeof ES_SEARCH_STRATEGY | string; - - -// Warnings were encountered during analysis: -// -// src/plugins/data/server/index.ts:39:23 - (ae-forgotten-export) The symbol "buildCustomFilter" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:39:23 - (ae-forgotten-export) The symbol "buildFilter" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:69:21 - (ae-forgotten-export) The symbol "getEsQueryConfig" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:69:21 - (ae-forgotten-export) The symbol "buildEsQuery" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "FieldFormatsRegistry" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "FieldFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "BoolFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "BytesFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "ColorFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "DateNanosFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "DurationFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "IpFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "NumberFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "PercentFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "RelativeDateFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "SourceFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "StaticLookupFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "UrlFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "StringFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:100:26 - (ae-forgotten-export) The symbol "TruncateFormat" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:128:27 - (ae-forgotten-export) The symbol "isFilterable" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:128:27 - (ae-forgotten-export) The symbol "isNestedField" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/search/i_search_setup.ts:45:5 - (ae-forgotten-export) The symbol "DEFAULT_SEARCH_STRATEGY" needs to be exported by the entry point index.d.ts - -// (No @packageDocumentation comment for this package) - -``` diff --git a/src/plugins/data/server/server.api.md b/src/plugins/data/server/server.api.md deleted file mode 100644 index f994db960669f..0000000000000 --- a/src/plugins/data/server/server.api.md +++ /dev/null @@ -1,881 +0,0 @@ -## API Report File for "kibana" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { Assign } from '@kbn/utility-types'; -import { BfetchServerSetup } from 'src/plugins/bfetch/server'; -import { ConfigDeprecationProvider } from '@kbn/config'; -import { CoreSetup } from 'src/core/server'; -import { CoreStart } from 'kibana/server'; -import { CoreStart as CoreStart_2 } from 'src/core/server'; -import { Datatable } from 'src/plugins/expressions'; -import { DatatableColumn } from 'src/plugins/expressions'; -import { DatatableColumnType } from 'src/plugins/expressions/common'; -import { Duration } from 'moment'; -import { ElasticsearchClient } from 'src/core/server'; -import { ElasticsearchClient as ElasticsearchClient_2 } from 'kibana/server'; -import { Ensure } from '@kbn/utility-types'; -import { EnvironmentMode } from '@kbn/config'; -import { ErrorToastOptions } from 'src/core/public/notifications'; -import { ES_FIELD_TYPES } from '@kbn/field-types'; -import { EsQueryConfig as EsQueryConfig_2 } from '@kbn/es-query'; -import { estypes } from '@elastic/elasticsearch'; -import { EventEmitter } from 'events'; -import { ExpressionAstExpression } from 'src/plugins/expressions/common'; -import { ExpressionsServerSetup } from 'src/plugins/expressions/server'; -import { Filter as Filter_2 } from '@kbn/es-query'; -import { IAggConfigs as IAggConfigs_2 } from 'src/plugins/data/public'; -import { IEsSearchResponse as IEsSearchResponse_2 } from 'src/plugins/data/public'; -import { IFieldSubType as IFieldSubType_2 } from '@kbn/es-query'; -import { IndexPatternBase } from '@kbn/es-query'; -import { IndexPatternFieldBase } from '@kbn/es-query'; -import { IScopedClusterClient } from 'src/core/server'; -import { ISearchOptions as ISearchOptions_2 } from 'src/plugins/data/public'; -import { ISearchSource } from 'src/plugins/data/public'; -import { IUiSettingsClient } from 'src/core/server'; -import { KBN_FIELD_TYPES } from '@kbn/field-types'; -import { KibanaExecutionContext } from 'src/core/public'; -import { KibanaRequest } from 'src/core/server'; -import { KibanaRequest as KibanaRequest_2 } from 'kibana/server'; -import { KueryNode as KueryNode_2 } from '@kbn/es-query'; -import { Logger } from 'src/core/server'; -import { LoggerFactory } from '@kbn/logging'; -import { Moment } from 'moment'; -import moment from 'moment'; -import { Observable } from 'rxjs'; -import { PackageInfo } from '@kbn/config'; -import { PathConfigType } from '@kbn/utils'; -import { Plugin as Plugin_2 } from 'src/core/server'; -import { PluginInitializerContext as PluginInitializerContext_2 } from 'src/core/server'; -import { Query } from '@kbn/es-query'; -import { RecursiveReadonly } from '@kbn/utility-types'; -import { RequestAdapter } from 'src/plugins/inspector/common'; -import { RequestHandlerContext } from 'src/core/server'; -import { SavedObject } from 'kibana/server'; -import { SavedObject as SavedObject_2 } from 'src/core/server'; -import { SavedObjectsClientContract } from 'src/core/server'; -import { SavedObjectsClientContract as SavedObjectsClientContract_2 } from 'kibana/server'; -import { SavedObjectsFindOptions } from 'kibana/server'; -import { SavedObjectsFindResponse } from 'kibana/server'; -import { SavedObjectsUpdateResponse } from 'kibana/server'; -import { SerializableRecord } from '@kbn/utility-types'; -import { SerializedFieldFormat as SerializedFieldFormat_3 } from 'src/plugins/expressions/common'; -import { ToastInputFields } from 'src/core/public/notifications'; -import { Type } from '@kbn/config-schema'; -import { TypeOf } from '@kbn/config-schema'; -import { UiCounterMetricType } from '@kbn/analytics'; -import { Unit } from '@elastic/datemath'; - -// Warning: (ae-forgotten-export) The symbol "AsyncSearchResponse" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "AsyncSearchStatusResponse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface AsyncSearchStatusResponse extends Omit { - // (undocumented) - completion_status: number; - // (undocumented) - _shards: estypes.ShardStatistics; -} - -// Warning: (ae-missing-release-tag) "castEsToKbnFieldTypeName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export const castEsToKbnFieldTypeName: (esType: string) => import("@kbn/field-types").KBN_FIELD_TYPES; - -// Warning: (ae-forgotten-export) The symbol "PluginConfigDescriptor" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ConfigSchema" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "config" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const config: PluginConfigDescriptor; - -// @internal (undocumented) -export interface DataRequestHandlerContext extends RequestHandlerContext { - // (undocumented) - search: SearchRequestHandlerContext; -} - -export { ES_FIELD_TYPES } - -// Warning: (ae-missing-release-tag) "ES_SEARCH_STRATEGY" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const ES_SEARCH_STRATEGY = "es"; - -// Warning: (ae-missing-release-tag) "esFilters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const esFilters: { - buildQueryFilter: (query: (Record & { - query_string?: { - query: string; - } | undefined; - }) | undefined, index: string, alias: string) => import("@kbn/es-query").QueryStringFilter; - buildCustomFilter: typeof import("@kbn/es-query").buildCustomFilter; - buildEmptyFilter: (isPinned: boolean, index?: string | undefined) => import("@kbn/es-query").Filter; - buildExistsFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").ExistsFilter; - buildFilter: typeof import("@kbn/es-query").buildFilter; - buildPhraseFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, value: string | number | boolean, indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").PhraseFilter | import("@kbn/es-query").ScriptedPhraseFilter; - buildPhrasesFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, params: (string | number | boolean)[], indexPattern: import("@kbn/es-query").IndexPatternBase) => import("@kbn/es-query").PhrasesFilter; - buildRangeFilter: (field: import("@kbn/es-query").IndexPatternFieldBase, params: import("@kbn/es-query").RangeFilterParams, indexPattern: import("@kbn/es-query").IndexPatternBase, formattedValue?: string | undefined) => import("@kbn/es-query").RangeFilter | import("@kbn/es-query").ScriptedRangeFilter | import("@kbn/es-query/target_types/filters/build_filters").MatchAllRangeFilter; - isFilterDisabled: (filter: import("@kbn/es-query").Filter) => boolean; -}; - -// Warning: (ae-missing-release-tag) "esKuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const esKuery: { - nodeTypes: import("@kbn/es-query/target_types/kuery/node_types").NodeTypes; - fromKueryExpression: (expression: string | import("@elastic/elasticsearch/api/types").QueryDslQueryContainer, parseOptions?: Partial | undefined) => import("@kbn/es-query").KueryNode; - toElasticsearchQuery: (node: import("@kbn/es-query").KueryNode, indexPattern?: import("@kbn/es-query").IndexPatternBase | undefined, config?: import("@kbn/es-query").KueryQueryOptions | undefined, context?: Record | undefined) => import("@elastic/elasticsearch/api/types").QueryDslQueryContainer; -}; - -// Warning: (ae-missing-release-tag) "esQuery" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const esQuery: { - buildQueryFromFilters: (filters: import("@kbn/es-query").Filter[] | undefined, indexPattern: import("@kbn/es-query").IndexPatternBase | undefined, ignoreFilterIfFieldNotInIndex?: boolean | undefined) => import("@kbn/es-query").BoolQuery; - getEsQueryConfig: typeof getEsQueryConfig; - buildEsQuery: typeof import("@kbn/es-query").buildEsQuery; -}; - -// Warning: (ae-missing-release-tag) "EsQueryConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type EsQueryConfig = EsQueryConfig_2; - -// Warning: (ae-missing-release-tag) "exporters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const exporters: { - datatableToCSV: typeof datatableToCSV; - CSV_MIME_TYPE: string; -}; - -// Warning: (ae-missing-release-tag) "FieldDescriptor" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface FieldDescriptor { - // (undocumented) - aggregatable: boolean; - // (undocumented) - esTypes: string[]; - // (undocumented) - name: string; - // (undocumented) - readFromDocValues: boolean; - // (undocumented) - searchable: boolean; - // Warning: (ae-forgotten-export) The symbol "FieldSubType" needs to be exported by the entry point index.d.ts - // - // (undocumented) - subType?: FieldSubType; - // (undocumented) - type: string; -} - -// Warning: (ae-missing-release-tag) "Filter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type Filter = Filter_2; - -// Warning: (ae-missing-release-tag) "getCapabilitiesForRollupIndices" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function getCapabilitiesForRollupIndices(indices: Record): { - [key: string]: any; -}; - -// Warning: (ae-forgotten-export) The symbol "KibanaConfig" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "getEsQueryConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function getEsQueryConfig(config: KibanaConfig): EsQueryConfig_2; - -// Warning: (ae-forgotten-export) The symbol "IIndexPattern" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "getTime" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function getTime(indexPattern: IIndexPattern | undefined, timeRange: TimeRange, options?: { - forceNow?: Date; - fieldName?: string; -}): import("@kbn/es-query").RangeFilter | import("@kbn/es-query").ScriptedRangeFilter | import("@kbn/es-query/target_types/filters/build_filters").MatchAllRangeFilter | undefined; - -// Warning: (ae-forgotten-export) The symbol "IKibanaSearchRequest" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ISearchRequestParams" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "IEsSearchRequest" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IEsSearchRequest extends IKibanaSearchRequest { - // (undocumented) - indexType?: string; -} - -// Warning: (ae-forgotten-export) The symbol "IKibanaSearchResponse" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "IEsSearchResponse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type IEsSearchResponse = IKibanaSearchResponse>; - -// Warning: (ae-missing-release-tag) "IFieldSubType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type IFieldSubType = IFieldSubType_2; - -// Warning: (ae-missing-release-tag) "IFieldType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export interface IFieldType extends IndexPatternFieldBase { - // (undocumented) - aggregatable?: boolean; - // (undocumented) - count?: number; - // (undocumented) - customLabel?: string; - // (undocumented) - displayName?: string; - // (undocumented) - esTypes?: string[]; - // (undocumented) - filterable?: boolean; - // (undocumented) - format?: any; - // (undocumented) - readFromDocValues?: boolean; - // (undocumented) - searchable?: boolean; - // (undocumented) - sortable?: boolean; - // Warning: (ae-forgotten-export) The symbol "FieldSpec" needs to be exported by the entry point index.d.ts - // - // (undocumented) - toSpec?: (options?: { - getFormatterForField?: IndexPattern['getFormatterForField']; - }) => FieldSpec; - // (undocumented) - visualizable?: boolean; -} - -// @public (undocumented) -export const INDEX_PATTERN_SAVED_OBJECT_TYPE = "index-pattern"; - -// Warning: (ae-missing-release-tag) "IndexPattern" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class IndexPattern implements IIndexPattern { - // Warning: (ae-forgotten-export) The symbol "IndexPatternDeps" needs to be exported by the entry point index.d.ts - constructor({ spec, fieldFormats, shortDotsEnable, metaFields, }: IndexPatternDeps); - addRuntimeField(name: string, runtimeField: RuntimeField): void; - // @deprecated - addScriptedField(name: string, script: string, fieldType?: string): Promise; - readonly allowNoIndex: boolean; - // (undocumented) - readonly deleteFieldFormat: (fieldName: string) => void; - // (undocumented) - fieldFormatMap: Record; - // Warning: (ae-forgotten-export) The symbol "IIndexPatternFieldList" needs to be exported by the entry point index.d.ts - // - // (undocumented) - fields: IIndexPatternFieldList & { - toSpec: () => IndexPatternFieldMap; - }; - // (undocumented) - flattenHit: (hit: Record, deep?: boolean) => Record; - // (undocumented) - formatField: FormatFieldFn; - // (undocumented) - formatHit: { - (hit: Record, type?: string): any; - formatField: FormatFieldFn; - }; - // (undocumented) - getAggregationRestrictions(): Record> | undefined; - getAsSavedObjectBody(): IndexPatternAttributes; - // (undocumented) - getComputedFields(): { - storedFields: string[]; - scriptFields: any; - docvalueFields: { - field: any; - format: string; - }[]; - runtimeFields: Record; - }; - // (undocumented) - getFieldAttrs: () => { - [x: string]: FieldAttrSet; - }; - // (undocumented) - getFieldByName(name: string): IndexPatternField | undefined; - // Warning: (ae-forgotten-export) The symbol "FieldFormat" needs to be exported by the entry point index.d.ts - getFormatterForField(field: IndexPatternField | IndexPatternField['spec'] | IFieldType): FieldFormat; - getFormatterForFieldNoDefault(fieldname: string): FieldFormat | undefined; - // @deprecated (undocumented) - getNonScriptedFields(): IndexPatternField[]; - getOriginalSavedObjectBody: () => { - fieldAttrs?: string | undefined; - title?: string | undefined; - timeFieldName?: string | undefined; - intervalName?: string | undefined; - fields?: string | undefined; - sourceFilters?: string | undefined; - fieldFormatMap?: string | undefined; - typeMeta?: string | undefined; - type?: string | undefined; - }; - getRuntimeField(name: string): RuntimeField | null; - // @deprecated (undocumented) - getScriptedFields(): IndexPatternField[]; - getSourceFiltering(): { - excludes: any[]; - }; - // (undocumented) - getTimeField(): IndexPatternField | undefined; - hasRuntimeField(name: string): boolean; - // (undocumented) - id?: string; - // @deprecated (undocumented) - intervalName: string | undefined; - // (undocumented) - isTimeBased(): boolean; - // (undocumented) - isTimeNanosBased(): boolean; - // (undocumented) - metaFields: string[]; - removeRuntimeField(name: string): void; - // @deprecated - removeScriptedField(fieldName: string): void; - replaceAllRuntimeFields(newFields: Record): void; - resetOriginalSavedObjectBody: () => void; - // (undocumented) - protected setFieldAttrs(fieldName: string, attrName: K, value: FieldAttrSet[K]): void; - // (undocumented) - setFieldCount(fieldName: string, count: number | undefined | null): void; - // (undocumented) - setFieldCustomLabel(fieldName: string, customLabel: string | undefined | null): void; - // Warning: (ae-forgotten-export) The symbol "SerializedFieldFormat" needs to be exported by the entry point index.d.ts - // - // (undocumented) - readonly setFieldFormat: (fieldName: string, format: SerializedFieldFormat_2) => void; - // Warning: (ae-forgotten-export) The symbol "SourceFilter" needs to be exported by the entry point index.d.ts - // - // (undocumented) - sourceFilters?: SourceFilter[]; - // (undocumented) - timeFieldName: string | undefined; - // (undocumented) - title: string; - // Warning: (ae-forgotten-export) The symbol "IndexPatternSpec" needs to be exported by the entry point index.d.ts - toSpec(): IndexPatternSpec; - type: string | undefined; - // Warning: (ae-forgotten-export) The symbol "TypeMeta" needs to be exported by the entry point index.d.ts - typeMeta?: TypeMeta; - version: string | undefined; -} - -// Warning: (ae-missing-release-tag) "IndexPatternAttributes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface IndexPatternAttributes { - allowNoIndex?: boolean; - // (undocumented) - fieldAttrs?: string; - // (undocumented) - fieldFormatMap?: string; - // (undocumented) - fields: string; - // (undocumented) - intervalName?: string; - // (undocumented) - runtimeFieldMap?: string; - // (undocumented) - sourceFilters?: string; - // (undocumented) - timeFieldName?: string; - // (undocumented) - title: string; - // (undocumented) - type?: string; - // (undocumented) - typeMeta?: string; -} - -// @public (undocumented) -export class IndexPatternField implements IFieldType { - constructor(spec: FieldSpec); - // (undocumented) - get aggregatable(): boolean; - get conflictDescriptions(): Record | undefined; - set conflictDescriptions(conflictDescriptions: Record | undefined); - get count(): number; - set count(count: number); - // (undocumented) - get customLabel(): string | undefined; - set customLabel(customLabel: string | undefined); - // (undocumented) - deleteCount(): void; - // (undocumented) - get displayName(): string; - // (undocumented) - get esTypes(): string[] | undefined; - // (undocumented) - get filterable(): boolean; - get isMapped(): boolean | undefined; - get lang(): "painless" | "expression" | "mustache" | "java" | undefined; - set lang(lang: "painless" | "expression" | "mustache" | "java" | undefined); - // (undocumented) - get name(): string; - // (undocumented) - get readFromDocValues(): boolean; - // (undocumented) - get runtimeField(): RuntimeField | undefined; - set runtimeField(runtimeField: RuntimeField | undefined); - get script(): string | undefined; - set script(script: string | undefined); - // (undocumented) - get scripted(): boolean; - // (undocumented) - get searchable(): boolean; - // (undocumented) - get sortable(): boolean; - // (undocumented) - readonly spec: FieldSpec; - // (undocumented) - get subType(): import("@kbn/es-query").IFieldSubType | undefined; - // (undocumented) - toJSON(): { - count: number; - script: string | undefined; - lang: "painless" | "expression" | "mustache" | "java" | undefined; - conflictDescriptions: Record | undefined; - name: string; - type: string; - esTypes: string[] | undefined; - scripted: boolean; - searchable: boolean; - aggregatable: boolean; - readFromDocValues: boolean; - subType: import("@kbn/es-query").IFieldSubType | undefined; - customLabel: string | undefined; - }; - // (undocumented) - toSpec({ getFormatterForField, }?: { - getFormatterForField?: IndexPattern['getFormatterForField']; - }): FieldSpec; - // (undocumented) - get type(): string; - // (undocumented) - get visualizable(): boolean; -} - -// Warning: (ae-missing-release-tag) "IndexPatternsFetcher" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class IndexPatternsFetcher { - constructor(elasticsearchClient: ElasticsearchClient_2, allowNoIndices?: boolean); - getFieldsForTimePattern(options: { - pattern: string; - metaFields: string[]; - lookBack: number; - interval: string; - }): Promise; - getFieldsForWildcard(options: { - pattern: string | string[]; - metaFields?: string[]; - fieldCapsOptions?: { - allow_no_indices: boolean; - }; - type?: string; - rollupIndex?: string; - }): Promise; - validatePatternListActive(patternList: string[]): Promise; -} - -// Warning: (ae-missing-release-tag) "IndexPatternsService" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -class IndexPatternsService { - // Warning: (ae-forgotten-export) The symbol "IndexPatternsServiceDeps" needs to be exported by the entry point index.d.ts - constructor({ uiSettings, savedObjectsClient, apiClient, fieldFormats, onNotification, onError, onRedirectNoIndexPattern, }: IndexPatternsServiceDeps); - clearCache: (id?: string | undefined) => void; - create(spec: IndexPatternSpec, skipFetchFields?: boolean): Promise; - createAndSave(spec: IndexPatternSpec, override?: boolean, skipFetchFields?: boolean): Promise; - createSavedObject(indexPattern: IndexPattern, override?: boolean): Promise; - delete(indexPatternId: string): Promise<{}>; - // Warning: (ae-forgotten-export) The symbol "EnsureDefaultIndexPattern" needs to be exported by the entry point index.d.ts - // - // (undocumented) - ensureDefaultIndexPattern: EnsureDefaultIndexPattern; - // Warning: (ae-forgotten-export) The symbol "FieldAttrs" needs to be exported by the entry point index.d.ts - fieldArrayToMap: (fields: FieldSpec[], fieldAttrs?: FieldAttrs | undefined) => Record; - find: (search: string, size?: number) => Promise; - get: (id: string) => Promise; - // (undocumented) - getCache: () => Promise>[] | null | undefined>; - getDefault: () => Promise; - getDefaultId: () => Promise; - getFieldsForIndexPattern: (indexPattern: IndexPattern | IndexPatternSpec, options?: GetFieldsOptions | undefined) => Promise; - // Warning: (ae-forgotten-export) The symbol "GetFieldsOptions" needs to be exported by the entry point index.d.ts - getFieldsForWildcard: (options: GetFieldsOptions) => Promise; - getIds: (refresh?: boolean) => Promise; - // Warning: (ae-forgotten-export) The symbol "IndexPatternListItem" needs to be exported by the entry point index.d.ts - getIdsWithTitle: (refresh?: boolean) => Promise; - getTitles: (refresh?: boolean) => Promise; - hasUserIndexPattern(): Promise; - refreshFields: (indexPattern: IndexPattern) => Promise; - savedObjectToSpec: (savedObject: SavedObject_2) => IndexPatternSpec; - setDefault: (id: string | null, force?: boolean) => Promise; - updateSavedObject(indexPattern: IndexPattern, saveAttempts?: number, ignoreErrors?: boolean): Promise; -} - -export { IndexPatternsService as IndexPatternsCommonService } - -export { IndexPatternsService } - -// Warning: (ae-forgotten-export) The symbol "ISearchClient" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "IScopedSearchClient" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IScopedSearchClient extends ISearchClient { - // (undocumented) - cancelSession: IScopedSearchSessionsClient['cancel']; - // (undocumented) - deleteSession: IScopedSearchSessionsClient['delete']; - // (undocumented) - extendSession: IScopedSearchSessionsClient['extend']; - // (undocumented) - findSessions: IScopedSearchSessionsClient['find']; - // (undocumented) - getSession: IScopedSearchSessionsClient['get']; - // Warning: (ae-forgotten-export) The symbol "IScopedSearchSessionsClient" needs to be exported by the entry point index.d.ts - // - // (undocumented) - saveSession: IScopedSearchSessionsClient['save']; - // (undocumented) - updateSession: IScopedSearchSessionsClient['update']; -} - -// Warning: (ae-missing-release-tag) "ISearchOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ISearchOptions { - abortSignal?: AbortSignal; - // (undocumented) - executionContext?: KibanaExecutionContext; - indexPattern?: IndexPattern; - // Warning: (ae-forgotten-export) The symbol "IInspectorInfo" needs to be exported by the entry point index.d.ts - inspector?: IInspectorInfo; - isRestore?: boolean; - isStored?: boolean; - legacyHitsTotal?: boolean; - sessionId?: string; - strategy?: string; -} - -// Warning: (ae-missing-release-tag) "ISearchSessionService" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ISearchSessionService { - // (undocumented) - asScopedProvider: (core: CoreStart) => (request: KibanaRequest_2) => IScopedSearchSessionsClient; -} - -// Warning: (ae-missing-release-tag) "ISearchStrategy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ISearchStrategy { - // (undocumented) - cancel?: (id: string, options: ISearchOptions, deps: SearchStrategyDependencies) => Promise; - // (undocumented) - extend?: (id: string, keepAlive: string, options: ISearchOptions, deps: SearchStrategyDependencies) => Promise; - // (undocumented) - search: (request: SearchStrategyRequest, options: ISearchOptions, deps: SearchStrategyDependencies) => Observable; -} - -export { KBN_FIELD_TYPES } - -// Warning: (ae-missing-release-tag) "KueryNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type KueryNode = KueryNode_2; - -// Warning: (ae-missing-release-tag) "METRIC_TYPES" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export enum METRIC_TYPES { - // (undocumented) - AVG = "avg", - // (undocumented) - AVG_BUCKET = "avg_bucket", - // (undocumented) - CARDINALITY = "cardinality", - // (undocumented) - COUNT = "count", - // (undocumented) - CUMULATIVE_SUM = "cumulative_sum", - // (undocumented) - DERIVATIVE = "derivative", - // (undocumented) - FILTERED_METRIC = "filtered_metric", - // (undocumented) - GEO_BOUNDS = "geo_bounds", - // (undocumented) - GEO_CENTROID = "geo_centroid", - // (undocumented) - MAX = "max", - // (undocumented) - MAX_BUCKET = "max_bucket", - // (undocumented) - MEDIAN = "median", - // (undocumented) - MIN = "min", - // (undocumented) - MIN_BUCKET = "min_bucket", - // (undocumented) - MOVING_FN = "moving_avg", - // (undocumented) - PERCENTILE_RANKS = "percentile_ranks", - // (undocumented) - PERCENTILES = "percentiles", - // (undocumented) - SERIAL_DIFF = "serial_diff", - // (undocumented) - SINGLE_PERCENTILE = "single_percentile", - // (undocumented) - STD_DEV = "std_dev", - // (undocumented) - SUM = "sum", - // (undocumented) - SUM_BUCKET = "sum_bucket", - // (undocumented) - TOP_HITS = "top_hits" -} - -// Warning: (ae-forgotten-export) The symbol "KbnError" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "NoSearchIdInSessionError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class NoSearchIdInSessionError extends KbnError { - constructor(); -} - -// Warning: (ae-forgotten-export) The symbol "parseEsInterval" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ParsedInterval" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ParsedInterval = ReturnType; - -// Warning: (ae-missing-release-tag) "parseInterval" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function parseInterval(interval: string): moment.Duration | null; - -// Warning: (ae-forgotten-export) The symbol "DataPluginSetupDependencies" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "DataPluginStartDependencies" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "DataServerPlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class Plugin implements Plugin_2 { - constructor(initializerContext: PluginInitializerContext_2); - // (undocumented) - setup(core: CoreSetup, { bfetch, expressions, usageCollection, fieldFormats }: DataPluginSetupDependencies): { - __enhance: (enhancements: DataEnhancements) => void; - search: ISearchSetup; - fieldFormats: FieldFormatsSetup; - }; - // (undocumented) - start(core: CoreStart_2, { fieldFormats }: DataPluginStartDependencies): { - fieldFormats: FieldFormatsStart; - indexPatterns: { - indexPatternsServiceFactory: (savedObjectsClient: Pick, elasticsearchClient: import("../../../core/server").ElasticsearchClient) => Promise; - }; - search: ISearchStart>; - }; - // (undocumented) - stop(): void; -} - -// Warning: (ae-forgotten-export) The symbol "PluginInitializerContext" needs to be exported by the entry point index.d.ts -// -// @public -export function plugin(initializerContext: PluginInitializerContext): Plugin; - -// Warning: (ae-missing-release-tag) "DataPluginSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface PluginSetup { - // @internal (undocumented) - __enhance: (enhancements: DataEnhancements) => void; - // @deprecated (undocumented) - fieldFormats: FieldFormatsSetup; - // (undocumented) - search: ISearchSetup; -} - -// Warning: (ae-missing-release-tag) "DataPluginStart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface PluginStart { - // @deprecated (undocumented) - fieldFormats: FieldFormatsStart; - // Warning: (ae-forgotten-export) The symbol "IndexPatternsServiceStart" needs to be exported by the entry point index.d.ts - // - // (undocumented) - indexPatterns: IndexPatternsServiceStart; - // (undocumented) - search: ISearchStart; -} - -export { Query } - -// Warning: (ae-missing-release-tag) "search" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const search: { - aggs: { - CidrMask: typeof CidrMask; - dateHistogramInterval: typeof dateHistogramInterval; - IpAddress: typeof IpAddress; - parseInterval: typeof parseInterval; - calcAutoIntervalLessThan: typeof calcAutoIntervalLessThan; - }; -}; - -// Warning: (ae-missing-release-tag) "SearchRequestHandlerContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type SearchRequestHandlerContext = IScopedSearchClient; - -// @internal -export class SearchSessionService implements ISearchSessionService { - constructor(); - // (undocumented) - asScopedProvider(): () => { - getId: () => never; - trackId: () => Promise; - getSearchIdMapping: () => Promise>; - save: () => Promise; - get: () => Promise; - find: () => Promise; - update: () => Promise; - extend: () => Promise; - cancel: () => Promise; - delete: () => Promise; - getConfig: () => null; - }; -} - -// Warning: (ae-missing-release-tag) "SearchStrategyDependencies" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface SearchStrategyDependencies { - // (undocumented) - esClient: IScopedClusterClient; - // (undocumented) - request: KibanaRequest; - // (undocumented) - savedObjectsClient: SavedObjectsClientContract; - // (undocumented) - searchSessionsClient: IScopedSearchSessionsClient; - // (undocumented) - uiSettingsClient: IUiSettingsClient; -} - -// @internal -export function shimHitsTotal(response: estypes.SearchResponse, { legacyHitsTotal }?: ISearchOptions): { - hits: { - total: any; - hits: estypes.SearchHit[]; - max_score?: number | undefined; - }; - took: number; - timed_out: boolean; - _shards: estypes.ShardStatistics; - aggregations?: Record | undefined; - _clusters?: estypes.ClusterStatistics | undefined; - documents?: unknown[] | undefined; - fields?: Record | undefined; - max_score?: number | undefined; - num_reduce_phases?: number | undefined; - profile?: estypes.SearchProfile | undefined; - pit_id?: string | undefined; - _scroll_id?: string | undefined; - suggest?: Record[]> | undefined; - terminated_early?: boolean | undefined; -}; - -// Warning: (ae-missing-release-tag) "shouldReadFieldFromDocValues" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function shouldReadFieldFromDocValues(aggregatable: boolean, esType: string): boolean; - -// Warning: (ae-missing-release-tag) "TimeRange" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type TimeRange = { - from: string; - to: string; - mode?: 'absolute' | 'relative'; -}; - -// Warning: (ae-missing-release-tag) "UI_SETTINGS" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const UI_SETTINGS: { - readonly META_FIELDS: "metaFields"; - readonly DOC_HIGHLIGHT: "doc_table:highlight"; - readonly QUERY_STRING_OPTIONS: "query:queryString:options"; - readonly QUERY_ALLOW_LEADING_WILDCARDS: "query:allowLeadingWildcards"; - readonly SEARCH_QUERY_LANGUAGE: "search:queryLanguage"; - readonly SORT_OPTIONS: "sort:options"; - readonly COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX: "courier:ignoreFilterIfFieldNotInIndex"; - readonly COURIER_SET_REQUEST_PREFERENCE: "courier:setRequestPreference"; - readonly COURIER_CUSTOM_REQUEST_PREFERENCE: "courier:customRequestPreference"; - readonly COURIER_MAX_CONCURRENT_SHARD_REQUESTS: "courier:maxConcurrentShardRequests"; - readonly SEARCH_INCLUDE_FROZEN: "search:includeFrozen"; - readonly SEARCH_TIMEOUT: "search:timeout"; - readonly HISTOGRAM_BAR_TARGET: "histogram:barTarget"; - readonly HISTOGRAM_MAX_BARS: "histogram:maxBars"; - readonly HISTORY_LIMIT: "history:limit"; - readonly TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: "timepicker:refreshIntervalDefaults"; - readonly TIMEPICKER_QUICK_RANGES: "timepicker:quickRanges"; - readonly TIMEPICKER_TIME_DEFAULTS: "timepicker:timeDefaults"; - readonly INDEXPATTERN_PLACEHOLDER: "indexPattern:placeholder"; - readonly FILTERS_PINNED_BY_DEFAULT: "filters:pinnedByDefault"; - readonly FILTERS_EDITOR_SUGGEST_VALUES: "filterEditor:suggestValues"; - readonly AUTOCOMPLETE_USE_TIMERANGE: "autocomplete:useTimeRange"; - readonly AUTOCOMPLETE_VALUE_SUGGESTION_METHOD: "autocomplete:valueSuggestionMethod"; -}; - - -// Warnings were encountered during analysis: -// -// src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts:52:45 - (ae-forgotten-export) The symbol "IndexPatternFieldMap" needs to be exported by the entry point index.d.ts -// src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts:66:5 - (ae-forgotten-export) The symbol "FormatFieldFn" needs to be exported by the entry point index.d.ts -// src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts:139:7 - (ae-forgotten-export) The symbol "FieldAttrSet" needs to be exported by the entry point index.d.ts -// src/plugins/data/common/index_patterns/index_patterns/index_pattern.ts:170:7 - (ae-forgotten-export) The symbol "RuntimeField" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:21:23 - (ae-forgotten-export) The symbol "datatableToCSV" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:97:1 - (ae-forgotten-export) The symbol "CidrMask" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:98:1 - (ae-forgotten-export) The symbol "dateHistogramInterval" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:99:1 - (ae-forgotten-export) The symbol "IpAddress" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/index.ts:101:1 - (ae-forgotten-export) The symbol "calcAutoIntervalLessThan" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/plugin.ts:87:88 - (ae-forgotten-export) The symbol "DataEnhancements" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/plugin.ts:109:7 - (ae-forgotten-export) The symbol "ISearchSetup" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/plugin.ts:110:7 - (ae-forgotten-export) The symbol "FieldFormatsSetup" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/plugin.ts:116:78 - (ae-forgotten-export) The symbol "ISearchStart" needs to be exported by the entry point index.d.ts -// src/plugins/data/server/plugin.ts:117:14 - (ae-forgotten-export) The symbol "FieldFormatsStart" needs to be exported by the entry point index.d.ts - -// (No @packageDocumentation comment for this package) - -``` diff --git a/src/plugins/embeddable/public/public.api.md b/src/plugins/embeddable/public/public.api.md deleted file mode 100644 index 29301d8f2cde7..0000000000000 --- a/src/plugins/embeddable/public/public.api.md +++ /dev/null @@ -1,917 +0,0 @@ -## API Report File for "kibana" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { Action } from 'history'; -import { Action as Action_3 } from 'src/plugins/ui_actions/public'; -import { ActionExecutionContext as ActionExecutionContext_2 } from 'src/plugins/ui_actions/public'; -import { ApiResponse } from '@elastic/elasticsearch/lib/Transport'; -import { ApplicationStart as ApplicationStart_2 } from 'kibana/public'; -import Boom from '@hapi/boom'; -import { ConfigDeprecationProvider } from '@kbn/config'; -import { DetailedPeerCertificate } from 'tls'; -import { EmbeddableStart as EmbeddableStart_2 } from 'src/plugins/embeddable/public/plugin'; -import { EnvironmentMode } from '@kbn/config'; -import { estypes } from '@elastic/elasticsearch'; -import { EuiBreadcrumb } from '@elastic/eui'; -import { EuiButtonEmptyProps } from '@elastic/eui'; -import { EuiConfirmModalProps } from '@elastic/eui'; -import { EuiContextMenuPanelDescriptor } from '@elastic/eui'; -import { EuiFlyoutSize } from '@elastic/eui'; -import { EuiGlobalToastListToast } from '@elastic/eui'; -import { EventEmitter } from 'events'; -import { History } from 'history'; -import { Href } from 'history'; -import { I18nStart as I18nStart_2 } from 'src/core/public'; -import { IconType } from '@elastic/eui'; -import { IncomingHttpHeaders } from 'http'; -import { KibanaClient } from '@elastic/elasticsearch/api/kibana'; -import { KibanaExecutionContext as KibanaExecutionContext_2 } from 'src/core/public'; -import { Location } from 'history'; -import { LocationDescriptorObject } from 'history'; -import { Logger } from '@kbn/logging'; -import { LogMeta } from '@kbn/logging'; -import { MaybePromise } from '@kbn/utility-types'; -import { NotificationsStart as NotificationsStart_2 } from 'src/core/public'; -import { ObjectType } from '@kbn/config-schema'; -import { Observable } from 'rxjs'; -import { Optional } from '@kbn/utility-types'; -import { OverlayRef as OverlayRef_2 } from 'src/core/public'; -import { OverlayStart as OverlayStart_2 } from 'src/core/public'; -import { PackageInfo } from '@kbn/config'; -import { Path } from 'history'; -import { PeerCertificate } from 'tls'; -import { PluginInitializerContext } from 'src/core/public'; -import { PublicMethodsOf } from '@kbn/utility-types'; -import { PublicUiSettingsParams } from 'src/core/server/types'; -import React from 'react'; -import { RecursiveReadonly } from '@kbn/utility-types'; -import { Request } from '@hapi/hapi'; -import * as Rx from 'rxjs'; -import { SavedObjectAttributes } from 'kibana/server'; -import { SavedObjectAttributes as SavedObjectAttributes_2 } from 'src/core/public'; -import { SavedObjectAttributes as SavedObjectAttributes_3 } from 'kibana/public'; -import { SchemaTypeError } from '@kbn/config-schema'; -import { SerializableRecord } from '@kbn/utility-types'; -import { SimpleSavedObject as SimpleSavedObject_2 } from 'src/core/public'; -import { Start as Start_2 } from 'src/plugins/inspector/public'; -import { TransportRequestOptions } from '@elastic/elasticsearch/lib/Transport'; -import { TransportRequestParams } from '@elastic/elasticsearch/lib/Transport'; -import { TransportRequestPromise } from '@elastic/elasticsearch/lib/Transport'; -import { Type } from '@kbn/config-schema'; -import { TypeOf } from '@kbn/config-schema'; -import { UiComponent } from 'src/plugins/kibana_utils/public'; -import { UiCounterMetricType } from '@kbn/analytics'; -import { UnregisterCallback } from 'history'; -import { URL } from 'url'; -import { UserProvidedValues } from 'src/core/server/types'; - -// Warning: (ae-missing-release-tag) "ACTION_ADD_PANEL" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const ACTION_ADD_PANEL = "ACTION_ADD_PANEL"; - -// Warning: (ae-missing-release-tag) "ACTION_EDIT_PANEL" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const ACTION_EDIT_PANEL = "editPanel"; - -// Warning: (ae-missing-release-tag) "Adapters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface Adapters { - // (undocumented) - [key: string]: any; - // Warning: (ae-forgotten-export) The symbol "RequestAdapter" needs to be exported by the entry point index.d.ts - // - // (undocumented) - requests?: RequestAdapter; -} - -// Warning: (ae-forgotten-export) The symbol "ActionContext" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "AddPanelAction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class AddPanelAction implements Action_3 { - constructor(getFactory: EmbeddableStart_2['getEmbeddableFactory'], getAllFactories: EmbeddableStart_2['getEmbeddableFactories'], overlays: OverlayStart_2, notifications: NotificationsStart_2, SavedObjectFinder: React.ComponentType, reportUiCounter?: ((appName: string, type: import("@kbn/analytics").UiCounterMetricType, eventNames: string | string[], count?: number | undefined) => void) | undefined); - // (undocumented) - execute(context: ActionExecutionContext_2): Promise; - // (undocumented) - getDisplayName(): string; - // (undocumented) - getIconType(): string; - // (undocumented) - readonly id = "ACTION_ADD_PANEL"; - // (undocumented) - isCompatible(context: ActionExecutionContext_2): Promise; - // (undocumented) - readonly type = "ACTION_ADD_PANEL"; -} - -// Warning: (ae-missing-release-tag) "ATTRIBUTE_SERVICE_KEY" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export const ATTRIBUTE_SERVICE_KEY = "attributes"; - -// Warning: (ae-missing-release-tag) "AttributeService" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class AttributeService { - // Warning: (ae-forgotten-export) The symbol "AttributeServiceOptions" needs to be exported by the entry point index.d.ts - constructor(type: string, showSaveModal: (saveModal: React.ReactElement, I18nContext: I18nStart_2['Context']) => void, i18nContext: I18nStart_2['Context'], toasts: NotificationsStart_2['toasts'], options: AttributeServiceOptions, getEmbeddableFactory?: (embeddableFactoryId: string) => EmbeddableFactory); - // (undocumented) - getExplicitInputFromEmbeddable(embeddable: IEmbeddable): ValType | RefType; - // (undocumented) - getInputAsRefType: (input: ValType | RefType, saveOptions?: { - showSaveModal: boolean; - saveModalTitle?: string | undefined; - } | { - title: string; - } | undefined) => Promise; - // (undocumented) - getInputAsValueType: (input: ValType | RefType) => Promise; - // (undocumented) - inputIsRefType: (input: ValType | RefType) => input is RefType; - // (undocumented) - unwrapAttributes(input: RefType | ValType): Promise; - // (undocumented) - wrapAttributes(newAttributes: SavedObjectAttributes, useRefType: boolean, input?: ValType | RefType): Promise>; -} - -// Warning: (ae-forgotten-export) The symbol "RowClickContext" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ChartActionContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ChartActionContext = ValueClickContext | RangeSelectContext | RowClickContext; - -// Warning: (ae-missing-release-tag) "Container" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export abstract class Container = {}, TContainerInput extends ContainerInput = ContainerInput, TContainerOutput extends ContainerOutput = ContainerOutput> extends Embeddable implements IContainer { - constructor(input: TContainerInput, output: TContainerOutput, getFactory: EmbeddableStart['getEmbeddableFactory'], parent?: Container); - // (undocumented) - addNewEmbeddable = IEmbeddable>(type: string, explicitInput: Partial): Promise; - // (undocumented) - readonly children: { - [key: string]: IEmbeddable | ErrorEmbeddable; - }; - // (undocumented) - protected createNewPanelState>(factory: EmbeddableFactory, partial?: Partial): PanelState; - // (undocumented) - destroy(): void; - // (undocumented) - getChild(id: string): E; - // (undocumented) - getChildIds(): string[]; - // (undocumented) - protected readonly getFactory: EmbeddableStart['getEmbeddableFactory']; - protected abstract getInheritedInput(id: string): TChildInput; - // (undocumented) - getInputForChild(embeddableId: string): TEmbeddableInput; - // (undocumented) - protected getPanelState(embeddableId: string): PanelState; - // (undocumented) - readonly isContainer: boolean; - // (undocumented) - reload(): void; - // (undocumented) - removeEmbeddable(embeddableId: string): void; - // (undocumented) - setChildLoaded(embeddable: IEmbeddable): void; - // (undocumented) - untilEmbeddableLoaded(id: string): Promise; - // (undocumented) - updateInputForChild(id: string, changes: Partial): void; -} - -// Warning: (ae-missing-release-tag) "ContainerInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ContainerInput extends EmbeddableInput { - // (undocumented) - hidePanelTitles?: boolean; - // (undocumented) - panels: { - [key: string]: PanelState; - }; -} - -// Warning: (ae-missing-release-tag) "ContainerOutput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ContainerOutput extends EmbeddableOutput { - // (undocumented) - embeddableLoaded: { - [key: string]: boolean; - }; -} - -// Warning: (ae-missing-release-tag) "CONTEXT_MENU_TRIGGER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const CONTEXT_MENU_TRIGGER = "CONTEXT_MENU_TRIGGER"; - -// Warning: (ae-forgotten-export) The symbol "Trigger" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "contextMenuTrigger" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const contextMenuTrigger: Trigger; - -// Warning: (ae-missing-release-tag) "defaultEmbeddableFactoryProvider" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const defaultEmbeddableFactoryProvider: = IEmbeddable, T extends SavedObjectAttributes_3 = SavedObjectAttributes_3>(def: EmbeddableFactoryDefinition) => EmbeddableFactory; - -// Warning: (ae-forgotten-export) The symbol "ActionContext" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EditPanelAction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class EditPanelAction implements Action_3 { - constructor(getEmbeddableFactory: EmbeddableStart['getEmbeddableFactory'], application: ApplicationStart_2, stateTransfer?: EmbeddableStateTransfer | undefined); - // (undocumented) - currentAppId: string | undefined; - // (undocumented) - execute(context: ActionContext_3): Promise; - // Warning: (ae-forgotten-export) The symbol "NavigationContext" needs to be exported by the entry point index.d.ts - // - // (undocumented) - getAppTarget({ embeddable }: ActionContext_3): NavigationContext | undefined; - // (undocumented) - getDisplayName({ embeddable }: ActionContext_3): string; - // (undocumented) - getHref({ embeddable }: ActionContext_3): Promise; - // (undocumented) - getIconType(): string; - // (undocumented) - readonly id = "editPanel"; - // (undocumented) - isCompatible({ embeddable }: ActionContext_3): Promise; - // (undocumented) - order: number; - // (undocumented) - readonly type = "editPanel"; -} - -// Warning: (ae-missing-release-tag) "Embeddable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export abstract class Embeddable implements IEmbeddable { - constructor(input: TEmbeddableInput, output: TEmbeddableOutput, parent?: IContainer); - // (undocumented) - readonly deferEmbeddableLoad: boolean; - destroy(): void; - // (undocumented) - protected destroyed: boolean; - // (undocumented) - fatalError?: Error; - // (undocumented) - getInput$(): Readonly>; - // (undocumented) - getInput(): Readonly; - getInspectorAdapters(): Adapters | undefined; - // (undocumented) - getIsContainer(): this is IContainer; - // (undocumented) - getOutput$(): Readonly>; - // (undocumented) - getOutput(): Readonly; - getRoot(): IEmbeddable | IContainer; - // (undocumented) - getTitle(): string; - getUpdated$(): Readonly>; - // (undocumented) - readonly id: string; - // (undocumented) - protected input: TEmbeddableInput; - // (undocumented) - readonly isContainer: boolean; - // (undocumented) - protected onFatalError(e: Error): void; - // (undocumented) - protected output: TEmbeddableOutput; - // (undocumented) - readonly parent?: IContainer; - abstract reload(): void; - // (undocumented) - render(el: HTMLElement): void; - // Warning: (ae-forgotten-export) The symbol "RenderCompleteDispatcher" needs to be exported by the entry point index.d.ts - // - // (undocumented) - protected renderComplete: RenderCompleteDispatcher; - // (undocumented) - static runtimeId: number; - // (undocumented) - readonly runtimeId: number; - protected setInitializationFinished(): void; - // (undocumented) - supportedTriggers(): string[]; - // (undocumented) - abstract readonly type: string; - // (undocumented) - updateInput(changes: Partial): void; - // (undocumented) - protected updateOutput(outputChanges: Partial): void; -} - -// Warning: (ae-forgotten-export) The symbol "State" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EmbeddableChildPanel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export class EmbeddableChildPanel extends React.Component { - constructor(props: EmbeddableChildPanelProps); - // (undocumented) - [panel: string]: any; - // (undocumented) - componentDidMount(): Promise; - // (undocumented) - componentWillUnmount(): void; - // (undocumented) - embeddable: IEmbeddable | ErrorEmbeddable; - // (undocumented) - mounted: boolean; - // (undocumented) - render(): JSX.Element; - } - -// Warning: (ae-missing-release-tag) "EmbeddableChildPanelProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EmbeddableChildPanelProps { - // (undocumented) - className?: string; - // (undocumented) - container: IContainer; - // (undocumented) - embeddableId: string; - // (undocumented) - PanelComponent: EmbeddableStart['EmbeddablePanel']; -} - -// Warning: (ae-missing-release-tag) "EmbeddableContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EmbeddableContext { - // (undocumented) - embeddable: T; -} - -// @public -export interface EmbeddableEditorState { - // (undocumented) - embeddableId?: string; - // (undocumented) - originatingApp: string; - // (undocumented) - originatingPath?: string; - searchSessionId?: string; - // (undocumented) - valueInput?: EmbeddableInput; -} - -// Warning: (ae-forgotten-export) The symbol "PersistableState" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "EmbeddableStateWithType" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EmbeddableFactory" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface EmbeddableFactory = IEmbeddable, TSavedObjectAttributes extends SavedObjectAttributes_2 = SavedObjectAttributes_2> extends PersistableState { - canCreateNew(): boolean; - create(initialInput: TEmbeddableInput, parent?: IContainer): Promise; - createFromSavedObject(savedObjectId: string, input: Partial, parent?: IContainer): Promise; - getDefaultInput(partial: Partial): Partial; - getDescription(): string; - getDisplayName(): string; - getExplicitInput(): Promise>; - getIconType(): string; - // Warning: (ae-forgotten-export) The symbol "PresentableGrouping" needs to be exported by the entry point index.d.ts - readonly grouping?: PresentableGrouping; - readonly isContainerType: boolean; - readonly isEditable: () => Promise; - // Warning: (ae-forgotten-export) The symbol "SavedObjectMetaData" needs to be exported by the entry point index.d.ts - // - // (undocumented) - readonly savedObjectMetaData?: SavedObjectMetaData; - // (undocumented) - readonly type: string; -} - -// Warning: (ae-missing-release-tag) "EmbeddableFactoryDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type EmbeddableFactoryDefinition = IEmbeddable, T extends SavedObjectAttributes = SavedObjectAttributes> = Pick, 'create' | 'type' | 'isEditable' | 'getDisplayName'> & Partial, 'createFromSavedObject' | 'isContainerType' | 'getExplicitInput' | 'savedObjectMetaData' | 'canCreateNew' | 'getDefaultInput' | 'telemetry' | 'extract' | 'inject' | 'migrations' | 'grouping' | 'getIconType' | 'getDescription'>>; - -// Warning: (ae-missing-release-tag) "EmbeddableFactoryNotFoundError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class EmbeddableFactoryNotFoundError extends Error { - constructor(type: string); - // (undocumented) - code: string; -} - -// Warning: (ae-missing-release-tag) "EmbeddableInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type EmbeddableInput = { - viewMode?: ViewMode; - title?: string; - id: string; - lastReloadRequestTime?: number; - hidePanelTitles?: boolean; - enhancements?: SerializableRecord; - disabledActions?: string[]; - disableTriggers?: boolean; - searchSessionId?: string; - syncColors?: boolean; - executionContext?: KibanaExecutionContext_2; -}; - -// Warning: (ae-missing-release-tag) "EmbeddableInstanceConfiguration" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EmbeddableInstanceConfiguration { - // (undocumented) - id: string; - // (undocumented) - savedObjectId?: string; -} - -// Warning: (ae-missing-release-tag) "EmbeddableOutput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EmbeddableOutput { - // (undocumented) - defaultTitle?: string; - // (undocumented) - editable?: boolean; - // (undocumented) - editApp?: string; - // (undocumented) - editPath?: string; - // (undocumented) - editUrl?: string; - // Warning: (ae-forgotten-export) The symbol "EmbeddableError" needs to be exported by the entry point index.d.ts - // - // (undocumented) - error?: EmbeddableError; - // (undocumented) - loading?: boolean; - // (undocumented) - savedObjectId?: string; - // (undocumented) - title?: string; -} - -// @public -export interface EmbeddablePackageState { - // (undocumented) - embeddableId?: string; - // (undocumented) - input: Optional | Optional; - searchSessionId?: string; - // (undocumented) - type: string; -} - -// Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "State" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EmbeddablePanel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class EmbeddablePanel extends React.Component { - constructor(props: Props); - // (undocumented) - closeMyContextMenuPanel: () => void; - // (undocumented) - componentDidMount(): void; - // (undocumented) - componentWillUnmount(): void; - // (undocumented) - onBlur: (blurredPanelIndex: string) => void; - // (undocumented) - onFocus: (focusedPanelIndex: string) => void; - // (undocumented) - render(): JSX.Element; - // (undocumented) - UNSAFE_componentWillMount(): void; -} - -// Warning: (ae-missing-release-tag) "EmbeddablePanelHOC" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type EmbeddablePanelHOC = React.FC<{ - embeddable: IEmbeddable; - hideHeader?: boolean; -}>; - -// @public -export const EmbeddableRenderer: (props: EmbeddableRendererProps) => JSX.Element; - -// Warning: (ae-forgotten-export) The symbol "EmbeddableRendererPropsWithEmbeddable" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "EmbeddableRendererWithFactory" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EmbeddableRendererProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type EmbeddableRendererProps = EmbeddableRendererPropsWithEmbeddable | EmbeddableRendererWithFactory; - -// Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EmbeddableRoot" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class EmbeddableRoot extends React.Component { - constructor(props: Props_2); - // (undocumented) - componentDidMount(): void; - // (undocumented) - componentDidUpdate(prevProps?: Props_2): void; - // (undocumented) - render(): JSX.Element; - // (undocumented) - shouldComponentUpdate(newProps: Props_2): boolean; -} - -// Warning: (ae-missing-release-tag) "EmbeddableSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EmbeddableSetup { - // (undocumented) - registerEmbeddableFactory: = IEmbeddable>(id: string, factory: EmbeddableFactoryDefinition) => () => EmbeddableFactory; - // (undocumented) - registerEnhancement: (enhancement: EnhancementRegistryDefinition) => void; - // Warning: (ae-forgotten-export) The symbol "EmbeddableFactoryProvider" needs to be exported by the entry point index.d.ts - // - // (undocumented) - setCustomEmbeddableFactoryProvider: (customProvider: EmbeddableFactoryProvider) => void; -} - -// Warning: (ae-missing-release-tag) "EmbeddableSetupDependencies" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EmbeddableSetupDependencies { - // Warning: (ae-forgotten-export) The symbol "UiActionsSetup" needs to be exported by the entry point index.d.ts - // - // (undocumented) - uiActions: UiActionsSetup; -} - -// Warning: (ae-forgotten-export) The symbol "PersistableStateService" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EmbeddableStart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EmbeddableStart extends PersistableStateService { - // (undocumented) - EmbeddablePanel: EmbeddablePanelHOC; - // (undocumented) - getAttributeService: (type: string, options: AttributeServiceOptions) => AttributeService; - // (undocumented) - getEmbeddableFactories: () => IterableIterator; - // (undocumented) - getEmbeddableFactory: = IEmbeddable>(embeddableFactoryId: string) => EmbeddableFactory | undefined; - // Warning: (ae-forgotten-export) The symbol "Storage" needs to be exported by the entry point index.d.ts - // - // (undocumented) - getStateTransfer: (storage?: Storage) => EmbeddableStateTransfer; -} - -// Warning: (ae-missing-release-tag) "EmbeddableStartDependencies" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EmbeddableStartDependencies { - // Warning: (ae-forgotten-export) The symbol "Start" needs to be exported by the entry point index.d.ts - // - // (undocumented) - inspector: Start; - // Warning: (ae-forgotten-export) The symbol "UiActionsStart" needs to be exported by the entry point index.d.ts - // - // (undocumented) - uiActions: UiActionsStart; -} - -// @public -export class EmbeddableStateTransfer { - // Warning: (ae-forgotten-export) The symbol "ApplicationStart" needs to be exported by the entry point index.d.ts - // Warning: (ae-forgotten-export) The symbol "PublicAppInfo" needs to be exported by the entry point index.d.ts - constructor(navigateToApp: ApplicationStart['navigateToApp'], currentAppId$: ApplicationStart['currentAppId$'], appList?: ReadonlyMap | undefined, customStorage?: Storage); - clearEditorState(appId?: string): void; - getAppNameFromId: (appId: string) => string | undefined; - getIncomingEditorState(appId: string, removeAfterFetch?: boolean): EmbeddableEditorState | undefined; - getIncomingEmbeddablePackage(appId: string, removeAfterFetch?: boolean): EmbeddablePackageState | undefined; - // (undocumented) - isTransferInProgress: boolean; - // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "ApplicationStart" - navigateToEditor(appId: string, options?: { - path?: string; - openInNewTab?: boolean; - state: EmbeddableEditorState; - }): Promise; - // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "ApplicationStart" - navigateToWithEmbeddablePackage(appId: string, options?: { - path?: string; - state: EmbeddablePackageState; - }): Promise; - } - -// Warning: (ae-forgotten-export) The symbol "PersistableStateDefinition" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EnhancementRegistryDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EnhancementRegistryDefinition

extends PersistableStateDefinition

{ - // (undocumented) - id: string; -} - -// Warning: (ae-missing-release-tag) "ErrorEmbeddable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ErrorEmbeddable extends Embeddable { - constructor(error: Error | string, input: EmbeddableInput, parent?: IContainer); - // (undocumented) - destroy(): void; - // (undocumented) - error: Error | string; - // (undocumented) - reload(): void; - // (undocumented) - render(dom: HTMLElement): void; - // (undocumented) - readonly type = "error"; -} - -// Warning: (ae-missing-release-tag) "IContainer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IContainer = ContainerInput, O extends ContainerOutput = ContainerOutput> extends IEmbeddable { - addNewEmbeddable = Embeddable>(type: string, explicitInput: Partial): Promise; - getChild = Embeddable>(id: string): E; - getInputForChild(id: string): EEI; - removeEmbeddable(embeddableId: string): void; - setChildLoaded(embeddable: E): void; - untilEmbeddableLoaded(id: string): Promise; - updateInputForChild(id: string, changes: Partial): void; -} - -// Warning: (ae-missing-release-tag) "IEmbeddable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IEmbeddable { - readonly deferEmbeddableLoad: boolean; - destroy(): void; - enhancements?: object; - fatalError?: Error; - getInput$(): Readonly>; - getInput(): Readonly; - getInspectorAdapters(): Adapters | undefined; - getIsContainer(): this is IContainer; - getOutput$(): Readonly>; - getOutput(): Readonly; - getRoot(): IEmbeddable | IContainer; - getTitle(): string | undefined; - readonly id: string; - readonly isContainer: boolean; - readonly parent?: IContainer; - reload(): void; - render(domNode: HTMLElement | Element): void; - readonly runtimeId?: number; - supportedTriggers(): string[]; - readonly type: string; - updateInput(changes: Partial): void; -} - -// Warning: (ae-missing-release-tag) "isContextMenuTriggerContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const isContextMenuTriggerContext: (context: unknown) => context is EmbeddableContext>; - -// Warning: (ae-missing-release-tag) "isEmbeddable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const isEmbeddable: (x: unknown) => x is IEmbeddable; - -// Warning: (ae-missing-release-tag) "isErrorEmbeddable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function isErrorEmbeddable(embeddable: TEmbeddable | ErrorEmbeddable): embeddable is ErrorEmbeddable; - -// Warning: (ae-missing-release-tag) "isRangeSelectTriggerContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const isRangeSelectTriggerContext: (context: ChartActionContext) => context is RangeSelectContext>; - -// Warning: (ae-missing-release-tag) "isReferenceOrValueEmbeddable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function isReferenceOrValueEmbeddable(incoming: unknown): incoming is ReferenceOrValueEmbeddable; - -// Warning: (ae-missing-release-tag) "isRowClickTriggerContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const isRowClickTriggerContext: (context: ChartActionContext) => context is RowClickContext; - -// Warning: (ae-missing-release-tag) "isSavedObjectEmbeddableInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function isSavedObjectEmbeddableInput(input: EmbeddableInput | SavedObjectEmbeddableInput): input is SavedObjectEmbeddableInput; - -// Warning: (ae-missing-release-tag) "isValueClickTriggerContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const isValueClickTriggerContext: (context: ChartActionContext) => context is ValueClickContext>; - -// Warning: (ae-missing-release-tag) "openAddPanelFlyout" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function openAddPanelFlyout(options: { - embeddable: IContainer; - getFactory: EmbeddableStart['getEmbeddableFactory']; - getAllFactories: EmbeddableStart['getEmbeddableFactories']; - overlays: OverlayStart_2; - notifications: NotificationsStart_2; - SavedObjectFinder: React.ComponentType; - showCreateNewMenu?: boolean; - reportUiCounter?: UsageCollectionStart['reportUiCounter']; -}): OverlayRef_2; - -// Warning: (ae-missing-release-tag) "OutputSpec" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface OutputSpec { - // (undocumented) - [key: string]: PropertySpec; -} - -// Warning: (ae-missing-release-tag) "PANEL_BADGE_TRIGGER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const PANEL_BADGE_TRIGGER = "PANEL_BADGE_TRIGGER"; - -// Warning: (ae-missing-release-tag) "PANEL_NOTIFICATION_TRIGGER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const PANEL_NOTIFICATION_TRIGGER = "PANEL_NOTIFICATION_TRIGGER"; - -// Warning: (ae-missing-release-tag) "panelBadgeTrigger" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const panelBadgeTrigger: Trigger; - -// Warning: (ae-missing-release-tag) "PanelNotFoundError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class PanelNotFoundError extends Error { - constructor(); - // (undocumented) - code: string; -} - -// Warning: (ae-missing-release-tag) "panelNotificationTrigger" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const panelNotificationTrigger: Trigger; - -// Warning: (ae-missing-release-tag) "PanelState" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface PanelState { - // (undocumented) - explicitInput: Partial & { - id: string; - }; - // (undocumented) - type: string; -} - -// Warning: (ae-forgotten-export) The symbol "EmbeddablePublicPlugin" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "plugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function plugin(initializerContext: PluginInitializerContext): EmbeddablePublicPlugin; - -// Warning: (ae-missing-release-tag) "PropertySpec" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface PropertySpec { - // (undocumented) - accessPath: string; - // (undocumented) - description: string; - // (undocumented) - displayName: string; - // (undocumented) - id: string; - // (undocumented) - value?: string; -} - -// Warning: (ae-missing-release-tag) "RangeSelectContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface RangeSelectContext { - // (undocumented) - data: { - table: Datatable; - column: number; - range: number[]; - timeFieldName?: string; - }; - // (undocumented) - embeddable?: T; -} - -// @public -export interface ReferenceOrValueEmbeddable { - getInputAsRefType: () => Promise; - getInputAsValueType: () => Promise; - inputIsRefType: (input: ValTypeInput | RefTypeInput) => input is RefTypeInput; -} - -// Warning: (ae-missing-release-tag) "SavedObjectEmbeddableInput" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface SavedObjectEmbeddableInput extends EmbeddableInput { - // (undocumented) - savedObjectId: string; -} - -// Warning: (ae-missing-release-tag) "SELECT_RANGE_TRIGGER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const SELECT_RANGE_TRIGGER = "SELECT_RANGE_TRIGGER"; - -// Warning: (ae-missing-release-tag) "useEmbeddableFactory" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function useEmbeddableFactory({ input, factory, onInputUpdated, }: EmbeddableRendererWithFactory): readonly [ErrorEmbeddable | IEmbeddable | undefined, boolean, string | undefined]; - -// Warning: (ae-missing-release-tag) "VALUE_CLICK_TRIGGER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const VALUE_CLICK_TRIGGER = "VALUE_CLICK_TRIGGER"; - -// Warning: (ae-missing-release-tag) "ValueClickContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ValueClickContext { - // (undocumented) - data: { - data: Array<{ - table: Pick; - column: number; - row: number; - value: any; - }>; - timeFieldName?: string; - negate?: boolean; - }; - // (undocumented) - embeddable?: T; -} - -// Warning: (ae-missing-release-tag) "ViewMode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export enum ViewMode { - // (undocumented) - EDIT = "edit", - // (undocumented) - VIEW = "view" -} - -// Warning: (ae-missing-release-tag) "withEmbeddableSubscription" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const withEmbeddableSubscription: = IEmbeddable, ExtraProps = {}>(WrappedComponent: React.ComponentType<{ - input: I; - output: O; - embeddable: E; -} & ExtraProps>) => React.ComponentType<{ - embeddable: E; -} & ExtraProps>; - - -// Warnings were encountered during analysis: -// -// src/plugins/embeddable/public/lib/panel/panel_header/panel_actions/add_panel/open_add_panel_flyout.tsx:25:3 - (ae-forgotten-export) The symbol "UsageCollectionStart" needs to be exported by the entry point index.d.ts -// src/plugins/embeddable/public/lib/triggers/triggers.ts:35:5 - (ae-forgotten-export) The symbol "Datatable" needs to be exported by the entry point index.d.ts - -// (No @packageDocumentation comment for this package) - -``` diff --git a/src/plugins/embeddable/server/server.api.md b/src/plugins/embeddable/server/server.api.md deleted file mode 100644 index e17f40423b00b..0000000000000 --- a/src/plugins/embeddable/server/server.api.md +++ /dev/null @@ -1,60 +0,0 @@ -## API Report File for "kibana" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { CoreSetup } from 'kibana/server'; -import { CoreStart } from 'kibana/server'; -import { KibanaExecutionContext } from 'src/core/public'; -import { Plugin } from 'kibana/server'; -import { SerializableRecord } from '@kbn/utility-types'; - -// Warning: (ae-forgotten-export) The symbol "EmbeddableStateWithType" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "PersistableStateDefinition" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EmbeddableRegistryDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EmbeddableRegistryDefinition

extends PersistableStateDefinition

{ - // (undocumented) - id: string; -} - -// Warning: (ae-forgotten-export) The symbol "PersistableStateService" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "EmbeddableSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EmbeddableSetup extends PersistableStateService { - // Warning: (ae-forgotten-export) The symbol "MigrateFunctionsObject" needs to be exported by the entry point index.d.ts - // - // (undocumented) - getAllMigrations: () => MigrateFunctionsObject; - // (undocumented) - registerEmbeddableFactory: (factory: EmbeddableRegistryDefinition) => void; - // (undocumented) - registerEnhancement: (enhancement: EnhancementRegistryDefinition) => void; -} - -// Warning: (ae-missing-release-tag) "EmbeddableStart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type EmbeddableStart = PersistableStateService; - -// Warning: (ae-missing-release-tag) "EnhancementRegistryDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface EnhancementRegistryDefinition

extends PersistableStateDefinition

- -

- } - /> - ) : ( - <> - - {tableView === 'gridView' && ( -
+ {totalCountMinusDeleted === 0 && loading === false && ( + + + + } + titleSize="s" + body={ +

+ - )} - - )} - - - - - ) : null} +

+ } + /> + )} + {totalCountMinusDeleted > 0 && ( + + )} + + )} + + )} ); diff --git a/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx index 9c755202aea81..ad77ad177a9fe 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/standalone/index.tsx @@ -4,15 +4,17 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { EuiEmptyPrompt, EuiFlexGroup, EuiFlexItem, EuiLoadingContent } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n/react'; import { isEmpty } from 'lodash/fp'; -import React, { useEffect, useMemo, useState } from 'react'; +import React, { useEffect, useMemo, useState, useRef } from 'react'; import styled from 'styled-components'; import { useDispatch, useSelector } from 'react-redux'; import { useKibana } from '../../../../../../../src/plugins/kibana_react/public'; import { Direction, EntityType } from '../../../../common/search_strategy'; import type { CoreStart } from '../../../../../../../src/core/public'; import { TGridCellAction, TimelineTabs } from '../../../../common/types/timeline'; + import type { CellValueElementProps, ColumnHeaderOptions, @@ -31,12 +33,11 @@ import { } from '../../../../../../../src/plugins/data/public'; import { useDeepEqualSelector } from '../../../hooks/use_selector'; import { defaultHeaders } from '../body/column_headers/default_headers'; -import { calculateTotalPages, combineQueries, getCombinedFilterQuery } from '../helpers'; +import { combineQueries, getCombinedFilterQuery } from '../helpers'; import { tGridActions, tGridSelectors } from '../../../store/t_grid'; import type { State } from '../../../store/t_grid'; import { useTimelineEvents } from '../../../container'; import { StatefulBody } from '../body'; -import { Footer, footerHeight } from '../footer'; import { LastUpdatedAt } from '../..'; import { SELECTOR_TIMELINE_GLOBAL_CONTAINER, UpdatedFlexItem, UpdatedFlexGroup } from '../styles'; import { InspectButton, InspectButtonContainer } from '../../inspect'; @@ -152,6 +153,7 @@ const TGridStandaloneComponent: React.FC = ({ itemsPerPage: itemsPerPageStore, itemsPerPageOptions: itemsPerPageOptionsStore, queryFields, + sort: sortStore, title, } = useDeepEqualSelector((state) => getTGrid(state, STANDALONE_ID ?? '')); @@ -194,12 +196,12 @@ const TGridStandaloneComponent: React.FC = ({ const sortField = useMemo( () => - sort.map(({ columnId, columnType, sortDirection }) => ({ + sortStore.map(({ columnId, columnType, sortDirection }) => ({ field: columnId, type: columnType, direction: sortDirection as Direction, })), - [sort] + [sortStore] ); const [ @@ -312,6 +314,7 @@ const TGridStandaloneComponent: React.FC = ({ id: STANDALONE_ID, defaultColumns: columns, footerText, + sort, loadingText, unit, }) @@ -319,9 +322,17 @@ const TGridStandaloneComponent: React.FC = ({ // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + const isFirstUpdate = useRef(true); + useEffect(() => { + if (isFirstUpdate.current && !loading) { + isFirstUpdate.current = false; + } + }, [loading]); + return ( + {isFirstUpdate.current && } {canQueryTimeline ? ( <> = ({ - - - -
- - + {totalCountMinusDeleted === 0 && loading === false && ( + + + + } + titleSize="s" + body={ +

+ +

+ } + /> + )} + {totalCountMinusDeleted > 0 && ( + + + + + + )} ) : null} diff --git a/x-pack/plugins/timelines/public/container/index.tsx b/x-pack/plugins/timelines/public/container/index.tsx index 87359516a9db9..cdc31ce28e380 100644 --- a/x-pack/plugins/timelines/public/container/index.tsx +++ b/x-pack/plugins/timelines/public/container/index.tsx @@ -134,7 +134,7 @@ export const useTimelineEvents = ({ const refetch = useRef(noop); const abortCtrl = useRef(new AbortController()); const searchSubscription$ = useRef(new Subscription()); - const [loading, setLoading] = useState(false); + const [loading, setLoading] = useState(true); const [activePage, setActivePage] = useState(0); const [timelineRequest, setTimelineRequest] = useState | null>( null diff --git a/x-pack/plugins/timelines/public/index.ts b/x-pack/plugins/timelines/public/index.ts index 204b1e5b8bd2e..3a609155ad892 100644 --- a/x-pack/plugins/timelines/public/index.ts +++ b/x-pack/plugins/timelines/public/index.ts @@ -50,6 +50,7 @@ export { skipFocusInContainerTo, stopPropagationAndPreventDefault, } from '../common/utils/accessibility'; +export { getPageRowIndex } from '../common/utils/pagination'; export { addFieldToTimelineColumns, getTimelineIdFromColumnDroppableId, diff --git a/x-pack/plugins/timelines/public/methods/index.tsx b/x-pack/plugins/timelines/public/methods/index.tsx index 55d15a6410fde..91802c4eb10e1 100644 --- a/x-pack/plugins/timelines/public/methods/index.tsx +++ b/x-pack/plugins/timelines/public/methods/index.tsx @@ -6,7 +6,7 @@ */ import React, { lazy, Suspense } from 'react'; -import { EuiLoadingSpinner } from '@elastic/eui'; +import { EuiLoadingContent, EuiLoadingSpinner, EuiPanel } from '@elastic/eui'; import { I18nProvider } from '@kbn/i18n/react'; import type { Store } from 'redux'; import { Provider } from 'react-redux'; @@ -51,7 +51,13 @@ export const getTGridLazy = ( ) => { initializeStore({ store, storage, setStore }); return ( - }> + + + + } + > ); From a3d03ecbdfe1364bcec965e6f4e533c39e91ad5d Mon Sep 17 00:00:00 2001 From: ymao1 Date: Thu, 26 Aug 2021 14:50:32 -0400 Subject: [PATCH 098/139] [Alerting] Remove predefined connectors from rule reference array (#109437) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Exposing preconfigured connectors through actions setup contract * Adding stub for migration using preconfigured connectors * Adding isPreconfigured fn to actions client * Updating rules client logic to not extract predefined connector ids * Functional tests * Adding migration * Adding functional test for migration * Adding functional test for migration * Adding note to docs about referenced_by_count if is_preconfigured * Fixing functional test * Changing to isPreconfiguredConnector fn in actions plugin setup contract * Update docs/api/actions-and-connectors/get_all.asciidoc Co-authored-by: Mike Côté Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Mike Côté --- .../actions-and-connectors/get_all.asciidoc | 4 +- .../actions/server/actions_client.mock.ts | 1 + .../actions/server/actions_client.test.ts | 62 +++ .../plugins/actions/server/actions_client.ts | 4 + x-pack/plugins/actions/server/mocks.ts | 1 + x-pack/plugins/actions/server/plugin.test.ts | 56 +++ x-pack/plugins/actions/server/plugin.ts | 6 + x-pack/plugins/alerting/server/plugin.ts | 3 +- .../server/rules_client/rules_client.ts | 40 +- .../server/rules_client/tests/create.test.ts | 247 ++++++++++++ .../server/rules_client/tests/find.test.ts | 100 +++++ .../server/rules_client/tests/get.test.ts | 80 ++++ .../server/rules_client/tests/update.test.ts | 251 +++++++++++- .../alerting/server/saved_objects/index.ts | 6 +- .../server/saved_objects/migrations.test.ts | 379 ++++++++++++++++-- .../server/saved_objects/migrations.ts | 85 +++- .../tests/actions/get_all.ts | 2 +- .../spaces_only/tests/alerting/create.ts | 108 +++++ .../spaces_only/tests/alerting/migrations.ts | 41 +- .../functional/es_archives/alerts/data.json | 65 +++ 20 files changed, 1475 insertions(+), 66 deletions(-) diff --git a/docs/api/actions-and-connectors/get_all.asciidoc b/docs/api/actions-and-connectors/get_all.asciidoc index 8036b9fea7f95..943c7d123775f 100644 --- a/docs/api/actions-and-connectors/get_all.asciidoc +++ b/docs/api/actions-and-connectors/get_all.asciidoc @@ -44,7 +44,7 @@ The API returns the following: "connector_type_id": ".email", "name": "email: preconfigured-mail-connector", "is_preconfigured": true, - "referenced_by_count": 1 + "referenced_by_count": 0 <1> }, { "id": "c55b6eb0-6bad-11eb-9f3b-611eebc6c3ad", @@ -61,3 +61,5 @@ The API returns the following: } ] -------------------------------------------------- + +<1> `referenced_by_count` - The number of saved-objects referencing this connector. This value is not calculated if `is_preconfigured: true`. \ No newline at end of file diff --git a/x-pack/plugins/actions/server/actions_client.mock.ts b/x-pack/plugins/actions/server/actions_client.mock.ts index aa766eba92eb3..419babe97c0f4 100644 --- a/x-pack/plugins/actions/server/actions_client.mock.ts +++ b/x-pack/plugins/actions/server/actions_client.mock.ts @@ -24,6 +24,7 @@ const createActionsClientMock = () => { ephemeralEnqueuedExecution: jest.fn(), listTypes: jest.fn(), isActionTypeEnabled: jest.fn(), + isPreconfigured: jest.fn(), }; return mocked; }; diff --git a/x-pack/plugins/actions/server/actions_client.test.ts b/x-pack/plugins/actions/server/actions_client.test.ts index 4b600d73ab0bd..4a35b5c7dfbeb 100644 --- a/x-pack/plugins/actions/server/actions_client.test.ts +++ b/x-pack/plugins/actions/server/actions_client.test.ts @@ -1823,3 +1823,65 @@ describe('isActionTypeEnabled()', () => { }); }); }); + +describe('isPreconfigured()', () => { + test('should return true if connector id is in list of preconfigured connectors', () => { + actionsClient = new ActionsClient({ + actionTypeRegistry, + unsecuredSavedObjectsClient, + scopedClusterClient, + defaultKibanaIndex, + actionExecutor, + executionEnqueuer, + ephemeralExecutionEnqueuer, + request, + authorization: (authorization as unknown) as ActionsAuthorization, + preconfiguredActions: [ + { + id: 'testPreconfigured', + actionTypeId: 'my-action-type', + secrets: { + test: 'test1', + }, + isPreconfigured: true, + name: 'test', + config: { + foo: 'bar', + }, + }, + ], + }); + + expect(actionsClient.isPreconfigured('testPreconfigured')).toEqual(true); + }); + + test('should return false if connector id is not in list of preconfigured connectors', () => { + actionsClient = new ActionsClient({ + actionTypeRegistry, + unsecuredSavedObjectsClient, + scopedClusterClient, + defaultKibanaIndex, + actionExecutor, + executionEnqueuer, + ephemeralExecutionEnqueuer, + request, + authorization: (authorization as unknown) as ActionsAuthorization, + preconfiguredActions: [ + { + id: 'testPreconfigured', + actionTypeId: 'my-action-type', + secrets: { + test: 'test1', + }, + isPreconfigured: true, + name: 'test', + config: { + foo: 'bar', + }, + }, + ], + }); + + expect(actionsClient.isPreconfigured(uuid.v4())).toEqual(false); + }); +}); diff --git a/x-pack/plugins/actions/server/actions_client.ts b/x-pack/plugins/actions/server/actions_client.ts index 66032a7c411ba..f1bedbe44ece8 100644 --- a/x-pack/plugins/actions/server/actions_client.ts +++ b/x-pack/plugins/actions/server/actions_client.ts @@ -523,6 +523,10 @@ export class ActionsClient { ) { return this.actionTypeRegistry.isActionTypeEnabled(actionTypeId, options); } + + public isPreconfigured(connectorId: string): boolean { + return !!this.preconfiguredActions.find((preconfigured) => preconfigured.id === connectorId); + } } function actionFromSavedObject(savedObject: SavedObject): ActionResult { diff --git a/x-pack/plugins/actions/server/mocks.ts b/x-pack/plugins/actions/server/mocks.ts index 4d32c2e2bf16d..4afdd01777f4f 100644 --- a/x-pack/plugins/actions/server/mocks.ts +++ b/x-pack/plugins/actions/server/mocks.ts @@ -19,6 +19,7 @@ export { actionsClientMock }; const createSetupMock = () => { const mock: jest.Mocked = { registerType: jest.fn(), + isPreconfiguredConnector: jest.fn(), }; return mock; }; diff --git a/x-pack/plugins/actions/server/plugin.test.ts b/x-pack/plugins/actions/server/plugin.test.ts index 9464421d5f0fb..1ae5eaf882cfc 100644 --- a/x-pack/plugins/actions/server/plugin.test.ts +++ b/x-pack/plugins/actions/server/plugin.test.ts @@ -185,6 +185,62 @@ describe('Actions Plugin', () => { }); }); }); + + describe('isPreconfiguredConnector', () => { + function getConfig(overrides = {}) { + return { + enabled: true, + enabledActionTypes: ['*'], + allowedHosts: ['*'], + preconfiguredAlertHistoryEsIndex: false, + preconfigured: { + preconfiguredServerLog: { + actionTypeId: '.server-log', + name: 'preconfigured-server-log', + config: {}, + secrets: {}, + }, + }, + proxyRejectUnauthorizedCertificates: true, + proxyBypassHosts: undefined, + proxyOnlyHosts: undefined, + rejectUnauthorized: true, + maxResponseContentLength: new ByteSizeValue(1000000), + responseTimeout: moment.duration('60s'), + cleanupFailedExecutionsTask: { + enabled: true, + cleanupInterval: schema.duration().validate('5m'), + idleInterval: schema.duration().validate('1h'), + pageSize: 100, + }, + ...overrides, + }; + } + + function setup(config: ActionsConfig) { + context = coreMock.createPluginInitializerContext(config); + plugin = new ActionsPlugin(context); + coreSetup = coreMock.createSetup(); + pluginsSetup = { + taskManager: taskManagerMock.createSetup(), + encryptedSavedObjects: encryptedSavedObjectsMock.createSetup(), + licensing: licensingMock.createSetup(), + eventLog: eventLogMock.createSetup(), + usageCollection: usageCollectionPluginMock.createSetupContract(), + features: featuresPluginMock.createSetup(), + }; + } + + it('should correctly return whether connector is preconfigured', async () => { + setup(getConfig()); + // coreMock.createSetup doesn't support Plugin generics + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const pluginSetup = await plugin.setup(coreSetup as any, pluginsSetup); + + expect(pluginSetup.isPreconfiguredConnector('preconfiguredServerLog')).toEqual(true); + expect(pluginSetup.isPreconfiguredConnector('anotherConnectorId')).toEqual(false); + }); + }); }); describe('start()', () => { diff --git a/x-pack/plugins/actions/server/plugin.ts b/x-pack/plugins/actions/server/plugin.ts index e5c81f6320f51..c3dcdbb94753b 100644 --- a/x-pack/plugins/actions/server/plugin.ts +++ b/x-pack/plugins/actions/server/plugin.ts @@ -96,6 +96,7 @@ export interface PluginSetupContract { >( actionType: ActionType ): void; + isPreconfiguredConnector(connectorId: string): boolean; } export interface PluginStartContract { @@ -289,6 +290,11 @@ export class ActionsPlugin implements Plugin { + return !!this.preconfiguredActions.find( + (preconfigured) => preconfigured.id === connectorId + ); + }, }; } diff --git a/x-pack/plugins/alerting/server/plugin.ts b/x-pack/plugins/alerting/server/plugin.ts index 95fa207cbe186..17361a3619557 100644 --- a/x-pack/plugins/alerting/server/plugin.ts +++ b/x-pack/plugins/alerting/server/plugin.ts @@ -228,7 +228,8 @@ export class AlertingPlugin { core.savedObjects, plugins.encryptedSavedObjects, this.ruleTypeRegistry, - this.logger + this.logger, + plugins.actions.isPreconfiguredConnector ); initializeApiKeyInvalidator( diff --git a/x-pack/plugins/alerting/server/rules_client/rules_client.ts b/x-pack/plugins/alerting/server/rules_client/rules_client.ts index 486cf086b4a73..5a2a124f55abc 100644 --- a/x-pack/plugins/alerting/server/rules_client/rules_client.ts +++ b/x-pack/plugins/alerting/server/rules_client/rules_client.ts @@ -189,6 +189,9 @@ export interface GetAlertInstanceSummaryParams { // NOTE: Changing this prefix will require a migration to update the prefix in all existing `rule` saved objects const extractedSavedObjectParamReferenceNamePrefix = 'param:'; +// NOTE: Changing this prefix will require a migration to update the prefix in all existing `rule` saved objects +const preconfiguredConnectorActionRefPrefix = 'preconfigured:'; + const alertingAuthorizationFilterOpts: AlertingAuthorizationFilterOpts = { type: AlertingAuthorizationFilterType.KQL, fieldNames: { ruleTypeId: 'alert.attributes.alertTypeId', consumer: 'alert.attributes.consumer' }, @@ -1508,6 +1511,13 @@ export class RulesClient { references: SavedObjectReference[] ) { return actions.map((action) => { + if (action.actionRef.startsWith(preconfiguredConnectorActionRefPrefix)) { + return { + ...omit(action, 'actionRef'), + id: action.actionRef.replace(preconfiguredConnectorActionRefPrefix, ''), + }; + } + const reference = references.find((ref) => ref.name === action.actionRef); if (!reference) { throw new Error(`Action reference "${action.actionRef}" not found in alert id: ${alertId}`); @@ -1700,17 +1710,25 @@ export class RulesClient { alertActions.forEach(({ id, ...alertAction }, i) => { const actionResultValue = actionResults.find((action) => action.id === id); if (actionResultValue) { - const actionRef = `action_${i}`; - references.push({ - id, - name: actionRef, - type: 'action', - }); - actions.push({ - ...alertAction, - actionRef, - actionTypeId: actionResultValue.actionTypeId, - }); + if (actionsClient.isPreconfigured(id)) { + actions.push({ + ...alertAction, + actionRef: `${preconfiguredConnectorActionRefPrefix}${id}`, + actionTypeId: actionResultValue.actionTypeId, + }); + } else { + const actionRef = `action_${i}`; + references.push({ + id, + name: actionRef, + type: 'action', + }); + actions.push({ + ...alertAction, + actionRef, + actionTypeId: actionResultValue.actionTypeId, + }); + } } else { actions.push({ ...alertAction, diff --git a/x-pack/plugins/alerting/server/rules_client/tests/create.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/create.test.ts index 001604d68c46b..7bb0829912a33 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/create.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/create.test.ts @@ -791,6 +791,253 @@ describe('create()', () => { `); }); + test('creates a rule with some actions using preconfigured connectors', async () => { + const data = getMockData({ + actions: [ + { + group: 'default', + id: '1', + params: { + foo: true, + }, + }, + { + group: 'default', + id: 'preconfigured', + params: { + foo: true, + }, + }, + { + group: 'default', + id: '2', + params: { + foo: true, + }, + }, + ], + }); + actionsClient.getBulk.mockReset(); + actionsClient.getBulk.mockResolvedValue([ + { + id: '1', + actionTypeId: 'test', + config: { + from: 'me@me.com', + hasAuth: false, + host: 'hello', + port: 22, + secure: null, + service: null, + }, + isMissingSecrets: false, + name: 'email connector', + isPreconfigured: false, + }, + { + id: '2', + actionTypeId: 'test2', + config: { + from: 'me@me.com', + hasAuth: false, + host: 'hello', + port: 22, + secure: null, + service: null, + }, + isMissingSecrets: false, + name: 'another email connector', + isPreconfigured: false, + }, + { + id: 'preconfigured', + actionTypeId: 'test', + config: { + from: 'me@me.com', + hasAuth: false, + host: 'hello', + port: 22, + secure: null, + service: null, + }, + isMissingSecrets: false, + name: 'preconfigured email connector', + isPreconfigured: true, + }, + ]); + actionsClient.isPreconfigured.mockReset(); + actionsClient.isPreconfigured.mockReturnValueOnce(false); + actionsClient.isPreconfigured.mockReturnValueOnce(true); + actionsClient.isPreconfigured.mockReturnValueOnce(false); + unsecuredSavedObjectsClient.create.mockResolvedValueOnce({ + id: '1', + type: 'alert', + attributes: { + alertTypeId: '123', + schedule: { interval: '10s' }, + params: { + bar: true, + }, + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + notifyWhen: 'onActiveAlert', + actions: [ + { + group: 'default', + actionRef: 'action_0', + actionTypeId: 'test', + params: { + foo: true, + }, + }, + { + group: 'default', + actionRef: 'preconfigured:preconfigured', + actionTypeId: 'test', + params: { + foo: true, + }, + }, + { + group: 'default', + actionRef: 'action_2', + actionTypeId: 'test2', + params: { + foo: true, + }, + }, + ], + }, + references: [ + { + name: 'action_0', + type: 'action', + id: '1', + }, + { + name: 'action_2', + type: 'action', + id: '2', + }, + ], + }); + unsecuredSavedObjectsClient.create.mockResolvedValueOnce({ + id: '1', + type: 'alert', + attributes: { + actions: [], + scheduledTaskId: 'task-123', + }, + references: [], + }); + const result = await rulesClient.create({ data }); + expect(result).toMatchInlineSnapshot(` + Object { + "actions": Array [ + Object { + "actionTypeId": "test", + "group": "default", + "id": "1", + "params": Object { + "foo": true, + }, + }, + Object { + "actionTypeId": "test", + "group": "default", + "id": "preconfigured", + "params": Object { + "foo": true, + }, + }, + Object { + "actionTypeId": "test2", + "group": "default", + "id": "2", + "params": Object { + "foo": true, + }, + }, + ], + "alertTypeId": "123", + "createdAt": 2019-02-12T21:01:22.479Z, + "id": "1", + "notifyWhen": "onActiveAlert", + "params": Object { + "bar": true, + }, + "schedule": Object { + "interval": "10s", + }, + "scheduledTaskId": "task-123", + "updatedAt": 2019-02-12T21:01:22.479Z, + } + `); + expect(unsecuredSavedObjectsClient.create).toHaveBeenCalledWith( + 'alert', + { + actions: [ + { + group: 'default', + actionRef: 'action_0', + actionTypeId: 'test', + params: { + foo: true, + }, + }, + { + group: 'default', + actionRef: 'preconfigured:preconfigured', + actionTypeId: 'test', + params: { + foo: true, + }, + }, + { + group: 'default', + actionRef: 'action_2', + actionTypeId: 'test2', + params: { + foo: true, + }, + }, + ], + alertTypeId: '123', + apiKey: null, + apiKeyOwner: null, + consumer: 'bar', + createdAt: '2019-02-12T21:01:22.479Z', + createdBy: 'elastic', + enabled: true, + legacyId: null, + executionStatus: { + error: null, + lastExecutionDate: '2019-02-12T21:01:22.479Z', + status: 'pending', + }, + meta: { versionApiKeyLastmodified: kibanaVersion }, + muteAll: false, + mutedInstanceIds: [], + name: 'abc', + notifyWhen: 'onActiveAlert', + params: { bar: true }, + schedule: { interval: '10s' }, + tags: ['foo'], + throttle: null, + updatedAt: '2019-02-12T21:01:22.479Z', + updatedBy: 'elastic', + }, + { + id: 'mock-saved-object-id', + references: [ + { id: '1', name: 'action_0', type: 'action' }, + { id: '2', name: 'action_2', type: 'action' }, + ], + } + ); + expect(actionsClient.isPreconfigured).toHaveBeenCalledTimes(3); + }); + test('creates a disabled alert', async () => { const data = getMockData({ enabled: false }); unsecuredSavedObjectsClient.create.mockResolvedValueOnce({ diff --git a/x-pack/plugins/alerting/server/rules_client/tests/find.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/find.test.ts index b839fdad3e6c2..cbbce77dc3bfe 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/find.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/find.test.ts @@ -185,6 +185,106 @@ describe('find()', () => { `); }); + test('finds rules with actions using preconfigured connectors', async () => { + unsecuredSavedObjectsClient.find.mockReset(); + unsecuredSavedObjectsClient.find.mockResolvedValueOnce({ + total: 1, + per_page: 10, + page: 1, + saved_objects: [ + { + id: '1', + type: 'alert', + attributes: { + alertTypeId: 'myType', + schedule: { interval: '10s' }, + params: { + bar: true, + }, + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + notifyWhen: 'onActiveAlert', + actions: [ + { + group: 'default', + actionRef: 'action_0', + params: { + foo: true, + }, + }, + { + group: 'default', + actionRef: 'preconfigured:preconfigured', + params: { + foo: true, + }, + }, + ], + }, + score: 1, + references: [ + { + name: 'action_0', + type: 'action', + id: '1', + }, + ], + }, + ], + }); + const rulesClient = new RulesClient(rulesClientParams); + const result = await rulesClient.find({ options: {} }); + expect(result).toMatchInlineSnapshot(` + Object { + "data": Array [ + Object { + "actions": Array [ + Object { + "group": "default", + "id": "1", + "params": Object { + "foo": true, + }, + }, + Object { + "group": "default", + "id": "preconfigured", + "params": Object { + "foo": true, + }, + }, + ], + "alertTypeId": "myType", + "createdAt": 2019-02-12T21:01:22.479Z, + "id": "1", + "notifyWhen": "onActiveAlert", + "params": Object { + "bar": true, + }, + "schedule": Object { + "interval": "10s", + }, + "updatedAt": 2019-02-12T21:01:22.479Z, + }, + ], + "page": 1, + "perPage": 10, + "total": 1, + } + `); + expect(unsecuredSavedObjectsClient.find).toHaveBeenCalledTimes(1); + expect(unsecuredSavedObjectsClient.find.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + Object { + "fields": undefined, + "filter": undefined, + "sortField": undefined, + "type": "alert", + }, + ] + `); + }); + test('calls mapSortField', async () => { const rulesClient = new RulesClient(rulesClientParams); await rulesClient.find({ options: { sortField: 'name' } }); diff --git a/x-pack/plugins/alerting/server/rules_client/tests/get.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/get.test.ts index c25dcfdebeea6..2209322768a77 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/get.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/get.test.ts @@ -119,6 +119,86 @@ describe('get()', () => { `); }); + test('gets rule with actions using preconfigured connectors', async () => { + const rulesClient = new RulesClient(rulesClientParams); + unsecuredSavedObjectsClient.get.mockResolvedValueOnce({ + id: '1', + type: 'alert', + attributes: { + alertTypeId: '123', + schedule: { interval: '10s' }, + params: { + bar: true, + }, + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + actions: [ + { + group: 'default', + actionRef: 'action_0', + params: { + foo: true, + }, + }, + { + group: 'default', + actionRef: 'preconfigured:preconfigured', + params: { + foo: true, + }, + }, + ], + notifyWhen: 'onActiveAlert', + }, + references: [ + { + name: 'action_0', + type: 'action', + id: '1', + }, + ], + }); + const result = await rulesClient.get({ id: '1' }); + expect(result).toMatchInlineSnapshot(` + Object { + "actions": Array [ + Object { + "group": "default", + "id": "1", + "params": Object { + "foo": true, + }, + }, + Object { + "group": "default", + "id": "preconfigured", + "params": Object { + "foo": true, + }, + }, + ], + "alertTypeId": "123", + "createdAt": 2019-02-12T21:01:22.479Z, + "id": "1", + "notifyWhen": "onActiveAlert", + "params": Object { + "bar": true, + }, + "schedule": Object { + "interval": "10s", + }, + "updatedAt": 2019-02-12T21:01:22.479Z, + } + `); + expect(unsecuredSavedObjectsClient.get).toHaveBeenCalledTimes(1); + expect(unsecuredSavedObjectsClient.get.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + "alert", + "1", + ] + `); + }); + test('should call useSavedObjectReferences.injectReferences if defined for rule type', async () => { const injectReferencesFn = jest.fn().mockReturnValue({ bar: true, diff --git a/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts b/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts index ceeaf0e183fb7..b72d8dd621ba1 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts +++ b/x-pack/plugins/alerting/server/rules_client/tests/update.test.ts @@ -130,7 +130,10 @@ describe('update()', () => { ruleTypeRegistry.get.mockReturnValue({ id: 'myType', name: 'Test', - actionGroups: [{ id: 'default', name: 'Default' }], + actionGroups: [ + { id: 'default', name: 'Default' }, + { id: 'custom', name: 'Not the Default' }, + ], defaultActionGroupId: 'default', minimumLicenseRequired: 'basic', isExportable: true, @@ -407,6 +410,252 @@ describe('update()', () => { expect(actionsClient.isActionTypeEnabled).toHaveBeenCalledWith('test2', { notifyUsage: true }); }); + test('should update a rule with some preconfigured actions', async () => { + actionsClient.getBulk.mockReset(); + actionsClient.getBulk.mockResolvedValue([ + { + id: '1', + actionTypeId: 'test', + config: { + from: 'me@me.com', + hasAuth: false, + host: 'hello', + port: 22, + secure: null, + service: null, + }, + isMissingSecrets: false, + name: 'email connector', + isPreconfigured: false, + }, + { + id: '2', + actionTypeId: 'test2', + config: { + from: 'me@me.com', + hasAuth: false, + host: 'hello', + port: 22, + secure: null, + service: null, + }, + isMissingSecrets: false, + name: 'another email connector', + isPreconfigured: false, + }, + { + id: 'preconfigured', + actionTypeId: 'test', + config: { + from: 'me@me.com', + hasAuth: false, + host: 'hello', + port: 22, + secure: null, + service: null, + }, + isMissingSecrets: false, + name: 'preconfigured email connector', + isPreconfigured: true, + }, + ]); + actionsClient.isPreconfigured.mockReset(); + actionsClient.isPreconfigured.mockReturnValueOnce(false); + actionsClient.isPreconfigured.mockReturnValueOnce(true); + actionsClient.isPreconfigured.mockReturnValueOnce(true); + unsecuredSavedObjectsClient.create.mockResolvedValueOnce({ + id: '1', + type: 'alert', + attributes: { + enabled: true, + schedule: { interval: '10s' }, + params: { + bar: true, + }, + actions: [ + { + group: 'default', + actionRef: 'action_0', + actionTypeId: 'test', + params: { + foo: true, + }, + }, + { + group: 'default', + actionRef: 'preconfigured:preconfigured', + actionTypeId: 'test', + params: { + foo: true, + }, + }, + { + group: 'custom', + actionRef: 'preconfigured:preconfigured', + actionTypeId: 'test', + params: { + foo: true, + }, + }, + ], + notifyWhen: 'onActiveAlert', + scheduledTaskId: 'task-123', + createdAt: new Date().toISOString(), + updatedAt: new Date().toISOString(), + }, + references: [ + { + name: 'action_0', + type: 'action', + id: '1', + }, + { + name: 'param:soRef_0', + type: 'someSavedObjectType', + id: '9', + }, + ], + }); + const result = await rulesClient.update({ + id: '1', + data: { + schedule: { interval: '10s' }, + name: 'abc', + tags: ['foo'], + params: { + bar: true, + }, + throttle: null, + notifyWhen: 'onActiveAlert', + actions: [ + { + group: 'default', + id: '1', + params: { + foo: true, + }, + }, + { + group: 'default', + id: 'preconfigured', + params: { + foo: true, + }, + }, + { + group: 'custom', + id: 'preconfigured', + params: { + foo: true, + }, + }, + ], + }, + }); + + expect(unsecuredSavedObjectsClient.create).toHaveBeenNthCalledWith( + 1, + 'alert', + { + actions: [ + { + group: 'default', + actionRef: 'action_0', + actionTypeId: 'test', + params: { + foo: true, + }, + }, + { + group: 'default', + actionRef: 'preconfigured:preconfigured', + actionTypeId: 'test', + params: { + foo: true, + }, + }, + { + group: 'custom', + actionRef: 'preconfigured:preconfigured', + actionTypeId: 'test', + params: { + foo: true, + }, + }, + ], + alertTypeId: 'myType', + apiKey: null, + apiKeyOwner: null, + consumer: 'myApp', + enabled: true, + meta: { versionApiKeyLastmodified: 'v7.10.0' }, + name: 'abc', + notifyWhen: 'onActiveAlert', + params: { bar: true }, + schedule: { interval: '10s' }, + scheduledTaskId: 'task-123', + tags: ['foo'], + throttle: null, + updatedAt: '2019-02-12T21:01:22.479Z', + updatedBy: 'elastic', + }, + { + id: '1', + overwrite: true, + references: [{ id: '1', name: 'action_0', type: 'action' }], + version: '123', + } + ); + + expect(result).toMatchInlineSnapshot(` + Object { + "actions": Array [ + Object { + "actionTypeId": "test", + "group": "default", + "id": "1", + "params": Object { + "foo": true, + }, + }, + Object { + "actionTypeId": "test", + "group": "default", + "id": "preconfigured", + "params": Object { + "foo": true, + }, + }, + Object { + "actionTypeId": "test", + "group": "custom", + "id": "preconfigured", + "params": Object { + "foo": true, + }, + }, + ], + "createdAt": 2019-02-12T21:01:22.479Z, + "enabled": true, + "id": "1", + "notifyWhen": "onActiveAlert", + "params": Object { + "bar": true, + }, + "schedule": Object { + "interval": "10s", + }, + "scheduledTaskId": "task-123", + "updatedAt": 2019-02-12T21:01:22.479Z, + } + `); + expect(encryptedSavedObjects.getDecryptedAsInternalUser).toHaveBeenCalledWith('alert', '1', { + namespace: 'default', + }); + expect(unsecuredSavedObjectsClient.get).not.toHaveBeenCalled(); + expect(actionsClient.isPreconfigured).toHaveBeenCalledTimes(3); + }); + test('should call useSavedObjectReferences.extractReferences and useSavedObjectReferences.injectReferences if defined for rule type', async () => { const ruleParams = { bar: true, diff --git a/x-pack/plugins/alerting/server/saved_objects/index.ts b/x-pack/plugins/alerting/server/saved_objects/index.ts index cadbc01e8e00f..b1d56a364a3dd 100644 --- a/x-pack/plugins/alerting/server/saved_objects/index.ts +++ b/x-pack/plugins/alerting/server/saved_objects/index.ts @@ -20,7 +20,6 @@ import { RawAlert } from '../types'; import { getImportWarnings } from './get_import_warnings'; import { isRuleExportable } from './is_rule_exportable'; import { RuleTypeRegistry } from '../rule_type_registry'; - export { partiallyUpdateAlert } from './partially_update_alert'; export const AlertAttributesExcludedFromAAD = [ @@ -48,13 +47,14 @@ export function setupSavedObjects( savedObjects: SavedObjectsServiceSetup, encryptedSavedObjects: EncryptedSavedObjectsPluginSetup, ruleTypeRegistry: RuleTypeRegistry, - logger: Logger + logger: Logger, + isPreconfigured: (connectorId: string) => boolean ) { savedObjects.registerType({ name: 'alert', hidden: true, namespaceType: 'single', - migrations: getMigrations(encryptedSavedObjects), + migrations: getMigrations(encryptedSavedObjects, isPreconfigured), mappings: mappings.alert as SavedObjectsTypeMappingDefinition, management: { importableAndExportable: true, diff --git a/x-pack/plugins/alerting/server/saved_objects/migrations.test.ts b/x-pack/plugins/alerting/server/saved_objects/migrations.test.ts index c9a9d7c73a8a6..e460167b40d23 100644 --- a/x-pack/plugins/alerting/server/saved_objects/migrations.test.ts +++ b/x-pack/plugins/alerting/server/saved_objects/migrations.test.ts @@ -15,6 +15,8 @@ import { migrationMocks } from 'src/core/server/mocks'; const migrationContext = migrationMocks.createContext(); const encryptedSavedObjectsSetup = encryptedSavedObjectsMock.createSetup(); +const isPreconfigured = jest.fn(); + describe('successful migrations', () => { beforeEach(() => { jest.resetAllMocks(); @@ -22,7 +24,7 @@ describe('successful migrations', () => { }); describe('7.10.0', () => { test('marks alerts as legacy', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.10.0']; const alert = getMockData({}); expect(migration710(alert, migrationContext)).toMatchObject({ ...alert, @@ -36,7 +38,7 @@ describe('successful migrations', () => { }); test('migrates the consumer for metrics', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.10.0']; const alert = getMockData({ consumer: 'metrics', }); @@ -53,7 +55,7 @@ describe('successful migrations', () => { }); test('migrates the consumer for siem', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.10.0']; const alert = getMockData({ consumer: 'securitySolution', }); @@ -70,7 +72,7 @@ describe('successful migrations', () => { }); test('migrates the consumer for alerting', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.10.0']; const alert = getMockData({ consumer: 'alerting', }); @@ -87,7 +89,7 @@ describe('successful migrations', () => { }); test('migrates PagerDuty actions to set a default dedupkey of the AlertId', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.10.0']; const alert = getMockData({ actions: [ { @@ -124,7 +126,7 @@ describe('successful migrations', () => { }); test('skips PagerDuty actions with a specified dedupkey', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.10.0']; const alert = getMockData({ actions: [ { @@ -162,7 +164,7 @@ describe('successful migrations', () => { }); test('skips PagerDuty actions with an eventAction of "trigger"', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.10.0']; const alert = getMockData({ actions: [ { @@ -201,7 +203,7 @@ describe('successful migrations', () => { }); test('creates execution status', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.10.0']; const alert = getMockData(); const dateStart = Date.now(); const migratedAlert = migration710(alert, migrationContext); @@ -229,7 +231,7 @@ describe('successful migrations', () => { describe('7.11.0', () => { test('add updatedAt field to alert - set to SavedObject updated_at attribute', () => { - const migration711 = getMigrations(encryptedSavedObjectsSetup)['7.11.0']; + const migration711 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.0']; const alert = getMockData({}, true); expect(migration711(alert, migrationContext)).toEqual({ ...alert, @@ -242,7 +244,7 @@ describe('successful migrations', () => { }); test('add updatedAt field to alert - set to createdAt when SavedObject updated_at is not defined', () => { - const migration711 = getMigrations(encryptedSavedObjectsSetup)['7.11.0']; + const migration711 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.0']; const alert = getMockData({}); expect(migration711(alert, migrationContext)).toEqual({ ...alert, @@ -255,7 +257,7 @@ describe('successful migrations', () => { }); test('add notifyWhen=onActiveAlert when throttle is null', () => { - const migration711 = getMigrations(encryptedSavedObjectsSetup)['7.11.0']; + const migration711 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.0']; const alert = getMockData({}); expect(migration711(alert, migrationContext)).toEqual({ ...alert, @@ -268,7 +270,7 @@ describe('successful migrations', () => { }); test('add notifyWhen=onActiveAlert when throttle is set', () => { - const migration711 = getMigrations(encryptedSavedObjectsSetup)['7.11.0']; + const migration711 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.0']; const alert = getMockData({ throttle: '5m' }); expect(migration711(alert, migrationContext)).toEqual({ ...alert, @@ -283,7 +285,7 @@ describe('successful migrations', () => { describe('7.11.2', () => { test('transforms connectors that support incident correctly', () => { - const migration7112 = getMigrations(encryptedSavedObjectsSetup)['7.11.2']; + const migration7112 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.2']; const alert = getMockData({ actions: [ { @@ -425,7 +427,7 @@ describe('successful migrations', () => { }); test('it transforms only subAction=pushToService', () => { - const migration7112 = getMigrations(encryptedSavedObjectsSetup)['7.11.2']; + const migration7112 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.2']; const alert = getMockData({ actions: [ { @@ -444,7 +446,7 @@ describe('successful migrations', () => { }); test('it does not transforms other connectors', () => { - const migration7112 = getMigrations(encryptedSavedObjectsSetup)['7.11.2']; + const migration7112 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.2']; const alert = getMockData({ actions: [ { @@ -523,7 +525,7 @@ describe('successful migrations', () => { }); test('it does not transforms alerts when the right structure connectors is already applied', () => { - const migration7112 = getMigrations(encryptedSavedObjectsSetup)['7.11.2']; + const migration7112 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.2']; const alert = getMockData({ actions: [ { @@ -560,7 +562,7 @@ describe('successful migrations', () => { }); test('if incident attribute is an empty object, copy back the related attributes from subActionParams back to incident', () => { - const migration7112 = getMigrations(encryptedSavedObjectsSetup)['7.11.2']; + const migration7112 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.2']; const alert = getMockData({ actions: [ { @@ -622,7 +624,7 @@ describe('successful migrations', () => { }); test('custom action does not get migrated/loss', () => { - const migration7112 = getMigrations(encryptedSavedObjectsSetup)['7.11.2']; + const migration7112 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.2']; const alert = getMockData({ actions: [ { @@ -651,7 +653,7 @@ describe('successful migrations', () => { describe('7.13.0', () => { test('security solution alerts get migrated and remove null values', () => { - const migration713 = getMigrations(encryptedSavedObjectsSetup)['7.13.0']; + const migration713 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.13.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -747,7 +749,7 @@ describe('successful migrations', () => { }); test('non-null values in security solution alerts are not modified', () => { - const migration713 = getMigrations(encryptedSavedObjectsSetup)['7.13.0']; + const migration713 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.13.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -815,7 +817,7 @@ describe('successful migrations', () => { }); test('security solution threshold alert with string in threshold.field is migrated to array', () => { - const migration713 = getMigrations(encryptedSavedObjectsSetup)['7.13.0']; + const migration713 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.13.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -846,7 +848,7 @@ describe('successful migrations', () => { }); test('security solution threshold alert with empty string in threshold.field is migrated to empty array', () => { - const migration713 = getMigrations(encryptedSavedObjectsSetup)['7.13.0']; + const migration713 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.13.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -877,7 +879,7 @@ describe('successful migrations', () => { }); test('security solution threshold alert with array in threshold.field and cardinality is left alone', () => { - const migration713 = getMigrations(encryptedSavedObjectsSetup)['7.13.0']; + const migration713 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.13.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -919,7 +921,7 @@ describe('successful migrations', () => { }); test('security solution ML alert with string in machineLearningJobId is converted to an array', () => { - const migration713 = getMigrations(encryptedSavedObjectsSetup)['7.13.0']; + const migration713 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.13.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -945,7 +947,7 @@ describe('successful migrations', () => { }); test('security solution ML alert with an array in machineLearningJobId is preserved', () => { - const migration713 = getMigrations(encryptedSavedObjectsSetup)['7.13.0']; + const migration713 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.13.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -973,7 +975,7 @@ describe('successful migrations', () => { describe('7.14.1', () => { test('security solution author field is migrated to array if it is undefined', () => { - const migration7141 = getMigrations(encryptedSavedObjectsSetup)['7.14.1']; + const migration7141 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.14.1']; const alert = getMockData({ alertTypeId: 'siem.signals', params: {}, @@ -991,7 +993,7 @@ describe('successful migrations', () => { }); test('security solution author field does not override existing values if they exist', () => { - const migration7141 = getMigrations(encryptedSavedObjectsSetup)['7.14.1']; + const migration7141 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.14.1']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -1015,7 +1017,7 @@ describe('successful migrations', () => { describe('7.15.0', () => { test('security solution is migrated to saved object references if it has 1 exceptionsList', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -1044,7 +1046,7 @@ describe('successful migrations', () => { }); test('security solution is migrated to saved object references if it has 2 exceptionsLists', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -1084,7 +1086,7 @@ describe('successful migrations', () => { }); test('security solution is migrated to saved object references if it has 3 exceptionsLists', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -1135,7 +1137,7 @@ describe('successful migrations', () => { }); test('security solution does not change anything if exceptionsList is missing', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = getMockData({ alertTypeId: 'siem.signals', params: { @@ -1147,7 +1149,7 @@ describe('successful migrations', () => { }); test('security solution will keep existing references if we do not have an exceptionsList but we do already have references', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = { ...getMockData({ alertTypeId: 'siem.signals', @@ -1177,7 +1179,7 @@ describe('successful migrations', () => { }); test('security solution keep any foreign references if they exist but still migrate other references', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = { ...getMockData({ alertTypeId: 'siem.signals', @@ -1242,7 +1244,7 @@ describe('successful migrations', () => { }); test('security solution is idempotent and if re-run on the same migrated data will keep the same items', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = { ...getMockData({ alertTypeId: 'siem.signals', @@ -1282,7 +1284,7 @@ describe('successful migrations', () => { }); test('security solution will migrate with only missing data if we have partially migrated data', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = { ...getMockData({ alertTypeId: 'siem.signals', @@ -1331,7 +1333,7 @@ describe('successful migrations', () => { }); test('security solution will not migrate if exception list if it is invalid data', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = { ...getMockData({ alertTypeId: 'siem.signals', @@ -1345,7 +1347,7 @@ describe('successful migrations', () => { }); test('security solution will migrate valid data if it is mixed with invalid data', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = { ...getMockData({ alertTypeId: 'siem.signals', @@ -1387,7 +1389,7 @@ describe('successful migrations', () => { }); test('security solution will not migrate if exception list is invalid data but will keep existing references', () => { - const migration7150 = getMigrations(encryptedSavedObjectsSetup)['7.15.0']; + const migration7150 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.15.0']; const alert = { ...getMockData({ alertTypeId: 'siem.signals', @@ -1419,7 +1421,7 @@ describe('successful migrations', () => { describe('7.16.0', () => { test('add legacyId field to alert - set to SavedObject id attribute', () => { - const migration716 = getMigrations(encryptedSavedObjectsSetup)['7.16.0']; + const migration716 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.16.0']; const alert = getMockData({}, true); expect(migration716(alert, migrationContext)).toEqual({ ...alert, @@ -1429,6 +1431,274 @@ describe('successful migrations', () => { }, }); }); + + test('removes preconfigured connectors from references array', () => { + isPreconfigured.mockReset(); + isPreconfigured.mockReturnValueOnce(true); + isPreconfigured.mockReturnValueOnce(false); + const migration716 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.16.0']; + const rule = { + ...getMockData({ + actions: [ + { + actionRef: 'action_0', + actionTypeId: '.slack', + group: 'small', + params: { + message: 'preconfigured', + }, + }, + { + actionRef: 'action_1', + actionTypeId: '.server-log', + group: 'small', + params: { + level: 'info', + message: 'boo', + }, + }, + ], + }), + references: [ + { + id: 'my-slack1', + name: 'action_0', + type: 'action', + }, + { + id: '997c0120-00ee-11ec-b067-2524946ba327', + name: 'action_1', + type: 'action', + }, + ], + }; + expect(migration716(rule, migrationContext)).toEqual({ + ...rule, + attributes: { + ...rule.attributes, + legacyId: rule.id, + actions: [ + { + actionRef: 'preconfigured:my-slack1', + actionTypeId: '.slack', + group: 'small', + params: { + message: 'preconfigured', + }, + }, + { + actionRef: 'action_1', + actionTypeId: '.server-log', + group: 'small', + params: { + level: 'info', + message: 'boo', + }, + }, + ], + }, + references: [ + { + id: '997c0120-00ee-11ec-b067-2524946ba327', + name: 'action_1', + type: 'action', + }, + ], + }); + }); + + test('removes preconfigured connectors from references array and maintains non-action references', () => { + isPreconfigured.mockReset(); + isPreconfigured.mockReturnValueOnce(true); + isPreconfigured.mockReturnValueOnce(false); + isPreconfigured.mockReturnValueOnce(false); + const migration716 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.16.0']; + const rule = { + ...getMockData({ + actions: [ + { + actionRef: 'action_0', + actionTypeId: '.slack', + group: 'small', + params: { + message: 'preconfigured', + }, + }, + { + actionRef: 'action_1', + actionTypeId: '.server-log', + group: 'small', + params: { + level: 'info', + message: 'boo', + }, + }, + ], + }), + references: [ + { + id: 'my-slack1', + name: 'action_0', + type: 'action', + }, + { + id: '997c0120-00ee-11ec-b067-2524946ba327', + name: 'action_1', + type: 'action', + }, + { + id: '3838d98c-67d3-49e8-b813-aa8404bb6b1a', + name: 'params:something-else', + type: 'some-other-type', + }, + ], + }; + expect(migration716(rule, migrationContext)).toEqual({ + ...rule, + attributes: { + ...rule.attributes, + legacyId: rule.id, + actions: [ + { + actionRef: 'preconfigured:my-slack1', + actionTypeId: '.slack', + group: 'small', + params: { + message: 'preconfigured', + }, + }, + { + actionRef: 'action_1', + actionTypeId: '.server-log', + group: 'small', + params: { + level: 'info', + message: 'boo', + }, + }, + ], + }, + references: [ + { + id: '997c0120-00ee-11ec-b067-2524946ba327', + name: 'action_1', + type: 'action', + }, + { + id: '3838d98c-67d3-49e8-b813-aa8404bb6b1a', + name: 'params:something-else', + type: 'some-other-type', + }, + ], + }); + }); + + test('does nothing to rules with no references', () => { + isPreconfigured.mockReset(); + const migration716 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.16.0']; + const rule = { + ...getMockData({ + actions: [ + { + actionRef: 'action_0', + actionTypeId: '.slack', + group: 'small', + params: { + message: 'preconfigured', + }, + }, + { + actionRef: 'action_1', + actionTypeId: '.server-log', + group: 'small', + params: { + level: 'info', + message: 'boo', + }, + }, + ], + }), + references: [], + }; + expect(migration716(rule, migrationContext)).toEqual({ + ...rule, + attributes: { + ...rule.attributes, + legacyId: rule.id, + }, + }); + }); + + test('does nothing to rules with no action references', () => { + isPreconfigured.mockReset(); + const migration716 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.16.0']; + const rule = { + ...getMockData({ + actions: [ + { + actionRef: 'action_0', + actionTypeId: '.slack', + group: 'small', + params: { + message: 'preconfigured', + }, + }, + { + actionRef: 'action_1', + actionTypeId: '.server-log', + group: 'small', + params: { + level: 'info', + message: 'boo', + }, + }, + ], + }), + references: [ + { + id: '3838d98c-67d3-49e8-b813-aa8404bb6b1a', + name: 'params:something-else', + type: 'some-other-type', + }, + ], + }; + expect(migration716(rule, migrationContext)).toEqual({ + ...rule, + attributes: { + ...rule.attributes, + legacyId: rule.id, + }, + }); + }); + + test('does nothing to rules with references but no actions', () => { + isPreconfigured.mockReset(); + const migration716 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.16.0']; + const rule = { + ...getMockData({ + actions: [], + }), + references: [ + { + id: 'my-slack1', + name: 'action_0', + type: 'action', + }, + { + id: '997c0120-00ee-11ec-b067-2524946ba327', + name: 'action_1', + type: 'action', + }, + ], + }; + expect(migration716(rule, migrationContext)).toEqual({ + ...rule, + attributes: { + ...rule.attributes, + legacyId: rule.id, + }, + }); + }); }); }); @@ -1441,7 +1711,7 @@ describe('handles errors during migrations', () => { }); describe('7.10.0 throws if migration fails', () => { test('should show the proper exception', () => { - const migration710 = getMigrations(encryptedSavedObjectsSetup)['7.10.0']; + const migration710 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.10.0']; const alert = getMockData({ consumer: 'alerting', }); @@ -1466,7 +1736,7 @@ describe('handles errors during migrations', () => { describe('7.11.0 throws if migration fails', () => { test('should show the proper exception', () => { - const migration711 = getMigrations(encryptedSavedObjectsSetup)['7.11.0']; + const migration711 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.0']; const alert = getMockData({ consumer: 'alerting', }); @@ -1491,7 +1761,7 @@ describe('handles errors during migrations', () => { describe('7.11.2 throws if migration fails', () => { test('should show the proper exception', () => { - const migration7112 = getMigrations(encryptedSavedObjectsSetup)['7.11.2']; + const migration7112 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.11.2']; const alert = getMockData({ consumer: 'alerting', }); @@ -1516,7 +1786,7 @@ describe('handles errors during migrations', () => { describe('7.13.0 throws if migration fails', () => { test('should show the proper exception', () => { - const migration7130 = getMigrations(encryptedSavedObjectsSetup)['7.13.0']; + const migration7130 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.13.0']; const alert = getMockData({ consumer: 'alerting', }); @@ -1538,6 +1808,29 @@ describe('handles errors during migrations', () => { ); }); }); + + describe('7.16.0 throws if migration fails', () => { + test('should show the proper exception', () => { + const migration7160 = getMigrations(encryptedSavedObjectsSetup, isPreconfigured)['7.16.0']; + const rule = getMockData(); + expect(() => { + migration7160(rule, migrationContext); + }).toThrowError(`Can't migrate!`); + expect(migrationContext.log.error).toHaveBeenCalledWith( + `encryptedSavedObject 7.16.0 migration failed for alert ${rule.id} with error: Can't migrate!`, + { + migrations: { + alertDocument: { + ...rule, + attributes: { + ...rule.attributes, + }, + }, + }, + } + ); + }); + }); }); function getUpdatedAt(): string { diff --git a/x-pack/plugins/alerting/server/saved_objects/migrations.ts b/x-pack/plugins/alerting/server/saved_objects/migrations.ts index d53943991b215..c0af554cd7a44 100644 --- a/x-pack/plugins/alerting/server/saved_objects/migrations.ts +++ b/x-pack/plugins/alerting/server/saved_objects/migrations.ts @@ -55,7 +55,8 @@ export const isSecuritySolutionRule = (doc: SavedObjectUnsanitizedDoc) doc.attributes.alertTypeId === 'siem.signals'; export function getMigrations( - encryptedSavedObjects: EncryptedSavedObjectsPluginSetup + encryptedSavedObjects: EncryptedSavedObjectsPluginSetup, + isPreconfigured: (connectorId: string) => boolean ): SavedObjectMigrationMap { const migrationWhenRBACWasIntroduced = createEsoMigration( encryptedSavedObjects, @@ -99,10 +100,10 @@ export function getMigrations( pipeMigrations(addExceptionListsToReferences) ); - const migrateLegacyIds716 = createEsoMigration( + const migrateRules716 = createEsoMigration( encryptedSavedObjects, (doc): doc is SavedObjectUnsanitizedDoc => true, - pipeMigrations(setLegacyId) + pipeMigrations(setLegacyId, getRemovePreconfiguredConnectorsFromReferencesFn(isPreconfigured)) ); return { @@ -112,7 +113,7 @@ export function getMigrations( '7.13.0': executeMigrationWithErrorHandling(migrationSecurityRules713, '7.13.0'), '7.14.1': executeMigrationWithErrorHandling(migrationSecurityRules714, '7.14.1'), '7.15.0': executeMigrationWithErrorHandling(migrationSecurityRules715, '7.15.0'), - '7.16.0': executeMigrationWithErrorHandling(migrateLegacyIds716, '7.16.0'), + '7.16.0': executeMigrationWithErrorHandling(migrateRules716, '7.16.0'), }; } @@ -587,6 +588,82 @@ function setLegacyId( }; } +function getRemovePreconfiguredConnectorsFromReferencesFn( + isPreconfigured: (connectorId: string) => boolean +) { + return (doc: SavedObjectUnsanitizedDoc) => { + return removePreconfiguredConnectorsFromReferences(doc, isPreconfigured); + }; +} + +function removePreconfiguredConnectorsFromReferences( + doc: SavedObjectUnsanitizedDoc, + isPreconfigured: (connectorId: string) => boolean +): SavedObjectUnsanitizedDoc { + const { + attributes: { actions }, + references, + } = doc; + + // Look for connector references + const connectorReferences = (references ?? []).filter((ref: SavedObjectReference) => + ref.name.startsWith('action_') + ); + if (connectorReferences.length > 0) { + const restReferences = (references ?? []).filter( + (ref: SavedObjectReference) => !ref.name.startsWith('action_') + ); + + const updatedConnectorReferences: SavedObjectReference[] = []; + const updatedActions: RawAlert['actions'] = []; + + // For each connector reference, check if connector is preconfigured + // If yes, we need to remove from the references array and update + // the corresponding action so it directly references the preconfigured connector id + connectorReferences.forEach((connectorRef: SavedObjectReference) => { + // Look for the corresponding entry in the actions array + const correspondingAction = getCorrespondingAction(actions, connectorRef.name); + if (correspondingAction) { + if (isPreconfigured(connectorRef.id)) { + updatedActions.push({ + ...correspondingAction, + actionRef: `preconfigured:${connectorRef.id}`, + }); + } else { + updatedActions.push(correspondingAction); + updatedConnectorReferences.push(connectorRef); + } + } else { + // Couldn't find the matching action, leave as is + updatedConnectorReferences.push(connectorRef); + } + }); + + return { + ...doc, + attributes: { + ...doc.attributes, + actions: [...updatedActions], + }, + references: [...updatedConnectorReferences, ...restReferences], + }; + } + return doc; +} + +function getCorrespondingAction( + actions: SavedObjectAttribute, + connectorRef: string +): RawAlertAction | null { + if (!Array.isArray(actions)) { + return null; + } else { + return actions.find( + (action) => (action as RawAlertAction)?.actionRef === connectorRef + ) as RawAlertAction; + } +} + function pipeMigrations(...migrations: AlertMigration[]): AlertMigration { return (doc: SavedObjectUnsanitizedDoc) => migrations.reduce((migratedDoc, nextMigration) => nextMigration(migratedDoc), doc); diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/get_all.ts b/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/get_all.ts index a88a394863dbf..5692e5dd8f8b2 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/get_all.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/tests/actions/get_all.ts @@ -204,7 +204,7 @@ export default function getAllActionTests({ getService }: FtrProviderContext) { is_preconfigured: true, connector_type_id: '.slack', name: 'Slack#xyz', - referenced_by_count: 1, + referenced_by_count: 0, }, { id: 'custom-system-abc-connector', diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/create.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/create.ts index 6f0f78b6d63ee..99a12dc3437de 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/create.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/create.ts @@ -7,6 +7,7 @@ import expect from '@kbn/expect'; import type { ApiResponse, estypes } from '@elastic/elasticsearch'; +import { SavedObject } from 'kibana/server'; import { Spaces } from '../../scenarios'; import { checkAAD, @@ -17,6 +18,7 @@ import { TaskManagerDoc, } from '../../../common/lib'; import { FtrProviderContext } from '../../../common/ftr_provider_context'; +import { RawAlert } from '../../../../../plugins/alerting/server/types'; // eslint-disable-next-line import/no-default-export export default function createAlertTests({ getService }: FtrProviderContext) { @@ -115,6 +117,112 @@ export default function createAlertTests({ getService }: FtrProviderContext) { }); }); + it('should store references correctly for actions', async () => { + const { body: createdAction } = await supertest + .post(`${getUrlPrefix(Spaces.space1.id)}/api/actions/connector`) + .set('kbn-xsrf', 'foo') + .send({ + name: 'MY action', + connector_type_id: 'test.noop', + config: {}, + secrets: {}, + }) + .expect(200); + + const response = await supertest + .post(`${getUrlPrefix(Spaces.space1.id)}/api/alerting/rule`) + .set('kbn-xsrf', 'foo') + .send( + getTestAlertData({ + actions: [ + { + id: createdAction.id, + group: 'default', + params: {}, + }, + { + id: 'my-slack1', + group: 'default', + params: { + message: 'something important happened!', + }, + }, + ], + }) + ); + + expect(response.status).to.eql(200); + objectRemover.add(Spaces.space1.id, response.body.id, 'rule', 'alerting'); + expect(response.body).to.eql({ + id: response.body.id, + name: 'abc', + tags: ['foo'], + actions: [ + { + id: createdAction.id, + connector_type_id: createdAction.connector_type_id, + group: 'default', + params: {}, + }, + { + id: 'my-slack1', + group: 'default', + connector_type_id: '.slack', + params: { + message: 'something important happened!', + }, + }, + ], + enabled: true, + rule_type_id: 'test.noop', + consumer: 'alertsFixture', + params: {}, + created_by: null, + schedule: { interval: '1m' }, + scheduled_task_id: response.body.scheduled_task_id, + updated_by: null, + api_key_owner: null, + throttle: '1m', + notify_when: 'onThrottleInterval', + mute_all: false, + muted_alert_ids: [], + created_at: response.body.created_at, + updated_at: response.body.updated_at, + execution_status: response.body.execution_status, + }); + + const esResponse = await es.get>({ + index: '.kibana', + id: `${Spaces.space1.id}:alert:${response.body.id}`, + }); + expect(esResponse.statusCode).to.eql(200); + const rawActions = (esResponse.body._source as any)?.alert.actions ?? []; + expect(rawActions).to.eql([ + { + actionRef: 'action_0', + actionTypeId: 'test.noop', + group: 'default', + params: {}, + }, + { + actionRef: 'preconfigured:my-slack1', + actionTypeId: '.slack', + group: 'default', + params: { + message: 'something important happened!', + }, + }, + ]); + + const references = esResponse.body._source?.references ?? []; + expect(references.length).to.eql(1); + expect(references[0]).to.eql({ + id: createdAction.id, + name: 'action_0', + type: 'action', + }); + }); + // see: https://github.com/elastic/kibana/issues/100607 // note this fails when the mappings for `params` does not have ignore_above it('should handle alerts with immense params', async () => { diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/migrations.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/migrations.ts index e5852d55e13c6..c98fe9c7d67f2 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/migrations.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/migrations.ts @@ -9,7 +9,7 @@ import expect from '@kbn/expect'; import type { ApiResponse, estypes } from '@elastic/elasticsearch'; import { getUrlPrefix } from '../../../common/lib'; import { FtrProviderContext } from '../../../common/ftr_provider_context'; -import type { RawAlert } from '../../../../../plugins/alerting/server/types'; +import type { RawAlert, RawAlertAction } from '../../../../../plugins/alerting/server/types'; // eslint-disable-next-line import/no-default-export export default function createGetTests({ getService }: FtrProviderContext) { @@ -218,5 +218,44 @@ export default function createGetTests({ getService }: FtrProviderContext) { '74f3e6d7-b7bb-477d-ac28-92ee22728e6e' ); }); + + it('7.16.0 migrates existing rules so predefined connectors are not stored in references', async () => { + const searchResult: ApiResponse> = await es.search({ + index: '.kibana', + body: { + query: { + term: { + _id: 'alert:9c003b00-00ee-11ec-b067-2524946ba327', + }, + }, + }, + }); + expect(searchResult.statusCode).to.equal(200); + expect((searchResult.body.hits.total as estypes.SearchTotalHits).value).to.equal(1); + const hit = searchResult.body.hits.hits[0]; + expect((hit!._source!.alert! as RawAlert).actions! as RawAlertAction[]).to.eql([ + { + actionRef: 'action_0', + actionTypeId: 'test.noop', + group: 'default', + params: {}, + }, + { + actionRef: 'preconfigured:my-slack1', + actionTypeId: '.slack', + group: 'default', + params: { + message: 'something happened!', + }, + }, + ]); + expect(hit!._source!.references!).to.eql([ + { + id: '66a8ab7a-35cf-445e-ade3-215a029c6969', + name: 'action_0', + type: 'action', + }, + ]); + }); }); } diff --git a/x-pack/test/functional/es_archives/alerts/data.json b/x-pack/test/functional/es_archives/alerts/data.json index 2ce6be7b4816c..1685d909eee81 100644 --- a/x-pack/test/functional/es_archives/alerts/data.json +++ b/x-pack/test/functional/es_archives/alerts/data.json @@ -387,3 +387,68 @@ } } } + +{ + "type": "doc", + "value": { + "id": "alert:9c003b00-00ee-11ec-b067-2524946ba327", + "index": ".kibana_1", + "source": { + "alert": { + "actions": [{ + "actionRef": "action_0", + "actionTypeId": "test.noop", + "group": "default", + "params": { + } + }, + { + "actionRef": "action_1", + "actionTypeId": ".slack", + "group": "default", + "params": { + "message": "something happened!" + } + }], + "alertTypeId": "test.noop", + "apiKey": null, + "apiKeyOwner": null, + "consumer": "alertsFixture", + "createdAt": "2020-09-22T15:16:07.451Z", + "createdBy": null, + "enabled": true, + "muteAll": false, + "mutedInstanceIds": [ + ], + "name": "test migration of preconfigured connector", + "params": { + }, + "schedule": { + "interval": "1m" + }, + "scheduledTaskId": "329798f0-b0b0-11ea-9510-fdf248d5f2a4", + "tags": [ + ], + "throttle": null, + "updatedBy": "elastic" + }, + "migrationVersion": { + "alert": "7.15.0" + }, + "references": [ + { + "id": "66a8ab7a-35cf-445e-ade3-215a029c6969", + "name": "action_0", + "type": "action" + }, + { + "id": "my-slack1", + "name": "action_1", + "type": "action" + } + ], + "type": "alert", + "updated_at": "2020-06-17T15:35:39.839Z" + } + } +} \ No newline at end of file From f310490bc1c47161995f918ce3a5952a523ffc4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patryk=20Kopyci=C5=84ski?= Date: Thu, 26 Aug 2021 20:56:45 +0200 Subject: [PATCH 099/139] [Cases] Fix add Lens markdown plugin UX (#109178) --- package.json | 1 + .../common/utils/markdown_plugins/utils.ts | 56 ++ .../common/lib/kibana/kibana_react.mock.ts | 12 +- .../public/components/create/description.tsx | 16 +- .../components/markdown_editor/editor.tsx | 19 +- .../markdown_editor/plugins/lens/constants.ts | 2 +- .../markdown_editor/plugins/lens/index.ts | 4 +- .../plugins/lens/modal_container.tsx | 4 +- .../markdown_editor/plugins/lens/parser.ts | 6 +- .../markdown_editor/plugins/lens/plugin.tsx | 418 ++++++------- .../plugins/lens/processor.tsx | 97 +--- .../plugins/lens/saved_objects_finder.tsx | 548 ++++++++++++++++++ .../plugins/lens/translations.ts | 6 +- .../plugins/lens/use_lens_button_toggle.ts | 135 +++++ .../plugins/lens/use_lens_draft_comment.ts | 21 +- .../lens/use_lens_open_visualization.tsx | 55 ++ .../user_action_tree/index.test.tsx | 1 + .../components/user_action_tree/index.tsx | 42 +- .../user_action_content_toolbar.test.tsx | 11 +- .../user_action_content_toolbar.tsx | 26 +- .../user_action_property_actions.test.tsx | 5 + .../user_action_property_actions.tsx | 43 +- x-pack/plugins/cases/server/common/utils.ts | 52 +- x-pack/plugins/cases/server/config.ts | 2 +- .../migrations/index.test.ts | 13 +- .../saved_object_types/migrations/index.ts | 2 +- 26 files changed, 1138 insertions(+), 459 deletions(-) create mode 100644 x-pack/plugins/cases/common/utils/markdown_plugins/utils.ts create mode 100644 x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx create mode 100644 x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_button_toggle.ts create mode 100644 x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_open_visualization.tsx diff --git a/package.json b/package.json index 9a084a614ee0b..54c9039213ef6 100644 --- a/package.json +++ b/package.json @@ -377,6 +377,7 @@ "redux-thunk": "^2.3.0", "redux-thunks": "^1.0.0", "regenerator-runtime": "^0.13.3", + "remark-parse": "^8.0.3", "remark-stringify": "^9.0.0", "request": "^2.88.0", "require-in-the-middle": "^5.0.2", diff --git a/x-pack/plugins/cases/common/utils/markdown_plugins/utils.ts b/x-pack/plugins/cases/common/utils/markdown_plugins/utils.ts new file mode 100644 index 0000000000000..e9a44fd592846 --- /dev/null +++ b/x-pack/plugins/cases/common/utils/markdown_plugins/utils.ts @@ -0,0 +1,56 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { filter } from 'lodash'; +import type { Node } from 'unist'; +import markdown from 'remark-parse'; +import remarkStringify from 'remark-stringify'; +import unified from 'unified'; + +import { TimeRange } from 'src/plugins/data/server'; +import { SerializableRecord } from '@kbn/utility-types'; +import { LENS_ID, LensParser, LensSerializer } from './lens'; +import { TimelineSerializer, TimelineParser } from './timeline'; + +interface LensMarkdownNode extends Node { + timeRange: TimeRange; + attributes: SerializableRecord; + type: string; + id: string; +} + +interface LensMarkdownParent extends Node { + children: Array; +} + +export const getLensVisualizations = (parsedComment?: Array) => + (parsedComment?.length ? filter(parsedComment, { type: LENS_ID }) : []) as LensMarkdownNode[]; + +export const parseCommentString = (comment: string) => { + const processor = unified().use([[markdown, {}], LensParser, TimelineParser]); + return processor.parse(comment) as LensMarkdownParent; +}; + +export const stringifyComment = (comment: LensMarkdownParent) => + unified() + .use([ + [ + remarkStringify, + { + allowDangerousHtml: true, + handlers: { + /* + because we're using rison in the timeline url we need + to make sure that markdown parser doesn't modify the url + */ + timeline: TimelineSerializer, + lens: LensSerializer, + }, + }, + ], + ]) + .stringify(comment); diff --git a/x-pack/plugins/cases/public/common/lib/kibana/kibana_react.mock.ts b/x-pack/plugins/cases/public/common/lib/kibana/kibana_react.mock.ts index e1990efefeffc..066121d2c5bf4 100644 --- a/x-pack/plugins/cases/public/common/lib/kibana/kibana_react.mock.ts +++ b/x-pack/plugins/cases/public/common/lib/kibana/kibana_react.mock.ts @@ -15,16 +15,14 @@ import { EuiTheme } from '../../../../../../../src/plugins/kibana_react/common'; import { securityMock } from '../../../../../security/public/mocks'; import { triggersActionsUiMock } from '../../../../../triggers_actions_ui/public/mocks'; -export const mockCreateStartServicesMock = (): StartServices => - (({ - ...coreMock.createStart(), - security: securityMock.createStart(), - triggersActionsUi: triggersActionsUiMock.createStart(), - } as unknown) as StartServices); - export const createStartServicesMock = (): StartServices => (({ ...coreMock.createStart(), + storage: { ...coreMock.createStorage(), remove: jest.fn() }, + lens: { + canUseEditor: jest.fn(), + navigateToPrefilledEditor: jest.fn(), + }, security: securityMock.createStart(), triggersActionsUi: triggersActionsUiMock.createStart(), } as unknown) as StartServices); diff --git a/x-pack/plugins/cases/public/components/create/description.tsx b/x-pack/plugins/cases/public/components/create/description.tsx index d11c64789c3f0..f589587356c4b 100644 --- a/x-pack/plugins/cases/public/components/create/description.tsx +++ b/x-pack/plugins/cases/public/components/create/description.tsx @@ -17,16 +17,26 @@ interface Props { export const fieldName = 'description'; const DescriptionComponent: React.FC = ({ isLoading }) => { - const { draftComment, openLensModal } = useLensDraftComment(); + const { + draftComment, + hasIncomingLensState, + openLensModal, + clearDraftComment, + } = useLensDraftComment(); const { setFieldValue } = useFormContext(); const editorRef = useRef>(); useEffect(() => { if (draftComment?.commentId === fieldName && editorRef.current) { setFieldValue(fieldName, draftComment.comment); - openLensModal({ editorRef: editorRef.current }); + + if (hasIncomingLensState) { + openLensModal({ editorRef: editorRef.current }); + } else { + clearDraftComment(); + } } - }, [draftComment, openLensModal, setFieldValue]); + }, [clearDraftComment, draftComment, hasIncomingLensState, openLensModal, setFieldValue]); return ( ( ({ ariaLabel, dataTestSubj, editorId, height, onChange, value }, ref) => { + const astRef = useRef(undefined); const [markdownErrorMessages, setMarkdownErrorMessages] = useState([]); - const onParse = useCallback((err, { messages }) => { + const onParse: EuiMarkdownEditorProps['onParse'] = useCallback((err, { messages, ast }) => { setMarkdownErrorMessages(err ? [err] : messages); + astRef.current = ast; }, []); const { parsingPlugins, processingPlugins, uiPlugins } = usePlugins(); const editorRef = useRef(null); + useLensButtonToggle({ + astRef, + uiPlugins, + editorRef: ref as React.MutableRefObject, + value, + }); + const commentEditorContextValue = useMemo( () => ({ editorId, diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/constants.ts b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/constants.ts index 05826f73fe007..e7457bb5e1b2e 100644 --- a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/constants.ts +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/constants.ts @@ -6,6 +6,6 @@ */ export const ID = 'lens'; -export const PREFIX = `[`; +export const PREFIX = `!{${ID}`; export const LENS_VISUALIZATION_HEIGHT = 200; export const DRAFT_COMMENT_STORAGE_ID = 'xpack.cases.commentDraft'; diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/index.ts b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/index.ts index 1d0bb2bf6c86e..04f8665e345df 100644 --- a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/index.ts +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/index.ts @@ -8,6 +8,6 @@ import { plugin } from './plugin'; import { LensParser } from './parser'; import { LensMarkDownRenderer } from './processor'; -import { INSERT_LENS } from './translations'; +import { VISUALIZATION } from './translations'; -export { plugin, LensParser as parser, LensMarkDownRenderer as renderer, INSERT_LENS }; +export { plugin, LensParser as parser, LensMarkDownRenderer as renderer, VISUALIZATION }; diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/modal_container.tsx b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/modal_container.tsx index 0f70e80deed41..79715619d351f 100644 --- a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/modal_container.tsx +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/modal_container.tsx @@ -5,10 +5,12 @@ * 2.0. */ +import { EuiFlexGroup } from '@elastic/eui'; import styled from 'styled-components'; -export const ModalContainer = styled.div` +export const ModalContainer = styled(EuiFlexGroup)` width: ${({ theme }) => theme.eui.euiBreakpoints.m}; + height: 100%; .euiModalBody { min-height: 300px; diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/parser.ts b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/parser.ts index 8d598fad260dc..38243ebfac5a9 100644 --- a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/parser.ts +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/parser.ts @@ -7,7 +7,7 @@ import { Plugin } from 'unified'; import { RemarkTokenizer } from '@elastic/eui'; -import { ID } from './constants'; +import { ID, PREFIX } from './constants'; export const LensParser: Plugin = function () { const Parser = this.Parser; @@ -15,7 +15,7 @@ export const LensParser: Plugin = function () { const methods = Parser.prototype.blockMethods; const tokenizeLens: RemarkTokenizer = function (eat, value, silent) { - if (value.startsWith(`!{${ID}`) === false) return false; + if (value.startsWith(PREFIX) === false) return false; const nextChar = value[6]; @@ -28,7 +28,7 @@ export const LensParser: Plugin = function () { // is there a configuration? const hasConfiguration = nextChar === '{'; - let match = `!{${ID}`; + let match = PREFIX; let configuration = {}; if (hasConfiguration) { diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/plugin.tsx b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/plugin.tsx index 24dde054d2d19..732a99968e883 100644 --- a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/plugin.tsx +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/plugin.tsx @@ -7,24 +7,21 @@ import { first } from 'rxjs/operators'; import { - EuiFieldText, + EuiCodeBlock, EuiModalBody, EuiModalHeader, EuiModalHeaderTitle, EuiMarkdownEditorUiPlugin, EuiMarkdownContext, - EuiCodeBlock, - EuiSpacer, EuiModalFooter, EuiButtonEmpty, EuiButton, EuiFlexItem, EuiFlexGroup, - EuiFormRow, EuiMarkdownAstNodePosition, EuiBetaBadge, } from '@elastic/eui'; -import React, { ReactNode, useCallback, useContext, useMemo, useEffect, useState } from 'react'; +import React, { useCallback, useContext, useMemo, useEffect, useState } from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import { useLocation } from 'react-router-dom'; @@ -32,16 +29,13 @@ import styled from 'styled-components'; import type { TypedLensByValueInput } from '../../../../../../lens/public'; import { useKibana } from '../../../../common/lib/kibana'; -import { LensMarkDownRenderer } from './processor'; import { DRAFT_COMMENT_STORAGE_ID, ID } from './constants'; import { CommentEditorContext } from '../../context'; import { ModalContainer } from './modal_container'; import type { EmbeddablePackageState } from '../../../../../../../../src/plugins/embeddable/public'; -import { - SavedObjectFinderUi, - SavedObjectFinderUiProps, -} from '../../../../../../../../src/plugins/saved_objects/public'; +import { SavedObjectFinderUi } from './saved_objects_finder'; import { useLensDraftComment } from './use_lens_draft_comment'; +import { VISUALIZATION } from './translations'; const BetaBadgeWrapper = styled.span` display: inline-flex; @@ -51,69 +45,22 @@ const BetaBadgeWrapper = styled.span` } `; +const DEFAULT_TIMERANGE = { + from: 'now-7d', + to: 'now', + mode: 'relative', +}; + type LensIncomingEmbeddablePackage = Omit & { input: TypedLensByValueInput; }; type LensEuiMarkdownEditorUiPlugin = EuiMarkdownEditorUiPlugin<{ - title: string; timeRange: TypedLensByValueInput['timeRange']; - startDate: string; - endDate: string; position: EuiMarkdownAstNodePosition; attributes: TypedLensByValueInput['attributes']; }>; -interface LensSavedObjectsPickerProps { - children: ReactNode; - onChoose: SavedObjectFinderUiProps['onChoose']; -} - -const LensSavedObjectsPickerComponent: React.FC = ({ - children, - onChoose, -}) => { - const { savedObjects, uiSettings } = useKibana().services; - - const savedObjectMetaData = useMemo( - () => [ - { - type: 'lens', - getIconForSavedObject: () => 'lensApp', - name: i18n.translate( - 'xpack.cases.markdownEditor.plugins.lens.insertLensSavedObjectModal.searchSelection.savedObjectType.lens', - { - defaultMessage: 'Lens', - } - ), - includeFields: ['*'], - }, - ], - [] - ); - - return ( - - } - savedObjectMetaData={savedObjectMetaData} - fixedPageSize={10} - uiSettings={uiSettings} - savedObjects={savedObjects} - children={children} - /> - ); -}; - -export const LensSavedObjectsPicker = React.memo(LensSavedObjectsPickerComponent); - const LensEditorComponent: LensEuiMarkdownEditorUiPlugin['editor'] = ({ node, onCancel, @@ -125,6 +72,8 @@ const LensEditorComponent: LensEuiMarkdownEditorUiPlugin['editor'] = ({ embeddable, lens, storage, + savedObjects, + uiSettings, data: { query: { timefilter: { timefilter }, @@ -132,37 +81,10 @@ const LensEditorComponent: LensEuiMarkdownEditorUiPlugin['editor'] = ({ }, } = useKibana().services; const [currentAppId, setCurrentAppId] = useState(undefined); - const { draftComment, clearDraftComment } = useLensDraftComment(); - - const [nodePosition, setNodePosition] = useState( - undefined - ); - // const [editMode, setEditMode] = useState(!!node); - const [lensEmbeddableAttributes, setLensEmbeddableAttributes] = useState< - TypedLensByValueInput['attributes'] | null - >(node?.attributes || null); - const [timeRange, setTimeRange] = useState( - node?.timeRange ?? { - from: 'now-7d', - to: 'now', - mode: 'relative', - } - ); const commentEditorContext = useContext(CommentEditorContext); const markdownContext = useContext(EuiMarkdownContext); - const handleTitleChange = useCallback((e) => { - const title = e.target.value ?? ''; - setLensEmbeddableAttributes((currentValue) => { - if (currentValue) { - return { ...currentValue, title } as TypedLensByValueInput['attributes']; - } - - return currentValue; - }); - }, []); - const handleClose = useCallback(() => { if (currentAppId) { embeddable?.getStateTransfer().getIncomingEmbeddablePackage(currentAppId, true); @@ -171,62 +93,78 @@ const LensEditorComponent: LensEuiMarkdownEditorUiPlugin['editor'] = ({ onCancel(); }, [clearDraftComment, currentAppId, embeddable, onCancel]); - const handleAdd = useCallback(() => { - if (nodePosition) { - markdownContext.replaceNode( - nodePosition, - `!{${ID}${JSON.stringify({ - timeRange, - attributes: lensEmbeddableAttributes, - })}}` - ); - - handleClose(); - return; - } - - if (lensEmbeddableAttributes) { + const handleAdd = useCallback( + (attributes, timerange) => { onSave( `!{${ID}${JSON.stringify({ - timeRange, - attributes: lensEmbeddableAttributes, + timeRange: timerange, + attributes, })}}`, { block: true, } ); - } - handleClose(); - }, [nodePosition, lensEmbeddableAttributes, handleClose, markdownContext, timeRange, onSave]); + handleClose(); + }, + [handleClose, onSave] + ); - const handleDelete = useCallback(() => { - if (nodePosition) { - markdownContext.replaceNode(nodePosition, ``); - onCancel(); - } - }, [markdownContext, nodePosition, onCancel]); + const handleUpdate = useCallback( + (attributes, timerange, position) => { + markdownContext.replaceNode( + position, + `!{${ID}${JSON.stringify({ + timeRange: timerange, + attributes, + })}}` + ); + + handleClose(); + }, + [handleClose, markdownContext] + ); const originatingPath = useMemo(() => `${location.pathname}${location.search}`, [ location.pathname, location.search, ]); + const handleCreateInLensClick = useCallback(() => { + storage.set(DRAFT_COMMENT_STORAGE_ID, { + commentId: commentEditorContext?.editorId, + comment: commentEditorContext?.value, + position: node?.position, + }); + + lens?.navigateToPrefilledEditor(undefined, { + originatingApp: currentAppId!, + originatingPath, + }); + }, [ + storage, + commentEditorContext?.editorId, + commentEditorContext?.value, + node?.position, + currentAppId, + originatingPath, + lens, + ]); + const handleEditInLensClick = useCallback( - async (lensAttributes?) => { + (lensAttributes?, timeRange = DEFAULT_TIMERANGE) => { storage.set(DRAFT_COMMENT_STORAGE_ID, { commentId: commentEditorContext?.editorId, comment: commentEditorContext?.value, position: node?.position, - title: lensEmbeddableAttributes?.title, }); lens?.navigateToPrefilledEditor( - lensAttributes || lensEmbeddableAttributes + lensAttributes || node?.attributes ? { id: '', timeRange, - attributes: lensAttributes ?? lensEmbeddableAttributes, + attributes: lensAttributes || node?.attributes, } : undefined, { @@ -240,11 +178,10 @@ const LensEditorComponent: LensEuiMarkdownEditorUiPlugin['editor'] = ({ commentEditorContext?.editorId, commentEditorContext?.value, node?.position, - lens, - lensEmbeddableAttributes, - timeRange, currentAppId, originatingPath, + lens, + node?.attributes, ] ); @@ -259,18 +196,67 @@ const LensEditorComponent: LensEuiMarkdownEditorUiPlugin['editor'] = ({ [handleEditInLensClick] ); - useEffect(() => { - if (node?.attributes) { - setLensEmbeddableAttributes(node.attributes); - } - }, [node?.attributes]); + const savedObjectMetaData = useMemo( + () => [ + { + type: 'lens', + getIconForSavedObject: () => 'lensApp', + name: i18n.translate( + 'xpack.cases.markdownEditor.plugins.lens.insertLensSavedObjectModal.searchSelection.savedObjectType.lens', + { + defaultMessage: 'Lens', + } + ), + includeFields: ['*'], + }, + ], + [] + ); + + const euiFieldSearchProps = useMemo( + () => ({ + prepend: i18n.translate( + 'xpack.cases.markdownEditor.plugins.lens.savedObjects.finder.searchInputPrependLabel', + { + defaultMessage: 'Template', + } + ), + }), + [] + ); + + const euiFormRowProps = useMemo( + () => ({ + label: i18n.translate( + 'xpack.cases.markdownEditor.plugins.lens.savedObjects.finder.searchInputLabel', + { + defaultMessage: 'Select lens', + } + ), + labelAppend: ( + + + + ), + helpText: i18n.translate( + 'xpack.cases.markdownEditor.plugins.lens.savedObjects.finder.searchInputHelpText', + { + defaultMessage: + 'Insert lens from existing templates or creating a new one. You will only create lens for this comment and won’t change Visualize Library.', + } + ), + }), + [handleCreateInLensClick] + ); useEffect(() => { - const position = node?.position || draftComment?.position; - if (position) { - setNodePosition(position); + if (node?.attributes && currentAppId) { + handleEditInLensClick(node.attributes, node.timeRange); } - }, [node?.position, draftComment?.position]); + }, [handleEditInLensClick, node, currentAppId]); useEffect(() => { const getCurrentAppId = async () => { @@ -293,42 +279,44 @@ const LensEditorComponent: LensEuiMarkdownEditorUiPlugin['editor'] = ({ incomingEmbeddablePackage?.type === 'lens' && incomingEmbeddablePackage?.input?.attributes ) { - const attributesTitle = incomingEmbeddablePackage?.input.attributes.title.length - ? incomingEmbeddablePackage?.input.attributes.title - : null; - setLensEmbeddableAttributes({ - ...incomingEmbeddablePackage?.input.attributes, - title: attributesTitle ?? draftComment?.title ?? '', - }); - const lensTime = timefilter.getTime(); - if (lensTime?.from && lensTime?.to) { - setTimeRange({ - from: lensTime.from, - to: lensTime.to, - mode: [lensTime.from, lensTime.to].join('').includes('now') ? 'relative' : 'absolute', - }); + const newTimeRange = + lensTime?.from && lensTime?.to + ? { + from: lensTime.from, + to: lensTime.to, + mode: [lensTime.from, lensTime.to].join('').includes('now') + ? ('relative' as const) + : ('absolute' as const), + } + : undefined; + + if (draftComment?.position) { + handleUpdate( + incomingEmbeddablePackage?.input.attributes, + newTimeRange, + draftComment.position + ); + return; + } + + if (draftComment) { + handleAdd(incomingEmbeddablePackage?.input.attributes, newTimeRange); + return; } } - }, [embeddable, storage, timefilter, currentAppId, draftComment?.title]); + }, [embeddable, storage, timefilter, currentAppId, handleAdd, handleUpdate, draftComment]); return ( - + - {!!nodePosition ? ( - - ) : ( - - )} + @@ -340,7 +328,7 @@ const LensEditorComponent: LensEuiMarkdownEditorUiPlugin['editor'] = ({ 'xpack.cases.markdownEditor.plugins.lens.betaDescription', { defaultMessage: - 'Cases Lens plugin is not GA. Please help us by reporting any bugs.', + 'This module is not GA. You can only insert one lens per comment for now. Please help us by reporting bugs.', } )} /> @@ -350,95 +338,31 @@ const LensEditorComponent: LensEuiMarkdownEditorUiPlugin['editor'] = ({ - {lensEmbeddableAttributes ? ( - <> - - - - - - - - - - - - - - - - ) : ( - - - - - - - - )} + } + savedObjectMetaData={savedObjectMetaData} + fixedPageSize={10} + uiSettings={uiSettings} + savedObjects={savedObjects} + euiFieldSearchProps={euiFieldSearchProps} + // @ts-expect-error update types + euiFormRowProps={euiFormRowProps} + /> - + - - {!!nodePosition ? ( - - - - ) : null} - - {!!nodePosition ? ( - - ) : ( - - )} @@ -447,12 +371,10 @@ const LensEditorComponent: LensEuiMarkdownEditorUiPlugin['editor'] = ({ export const LensEditor = React.memo(LensEditorComponent); -export const plugin: LensEuiMarkdownEditorUiPlugin = { +export const plugin = { name: ID, button: { - label: i18n.translate('xpack.cases.markdownEditor.plugins.lens.insertLensButtonLabel', { - defaultMessage: 'Insert visualization', - }), + label: VISUALIZATION, iconType: 'lensApp', }, helpText: ( diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/processor.tsx b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/processor.tsx index cc8ef07392670..18315b1611c56 100644 --- a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/processor.tsx +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/processor.tsx @@ -5,11 +5,8 @@ * 2.0. */ -import { first } from 'rxjs/operators'; -import React, { useCallback, useEffect, useState } from 'react'; -import { EuiButton, EuiFlexGroup, EuiFlexItem, EuiText, EuiSpacer } from '@elastic/eui'; +import React from 'react'; import styled from 'styled-components'; -import { useLocation } from 'react-router-dom'; import { createGlobalStyle } from '../../../../../../../../src/plugins/kibana_react/common'; import { TypedLensByValueInput } from '../../../../../../lens/public'; @@ -29,99 +26,31 @@ const LensChartTooltipFix = createGlobalStyle` interface LensMarkDownRendererProps { attributes: TypedLensByValueInput['attributes'] | null; - id?: string | null; timeRange?: TypedLensByValueInput['timeRange']; - startDate?: string | null; - endDate?: string | null; - viewMode?: boolean | undefined; } const LensMarkDownRendererComponent: React.FC = ({ attributes, timeRange, - viewMode = true, }) => { - const location = useLocation(); const { - application: { currentAppId$ }, - lens: { EmbeddableComponent, navigateToPrefilledEditor, canUseEditor }, + lens: { EmbeddableComponent }, } = useKibana().services; - const [currentAppId, setCurrentAppId] = useState(undefined); - const handleClick = useCallback(() => { - const options = viewMode - ? { - openInNewTab: true, - } - : { - originatingApp: currentAppId, - originatingPath: `${location.pathname}${location.search}`, - }; - - if (attributes) { - navigateToPrefilledEditor( - { - id: '', - timeRange, - attributes, - }, - options - ); - } - }, [ - attributes, - currentAppId, - location.pathname, - location.search, - navigateToPrefilledEditor, - timeRange, - viewMode, - ]); - - useEffect(() => { - const getCurrentAppId = async () => { - const appId = await currentAppId$.pipe(first()).toPromise(); - setCurrentAppId(appId); - }; - getCurrentAppId(); - }, [currentAppId$]); + if (!attributes) { + return null; + } return ( - {attributes ? ( - <> - - - -
{attributes.title}
-
-
- - {viewMode && canUseEditor() ? ( - - {`Open visualization`} - - ) : null} - -
- - - - - - - ) : null} + +
); }; diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx new file mode 100644 index 0000000000000..7dcc1d847d076 --- /dev/null +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/saved_objects_finder.tsx @@ -0,0 +1,548 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +// TODO: merge with src/plugins/saved_objects/public/finder/saved_object_finder.tsx + +import { debounce } from 'lodash'; +import PropTypes from 'prop-types'; +import React from 'react'; + +import { + EuiContextMenuItem, + EuiContextMenuPanel, + EuiEmptyPrompt, + EuiFieldSearch, + EuiFieldSearchProps, + EuiFilterButton, + EuiFilterGroup, + EuiFlexGroup, + EuiFlexItem, + EuiListGroup, + EuiListGroupItem, + EuiLoadingSpinner, + EuiPagination, + EuiPopover, + EuiSpacer, + EuiTablePagination, + IconType, + EuiFormRow, + EuiFormRowProps, +} from '@elastic/eui'; +import { Direction } from '@elastic/eui/src/services/sort/sort_direction'; +import { i18n } from '@kbn/i18n'; + +import { SimpleSavedObject, CoreStart } from 'src/core/public'; + +import { LISTING_LIMIT_SETTING } from '../../../../../../../../src/plugins/saved_objects/public'; + +export interface SavedObjectMetaData { + type: string; + name: string; + getIconForSavedObject(savedObject: SimpleSavedObject): IconType; + getTooltipForSavedObject?(savedObject: SimpleSavedObject): string; + showSavedObject?(savedObject: SimpleSavedObject): boolean; + getSavedObjectSubType?(savedObject: SimpleSavedObject): string; + includeFields?: string[]; +} + +interface FinderAttributes { + title?: string; + type: string; +} + +interface SavedObjectFinderState { + items: Array<{ + title: string | null; + id: SimpleSavedObject['id']; + type: SimpleSavedObject['type']; + savedObject: SimpleSavedObject; + }>; + query: string; + isFetchingItems: boolean; + page: number; + perPage: number; + sortDirection?: Direction; + sortOpen: boolean; + filterOpen: boolean; + filteredTypes: string[]; +} + +interface BaseSavedObjectFinder { + onChoose?: ( + id: SimpleSavedObject['id'], + type: SimpleSavedObject['type'], + name: string, + savedObject: SimpleSavedObject + ) => void; + noItemsMessage?: React.ReactNode; + savedObjectMetaData: Array>; + showFilter?: boolean; + euiFormRowProps?: EuiFormRowProps; + euiFieldSearchProps?: EuiFieldSearchProps; +} + +interface SavedObjectFinderFixedPage extends BaseSavedObjectFinder { + initialPageSize?: undefined; + fixedPageSize: number; +} + +interface SavedObjectFinderInitialPageSize extends BaseSavedObjectFinder { + initialPageSize?: 5 | 10 | 15 | 25; + fixedPageSize?: undefined; +} + +export type SavedObjectFinderProps = SavedObjectFinderFixedPage | SavedObjectFinderInitialPageSize; + +export type SavedObjectFinderUiProps = { + savedObjects: CoreStart['savedObjects']; + uiSettings: CoreStart['uiSettings']; +} & SavedObjectFinderProps; + +export class SavedObjectFinderUi extends React.Component< + SavedObjectFinderUiProps, + SavedObjectFinderState +> { + public static propTypes = { + onChoose: PropTypes.func, + noItemsMessage: PropTypes.node, + savedObjectMetaData: PropTypes.array.isRequired, + initialPageSize: PropTypes.oneOf([5, 10, 15, 25]), + fixedPageSize: PropTypes.number, + showFilter: PropTypes.bool, + euiFormRowProps: PropTypes.object, + euiFieldSearchProps: PropTypes.object, + }; + + private isComponentMounted: boolean = false; + + private debouncedFetch = debounce(async (query: string) => { + const metaDataMap = this.getSavedObjectMetaDataMap(); + + const fields = Object.values(metaDataMap) + .map((metaData) => metaData.includeFields || []) + .reduce((allFields, currentFields) => allFields.concat(currentFields), ['title']); + + const perPage = this.props.uiSettings.get(LISTING_LIMIT_SETTING); + const resp = await this.props.savedObjects.client.find({ + type: Object.keys(metaDataMap), + fields: [...new Set(fields)], + search: query ? `${query}*` : undefined, + page: 1, + perPage, + searchFields: ['title^3', 'description'], + defaultSearchOperator: 'AND', + }); + + resp.savedObjects = resp.savedObjects.filter((savedObject) => { + const metaData = metaDataMap[savedObject.type]; + if (metaData.showSavedObject) { + return metaData.showSavedObject(savedObject); + } else { + return true; + } + }); + + if (!this.isComponentMounted) { + return; + } + + // We need this check to handle the case where search results come back in a different + // order than they were sent out. Only load results for the most recent search. + if (query === this.state.query) { + this.setState({ + isFetchingItems: false, + page: 0, + items: resp.savedObjects.map((savedObject) => { + const { + attributes: { title }, + id, + type, + } = savedObject; + + return { + title: typeof title === 'string' ? title : '', + id, + type, + savedObject, + }; + }), + }); + } + }, 300); + + constructor(props: SavedObjectFinderUiProps) { + super(props); + + this.state = { + items: [], + isFetchingItems: false, + page: 0, + perPage: props.initialPageSize || props.fixedPageSize || 10, + query: '', + filterOpen: false, + filteredTypes: [], + sortOpen: false, + }; + } + + public componentWillUnmount() { + this.isComponentMounted = false; + this.debouncedFetch.cancel(); + } + + public componentDidMount() { + this.isComponentMounted = true; + this.fetchItems(); + } + + public render() { + return ( + + {this.renderSearchBar()} + {this.renderListing()} + + ); + } + + private getSavedObjectMetaDataMap(): Record { + return this.props.savedObjectMetaData.reduce( + (map, metaData) => ({ ...map, [metaData.type]: metaData }), + {} + ); + } + + private getPageCount() { + return Math.ceil( + (this.state.filteredTypes.length === 0 + ? this.state.items.length + : this.state.items.filter( + (item) => + this.state.filteredTypes.length === 0 || this.state.filteredTypes.includes(item.type) + ).length) / this.state.perPage + ); + } + + // server-side paging not supported + // 1) saved object client does not support sorting by title because title is only mapped as analyzed + // 2) can not search on anything other than title because all other fields are stored in opaque JSON strings, + // for example, visualizations need to be search by isLab but this is not possible in Elasticsearch side + // with the current mappings + private getPageOfItems = () => { + // do not sort original list to preserve elasticsearch ranking order + const items = this.state.items.slice(); + const { sortDirection } = this.state; + + if (sortDirection || !this.state.query) { + items.sort(({ title: titleA }, { title: titleB }) => { + let order = 1; + if (sortDirection === 'desc') { + order = -1; + } + return order * (titleA || '').toLowerCase().localeCompare((titleB || '').toLowerCase()); + }); + } + + // If begin is greater than the length of the sequence, an empty array is returned. + const startIndex = this.state.page * this.state.perPage; + // If end is greater than the length of the sequence, slice extracts through to the end of the sequence (arr.length). + const lastIndex = startIndex + this.state.perPage; + return items + .filter( + (item) => + this.state.filteredTypes.length === 0 || this.state.filteredTypes.includes(item.type) + ) + .slice(startIndex, lastIndex); + }; + + private fetchItems = () => { + this.setState( + { + isFetchingItems: true, + }, + this.debouncedFetch.bind(null, this.state.query) + ); + }; + + private getAvailableSavedObjectMetaData() { + const typesInItems = new Set(); + this.state.items.forEach((item) => { + typesInItems.add(item.type); + }); + return this.props.savedObjectMetaData.filter((metaData) => typesInItems.has(metaData.type)); + } + + private getSortOptions() { + const sortOptions = [ + { + this.setState({ + sortDirection: 'asc', + }); + }} + > + {i18n.translate('xpack.cases.markdownEditor.plugins.lens.savedObjects.finder.sortAsc', { + defaultMessage: 'Ascending', + })} + , + { + this.setState({ + sortDirection: 'desc', + }); + }} + > + {i18n.translate('xpack.cases.markdownEditor.plugins.lens.savedObjects.finder.sortDesc', { + defaultMessage: 'Descending', + })} + , + ]; + if (this.state.query) { + sortOptions.push( + { + this.setState({ + sortDirection: undefined, + }); + }} + > + {i18n.translate('xpack.cases.markdownEditor.plugins.lens.savedObjects.finder.sortAuto', { + defaultMessage: 'Best match', + })} + + ); + } + return sortOptions; + } + + private renderSearchBar() { + const availableSavedObjectMetaData = this.getAvailableSavedObjectMetaData(); + + return ( + + + + { + this.setState( + { + query: e.target.value, + }, + this.fetchItems + ); + }} + data-test-subj="savedObjectFinderSearchInput" + isLoading={this.state.isFetchingItems} + {...(this.props.euiFieldSearchProps || {})} + /> + + + + this.setState({ sortOpen: false })} + button={ + + this.setState(({ sortOpen }) => ({ + sortOpen: !sortOpen, + })) + } + iconType="arrowDown" + isSelected={this.state.sortOpen} + data-test-subj="savedObjectFinderSortButton" + > + {i18n.translate( + 'xpack.cases.markdownEditor.plugins.lens.savedObjects.finder.sortButtonLabel', + { + defaultMessage: 'Sort', + } + )} + + } + > + + + {this.props.showFilter && ( + this.setState({ filterOpen: false })} + button={ + + this.setState(({ filterOpen }) => ({ + filterOpen: !filterOpen, + })) + } + iconType="arrowDown" + data-test-subj="savedObjectFinderFilterButton" + isSelected={this.state.filterOpen} + numFilters={this.props.savedObjectMetaData.length} + hasActiveFilters={this.state.filteredTypes.length > 0} + numActiveFilters={this.state.filteredTypes.length} + > + {i18n.translate( + 'xpack.cases.markdownEditor.plugins.lens.savedObjects.finder.filterButtonLabel', + { + defaultMessage: 'Types', + } + )} + + } + > + ( + { + this.setState(({ filteredTypes }) => ({ + filteredTypes: filteredTypes.includes(metaData.type) + ? filteredTypes.filter((t) => t !== metaData.type) + : [...filteredTypes, metaData.type], + page: 0, + })); + }} + > + {metaData.name} + + ))} + /> + + )} + + + {this.props.children ? ( + {this.props.children} + ) : null} + + + ); + } + + private renderListing() { + const items = this.state.items.length === 0 ? [] : this.getPageOfItems(); + const { onChoose, savedObjectMetaData } = this.props; + + return ( + <> + {this.state.isFetchingItems && this.state.items.length === 0 && ( + + + + + + + )} + {items.length > 0 ? ( + <> + + + {items.map((item) => { + const currentSavedObjectMetaData = savedObjectMetaData.find( + (metaData) => metaData.type === item.type + )!; + const fullName = currentSavedObjectMetaData.getTooltipForSavedObject + ? currentSavedObjectMetaData.getTooltipForSavedObject(item.savedObject) + : `${item.title} (${currentSavedObjectMetaData!.name})`; + const iconType = ( + currentSavedObjectMetaData || + ({ + getIconForSavedObject: () => 'document', + } as Pick, 'getIconForSavedObject'>) + ).getIconForSavedObject(item.savedObject); + return ( + { + onChoose(item.id, item.type, fullName, item.savedObject); + } + : undefined + } + title={fullName} + data-test-subj={`savedObjectTitle${(item.title || '').split(' ').join('-')}`} + /> + ); + })} + + + ) : ( + !this.state.isFetchingItems && + )} + {this.getPageCount() > 1 && + (this.props.fixedPageSize ? ( + { + this.setState({ + page, + }); + }} + /> + ) : ( + { + this.setState({ + page, + }); + }} + onChangeItemsPerPage={(perPage) => { + this.setState({ + perPage, + }); + }} + itemsPerPage={this.state.perPage} + itemsPerPageOptions={[5, 10, 15, 25]} + /> + ))} + + ); + } +} diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/translations.ts b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/translations.ts index 8b09b88136054..d6e6b0691aa56 100644 --- a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/translations.ts +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/translations.ts @@ -7,9 +7,9 @@ import { i18n } from '@kbn/i18n'; -export const INSERT_LENS = i18n.translate( - 'xpack.cases.markdownEditor.plugins.lens.insertLensButtonLabel', +export const VISUALIZATION = i18n.translate( + 'xpack.cases.markdownEditor.plugins.lens.visualizationButtonLabel', { - defaultMessage: 'Insert visualization', + defaultMessage: 'Visualization', } ); diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_button_toggle.ts b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_button_toggle.ts new file mode 100644 index 0000000000000..34b45080e13de --- /dev/null +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_button_toggle.ts @@ -0,0 +1,135 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { some } from 'lodash'; +import useDebounce from 'react-use/lib/useDebounce'; +import { ContextShape } from '@elastic/eui/src/components/markdown_editor/markdown_context'; +import { useCallback, useEffect, useRef, useState } from 'react'; +import { EuiMarkdownAstNode, EuiMarkdownEditorUiPlugin } from '@elastic/eui'; +import { VISUALIZATION } from './translations'; +import { PREFIX } from './constants'; + +const DISABLED_CLASSNAME = 'euiButtonIcon-isDisabled'; + +interface MarkdownEditorRef { + textarea: HTMLTextAreaElement | null; + replaceNode: ContextShape['replaceNode']; + toolbar: HTMLDivElement | null; +} + +interface UseLensButtonToggleProps { + astRef?: React.MutableRefObject; + uiPlugins?: EuiMarkdownEditorUiPlugin[] | undefined; + editorRef?: React.MutableRefObject; + value?: string; +} + +export const useLensButtonToggle = ({ + astRef, + editorRef, + uiPlugins, + value, +}: UseLensButtonToggleProps) => { + const lensPluginAvailable = useRef(false); + const [lensNodeSelected, setLensNodeSelected] = useState(false); + + const enableLensButton = useCallback(() => { + if (editorRef?.current?.textarea && editorRef.current?.toolbar) { + const lensPluginButton = editorRef.current?.toolbar?.querySelector( + `[aria-label="${VISUALIZATION}"]` + ); + + if (lensPluginButton) { + const isDisabled = lensPluginButton.className.includes(DISABLED_CLASSNAME); + const buttonStyle = lensPluginButton.getAttribute('style'); + if (isDisabled && buttonStyle) { + lensPluginButton.className = lensPluginButton.className.replace(DISABLED_CLASSNAME, ''); + lensPluginButton.setAttribute('style', buttonStyle.replace('pointer-events: none;', '')); + } + } + } + }, [editorRef]); + + const disableLensButton = useCallback(() => { + if (editorRef?.current?.textarea && editorRef.current.toolbar) { + const lensPluginButton = editorRef.current.toolbar?.querySelector( + `[aria-label="${VISUALIZATION}"]` + ); + + if (lensPluginButton) { + const isDisabled = lensPluginButton.className.includes(DISABLED_CLASSNAME); + + if (!isDisabled) { + lensPluginButton.className += ` ${DISABLED_CLASSNAME}`; + lensPluginButton.setAttribute('style', 'pointer-events: none;'); + } + } + } + }, [editorRef]); + + useEffect(() => { + lensPluginAvailable.current = some(uiPlugins, ['name', 'lens']); + }, [uiPlugins]); + + useDebounce( + () => { + if (lensNodeSelected || !value?.includes(PREFIX)) { + enableLensButton(); + } else { + disableLensButton(); + } + }, + 100, + [value, lensNodeSelected] + ); + + // Copied from https://github.com/elastic/eui/blob/master/src/components/markdown_editor/markdown_editor.tsx#L279 + useEffect(() => { + if ( + editorRef?.current?.textarea == null || + astRef?.current == null || + !lensPluginAvailable.current + ) { + return; + } + + const getCursorNode = () => { + const { selectionStart } = editorRef.current?.textarea!; + + let node: EuiMarkdownAstNode = astRef.current!; + + outer: while (true) { + if (node.children) { + for (let i = 0; i < node.children.length; i++) { + const child = node.children[i]; + if ( + child.position.start.offset < selectionStart && + selectionStart < child.position.end.offset + ) { + if (child.type === 'text') break outer; // don't dive into `text` nodes + node = child; + continue outer; + } + } + } + break; + } + + setLensNodeSelected(node.type === 'lens'); + }; + + const textarea = editorRef.current?.textarea; + + textarea.addEventListener('keyup', getCursorNode); + textarea.addEventListener('mouseup', getCursorNode); + + return () => { + textarea.removeEventListener('keyup', getCursorNode); + textarea.removeEventListener('mouseup', getCursorNode); + }; + }, [astRef, editorRef]); +}; diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_draft_comment.ts b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_draft_comment.ts index e615416b2a137..2a77037b300a3 100644 --- a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_draft_comment.ts +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_draft_comment.ts @@ -10,13 +10,12 @@ import { useCallback, useEffect, useState } from 'react'; import { first } from 'rxjs/operators'; import { useKibana } from '../../../../common/lib/kibana'; import { DRAFT_COMMENT_STORAGE_ID } from './constants'; -import { INSERT_LENS } from './translations'; +import { VISUALIZATION } from './translations'; interface DraftComment { commentId: string; comment: string; position: EuiMarkdownAstNodePosition; - title: string; } export const useLensDraftComment = () => { @@ -26,6 +25,7 @@ export const useLensDraftComment = () => { storage, } = useKibana().services; const [draftComment, setDraftComment] = useState(null); + const [hasIncomingLensState, setHasIncomingLensState] = useState(false); useEffect(() => { const fetchDraftComment = async () => { @@ -38,14 +38,12 @@ export const useLensDraftComment = () => { const incomingEmbeddablePackage = embeddable ?.getStateTransfer() .getIncomingEmbeddablePackage(currentAppId); + const storageDraftComment = storage.get(DRAFT_COMMENT_STORAGE_ID); - if (incomingEmbeddablePackage) { - if (storage.get(DRAFT_COMMENT_STORAGE_ID)) { - try { - setDraftComment(storage.get(DRAFT_COMMENT_STORAGE_ID)); - // eslint-disable-next-line no-empty - } catch (e) {} - } + setHasIncomingLensState(!!incomingEmbeddablePackage); + + if (storageDraftComment) { + setDraftComment(storageDraftComment); } }; fetchDraftComment(); @@ -53,7 +51,7 @@ export const useLensDraftComment = () => { const openLensModal = useCallback(({ editorRef }) => { if (editorRef && editorRef.textarea && editorRef.toolbar) { - const lensPluginButton = editorRef.toolbar?.querySelector(`[aria-label="${INSERT_LENS}"]`); + const lensPluginButton = editorRef.toolbar?.querySelector(`[aria-label="${VISUALIZATION}"]`); if (lensPluginButton) { lensPluginButton.click(); } @@ -62,7 +60,8 @@ export const useLensDraftComment = () => { const clearDraftComment = useCallback(() => { storage.remove(DRAFT_COMMENT_STORAGE_ID); + setDraftComment(null); }, [storage]); - return { draftComment, openLensModal, clearDraftComment }; + return { draftComment, hasIncomingLensState, openLensModal, clearDraftComment }; }; diff --git a/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_open_visualization.tsx b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_open_visualization.tsx new file mode 100644 index 0000000000000..2e6d3634f66b7 --- /dev/null +++ b/x-pack/plugins/cases/public/components/markdown_editor/plugins/lens/use_lens_open_visualization.tsx @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useCallback } from 'react'; +import { i18n } from '@kbn/i18n'; + +import type { TypedLensByValueInput } from '../../../../../../lens/public'; +import { useKibana } from '../../../../common/lib/kibana'; +import { + parseCommentString, + getLensVisualizations, +} from '../../../../../common/utils/markdown_plugins/utils'; + +export const useLensOpenVisualization = ({ comment }: { comment: string }) => { + const parsedComment = parseCommentString(comment); + const lensVisualization = getLensVisualizations(parsedComment?.children ?? []); + + const { + lens: { navigateToPrefilledEditor, canUseEditor }, + } = useKibana().services; + + const handleClick = useCallback(() => { + navigateToPrefilledEditor( + { + id: '', + timeRange: lensVisualization[0].timeRange, + attributes: (lensVisualization[0] + .attributes as unknown) as TypedLensByValueInput['attributes'], + }, + { + openInNewTab: true, + } + ); + }, [lensVisualization, navigateToPrefilledEditor]); + + return { + canUseEditor: canUseEditor(), + actionConfig: !lensVisualization.length + ? null + : { + iconType: 'lensApp', + label: i18n.translate( + 'xpack.cases.markdownEditor.plugins.lens.openVisualizationButtonLabel', + { + defaultMessage: 'Open visualization', + } + ), + onClick: handleClick, + }, + }; +}; diff --git a/x-pack/plugins/cases/public/components/user_action_tree/index.test.tsx b/x-pack/plugins/cases/public/components/user_action_tree/index.test.tsx index b78595dc91c02..dd5c993939b82 100644 --- a/x-pack/plugins/cases/public/components/user_action_tree/index.test.tsx +++ b/x-pack/plugins/cases/public/components/user_action_tree/index.test.tsx @@ -57,6 +57,7 @@ const defaultProps = { const useUpdateCommentMock = useUpdateComment as jest.Mock; jest.mock('../../containers/use_update_comment'); jest.mock('./user_action_timestamp'); +jest.mock('../../common/lib/kibana'); const patchComment = jest.fn(); diff --git a/x-pack/plugins/cases/public/components/user_action_tree/index.tsx b/x-pack/plugins/cases/public/components/user_action_tree/index.tsx index b7834585e7423..a8c270ef4d555 100644 --- a/x-pack/plugins/cases/public/components/user_action_tree/index.tsx +++ b/x-pack/plugins/cases/public/components/user_action_tree/index.tsx @@ -162,19 +162,28 @@ export const UserActionTree = React.memo( const currentUser = useCurrentUser(); const [manageMarkdownEditIds, setManageMarkdownEditIds] = useState([]); const commentRefs = useRef>({}); - const { draftComment, openLensModal } = useLensDraftComment(); + const { + clearDraftComment, + draftComment, + hasIncomingLensState, + openLensModal, + } = useLensDraftComment(); const [loadingAlertData, manualAlertsData] = useFetchAlertData( getManualAlertIdsWithNoRuleId(caseData.comments) ); - const handleManageMarkdownEditId = useCallback((id: string) => { - setManageMarkdownEditIds((prevManageMarkdownEditIds) => - !prevManageMarkdownEditIds.includes(id) - ? prevManageMarkdownEditIds.concat(id) - : prevManageMarkdownEditIds.filter((myId) => id !== myId) - ); - }, []); + const handleManageMarkdownEditId = useCallback( + (id: string) => { + clearDraftComment(); + setManageMarkdownEditIds((prevManageMarkdownEditIds) => + !prevManageMarkdownEditIds.includes(id) + ? prevManageMarkdownEditIds.concat(id) + : prevManageMarkdownEditIds.filter((myId) => id !== myId) + ); + }, + [clearDraftComment] + ); const handleSaveComment = useCallback( ({ id, version }: { id: string; version: string }, content: string) => { @@ -301,6 +310,7 @@ export const UserActionTree = React.memo( }), actions: ( diff --git a/x-pack/plugins/cases/public/components/user_action_tree/user_action_content_toolbar.test.tsx b/x-pack/plugins/cases/public/components/user_action_tree/user_action_content_toolbar.test.tsx index 155e9e2323e64..5820f057259a4 100644 --- a/x-pack/plugins/cases/public/components/user_action_tree/user_action_content_toolbar.test.tsx +++ b/x-pack/plugins/cases/public/components/user_action_tree/user_action_content_toolbar.test.tsx @@ -21,17 +21,10 @@ jest.mock('react-router-dom', () => { }; }); -jest.mock('../../common/lib/kibana', () => ({ - useKibana: () => ({ - services: { - application: { - getUrlForApp: jest.fn(), - }, - }, - }), -})); +jest.mock('../../common/lib/kibana'); const props: UserActionContentToolbarProps = { + commentMarkdown: '', getCaseDetailHrefWithCommentId: jest.fn().mockReturnValue('case-detail-url-with-comment-id-1'), id: '1', editLabel: 'edit', diff --git a/x-pack/plugins/cases/public/components/user_action_tree/user_action_content_toolbar.tsx b/x-pack/plugins/cases/public/components/user_action_tree/user_action_content_toolbar.tsx index d19ed697f97fe..0728eda13fd54 100644 --- a/x-pack/plugins/cases/public/components/user_action_tree/user_action_content_toolbar.tsx +++ b/x-pack/plugins/cases/public/components/user_action_tree/user_action_content_toolbar.tsx @@ -12,6 +12,7 @@ import { UserActionCopyLink } from './user_action_copy_link'; import { UserActionPropertyActions } from './user_action_property_actions'; export interface UserActionContentToolbarProps { + commentMarkdown: string; id: string; getCaseDetailHrefWithCommentId: (commentId: string) => string; editLabel: string; @@ -23,6 +24,7 @@ export interface UserActionContentToolbarProps { } const UserActionContentToolbarComponent = ({ + commentMarkdown, id, getCaseDetailHrefWithCommentId, editLabel, @@ -36,18 +38,18 @@ const UserActionContentToolbarComponent = ({ - {userCanCrud && ( - - - - )} + + + ); diff --git a/x-pack/plugins/cases/public/components/user_action_tree/user_action_property_actions.test.tsx b/x-pack/plugins/cases/public/components/user_action_tree/user_action_property_actions.test.tsx index 57958d3d8e5af..999a3380f5797 100644 --- a/x-pack/plugins/cases/public/components/user_action_tree/user_action_property_actions.test.tsx +++ b/x-pack/plugins/cases/public/components/user_action_tree/user_action_property_actions.test.tsx @@ -8,9 +8,13 @@ import React from 'react'; import { mount, ReactWrapper } from 'enzyme'; import { UserActionPropertyActions } from './user_action_property_actions'; + +jest.mock('../../common/lib/kibana'); + const onEdit = jest.fn(); const onQuote = jest.fn(); const props = { + commentMarkdown: '', id: 'property-actions-id', editLabel: 'edit', quoteLabel: 'quote', @@ -18,6 +22,7 @@ const props = { isLoading: false, onEdit, onQuote, + userCanCrud: true, }; describe('UserActionPropertyActions ', () => { diff --git a/x-pack/plugins/cases/public/components/user_action_tree/user_action_property_actions.tsx b/x-pack/plugins/cases/public/components/user_action_tree/user_action_property_actions.tsx index ebc83de1ef36a..8f89c3b420801 100644 --- a/x-pack/plugins/cases/public/components/user_action_tree/user_action_property_actions.tsx +++ b/x-pack/plugins/cases/public/components/user_action_tree/user_action_property_actions.tsx @@ -9,6 +9,7 @@ import React, { memo, useMemo, useCallback } from 'react'; import { EuiLoadingSpinner } from '@elastic/eui'; import { PropertyActions } from '../property_actions'; +import { useLensOpenVisualization } from '../markdown_editor/plugins/lens/use_lens_open_visualization'; interface UserActionPropertyActionsProps { id: string; @@ -17,6 +18,8 @@ interface UserActionPropertyActionsProps { isLoading: boolean; onEdit: (id: string) => void; onQuote: (id: string) => void; + userCanCrud: boolean; + commentMarkdown: string; } const UserActionPropertyActionsComponent = ({ @@ -26,25 +29,39 @@ const UserActionPropertyActionsComponent = ({ isLoading, onEdit, onQuote, + userCanCrud, + commentMarkdown, }: UserActionPropertyActionsProps) => { + const { canUseEditor, actionConfig } = useLensOpenVisualization({ comment: commentMarkdown }); const onEditClick = useCallback(() => onEdit(id), [id, onEdit]); const onQuoteClick = useCallback(() => onQuote(id), [id, onQuote]); const propertyActions = useMemo( - () => [ - { - iconType: 'pencil', - label: editLabel, - onClick: onEditClick, - }, - { - iconType: 'quote', - label: quoteLabel, - onClick: onQuoteClick, - }, - ], - [editLabel, quoteLabel, onEditClick, onQuoteClick] + () => + [ + userCanCrud + ? [ + { + iconType: 'pencil', + label: editLabel, + onClick: onEditClick, + }, + { + iconType: 'quote', + label: quoteLabel, + onClick: onQuoteClick, + }, + ] + : [], + canUseEditor && actionConfig ? [actionConfig] : [], + ].flat(), + [userCanCrud, editLabel, onEditClick, quoteLabel, onQuoteClick, canUseEditor, actionConfig] ); + + if (!propertyActions.length) { + return null; + } + return ( <> {isLoading && } diff --git a/x-pack/plugins/cases/server/common/utils.ts b/x-pack/plugins/cases/server/common/utils.ts index ba7d56f51eea9..ae14603d44567 100644 --- a/x-pack/plugins/cases/server/common/utils.ts +++ b/x-pack/plugins/cases/server/common/utils.ts @@ -6,24 +6,15 @@ */ import Boom from '@hapi/boom'; -import unified from 'unified'; -import type { Node, Parent } from 'unist'; -// installed by @elastic/eui -// eslint-disable-next-line import/no-extraneous-dependencies -import markdown from 'remark-parse'; -import remarkStringify from 'remark-stringify'; - import { SavedObjectsFindResult, SavedObjectsFindResponse, SavedObject, SavedObjectReference, } from 'kibana/server'; -import { filter, flatMap, uniqWith, isEmpty, xorWith } from 'lodash'; -import { TimeRange } from 'src/plugins/data/server'; -import { EmbeddableStateWithType } from 'src/plugins/embeddable/common'; +import { flatMap, uniqWith, isEmpty, xorWith } from 'lodash'; import { AlertInfo } from '.'; -import { LensServerPluginSetup, LensDocShape715 } from '../../../lens/server'; +import { LensServerPluginSetup } from '../../../lens/server'; import { AssociationType, @@ -48,8 +39,10 @@ import { User, } from '../../common'; import { UpdateAlertRequest } from '../client/alerts/types'; -import { LENS_ID, LensParser, LensSerializer } from '../../common/utils/markdown_plugins/lens'; -import { TimelineSerializer, TimelineParser } from '../../common/utils/markdown_plugins/timeline'; +import { + parseCommentString, + getLensVisualizations, +} from '../../common/utils/markdown_plugins/utils'; /** * Default sort field for querying saved objects. @@ -416,39 +409,6 @@ export const getNoneCaseConnector = () => ({ fields: null, }); -interface LensMarkdownNode extends EmbeddableStateWithType { - timeRange: TimeRange; - attributes: LensDocShape715 & { references: SavedObjectReference[] }; -} - -export const parseCommentString = (comment: string) => { - const processor = unified().use([[markdown, {}], LensParser, TimelineParser]); - return processor.parse(comment) as Parent; -}; - -export const stringifyComment = (comment: Parent) => - unified() - .use([ - [ - remarkStringify, - { - allowDangerousHtml: true, - handlers: { - /* - because we're using rison in the timeline url we need - to make sure that markdown parser doesn't modify the url - */ - timeline: TimelineSerializer, - lens: LensSerializer, - }, - }, - ], - ]) - .stringify(comment); - -export const getLensVisualizations = (parsedComment: Array) => - filter(parsedComment, { type: LENS_ID }) as LensMarkdownNode[]; - export const extractLensReferencesFromCommentString = ( lensEmbeddableFactory: LensServerPluginSetup['lensEmbeddableFactory'], comment: string diff --git a/x-pack/plugins/cases/server/config.ts b/x-pack/plugins/cases/server/config.ts index 317f15283e112..7a81c47937a6c 100644 --- a/x-pack/plugins/cases/server/config.ts +++ b/x-pack/plugins/cases/server/config.ts @@ -10,7 +10,7 @@ import { schema, TypeOf } from '@kbn/config-schema'; export const ConfigSchema = schema.object({ enabled: schema.boolean({ defaultValue: true }), markdownPlugins: schema.object({ - lens: schema.boolean({ defaultValue: false }), + lens: schema.boolean({ defaultValue: true }), }), }); diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/index.test.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/index.test.ts index 595ecf290c520..151c340297ceb 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/index.test.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/index.test.ts @@ -6,10 +6,15 @@ */ import { createCommentsMigrations } from './index'; -import { getLensVisualizations, parseCommentString } from '../../common'; +import { + getLensVisualizations, + parseCommentString, +} from '../../../common/utils/markdown_plugins/utils'; import { savedObjectsServiceMock } from '../../../../../../src/core/server/mocks'; import { lensEmbeddableFactory } from '../../../../lens/server/embeddable/lens_embeddable_factory'; +import { LensDocShape715 } from '../../../../lens/server'; +import { SavedObjectReference } from 'kibana/server'; const migrations = createCommentsMigrations({ lensEmbeddableFactory, @@ -216,7 +221,11 @@ describe('lens embeddable migrations for by value panels', () => { const result = migrations['7.14.0'](caseComment, contextMock); const parsedComment = parseCommentString(result.attributes.comment); - const lensVisualizations = getLensVisualizations(parsedComment.children); + const lensVisualizations = (getLensVisualizations( + parsedComment.children + ) as unknown) as Array<{ + attributes: LensDocShape715 & { references: SavedObjectReference[] }; + }>; const layers = Object.values( lensVisualizations[0].attributes.state.datasourceStates.indexpattern.layers diff --git a/x-pack/plugins/cases/server/saved_object_types/migrations/index.ts b/x-pack/plugins/cases/server/saved_object_types/migrations/index.ts index b1792d98cfdb2..751f9e11f7370 100644 --- a/x-pack/plugins/cases/server/saved_object_types/migrations/index.ts +++ b/x-pack/plugins/cases/server/saved_object_types/migrations/index.ts @@ -27,7 +27,7 @@ import { AssociationType, SECURITY_SOLUTION_OWNER, } from '../../../common'; -import { parseCommentString, stringifyComment } from '../../common'; +import { parseCommentString, stringifyComment } from '../../../common/utils/markdown_plugins/utils'; export { caseMigrations } from './cases'; export { configureMigrations } from './configuration'; From d5d3c75850252963ff3dce29b1a03d6ad5e4b5fd Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 26 Aug 2021 20:02:56 +0100 Subject: [PATCH 100/139] chore(NA): add missing browser targets on @kbn/security-solution packages (#110260) --- .../kbn-securitysolution-hook-utils/.babelrc.browser | 4 ++++ packages/kbn-securitysolution-hook-utils/BUILD.bazel | 9 ++++++++- packages/kbn-securitysolution-hook-utils/package.json | 1 + .../.babelrc.browser | 4 ++++ .../BUILD.bazel | 9 ++++++++- .../package.json | 1 + 6 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 packages/kbn-securitysolution-hook-utils/.babelrc.browser create mode 100644 packages/kbn-securitysolution-io-ts-alerting-types/.babelrc.browser diff --git a/packages/kbn-securitysolution-hook-utils/.babelrc.browser b/packages/kbn-securitysolution-hook-utils/.babelrc.browser new file mode 100644 index 0000000000000..71bbfbcd6eb2f --- /dev/null +++ b/packages/kbn-securitysolution-hook-utils/.babelrc.browser @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/webpack_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-hook-utils/BUILD.bazel b/packages/kbn-securitysolution-hook-utils/BUILD.bazel index fd57bc852d683..de007b34eeb21 100644 --- a/packages/kbn-securitysolution-hook-utils/BUILD.bazel +++ b/packages/kbn-securitysolution-hook-utils/BUILD.bazel @@ -50,6 +50,13 @@ jsts_transpiler( build_pkg_name = package_name(), ) +jsts_transpiler( + name = "target_web", + srcs = SRCS, + build_pkg_name = package_name(), + config_file = ".babelrc.browser" +) + ts_config( name = "tsconfig", src = "tsconfig.json", @@ -76,7 +83,7 @@ ts_project( js_library( name = PKG_BASE_NAME, srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], + deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-securitysolution-hook-utils/package.json b/packages/kbn-securitysolution-hook-utils/package.json index d33fd1b79b328..c13159f0a4657 100644 --- a/packages/kbn-securitysolution-hook-utils/package.json +++ b/packages/kbn-securitysolution-hook-utils/package.json @@ -3,6 +3,7 @@ "version": "1.0.0", "description": "Security Solution utilities for React hooks", "license": "SSPL-1.0 OR Elastic License 2.0", + "browser": "./target_web/index.js", "main": "./target_node/index.js", "types": "./target_types/index.d.ts", "private": true diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/.babelrc.browser b/packages/kbn-securitysolution-io-ts-alerting-types/.babelrc.browser new file mode 100644 index 0000000000000..71bbfbcd6eb2f --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-alerting-types/.babelrc.browser @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/webpack_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel b/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel index 1920f372b1d08..940c6d589da11 100644 --- a/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel +++ b/packages/kbn-securitysolution-io-ts-alerting-types/BUILD.bazel @@ -51,6 +51,13 @@ jsts_transpiler( build_pkg_name = package_name(), ) +jsts_transpiler( + name = "target_web", + srcs = SRCS, + build_pkg_name = package_name(), + config_file = ".babelrc.browser" +) + ts_config( name = "tsconfig", src = "tsconfig.json", @@ -77,7 +84,7 @@ ts_project( js_library( name = PKG_BASE_NAME, srcs = NPM_MODULE_EXTRA_FILES, - deps = RUNTIME_DEPS + [":target_node", ":tsc_types"], + deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-securitysolution-io-ts-alerting-types/package.json b/packages/kbn-securitysolution-io-ts-alerting-types/package.json index ddc86b3d5bfd2..45986851bcdf9 100644 --- a/packages/kbn-securitysolution-io-ts-alerting-types/package.json +++ b/packages/kbn-securitysolution-io-ts-alerting-types/package.json @@ -3,6 +3,7 @@ "version": "1.0.0", "description": "io ts utilities and types to be shared with plugins from the security solution project", "license": "SSPL-1.0 OR Elastic License 2.0", + "browser": "./target_web/index.js", "main": "./target_node/index.js", "types": "./target_types/index.d.ts", "private": true From 12ef3a4e9f9fd9a69e14741553a7e584b5d11895 Mon Sep 17 00:00:00 2001 From: Clint Andrew Hall Date: Thu, 26 Aug 2021 14:07:25 -0500 Subject: [PATCH 101/139] [canvas] Fix element stats (#109770) --- .../middleware/{element_stats.js => element_stats.ts} | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) rename x-pack/plugins/canvas/public/state/middleware/{element_stats.js => element_stats.ts} (79%) diff --git a/x-pack/plugins/canvas/public/state/middleware/element_stats.js b/x-pack/plugins/canvas/public/state/middleware/element_stats.ts similarity index 79% rename from x-pack/plugins/canvas/public/state/middleware/element_stats.js rename to x-pack/plugins/canvas/public/state/middleware/element_stats.ts index 394006e2ca34a..b18d13fb6a4c2 100644 --- a/x-pack/plugins/canvas/public/state/middleware/element_stats.js +++ b/x-pack/plugins/canvas/public/state/middleware/element_stats.ts @@ -5,10 +5,16 @@ * 2.0. */ +import { Middleware } from 'redux'; +import { State } from '../../../types'; + +// @ts-expect-error untyped local import { setElementStats } from '../actions/transient'; import { getAllElements, getElementCounts, getElementStats } from '../selectors/workpad'; -export const elementStats = ({ dispatch, getState }) => (next) => (action) => { +export const elementStats: Middleware<{}, State> = ({ dispatch, getState }) => (next) => ( + action +) => { // execute the action next(action); @@ -24,7 +30,7 @@ export const elementStats = ({ dispatch, getState }) => (next) => (action) => { const pending = total - ready - error; if ( - total > 0 && + (total > 0 || stats.total > 0) && (ready !== stats.ready || pending !== stats.pending || error !== stats.error || From e093d3bcca69b14ddb675db6407ea5ae3f2a2f59 Mon Sep 17 00:00:00 2001 From: Davis Plumlee <56367316+dplumlee@users.noreply.github.com> Date: Thu, 26 Aug 2021 15:46:59 -0400 Subject: [PATCH 102/139] [Security Solution][Exceptions] Allows bulk close on exception to close acknowledged alerts (#110147) --- .../exceptions/use_add_exception.test.tsx | 14 ++++-- .../exceptions/use_add_exception.tsx | 8 +-- .../alerts_table/default_config.test.tsx | 37 ++++++++++++++ .../alerts_table/default_config.tsx | 50 +++++++++++++++++++ 4 files changed, 100 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/components/exceptions/use_add_exception.test.tsx b/x-pack/plugins/security_solution/public/common/components/exceptions/use_add_exception.test.tsx index bf336c00f94d2..662a3ee770547 100644 --- a/x-pack/plugins/security_solution/public/common/components/exceptions/use_add_exception.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/exceptions/use_add_exception.test.tsx @@ -43,8 +43,8 @@ describe('useAddOrUpdateException', () => { let addExceptionListItem: jest.SpyInstance>; let updateExceptionListItem: jest.SpyInstance>; let getQueryFilter: jest.SpyInstance>; - let buildAlertStatusFilter: jest.SpyInstance< - ReturnType + let buildAlertStatusesFilter: jest.SpyInstance< + ReturnType >; let buildAlertsRuleIdFilter: jest.SpyInstance< ReturnType @@ -128,7 +128,7 @@ describe('useAddOrUpdateException', () => { getQueryFilter = jest.spyOn(getQueryFilterHelper, 'getQueryFilter'); - buildAlertStatusFilter = jest.spyOn(buildFilterHelpers, 'buildAlertStatusFilter'); + buildAlertStatusesFilter = jest.spyOn(buildFilterHelpers, 'buildAlertStatusesFilter'); buildAlertsRuleIdFilter = jest.spyOn(buildFilterHelpers, 'buildAlertsRuleIdFilter'); @@ -328,8 +328,12 @@ describe('useAddOrUpdateException', () => { addOrUpdateItems(...addOrUpdateItemsArgs); } await waitForNextUpdate(); - expect(buildAlertStatusFilter).toHaveBeenCalledTimes(1); - expect(buildAlertStatusFilter.mock.calls[0][0]).toEqual('open'); + expect(buildAlertStatusesFilter).toHaveBeenCalledTimes(1); + expect(buildAlertStatusesFilter.mock.calls[0][0]).toEqual([ + 'open', + 'acknowledged', + 'in-progress', + ]); }); }); it('should update the status of only alerts generated by the provided rule', async () => { diff --git a/x-pack/plugins/security_solution/public/common/components/exceptions/use_add_exception.tsx b/x-pack/plugins/security_solution/public/common/components/exceptions/use_add_exception.tsx index 722632e88377d..18fce44646909 100644 --- a/x-pack/plugins/security_solution/public/common/components/exceptions/use_add_exception.tsx +++ b/x-pack/plugins/security_solution/public/common/components/exceptions/use_add_exception.tsx @@ -17,9 +17,9 @@ import { HttpStart } from '../../../../../../../src/core/public'; import { updateAlertStatus } from '../../../detections/containers/detection_engine/alerts/api'; import { getUpdateAlertsQuery } from '../../../detections/components/alerts_table/actions'; import { - buildAlertStatusFilter, buildAlertsRuleIdFilter, - buildAlertStatusFilterRuleRegistry, + buildAlertStatusesFilter, + buildAlertStatusesFilterRuleRegistry, } from '../../../detections/components/alerts_table/default_config'; import { getQueryFilter } from '../../../../common/detection_engine/get_query_filter'; import { Index } from '../../../../common/detection_engine/schemas/common/schemas'; @@ -133,8 +133,8 @@ export const useAddOrUpdateException = ({ if (bulkCloseIndex != null) { // TODO: Once we are past experimental phase this code should be removed const alertStatusFilter = ruleRegistryEnabled - ? buildAlertStatusFilterRuleRegistry('open') - : buildAlertStatusFilter('open'); + ? buildAlertStatusesFilterRuleRegistry(['open', 'acknowledged', 'in-progress']) + : buildAlertStatusesFilter(['open', 'acknowledged', 'in-progress']); const filter = getQueryFilter( '', diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.test.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.test.tsx index 1ef57a3499922..9c6954a6898a6 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.test.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.test.tsx @@ -8,6 +8,7 @@ import { ExistsFilter, Filter } from '@kbn/es-query'; import { buildAlertsRuleIdFilter, + buildAlertStatusesFilter, buildAlertStatusFilter, buildThreatMatchFilter, } from './default_config'; @@ -124,6 +125,42 @@ describe('alerts default_config', () => { }); }); + describe('buildAlertStatusesFilter', () => { + test('builds filter containing all statuses passed into function', () => { + const filters = buildAlertStatusesFilter(['open', 'acknowledged', 'in-progress']); + const expected = { + meta: { + alias: null, + disabled: false, + negate: false, + }, + query: { + bool: { + should: [ + { + term: { + 'signal.status': 'open', + }, + }, + { + term: { + 'signal.status': 'acknowledged', + }, + }, + { + term: { + 'signal.status': 'in-progress', + }, + }, + ], + }, + }, + }; + expect(filters).toHaveLength(1); + expect(filters[0]).toEqual(expected); + }); + }); + // TODO: move these tests to ../timelines/components/timeline/body/events/event_column_view.tsx // describe.skip('getAlertActions', () => { // let setEventsLoading: ({ eventIds, isLoading }: SetEventsLoadingProps) => void; diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx index 1c58c339cb5b2..fd7f026e9c540 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx @@ -68,6 +68,32 @@ export const buildAlertStatusFilter = (status: Status): Filter[] => { ]; }; +/** + * For backwards compatability issues, if `acknowledged` is a status prop, `in-progress` will likely have to be too + */ +export const buildAlertStatusesFilter = (statuses: Status[]): Filter[] => { + const combinedQuery = { + bool: { + should: statuses.map((status) => ({ + term: { + 'signal.status': status, + }, + })), + }, + }; + + return [ + { + meta: { + alias: null, + negate: false, + disabled: false, + }, + query: combinedQuery, + }, + ]; +}; + export const buildAlertsRuleIdFilter = (ruleId: string | null): Filter[] => ruleId ? [ @@ -203,6 +229,30 @@ export const buildAlertStatusFilterRuleRegistry = (status: Status): Filter[] => ]; }; +// TODO: Once we are past experimental phase this code should be removed +export const buildAlertStatusesFilterRuleRegistry = (statuses: Status[]): Filter[] => { + const combinedQuery = { + bool: { + should: statuses.map((status) => ({ + term: { + [ALERT_STATUS]: status, + }, + })), + }, + }; + + return [ + { + meta: { + alias: null, + negate: false, + disabled: false, + }, + query: combinedQuery, + }, + ]; +}; + export const buildShowBuildingBlockFilterRuleRegistry = ( showBuildingBlockAlerts: boolean ): Filter[] => From 18fe8c4987ce777ff21c6cabbff59ea4b8a654c9 Mon Sep 17 00:00:00 2001 From: Marius Dragomir Date: Thu, 26 Aug 2021 23:13:46 +0200 Subject: [PATCH 103/139] Fix for changed failed alert text (#110268) --- .../apps/alerts/alerts_encryption_keys.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/test/stack_functional_integration/apps/alerts/alerts_encryption_keys.js b/x-pack/test/stack_functional_integration/apps/alerts/alerts_encryption_keys.js index e4ac00661c078..076ad6b4880bd 100644 --- a/x-pack/test/stack_functional_integration/apps/alerts/alerts_encryption_keys.js +++ b/x-pack/test/stack_functional_integration/apps/alerts/alerts_encryption_keys.js @@ -43,8 +43,8 @@ export default ({ getPageObjects, getService }) => { await testConnector(connectorName); await retry.try(async () => { const executionFailureResultCallout = await testSubjects.find('executionFailureResult'); - expect(await executionFailureResultCallout.getVisibleText()).to.match( - /Internal Server Error/ + expect(await executionFailureResultCallout.getVisibleText()).to.be( + 'Test failed to run\nThe following error was found:\nerror sending email\nDetails:\nMail command failed: 550 5.7.1 Relaying denied' ); }); expect(true).to.be(true); From 2859eeb7de4d9705f0288543048850e6eb303238 Mon Sep 17 00:00:00 2001 From: Frank Hassanabad Date: Thu, 26 Aug 2021 15:24:16 -0600 Subject: [PATCH 104/139] Removed one liner deprecation found with ElasticClient and made it harder to accidently import from the kbn package (#110318) ## Summary Removes ElasticSearch deprecation and makes it harder to import it from the wrong package. I accidentally exposed a deprecated `ElasticSearch` from a package we do not want to expose and everyone's IDE is suggesting it rather than the correct one from Kibana core. * Removes the type from the exports within the package * Fixes the instance that is trying to import it in favor of the correct one. --- packages/kbn-securitysolution-es-utils/src/index.ts | 1 - .../server/lib/detection_engine/signals/utils.ts | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/kbn-securitysolution-es-utils/src/index.ts b/packages/kbn-securitysolution-es-utils/src/index.ts index 8dead7f899ba2..f4b081ac1b0a0 100644 --- a/packages/kbn-securitysolution-es-utils/src/index.ts +++ b/packages/kbn-securitysolution-es-utils/src/index.ts @@ -12,7 +12,6 @@ export * from './decode_version'; export * from './delete_all_index'; export * from './delete_policy'; export * from './delete_template'; -export * from './elasticsearch_client'; export * from './encode_hit_version'; export * from './get_index_aliases'; export * from './get_index_count'; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts index 554fe87bbf413..5c2d1fa061221 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/signals/utils.ts @@ -17,14 +17,17 @@ import type { ListArray, ExceptionListItemSchema } from '@kbn/securitysolution-i import { MAX_EXCEPTION_LIST_SIZE } from '@kbn/securitysolution-list-constants'; import { hasLargeValueList } from '@kbn/securitysolution-list-utils'; import { parseScheduleDates } from '@kbn/securitysolution-io-ts-utils'; -import { ElasticsearchClient } from '@kbn/securitysolution-es-utils'; import { TimestampOverrideOrUndefined, Privilege, RuleExecutionStatus, } from '../../../../common/detection_engine/schemas/common/schemas'; -import { Logger, SavedObjectsClientContract } from '../../../../../../../src/core/server'; +import { + ElasticsearchClient, + Logger, + SavedObjectsClientContract, +} from '../../../../../../../src/core/server'; import { AlertInstanceContext, AlertInstanceState, From 1986d2dc9959d0803ca463948d1562223cc83c16 Mon Sep 17 00:00:00 2001 From: Kevin Logan <56395104+kevinlog@users.noreply.github.com> Date: Thu, 26 Aug 2021 18:19:23 -0400 Subject: [PATCH 105/139] [Security Solution] Add additional advanced policy options for Memory protections (#110288) * [Security Solution] Add additional advanced policy options for Memory protections --- .../policy/models/advanced_policy_schema.ts | 48 ++++++++++++++----- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/models/advanced_policy_schema.ts b/x-pack/plugins/security_solution/public/management/pages/policy/models/advanced_policy_schema.ts index db998b871cd93..1add8bb9d6f76 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/models/advanced_policy_schema.ts +++ b/x-pack/plugins/security_solution/public/management/pages/policy/models/advanced_policy_schema.ts @@ -659,46 +659,68 @@ export const AdvancedPolicySchema: AdvancedPolicySchemaType[] = [ ), }, { - key: 'windows.advanced.memory_protection.shellcode_enhanced_pe_parsing', + key: 'windows.advanced.memory_protection.shellcode', first_supported_version: '7.15', documentation: i18n.translate( - 'xpack.securitySolution.endpoint.policy.advanced.windows.advanced.memory_protection.shellcode_enhanced_pe_parsing', + 'xpack.securitySolution.endpoint.policy.advanced.windows.advanced.memory_protection.shellcode', { defaultMessage: - "A value of 'false' disables enhanced parsing of PEs found within shellcode payloads. Default: true.", + 'Enable shellcode injection detection as a part of memory protection. Default: true.', } ), }, { - key: 'windows.advanced.memory_protection.shellcode', + key: 'windows.advanced.memory_protection.memory_scan', first_supported_version: '7.15', documentation: i18n.translate( - 'xpack.securitySolution.endpoint.policy.advanced.windows.advanced.memory_protection.shellcode', + 'xpack.securitySolution.endpoint.policy.advanced.windows.advanced.memory_protection.memory_scan', { defaultMessage: - "A value of 'false' disables Shellcode Injection Protection, a feature of Memory Protection. Default: true.", + 'Enable scanning for malicious memory regions as a part of memory protection. Default: true.', } ), }, { - key: 'windows.advanced.memory_protection.memory_scan', + key: 'linux.advanced.malware.quarantine', + first_supported_version: '7.14', + documentation: i18n.translate( + 'xpack.securitySolution.endpoint.policy.advanced.linux.advanced.malware.quarantine', + { + defaultMessage: + 'Whether quarantine should be enabled when malware prevention is enabled. Default: true.', + } + ), + }, + { + key: 'windows.advanced.memory_protection.shellcode_collect_sample', first_supported_version: '7.15', documentation: i18n.translate( - 'xpack.securitySolution.endpoint.policy.advanced.windows.advanced.memory_protection.signature', + 'xpack.securitySolution.endpoint.policy.advanced.windows.advanced.memory_protection.shellcode_collect_sample', { defaultMessage: - "A value of 'false' disables Memory Signature Scanning, a feature of Memory Protection. Default: true.", + 'Collect 4MB of memory surrounding detected shellcode regions. Default: false. Enabling this value may significantly increase the amount of data stored in Elasticsearch.', } ), }, { - key: 'linux.advanced.malware.quarantine', - first_supported_version: '7.14', + key: 'windows.advanced.memory_protection.memory_scan_collect_sample', + first_supported_version: '7.15', documentation: i18n.translate( - 'xpack.securitySolution.endpoint.policy.advanced.linux.advanced.malware.quarantine', + 'xpack.securitySolution.endpoint.policy.advanced.windows.advanced.memory_protection.memory_scan_collect_sample', { defaultMessage: - 'Whether quarantine should be enabled when malware prevention is enabled. Default: true.', + 'Collect 4MB of memory surrounding detected malicious memory regions. Default: false. Enabling this value may significantly increase the amount of data stored in Elasticsearch.', + } + ), + }, + { + key: 'windows.advanced.memory_protection.shellcode_enhanced_pe_parsing', + first_supported_version: '7.15', + documentation: i18n.translate( + 'xpack.securitySolution.endpoint.policy.advanced.windows.memory_protection.shellcode_enhanced_pe_parsing', + { + defaultMessage: + 'Attempt to identify and extract PE metadata from injected shellcode, including Authenticode signatures and version resource information. Default: true.', } ), }, From 35b59cd7579a03c9c3108ff1073fe9cd8a859a8a Mon Sep 17 00:00:00 2001 From: Frank Hassanabad Date: Thu, 26 Aug 2021 16:53:01 -0600 Subject: [PATCH 106/139] Changes the loading of indexes in tests from beforeEach() to before() (#110340) ## Summary Changes the loading of indexes in tests from beforeEach() to before() Hoping this fixes some flake we have seen recently. If it doesn't, at least tests should run faster and be less flake overall. If these two below do begin acting up again I will then probably resort to wrapping the individual tests around retry blocks or removing the tests. Also found one area within `x-pack/test/detection_engine_api_integration/security_and_spaces/tests/generating_signals.ts` where we do a `load` twice but I fixed it to the `load`/`unload` pattern. Issues this should fix: * https://github.com/elastic/kibana/issues/107911 * https://github.com/elastic/kibana/issues/107856 ### Checklist - [ ] [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 --- .../basic/tests/create_rules.ts | 10 +++++-- .../basic/tests/create_rules_bulk.ts | 10 +++++-- .../basic/tests/find_statuses.ts | 10 +++++-- .../basic/tests/open_close_signals.ts | 11 ++++++-- .../security_and_spaces/tests/add_actions.ts | 10 +++++-- .../security_and_spaces/tests/aliases.ts | 10 +++++-- .../tests/create_endpoint_exceptions.ts | 20 +++++++++----- .../tests/create_exceptions.ts | 20 +++++++++++--- .../security_and_spaces/tests/create_rules.ts | 10 +++++-- .../tests/create_rules_bulk.ts | 10 +++++-- .../tests/create_threat_matching.ts | 24 ++++++++++++----- .../exception_operators_data_types/date.ts | 10 +++++-- .../exception_operators_data_types/double.ts | 18 ++++++++----- .../exception_operators_data_types/float.ts | 14 +++++++--- .../exception_operators_data_types/integer.ts | 18 ++++++++----- .../exception_operators_data_types/ip.ts | 10 +++++-- .../ip_array.ts | 10 +++++-- .../exception_operators_data_types/keyword.ts | 10 +++++-- .../keyword_array.ts | 14 +++++++--- .../exception_operators_data_types/long.ts | 14 +++++++--- .../exception_operators_data_types/text.ts | 20 ++++++++------ .../text_array.ts | 10 +++++-- .../tests/find_statuses.ts | 10 +++++-- .../tests/generating_signals.ts | 26 ++++++++++++------- .../tests/keyword_family/const_keyword.ts | 14 +++++++--- .../tests/keyword_family/keyword.ts | 10 +++++-- .../keyword_mixed_with_const.ts | 16 ++++++++---- .../tests/open_close_signals.ts | 11 ++++++-- .../security_and_spaces/tests/runtime.ts | 10 +++++-- .../security_and_spaces/tests/timestamps.ts | 10 +++++-- .../tests/update_actions.ts | 10 +++++-- 31 files changed, 304 insertions(+), 106 deletions(-) diff --git a/x-pack/test/detection_engine_api_integration/basic/tests/create_rules.ts b/x-pack/test/detection_engine_api_integration/basic/tests/create_rules.ts index 9c79c19b6ad70..85d0e45e4e808 100644 --- a/x-pack/test/detection_engine_api_integration/basic/tests/create_rules.ts +++ b/x-pack/test/detection_engine_api_integration/basic/tests/create_rules.ts @@ -46,15 +46,21 @@ export default ({ getService }: FtrProviderContext) => { }); describe('creating rules', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should create a single rule with a rule_id', async () => { diff --git a/x-pack/test/detection_engine_api_integration/basic/tests/create_rules_bulk.ts b/x-pack/test/detection_engine_api_integration/basic/tests/create_rules_bulk.ts index 759c9b25dc1e8..249733e390a8c 100644 --- a/x-pack/test/detection_engine_api_integration/basic/tests/create_rules_bulk.ts +++ b/x-pack/test/detection_engine_api_integration/basic/tests/create_rules_bulk.ts @@ -49,15 +49,21 @@ export default ({ getService }: FtrProviderContext): void => { }); describe('creating rules in bulk', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should create a single rule with a rule_id', async () => { diff --git a/x-pack/test/detection_engine_api_integration/basic/tests/find_statuses.ts b/x-pack/test/detection_engine_api_integration/basic/tests/find_statuses.ts index a5e96271d923f..73eb57d5397f5 100644 --- a/x-pack/test/detection_engine_api_integration/basic/tests/find_statuses.ts +++ b/x-pack/test/detection_engine_api_integration/basic/tests/find_statuses.ts @@ -26,16 +26,22 @@ export default ({ getService }: FtrProviderContext): void => { const es = getService('es'); describe('find_statuses', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); await deleteAllRulesStatuses(es); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should return an empty find statuses body correctly if no statuses are loaded', async () => { diff --git a/x-pack/test/detection_engine_api_integration/basic/tests/open_close_signals.ts b/x-pack/test/detection_engine_api_integration/basic/tests/open_close_signals.ts index 3dbef66023e58..5decf3edaf847 100644 --- a/x-pack/test/detection_engine_api_integration/basic/tests/open_close_signals.ts +++ b/x-pack/test/detection_engine_api_integration/basic/tests/open_close_signals.ts @@ -66,15 +66,22 @@ export default ({ getService }: FtrProviderContext) => { }); describe('tests with auditbeat data', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await deleteAllAlerts(supertest); await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); + afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should be able to execute and get 10 signals', async () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/add_actions.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/add_actions.ts index 8b31877e11bbe..3278bf902fae4 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/add_actions.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/add_actions.ts @@ -29,15 +29,21 @@ export default ({ getService }: FtrProviderContext) => { describe('add_actions', () => { describe('adding actions', () => { - beforeEach(async () => { + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + beforeEach(async () => { await createSignalsIndex(supertest); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should be able to create a new webhook action and attach it to a rule', async () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/aliases.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/aliases.ts index e72c00c31434e..9b7c75bab3100 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/aliases.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/aliases.ts @@ -28,15 +28,21 @@ export default ({ getService }: FtrProviderContext) => { } describe('Tests involving aliases of source indexes and the signals index', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/security_solution/alias'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/security_solution/alias'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/security_solution/alias'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/security_solution/alias'); }); it('should keep the original alias value such as "host_alias" from a source index when the value is indexed', async () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_endpoint_exceptions.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_endpoint_exceptions.ts index 56808b5739eb9..b0f208aadaf1b 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_endpoint_exceptions.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_endpoint_exceptions.ts @@ -32,24 +32,30 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for endpoints', () => { - beforeEach(async () => { - await createSignalsIndex(supertest); - await createListsIndex(supertest); + before(async () => { await esArchiver.load( 'x-pack/test/functional/es_archives/rule_exceptions/endpoint_without_host_type' ); await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/agent'); }); + after(async () => { + await esArchiver.unload( + 'x-pack/test/functional/es_archives/rule_exceptions/endpoint_without_host_type' + ); + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/agent'); + }); + + beforeEach(async () => { + await createSignalsIndex(supertest); + await createListsIndex(supertest); + }); + afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload( - 'x-pack/test/functional/es_archives/rule_exceptions/endpoint_without_host_type' - ); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/agent'); }); describe('no exceptions set', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_exceptions.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_exceptions.ts index 4f764533e7578..0d1e353447e99 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_exceptions.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_exceptions.ts @@ -63,17 +63,23 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('create_rules_with_exceptions', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + describe('creating rules with exceptions', () => { beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); await deleteAllExceptions(es); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); describe('elastic admin', () => { @@ -529,16 +535,22 @@ export default ({ getService }: FtrProviderContext) => { }); describe('tests with auditbeat data', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); await deleteAllExceptions(es); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should be able to execute against an exception list that does not include valid entries and get back 10 signals', async () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_rules.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_rules.ts index fff871493dfda..db1926a77f3c8 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_rules.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_rules.ts @@ -59,15 +59,21 @@ export default ({ getService }: FtrProviderContext) => { }); describe('creating rules', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); describe('elastic admin', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_rules_bulk.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_rules_bulk.ts index e1fea9afa9ed5..048e13b7d0023 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_rules_bulk.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_rules_bulk.ts @@ -54,15 +54,21 @@ export default ({ getService }: FtrProviderContext): void => { }); describe('creating rules in bulk', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should create a single rule with a rule_id', async () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_threat_matching.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_threat_matching.ts index 46fce77678abf..f985cdfecc465 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_threat_matching.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/create_threat_matching.ts @@ -68,15 +68,21 @@ export default ({ getService }: FtrProviderContext) => { }); describe('creating threat match rule', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should create a single rule with a rule_id', async () => { @@ -106,16 +112,22 @@ export default ({ getService }: FtrProviderContext) => { }); describe('tests with auditbeat data', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await deleteAllAlerts(supertest); await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should be able to execute and get 10 signals when doing a specific query', async () => { @@ -399,11 +411,11 @@ export default ({ getService }: FtrProviderContext) => { }); describe('indicator enrichment', () => { - beforeEach(async () => { + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/filebeat/threat_intel'); }); - afterEach(async () => { + after(async () => { await esArchiver.unload('x-pack/test/functional/es_archives/filebeat/threat_intel'); }); diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/date.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/date.ts index 280bc3099dd1a..c2c7313762ae7 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/date.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/date.ts @@ -33,10 +33,17 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for data type date', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/date'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/date'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/date'); }); afterEach(async () => { @@ -44,7 +51,6 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/date'); }); describe('"is" operator', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/double.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/double.ts index 152fd46fdf6a2..7f659d6795f9a 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/double.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/double.ts @@ -33,11 +33,21 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for data type double', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/double'); + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/double_as_string'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/double'); + await esArchiver.unload( + 'x-pack/test/functional/es_archives/rule_exceptions/double_as_string' + ); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/double'); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/double_as_string'); }); afterEach(async () => { @@ -45,10 +55,6 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/double'); - await esArchiver.unload( - 'x-pack/test/functional/es_archives/rule_exceptions/double_as_string' - ); }); describe('"is" operator', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/float.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/float.ts index d3b93cbab1124..f7208a8832c4d 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/float.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/float.ts @@ -33,11 +33,19 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for data type float', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/float'); + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/float_as_string'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/float'); + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/float_as_string'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/float'); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/float_as_string'); }); afterEach(async () => { @@ -45,8 +53,6 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/float'); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/float_as_string'); }); describe('"is" operator', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/integer.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/integer.ts index 6bfaea982a407..42152fd18473a 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/integer.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/integer.ts @@ -33,11 +33,21 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for data type integer', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/integer'); + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/integer_as_string'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/integer'); + await esArchiver.unload( + 'x-pack/test/functional/es_archives/rule_exceptions/integer_as_string' + ); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/integer'); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/integer_as_string'); }); afterEach(async () => { @@ -45,10 +55,6 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/integer'); - await esArchiver.unload( - 'x-pack/test/functional/es_archives/rule_exceptions/integer_as_string' - ); }); describe('"is" operator', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/ip.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/ip.ts index cf7b072a5e049..3a65a0f0a67e5 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/ip.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/ip.ts @@ -33,10 +33,17 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for data type ip', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/ip'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/ip'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/ip'); }); afterEach(async () => { @@ -44,7 +51,6 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/ip'); }); describe('"is" operator', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/ip_array.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/ip_array.ts index 1b05106ac3d31..9c169c1c34207 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/ip_array.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/ip_array.ts @@ -33,10 +33,17 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for data type ip', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/ip_as_array'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/ip_as_array'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/ip_as_array'); }); afterEach(async () => { @@ -44,7 +51,6 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/ip_as_array'); }); describe('"is" operator', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/keyword.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/keyword.ts index 73ae9cc191e9f..4c70dbdf170c7 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/keyword.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/keyword.ts @@ -33,10 +33,17 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for data type keyword', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/keyword'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/keyword'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/keyword'); }); afterEach(async () => { @@ -44,7 +51,6 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/keyword'); }); describe('"is" operator', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/keyword_array.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/keyword_array.ts index 8fff5e3580f13..2a2c8df30981f 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/keyword_array.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/keyword_array.ts @@ -33,10 +33,19 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for data type keyword', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/keyword_as_array'); + }); + + after(async () => { + await esArchiver.unload( + 'x-pack/test/functional/es_archives/rule_exceptions/keyword_as_array' + ); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/keyword_as_array'); }); afterEach(async () => { @@ -44,9 +53,6 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload( - 'x-pack/test/functional/es_archives/rule_exceptions/keyword_as_array' - ); }); describe('"is" operator', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/long.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/long.ts index 4af1b426bbfed..35573edea3c39 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/long.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/long.ts @@ -33,11 +33,19 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for data type long', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/long'); + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/long_as_string'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/long'); + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/long_as_string'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/long'); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/long_as_string'); }); afterEach(async () => { @@ -45,8 +53,6 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/long'); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/long_as_string'); }); describe('"is" operator', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/text.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/text.ts index 48832cef27cd9..a938ee991e1ac 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/text.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/text.ts @@ -33,13 +33,20 @@ export default ({ getService }: FtrProviderContext) => { const esArchiver = getService('esArchiver'); const es = getService('es'); - // FLAKY: https://github.com/elastic/kibana/issues/107911 - describe.skip('Rule exception operators for data type text', () => { + describe('Rule exception operators for data type text', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/text'); + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/text_no_spaces'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/text'); + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/text_no_spaces'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/text'); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/text_no_spaces'); }); afterEach(async () => { @@ -47,12 +54,9 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/text'); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/text_no_spaces'); }); - // FLAKY: https://github.com/elastic/kibana/issues/107856 - describe.skip('"is" operator', () => { + describe('"is" operator', () => { it('should find all the text from the data set when no exceptions are set on the rule', async () => { const rule = getRuleForSignalTesting(['text']); const { id } = await createRule(supertest, rule); diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/text_array.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/text_array.ts index 6512db22c2eb3..b152b44867a09 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/text_array.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/exception_operators_data_types/text_array.ts @@ -33,10 +33,17 @@ export default ({ getService }: FtrProviderContext) => { const es = getService('es'); describe('Rule exception operators for data type text', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/text_as_array'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/text_as_array'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); await createListsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_exceptions/text_as_array'); }); afterEach(async () => { @@ -44,7 +51,6 @@ export default ({ getService }: FtrProviderContext) => { await deleteAllAlerts(supertest); await deleteAllExceptions(es); await deleteListsIndex(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_exceptions/text_as_array'); }); describe('"is" operator', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/find_statuses.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/find_statuses.ts index b423fb80609c1..c2dfed0c495db 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/find_statuses.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/find_statuses.ts @@ -26,16 +26,22 @@ export default ({ getService }: FtrProviderContext): void => { const esArchiver = getService('esArchiver'); describe('find_statuses', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); await deleteAllRulesStatuses(es); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should return an empty find statuses body correctly if no statuses are loaded', async () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/generating_signals.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/generating_signals.ts index a3315da2c142e..b90ceb3dde9cc 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/generating_signals.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/generating_signals.ts @@ -56,11 +56,11 @@ export default ({ getService }: FtrProviderContext) => { }); describe('Signals from audit beat are of the expected structure', () => { - beforeEach(async () => { + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); - afterEach(async () => { + after(async () => { await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); @@ -1135,11 +1135,11 @@ export default ({ getService }: FtrProviderContext) => { * underneath the signal object and no errors when they do have a clash. */ describe('Signals generated from name clashes', () => { - beforeEach(async () => { + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/signals/numeric_name_clash'); }); - afterEach(async () => { + after(async () => { await esArchiver.unload('x-pack/test/functional/es_archives/signals/numeric_name_clash'); }); @@ -1292,11 +1292,11 @@ export default ({ getService }: FtrProviderContext) => { * the signal object and no errors when they do have a clash. */ describe('Signals generated from object clashes', () => { - beforeEach(async () => { + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/signals/object_clash'); }); - afterEach(async () => { + after(async () => { await esArchiver.unload('x-pack/test/functional/es_archives/signals/object_clash'); }); @@ -1451,11 +1451,11 @@ export default ({ getService }: FtrProviderContext) => { * value of the signal will be taken from the mapped field of the source event. */ describe('Signals generated from events with custom severity and risk score fields', () => { - beforeEach(async () => { + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/signals/severity_risk_overrides'); }); - afterEach(async () => { + after(async () => { await esArchiver.unload( 'x-pack/test/functional/es_archives/signals/severity_risk_overrides' ); @@ -1600,16 +1600,22 @@ export default ({ getService }: FtrProviderContext) => { }); describe('Signals generated from events with name override field', async () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await deleteSignalsIndex(supertest); await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should generate signals with name_override field', async () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/const_keyword.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/const_keyword.ts index 356234d61173d..45b7e79df1f2b 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/const_keyword.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/const_keyword.ts @@ -36,17 +36,23 @@ export default ({ getService }: FtrProviderContext) => { } describe('Rule detects against a keyword of event.dataset', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_keyword_family/const_keyword'); + }); + + after(async () => { + await esArchiver.unload( + 'x-pack/test/functional/es_archives/rule_keyword_family/const_keyword' + ); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_keyword_family/const_keyword'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload( - 'x-pack/test/functional/es_archives/rule_keyword_family/const_keyword' - ); }); describe('"kql" rule type', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/keyword.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/keyword.ts index 59940bc0c4fd7..4f904694acaf8 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/keyword.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/keyword.ts @@ -37,15 +37,21 @@ export default ({ getService }: FtrProviderContext) => { } describe('Rule detects against a keyword of event.dataset', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/rule_keyword_family/keyword'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/rule_keyword_family/keyword'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/rule_keyword_family/keyword'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/rule_keyword_family/keyword'); }); describe('"kql" rule type', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/keyword_mixed_with_const.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/keyword_mixed_with_const.ts index 9c32063c4378b..c5634b2aa696f 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/keyword_mixed_with_const.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/keyword_family/keyword_mixed_with_const.ts @@ -35,21 +35,27 @@ export default ({ getService }: FtrProviderContext) => { } describe('Rule detects against a keyword and constant_keyword of event.dataset', () => { - beforeEach(async () => { - await createSignalsIndex(supertest); + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/rule_keyword_family/const_keyword'); await esArchiver.load('x-pack/test/functional/es_archives/rule_keyword_family/keyword'); }); - afterEach(async () => { - await deleteSignalsIndex(supertest); - await deleteAllAlerts(supertest); + after(async () => { await esArchiver.unload( 'x-pack/test/functional/es_archives/rule_keyword_family/const_keyword' ); await esArchiver.unload('x-pack/test/functional/es_archives/rule_keyword_family/keyword'); }); + beforeEach(async () => { + await createSignalsIndex(supertest); + }); + + afterEach(async () => { + await deleteSignalsIndex(supertest); + await deleteAllAlerts(supertest); + }); + describe('"kql" rule type', () => { it('should detect the "dataset_name_1" from "event.dataset" and have 8 signals, 4 from each index', async () => { const rule = { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/open_close_signals.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/open_close_signals.ts index 4ecfeab80546e..16a45fd08d91b 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/open_close_signals.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/open_close_signals.ts @@ -68,15 +68,22 @@ export default ({ getService }: FtrProviderContext) => { }); describe('tests with auditbeat data', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await deleteAllAlerts(supertest); await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); + afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should be able to execute and get 10 signals', async () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/runtime.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/runtime.ts index 2b7c38c775365..528a99715c05c 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/runtime.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/runtime.ts @@ -29,16 +29,22 @@ export default ({ getService }: FtrProviderContext) => { } describe('Tests involving runtime fields of source indexes and the signals index', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/security_solution/runtime'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/security_solution/runtime'); + }); + describe('Regular runtime field mappings', () => { beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/security_solution/runtime'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/security_solution/runtime'); }); it('should copy normal non-runtime data set from the source index into the signals index in the same position when the target is ECS compatible', async () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/timestamps.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/timestamps.ts index 28a2e6b4dbd5c..1c0c1da123df9 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/timestamps.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/timestamps.ts @@ -239,15 +239,21 @@ export default ({ getService }: FtrProviderContext) => { }); describe('Signals generated from events with timestamp override field and ensures search_after continues to work when documents are missing timestamp override field', () => { + before(async () => { + await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + beforeEach(async () => { await createSignalsIndex(supertest); - await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); describe('KQL', () => { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/update_actions.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/update_actions.ts index 59a99495c14c6..930486dab97bb 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/update_actions.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/tests/update_actions.ts @@ -36,15 +36,21 @@ export default ({ getService }: FtrProviderContext) => { describe('update_actions', () => { describe('updating actions', () => { - beforeEach(async () => { + before(async () => { await esArchiver.load('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + after(async () => { + await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); + }); + + beforeEach(async () => { await createSignalsIndex(supertest); }); afterEach(async () => { await deleteSignalsIndex(supertest); await deleteAllAlerts(supertest); - await esArchiver.unload('x-pack/test/functional/es_archives/auditbeat/hosts'); }); it('should be able to create a new webhook action and update a rule with the webhook action', async () => { From 8babdc246202b8ae39bc71a239a202ab46bf69ca Mon Sep 17 00:00:00 2001 From: Matthew Kime Date: Thu, 26 Aug 2021 17:55:37 -0500 Subject: [PATCH 107/139] Remove index pattern placeholder advanced setting (#110334) * remove index pattern placeholder setting * remove unused translations --- src/plugins/data/common/constants.ts | 1 - src/plugins/data/server/ui_settings.ts | 11 ----------- x-pack/plugins/translations/translations/ja-JP.json | 2 -- x-pack/plugins/translations/translations/zh-CN.json | 2 -- 4 files changed, 16 deletions(-) diff --git a/src/plugins/data/common/constants.ts b/src/plugins/data/common/constants.ts index 688f1aa6160a4..f08cc273a00af 100644 --- a/src/plugins/data/common/constants.ts +++ b/src/plugins/data/common/constants.ts @@ -33,7 +33,6 @@ export const UI_SETTINGS = { TIMEPICKER_REFRESH_INTERVAL_DEFAULTS: 'timepicker:refreshIntervalDefaults', TIMEPICKER_QUICK_RANGES: 'timepicker:quickRanges', TIMEPICKER_TIME_DEFAULTS: 'timepicker:timeDefaults', - INDEXPATTERN_PLACEHOLDER: 'indexPattern:placeholder', FILTERS_PINNED_BY_DEFAULT: 'filters:pinnedByDefault', FILTERS_EDITOR_SUGGEST_VALUES: 'filterEditor:suggestValues', AUTOCOMPLETE_USE_TIMERANGE: 'autocomplete:useTimeRange', diff --git a/src/plugins/data/server/ui_settings.ts b/src/plugins/data/server/ui_settings.ts index 889c27bdf1ce5..284a381f063dd 100644 --- a/src/plugins/data/server/ui_settings.ts +++ b/src/plugins/data/server/ui_settings.ts @@ -454,17 +454,6 @@ export function getUiSettings(): Record> { }) ), }, - [UI_SETTINGS.INDEXPATTERN_PLACEHOLDER]: { - name: i18n.translate('data.advancedSettings.indexPatternPlaceholderTitle', { - defaultMessage: 'Index pattern placeholder', - }), - value: '', - description: i18n.translate('data.advancedSettings.indexPatternPlaceholderText', { - defaultMessage: - 'The placeholder for the "Index pattern name" field in "Management > Index Patterns > Create Index Pattern".', - }), - schema: schema.string(), - }, [UI_SETTINGS.FILTERS_PINNED_BY_DEFAULT]: { name: i18n.translate('data.advancedSettings.pinFiltersTitle', { defaultMessage: 'Pin filters by default', diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index b0e54c223723a..6115e07189ed1 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -709,8 +709,6 @@ "data.advancedSettings.histogram.maxBarsTitle": "バケットの最大数", "data.advancedSettings.historyLimitText": "履歴があるフィールド (例:クエリインプット) に個の数の最近の値が表示されます", "data.advancedSettings.historyLimitTitle": "履歴制限数", - "data.advancedSettings.indexPatternPlaceholderText": "「管理 > インデックスパターン > インデックスパターンを作成」で使用される「インデックスパターン名」フィールドのプレースホルダーです。", - "data.advancedSettings.indexPatternPlaceholderTitle": "インデックスパターンのプレースホルダー", "data.advancedSettings.metaFieldsText": "_source の外にあり、ドキュメントが表示される時に融合されるフィールドです", "data.advancedSettings.metaFieldsTitle": "メタフィールド", "data.advancedSettings.pinFiltersText": "フィルターがデフォルトでグローバル (ピン付けされた状態) になるかの設定です", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 9f47e6f36880d..c7aff32f16dbd 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -712,8 +712,6 @@ "data.advancedSettings.histogram.maxBarsTitle": "最大存储桶数", "data.advancedSettings.historyLimitText": "在具有历史记录(例如查询输入)的字段中,显示此数目的最近值", "data.advancedSettings.historyLimitTitle": "历史记录限制", - "data.advancedSettings.indexPatternPlaceholderText": "在“管理”>“索引模式”>“创建索引模式”中“索引模式名称”字段的占位符。", - "data.advancedSettings.indexPatternPlaceholderTitle": "索引模式占位符", "data.advancedSettings.metaFieldsText": "_source 之外存在的、在显示我们的文档时将合并进其中的字段", "data.advancedSettings.metaFieldsTitle": "元字段", "data.advancedSettings.pinFiltersText": "筛选是否应默认有全局状态(置顶)", From 682bc7c77189f9fbdfe19a09bc58e74211da4ae6 Mon Sep 17 00:00:00 2001 From: Marshall Main <55718608+marshallmain@users.noreply.github.com> Date: Thu, 26 Aug 2021 15:58:44 -0700 Subject: [PATCH 108/139] [RAC] Replace usages of kibana.alert.status: open with active (#109033) * Replace usages of alert.status: open with active * Update unit tests * Add back home.disableWelcomeScreen=true * Only disable welcome screen within APM ftr config * Add disableWelcomeScreen option to security solution cypress config * Fix reference to workflow status * oops * Remove duplicate disableWelcomeScreen * Update README.md Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../helper/get_alert_annotations.test.tsx | 3 +- .../latency_chart/latency_chart.stories.tsx | 7 ++-- .../public/pages/alerts/example_data.ts | 6 ++-- x-pack/plugins/rule_registry/README.md | 34 ++++++++++--------- .../tests/bulk_update.test.ts | 31 +++++++++-------- .../alert_data_client/tests/get.test.ts | 13 +++---- .../alerts_table/default_config.tsx | 12 +++---- .../factories/utils/build_alert.test.ts | 5 +-- .../rule_types/factories/utils/build_alert.ts | 3 +- .../lib/alert_types/duration_anomaly.tsx | 4 +-- .../public/lib/alert_types/monitor_status.tsx | 10 ++++-- 11 files changed, 72 insertions(+), 56 deletions(-) diff --git a/x-pack/plugins/apm/public/components/shared/charts/helper/get_alert_annotations.test.tsx b/x-pack/plugins/apm/public/components/shared/charts/helper/get_alert_annotations.test.tsx index 25a37570182bf..2b45e6872f295 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/helper/get_alert_annotations.test.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/helper/get_alert_annotations.test.tsx @@ -16,6 +16,7 @@ import { ALERT_SEVERITY, ALERT_START, ALERT_STATUS, + ALERT_STATUS_ACTIVE, ALERT_UUID, SPACE_IDS, ALERT_RULE_UUID, @@ -43,7 +44,7 @@ const alert: Alert = { 'service.name': ['frontend-rum'], [ALERT_RULE_NAME]: ['Latency threshold | frontend-rum'], [ALERT_DURATION]: [62879000], - [ALERT_STATUS]: ['open'], + [ALERT_STATUS]: [ALERT_STATUS_ACTIVE], [SPACE_IDS]: ['myfakespaceid'], tags: ['apm', 'service.name:frontend-rum'], 'transaction.type': ['page-load'], diff --git a/x-pack/plugins/apm/public/components/shared/charts/latency_chart/latency_chart.stories.tsx b/x-pack/plugins/apm/public/components/shared/charts/latency_chart/latency_chart.stories.tsx index 17fdef952658d..da3b24197c4c2 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/latency_chart/latency_chart.stories.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/latency_chart/latency_chart.stories.tsx @@ -14,6 +14,7 @@ import { ALERT_SEVERITY, ALERT_START, ALERT_STATUS, + ALERT_STATUS_ACTIVE, ALERT_UUID, ALERT_RULE_UUID, ALERT_RULE_NAME, @@ -133,7 +134,7 @@ Example.args = { 'service.name': ['frontend-rum'], [ALERT_RULE_NAME]: ['Latency threshold | frontend-rum'], [ALERT_DURATION]: [10000000000], - [ALERT_STATUS]: ['open'], + [ALERT_STATUS]: [ALERT_STATUS_ACTIVE], tags: ['apm', 'service.name:frontend-rum'], 'transaction.type': ['page-load'], [ALERT_RULE_PRODUCER]: ['apm'], @@ -154,7 +155,7 @@ Example.args = { 'service.name': ['frontend-rum'], [ALERT_RULE_NAME]: ['Latency threshold | frontend-rum'], [ALERT_DURATION]: [10000000000], - [ALERT_STATUS]: ['open'], + [ALERT_STATUS]: [ALERT_STATUS_ACTIVE], tags: ['apm', 'service.name:frontend-rum'], 'transaction.type': ['page-load'], [ALERT_RULE_PRODUCER]: ['apm'], @@ -176,7 +177,7 @@ Example.args = { 'service.name': ['frontend-rum'], [ALERT_RULE_NAME]: ['Latency threshold | frontend-rum'], [ALERT_DURATION]: [1000000000], - [ALERT_STATUS]: ['open'], + [ALERT_STATUS]: [ALERT_STATUS_ACTIVE], tags: ['apm', 'service.name:frontend-rum'], 'transaction.type': ['page-load'], [ALERT_RULE_PRODUCER]: ['apm'], diff --git a/x-pack/plugins/observability/public/pages/alerts/example_data.ts b/x-pack/plugins/observability/public/pages/alerts/example_data.ts index 535556a9b6ec1..28f8ecec3f34c 100644 --- a/x-pack/plugins/observability/public/pages/alerts/example_data.ts +++ b/x-pack/plugins/observability/public/pages/alerts/example_data.ts @@ -13,6 +13,8 @@ import { ALERT_RULE_TYPE_ID, ALERT_START, ALERT_STATUS, + ALERT_STATUS_ACTIVE, + ALERT_STATUS_RECOVERED, ALERT_UUID, ALERT_RULE_UUID, ALERT_RULE_NAME, @@ -26,7 +28,7 @@ export const apmAlertResponseExample = [ 'service.name': ['opbeans-java'], [ALERT_RULE_NAME]: ['Error count threshold | opbeans-java (smith test)'], [ALERT_DURATION]: [180057000], - [ALERT_STATUS]: ['open'], + [ALERT_STATUS]: [ALERT_STATUS_ACTIVE], [ALERT_SEVERITY]: ['warning'], tags: ['apm', 'service.name:opbeans-java'], [ALERT_UUID]: ['0175ec0a-a3b1-4d41-b557-e21c2d024352'], @@ -47,7 +49,7 @@ export const apmAlertResponseExample = [ [ALERT_RULE_NAME]: ['Error count threshold | opbeans-java (smith test)'], [ALERT_DURATION]: [2419005000], [ALERT_END]: ['2021-04-12T13:49:49.446Z'], - [ALERT_STATUS]: ['closed'], + [ALERT_STATUS]: [ALERT_STATUS_RECOVERED], tags: ['apm', 'service.name:opbeans-java'], [ALERT_UUID]: ['32b940e1-3809-4c12-8eee-f027cbb385e2'], [ALERT_RULE_UUID]: ['474920d0-93e9-11eb-ac86-0b455460de81'], diff --git a/x-pack/plugins/rule_registry/README.md b/x-pack/plugins/rule_registry/README.md index ad2080aa1f44a..b4a9bab9b435d 100644 --- a/x-pack/plugins/rule_registry/README.md +++ b/x-pack/plugins/rule_registry/README.md @@ -47,20 +47,23 @@ await plugins.ruleRegistry.createOrUpdateComponentTemplate({ // mappingFromFieldMap is a utility function that will generate an // ES mapping from a field map object. You can also define a literal // mapping. - mappings: mappingFromFieldMap({ - [SERVICE_NAME]: { - type: 'keyword', + mappings: mappingFromFieldMap( + { + [SERVICE_NAME]: { + type: 'keyword', + }, + [SERVICE_ENVIRONMENT]: { + type: 'keyword', + }, + [TRANSACTION_TYPE]: { + type: 'keyword', + }, + [PROCESSOR_EVENT]: { + type: 'keyword', + }, }, - [SERVICE_ENVIRONMENT]: { - type: 'keyword', - }, - [TRANSACTION_TYPE]: { - type: 'keyword', - }, - [PROCESSOR_EVENT]: { - type: 'keyword', - }, - }, 'strict'), + 'strict' + ), }, }, }); @@ -129,12 +132,11 @@ The following fields are defined in the technical field component template and s - `kibana.alert.rule.consumer`: the feature which produced the alert (inherited from the rule producer field). Usually a Kibana feature id like `apm`, `siem`... - `kibana.alert.id`: the id of the alert, that is unique within the context of the rule execution it was created in. E.g., for a rule that monitors latency for all services in all environments, this might be `opbeans-java:production`. - `kibana.alert.uuid`: the unique identifier for the alert during its lifespan. If an alert recovers (or closes), this identifier is re-generated when it is opened again. -- `kibana.alert.status`: the status of the alert. Can be `open` or `closed`. +- `kibana.alert.status`: the status of the alert. Can be `active` or `recovered`. - `kibana.alert.start`: the ISO timestamp of the time at which the alert started. - `kibana.alert.end`: the ISO timestamp of the time at which the alert recovered. - `kibana.alert.duration.us`: the duration of the alert, in microseconds. This is always the difference between either the current time, or the time when the alert recovered. -- `kibana.alert.severity.level`: the severity of the alert, as a keyword (e.g. critical). -- `kibana.alert.severity.value`: the severity of the alert, as a numerical value, which allows sorting. +- `kibana.alert.severity`: the severity of the alert, as a keyword (e.g. critical). - `kibana.alert.evaluation.value`: The measured (numerical value). - `kibana.alert.threshold.value`: The threshold that was defined (or, in case of multiple thresholds, the one that was exceeded). - `kibana.alert.ancestors`: the array of ancestors (if any) for the alert. diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts index 3606d90d22414..7b81235083548 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/bulk_update.test.ts @@ -8,6 +8,7 @@ import { ALERT_RULE_CONSUMER, ALERT_STATUS, + ALERT_STATUS_ACTIVE, SPACE_IDS, ALERT_RULE_TYPE_ID, } from '@kbn/rule-data-utils'; @@ -93,7 +94,7 @@ describe('bulkUpdate()', () => { _source: { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: [DEFAULT_SPACE], }, }, @@ -150,7 +151,7 @@ describe('bulkUpdate()', () => { _source: { [ALERT_RULE_TYPE_ID]: fakeRuleTypeId, [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: [DEFAULT_SPACE], }, }, @@ -196,7 +197,7 @@ describe('bulkUpdate()', () => { _source: { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: [DEFAULT_SPACE], }, }, @@ -206,7 +207,7 @@ describe('bulkUpdate()', () => { _source: { [ALERT_RULE_TYPE_ID]: fakeRuleTypeId, [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: [DEFAULT_SPACE], }, }, @@ -283,7 +284,7 @@ describe('bulkUpdate()', () => { _source: { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: [DEFAULT_SPACE], }, }, @@ -303,7 +304,7 @@ describe('bulkUpdate()', () => { await alertsClient.bulkUpdate({ ids: undefined, - query: `${ALERT_STATUS}: open`, + query: `${ALERT_STATUS}: ${ALERT_STATUS_ACTIVE}`, index: indexName, status: 'closed', }); @@ -343,7 +344,7 @@ describe('bulkUpdate()', () => { _source: { [ALERT_RULE_TYPE_ID]: fakeRuleTypeId, [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: [DEFAULT_SPACE], }, }, @@ -355,13 +356,13 @@ describe('bulkUpdate()', () => { await expect( alertsClient.bulkUpdate({ ids: undefined, - query: `${ALERT_STATUS}: open`, + query: `${ALERT_STATUS}: ${ALERT_STATUS_ACTIVE}`, index: indexName, status: 'closed', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` - "queryAndAuditAllAlerts threw an error: Unable to retrieve alerts with query \\"kibana.alert.status: open\\" and operation update - Error: Unable to retrieve alert details for alert with id of \\"null\\" or with query \\"kibana.alert.status: open\\" and operation update + "queryAndAuditAllAlerts threw an error: Unable to retrieve alerts with query \\"kibana.alert.status: active\\" and operation update + Error: Unable to retrieve alert details for alert with id of \\"null\\" or with query \\"kibana.alert.status: active\\" and operation update Error: Error: Unauthorized for fake.rule and apm" `); @@ -404,7 +405,7 @@ describe('bulkUpdate()', () => { _source: { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: [DEFAULT_SPACE], }, }, @@ -414,7 +415,7 @@ describe('bulkUpdate()', () => { _source: { [ALERT_RULE_TYPE_ID]: fakeRuleTypeId, [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: [DEFAULT_SPACE], }, }, @@ -426,13 +427,13 @@ describe('bulkUpdate()', () => { await expect( alertsClient.bulkUpdate({ ids: undefined, - query: `${ALERT_STATUS}: open`, + query: `${ALERT_STATUS}: ${ALERT_STATUS_ACTIVE}`, index: indexName, status: 'closed', }) ).rejects.toThrowErrorMatchingInlineSnapshot(` - "queryAndAuditAllAlerts threw an error: Unable to retrieve alerts with query \\"kibana.alert.status: open\\" and operation update - Error: Unable to retrieve alert details for alert with id of \\"null\\" or with query \\"kibana.alert.status: open\\" and operation update + "queryAndAuditAllAlerts threw an error: Unable to retrieve alerts with query \\"kibana.alert.status: active\\" and operation update + Error: Unable to retrieve alert details for alert with id of \\"null\\" or with query \\"kibana.alert.status: active\\" and operation update Error: Error: Unauthorized for fake.rule and apm" `); diff --git a/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts b/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts index e04a04dbe3b8e..8f9d55392e6b9 100644 --- a/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts +++ b/x-pack/plugins/rule_registry/server/alert_data_client/tests/get.test.ts @@ -8,6 +8,7 @@ import { ALERT_RULE_CONSUMER, ALERT_STATUS, + ALERT_STATUS_ACTIVE, SPACE_IDS, ALERT_RULE_TYPE_ID, } from '@kbn/rule-data-utils'; @@ -103,7 +104,7 @@ describe('get()', () => { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', message: 'hello world 1', [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: ['test_default_space_id'], }, }, @@ -117,7 +118,7 @@ describe('get()', () => { Object { "kibana.alert.rule.consumer": "apm", "kibana.alert.rule.rule_type_id": "apm.error_rate", - "kibana.alert.status": "open", + "kibana.alert.status": "active", "kibana.space_ids": Array [ "test_default_space_id", ], @@ -212,7 +213,7 @@ describe('get()', () => { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', message: 'hello world 1', [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: ['test_default_space_id'], }, }, @@ -265,7 +266,7 @@ describe('get()', () => { _source: { [ALERT_RULE_TYPE_ID]: fakeRuleTypeId, [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: [DEFAULT_SPACE], }, }, @@ -338,7 +339,7 @@ describe('get()', () => { [ALERT_RULE_TYPE_ID]: 'apm.error_rate', message: 'hello world 1', [ALERT_RULE_CONSUMER]: 'apm', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [SPACE_IDS]: ['test_default_space_id'], }, }, @@ -360,7 +361,7 @@ describe('get()', () => { Object { "kibana.alert.rule.consumer": "apm", "kibana.alert.rule.rule_type_id": "apm.error_rate", - "kibana.alert.status": "open", + "kibana.alert.status": "active", "kibana.space_ids": Array [ "test_default_space_id", ], diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx index fd7f026e9c540..6608a0dd1458c 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx @@ -10,7 +10,7 @@ import { ALERT_ID, ALERT_RULE_PRODUCER, ALERT_START, - ALERT_STATUS, + ALERT_WORKFLOW_STATUS, ALERT_UUID, ALERT_RULE_UUID, ALERT_RULE_NAME, @@ -195,12 +195,12 @@ export const buildAlertStatusFilterRuleRegistry = (status: Status): Filter[] => should: [ { term: { - [ALERT_STATUS]: status, + [ALERT_WORKFLOW_STATUS]: status, }, }, { term: { - [ALERT_STATUS]: 'in-progress', + [ALERT_WORKFLOW_STATUS]: 'in-progress', }, }, ], @@ -208,7 +208,7 @@ export const buildAlertStatusFilterRuleRegistry = (status: Status): Filter[] => } : { term: { - [ALERT_STATUS]: status, + [ALERT_WORKFLOW_STATUS]: status, }, }; @@ -219,7 +219,7 @@ export const buildAlertStatusFilterRuleRegistry = (status: Status): Filter[] => negate: false, disabled: false, type: 'phrase', - key: ALERT_STATUS, + key: ALERT_WORKFLOW_STATUS, params: { query: status, }, @@ -280,7 +280,7 @@ export const requiredFieldMappingsForActionsRuleRegistry = { 'alert.start': ALERT_START, 'alert.uuid': ALERT_UUID, 'event.action': 'event.action', - 'alert.status': ALERT_STATUS, + 'alert.workflow_status': ALERT_WORKFLOW_STATUS, 'alert.duration.us': ALERT_DURATION, 'rule.uuid': ALERT_RULE_UUID, 'rule.name': ALERT_RULE_NAME, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/utils/build_alert.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/utils/build_alert.test.ts index 09f35e279a244..a95da275fc530 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/utils/build_alert.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/utils/build_alert.test.ts @@ -10,6 +10,7 @@ import { ALERT_RULE_CONSUMER, ALERT_RULE_NAMESPACE, ALERT_STATUS, + ALERT_STATUS_ACTIVE, ALERT_WORKFLOW_STATUS, SPACE_IDS, } from '@kbn/rule-data-utils'; @@ -71,7 +72,7 @@ describe('buildAlert', () => { ], [ALERT_ORIGINAL_TIME]: '2020-04-20T21:27:45.000Z', [ALERT_REASON]: 'alert reasonable reason', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [ALERT_WORKFLOW_STATUS]: 'open', ...flattenWithPrefix(ALERT_RULE_NAMESPACE, { author: [], @@ -148,7 +149,7 @@ describe('buildAlert', () => { module: 'system', }, [ALERT_REASON]: 'alert reasonable reason', - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [ALERT_WORKFLOW_STATUS]: 'open', ...flattenWithPrefix(ALERT_RULE_NAMESPACE, { author: [], diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/utils/build_alert.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/utils/build_alert.ts index eea85ba26faf8..1377e9ef9207e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/utils/build_alert.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/utils/build_alert.ts @@ -10,6 +10,7 @@ import { ALERT_RULE_CONSUMER, ALERT_RULE_NAMESPACE, ALERT_STATUS, + ALERT_STATUS_ACTIVE, ALERT_WORKFLOW_STATUS, SPACE_IDS, } from '@kbn/rule-data-utils'; @@ -109,7 +110,7 @@ export const buildAlert = ( [ALERT_RULE_CONSUMER]: SERVER_APP_ID, [SPACE_IDS]: spaceId != null ? [spaceId] : [], [ALERT_ANCESTORS]: ancestors, - [ALERT_STATUS]: 'open', + [ALERT_STATUS]: ALERT_STATUS_ACTIVE, [ALERT_WORKFLOW_STATUS]: 'open', [ALERT_DEPTH]: depth, [ALERT_REASON]: reason, diff --git a/x-pack/plugins/uptime/public/lib/alert_types/duration_anomaly.tsx b/x-pack/plugins/uptime/public/lib/alert_types/duration_anomaly.tsx index 030c506868194..9e0b0b7931efa 100644 --- a/x-pack/plugins/uptime/public/lib/alert_types/duration_anomaly.tsx +++ b/x-pack/plugins/uptime/public/lib/alert_types/duration_anomaly.tsx @@ -8,7 +8,7 @@ import React from 'react'; import moment from 'moment'; -import { ALERT_END, ALERT_STATUS, ALERT_REASON } from '@kbn/rule-data-utils'; +import { ALERT_END, ALERT_STATUS, ALERT_STATUS_ACTIVE, ALERT_REASON } from '@kbn/rule-data-utils'; import { AlertTypeInitializer } from '.'; import { getMonitorRouteFromMonitorId } from './common'; @@ -39,7 +39,7 @@ export const initDurationAnomalyAlertType: AlertTypeInitializer = ({ reason: fields[ALERT_REASON] || '', link: getMonitorRouteFromMonitorId({ monitorId: fields['monitor.id']!, - dateRangeEnd: fields[ALERT_STATUS] === 'open' ? 'now' : fields[ALERT_END]!, + dateRangeEnd: fields[ALERT_STATUS] === ALERT_STATUS_ACTIVE ? 'now' : fields[ALERT_END]!, dateRangeStart: moment(new Date(fields['anomaly.start']!)).subtract('5', 'm').toISOString(), }), }), diff --git a/x-pack/plugins/uptime/public/lib/alert_types/monitor_status.tsx b/x-pack/plugins/uptime/public/lib/alert_types/monitor_status.tsx index e766b377f8f7e..58dbfdfbf26db 100644 --- a/x-pack/plugins/uptime/public/lib/alert_types/monitor_status.tsx +++ b/x-pack/plugins/uptime/public/lib/alert_types/monitor_status.tsx @@ -8,7 +8,13 @@ import React from 'react'; import moment from 'moment'; -import { ALERT_END, ALERT_START, ALERT_STATUS, ALERT_REASON } from '@kbn/rule-data-utils'; +import { + ALERT_END, + ALERT_START, + ALERT_STATUS, + ALERT_STATUS_ACTIVE, + ALERT_REASON, +} from '@kbn/rule-data-utils'; import { AlertTypeInitializer } from '.'; import { getMonitorRouteFromMonitorId } from './common'; @@ -53,7 +59,7 @@ export const initMonitorStatusAlertType: AlertTypeInitializer = ({ reason: fields[ALERT_REASON] || '', link: getMonitorRouteFromMonitorId({ monitorId: fields['monitor.id']!, - dateRangeEnd: fields[ALERT_STATUS] === 'open' ? 'now' : fields[ALERT_END]!, + dateRangeEnd: fields[ALERT_STATUS] === ALERT_STATUS_ACTIVE ? 'now' : fields[ALERT_END]!, dateRangeStart: moment(new Date(fields[ALERT_START]!)).subtract('5', 'm').toISOString(), filters: { 'observer.geo.name': [fields['observer.geo.name'][0]], From cf24e6ca768a8db4f5ad402e39417de09f4dbd7a Mon Sep 17 00:00:00 2001 From: Dominique Clarke Date: Thu, 26 Aug 2021 19:01:55 -0400 Subject: [PATCH 109/139] [User Experience] Search filter input - remove undesired blur (#110314) * ux filter input - remove undesired blur on input field * adjust types --- .../URLFilter/URLSearch/SelectableUrlList.tsx | 122 ++++++++---------- 1 file changed, 56 insertions(+), 66 deletions(-) diff --git a/x-pack/plugins/apm/public/components/app/RumDashboard/URLFilter/URLSearch/SelectableUrlList.tsx b/x-pack/plugins/apm/public/components/app/RumDashboard/URLFilter/URLSearch/SelectableUrlList.tsx index 37fc1eb5b240a..17195691ce028 100644 --- a/x-pack/plugins/apm/public/components/app/RumDashboard/URLFilter/URLSearch/SelectableUrlList.tsx +++ b/x-pack/plugins/apm/public/components/app/RumDashboard/URLFilter/URLSearch/SelectableUrlList.tsx @@ -27,7 +27,6 @@ import { EuiIcon, EuiBadge, EuiButtonIcon, - EuiOutsideClickDetector, } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import { i18n } from '@kbn/i18n'; @@ -100,9 +99,6 @@ export function SelectableUrlList({ onTermChange(); onApply(); setPopoverIsOpen(false); - if (searchRef) { - searchRef.blur(); - } } }; @@ -120,15 +116,11 @@ export function SelectableUrlList({ const closePopover = () => { setPopoverIsOpen(false); - if (searchRef) { - searchRef.blur(); - } }; // @ts-ignore - not sure, why it's not working useEvent('keydown', onEnterKey, searchRef); useEvent('escape', () => setPopoverIsOpen(false), searchRef); - useEvent('blur', () => setPopoverIsOpen(false), searchRef); useEffect(() => { if (searchRef && initialValue) { @@ -207,65 +199,63 @@ export function SelectableUrlList({ allowExclusions={true} > {(list, search) => ( - closePopover()}> - +
-
- - {searchValue && ( - - - {searchValue}, - icon: ( - - Enter - - ), - }} - /> - - - )} - {list} - - - - { - onTermChange(); - onApply(); - closePopover(); - }} - > - {i18n.translate('xpack.apm.apply.label', { - defaultMessage: 'Apply', - })} - - - - -
- - + + {searchValue && ( + + + {searchValue}, + icon: ( + + Enter + + ), + }} + /> + + + )} + {list} + + + + { + onTermChange(); + onApply(); + closePopover(); + }} + > + {i18n.translate('xpack.apm.apply.label', { + defaultMessage: 'Apply', + })} + + + + +
+
)} ); From e64a03677f2985d16894d489a86e373b2f40eaa2 Mon Sep 17 00:00:00 2001 From: Ross Wolf <31489089+rw-access@users.noreply.github.com> Date: Thu, 26 Aug 2021 17:43:22 -0600 Subject: [PATCH 110/139] [Detection Rules] Add 7.15 rules (#110345) --- .../apm_403_response_to_a_post.json | 4 +- .../apm_405_response_method_not_allowed.json | 4 +- ...tion_added_to_google_workspace_domain.json | 4 +- ...ion_email_powershell_exchange_mailbox.json | 7 +- ...ll_exch_mailbox_activesync_add_device.json | 7 +- ...cobalt_strike_default_teamserver_cert.json | 6 +- ..._control_dns_directly_to_the_internet.json | 4 +- ...download_rar_powershell_from_internet.json | 4 +- ...te_desktop_protocol_from_the_internet.json | 4 +- ...mand_and_control_telnet_port_activity.json | 4 +- ...l_network_computing_from_the_internet.json | 4 +- ...ual_network_computing_to_the_internet.json | 4 +- ...ess_copy_ntds_sam_volshadowcp_cmdline.json | 10 ++- ...ccess_user_excessive_sso_logon_errors.json | 4 +- .../defense_evasion_amsienable_key_mod.json | 4 +- ...vasion_defender_disabled_via_registry.json | 4 +- ...ion_defender_exclusion_via_powershell.json | 4 +- .../defense_evasion_mshta_beacon.json | 4 +- ...on_whitespace_padding_in_command_line.json | 44 +++++++++++ .../prepackaged_rules/discovery_net_view.json | 4 +- ..._post_exploitation_external_ip_lookup.json | 4 +- ...d_to_google_workspace_trusted_domains.json | 4 +- .../elastic_endpoint_security.json | 4 +- ...endpoint_security_behavior_protection.json | 68 +++++++++++++++++ ...ution_installer_spawned_network_event.json | 4 +- .../execution_ms_office_written_file.json | 4 +- ...n_suspicious_image_load_wmi_ms_office.json | 4 +- ...xecution_suspicious_jar_child_process.json | 4 +- ..._full_network_packet_capture_detected.json | 4 +- .../google_workspace_admin_role_deletion.json | 4 +- ...le_workspace_mfa_enforcement_disabled.json | 4 +- .../google_workspace_policy_modified.json | 4 +- .../impact_rds_group_deletion.json | 6 +- .../rules/prepackaged_rules/index.ts | 70 +++++++++-------- ...mote_procedure_call_from_the_internet.json | 4 +- ...remote_procedure_call_to_the_internet.json | 4 +- ...file_sharing_activity_to_the_internet.json | 4 +- ...led_for_google_workspace_organization.json | 4 +- .../ml_auth_rare_user_logon.json | 6 +- .../ml_auth_spike_in_failed_logon_events.json | 4 +- .../ml_cloudtrail_error_message_spike.json | 4 +- .../ml_cloudtrail_rare_error_code.json | 4 +- .../ml_cloudtrail_rare_method_by_city.json | 6 +- .../ml_cloudtrail_rare_method_by_country.json | 6 +- .../ml_cloudtrail_rare_method_by_user.json | 6 +- .../ml_high_count_network_events.json | 4 +- .../ml_linux_anomalous_compiler_activity.json | 4 +- .../ml_linux_anomalous_network_activity.json | 4 +- .../ml_linux_anomalous_process_all_hosts.json | 4 +- .../ml_linux_anomalous_user_name.json | 4 +- .../ml_rare_process_by_host_linux.json | 4 +- .../ml_rare_process_by_host_windows.json | 4 +- ...ml_windows_anomalous_network_activity.json | 4 +- ...l_windows_anomalous_process_all_hosts.json | 4 +- .../ml_windows_anomalous_user_name.json | 4 +- ..._group_configuration_change_detection.json | 58 ++++++++++++++ ...workspace_admin_role_assigned_to_user.json | 4 +- ...a_domain_wide_delegation_of_authority.json | 4 +- ...e_workspace_custom_admin_role_created.json | 4 +- ...stence_google_workspace_role_modified.json | 4 +- .../persistence_rds_group_creation.json | 6 +- ...ersistence_shell_profile_modification.json | 4 +- .../persistence_webshell_detection.json | 75 +++++++++++++++++++ ...ilege_escalation_disable_uac_registry.json | 6 +- ...lation_ld_preload_shared_object_modif.json | 4 +- ...lege_escalation_uac_bypass_com_clipup.json | 4 +- ...ge_escalation_uac_bypass_com_ieinstal.json | 4 +- ...n_uac_bypass_com_interface_icmluautil.json | 4 +- ...alation_uac_bypass_diskcleanup_hijack.json | 4 +- ...escalation_uac_bypass_dll_sideloading.json | 4 +- ...ge_escalation_uac_bypass_event_viewer.json | 4 +- ...ege_escalation_uac_bypass_mock_windir.json | 4 +- ...scalation_uac_bypass_winfw_mmc_hijack.json | 4 +- 73 files changed, 440 insertions(+), 175 deletions(-) create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_whitespace_padding_in_command_line.json create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security_behavior_protection.json create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_ec2_security_group_configuration_change_detection.json create mode 100644 x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_webshell_detection.json diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/apm_403_response_to_a_post.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/apm_403_response_to_a_post.json index 01aa8eea9d1d3..3a87caa3cbc6e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/apm_403_response_to_a_post.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/apm_403_response_to_a_post.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "A POST request to web application returned a 403 response, which indicates the web application declined to process the request because the action requested was not allowed", + "description": "A POST request to a web application returned a 403 response, which indicates the web application declined to process the request because the action requested was not allowed.", "false_positives": [ "Security scans and tests may result in these errors. Misconfigured or buggy applications may produce large numbers of these errors. If the source is unexpected, the user unauthorized, or the request unusual, these may indicate suspicious or malicious activity." ], @@ -26,5 +26,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 7 + "version": 8 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/apm_405_response_method_not_allowed.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/apm_405_response_method_not_allowed.json index e2bab7cf2cb72..e5cbb4ea5f632 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/apm_405_response_method_not_allowed.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/apm_405_response_method_not_allowed.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "A request to web application returned a 405 response which indicates the web application declined to process the request because the HTTP method is not allowed for the resource", + "description": "A request to a web application returned a 405 response, which indicates the web application declined to process the request because the HTTP method is not allowed for the resource.", "false_positives": [ "Security scans and tests may result in these errors. Misconfigured or buggy applications may produce large numbers of these errors. If the source is unexpected, the user unauthorized, or the request unusual, these may indicate suspicious or malicious activity." ], @@ -26,5 +26,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 7 + "version": 8 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/application_added_to_google_workspace_domain.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/application_added_to_google_workspace_domain.json index c45d377645b05..ef43e6086589d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/application_added_to_google_workspace_domain.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/application_added_to_google_workspace_domain.json @@ -15,7 +15,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "Application Added to Google Workspace Domain", - "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information.\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", + "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information:\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", "query": "event.dataset:(gsuite.admin or google_workspace.admin) and event.provider:admin and event.category:iam and event.action:ADD_APPLICATION\n", "references": [ "https://support.google.com/a/answer/6328701?hl=en#" @@ -33,5 +33,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 4 + "version": 5 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/collection_email_powershell_exchange_mailbox.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/collection_email_powershell_exchange_mailbox.json index d8614eebabf3f..25ad15f1b0a51 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/collection_email_powershell_exchange_mailbox.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/collection_email_powershell_exchange_mailbox.json @@ -43,11 +43,16 @@ "id": "T1114", "name": "Email Collection", "reference": "https://attack.mitre.org/techniques/T1114/" + }, + { + "id": "T1005", + "name": "Data from Local System", + "reference": "https://attack.mitre.org/techniques/T1005/" } ] } ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/collection_persistence_powershell_exch_mailbox_activesync_add_device.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/collection_persistence_powershell_exch_mailbox_activesync_add_device.json index 54026b5416aa4..9a494a13fa297 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/collection_persistence_powershell_exch_mailbox_activesync_add_device.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/collection_persistence_powershell_exch_mailbox_activesync_add_device.json @@ -43,11 +43,16 @@ "id": "T1114", "name": "Email Collection", "reference": "https://attack.mitre.org/techniques/T1114/" + }, + { + "id": "T1005", + "name": "Data from Local System", + "reference": "https://attack.mitre.org/techniques/T1005/" } ] } ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_cobalt_strike_default_teamserver_cert.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_cobalt_strike_default_teamserver_cert.json index 3fbfc4148e92c..7934d803bd766 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_cobalt_strike_default_teamserver_cert.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_cobalt_strike_default_teamserver_cert.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "This rule detects the use of the default Cobalt Strike Team Server TLS certificate. Cobalt Strike is software for Adversary Simulations and Red Team Operations which are security assessments that replicate the tactics and techniques of an advanced adversary in a network. Modifications to the Packetbeat configuration can be made to include MD5 and SHA256 hashing algorithms (the default is SHA1) - see the Reference section for additional information on module configuration.", + "description": "This rule detects the use of the default Cobalt Strike Team Server TLS certificate. Cobalt Strike is software for Adversary Simulations and Red Team Operations which are security assessments that replicate the tactics and techniques of an advanced adversary in a network. Modifications to the Packetbeat configuration can be made to include MD5 and SHA256 hashing algorithms (the default is SHA1). See the References section for additional information on module configuration.", "from": "now-9m", "index": [ "auditbeat-*", @@ -13,7 +13,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "Default Cobalt Strike Team Server Certificate", - "note": "## Threat intel\n\nWhile Cobalt Strike is intended to be used for penetration tests and IR training, it is frequently used by actual threat actors (TA) such as APT19, APT29, APT32, APT41, FIN6, DarkHydrus, CopyKittens, Cobalt Group, Leviathan, and many other unnamed criminal TAs. This rule uses high-confidence atomic indicators, alerts should be investigated rapidly.", + "note": "## Threat intel\n\nWhile Cobalt Strike is intended to be used for penetration tests and IR training, it is frequently used by actual threat actors (TA) such as APT19, APT29, APT32, APT41, FIN6, DarkHydrus, CopyKittens, Cobalt Group, Leviathan, and many other unnamed criminal TAs. This rule uses high-confidence atomic indicators, so alerts should be investigated rapidly.", "query": "event.category:(network or network_traffic) and (tls.server.hash.md5:950098276A495286EB2A2556FBAB6D83 or\n tls.server.hash.sha1:6ECE5ECE4192683D2D84E25B0BA7E04F9CB7EB7C or\n tls.server.hash.sha256:87F2085C32B6A2CC709B365F55873E207A9CAA10BFFECF2FD16D3CF9D94D390C)\n", "references": [ "https://attack.mitre.org/software/S0154/", @@ -59,5 +59,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_dns_directly_to_the_internet.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_dns_directly_to_the_internet.json index f4a0c2e001c9d..8567b18670301 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_dns_directly_to_the_internet.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_dns_directly_to_the_internet.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "This rule detects when an internal network client sends DNS traffic directly to the Internet. This is atypical behavior for a managed network, and can be indicative of malware, exfiltration, command and control, or, simply, misconfiguration. This DNS activity also impacts your organization's ability to provide enterprise monitoring and logging of DNS, and opens your network to a variety of abuses and malicious communications.", + "description": "This rule detects when an internal network client sends DNS traffic directly to the Internet. This is atypical behavior for a managed network and can be indicative of malware, exfiltration, command and control, or simply misconfiguration. This DNS activity also impacts your organization's ability to provide enterprise monitoring and logging of DNS and it opens your network to a variety of abuses and malicious communications.", "false_positives": [ "Exclude DNS servers from this rule as this is expected behavior. Endpoints usually query local DNS servers defined in their DHCP scopes, but this may be overridden if a user configures their endpoint to use a remote DNS server. This is uncommon in managed enterprise networks because it could break intranet name resolution when split horizon DNS is utilized. Some consumer VPN services and browser plug-ins may send DNS traffic to remote Internet destinations. In that case, such devices or networks can be excluded from this rule when this is expected behavior." ], @@ -45,5 +45,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 10 + "version": 11 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_download_rar_powershell_from_internet.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_download_rar_powershell_from_internet.json index 267e9dbbfc8cd..0bcbb0d2d031d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_download_rar_powershell_from_internet.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_download_rar_powershell_from_internet.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "Detects a Roshal Archive (RAR) file or PowerShell script downloaded from the internet by an internal host. Gaining initial access to a system and then downloading encoded or encrypted tools to move laterally is a common practice for adversaries as a way to protect their more valuable tools and TTPs. This may be atypical behavior for a managed network and can be indicative of malware, exfiltration, or command and control.", + "description": "Detects a Roshal Archive (RAR) file or PowerShell script downloaded from the internet by an internal host. Gaining initial access to a system and then downloading encoded or encrypted tools to move laterally is a common practice for adversaries as a way to protect their more valuable tools and TTPs (tactics, techniques, and procedures). This may be atypical behavior for a managed network and can be indicative of malware, exfiltration, or command and control.", "false_positives": [ "Downloading RAR or PowerShell files from the Internet may be expected for certain systems. This rule should be tailored to either exclude systems as sources or destinations in which this behavior is expected." ], @@ -52,5 +52,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 6 + "version": 7 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_rdp_remote_desktop_protocol_from_the_internet.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_rdp_remote_desktop_protocol_from_the_internet.json index 9467ca08808f7..d322ce0505724 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_rdp_remote_desktop_protocol_from_the_internet.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_rdp_remote_desktop_protocol_from_the_internet.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "This rule detects network events that may indicate the use of RDP traffic from the Internet. RDP is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or back-door vector.", + "description": "This rule detects network events that may indicate the use of RDP traffic from the Internet. RDP is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or backdoor vector.", "false_positives": [ "Some network security policies allow RDP directly from the Internet but usage that is unfamiliar to server or network owners can be unexpected and suspicious. RDP services may be exposed directly to the Internet in some networks such as cloud environments. In such cases, only RDP gateways, bastions or jump servers may be expected expose RDP directly to the Internet and can be exempted from this rule. RDP may be required by some work-flows such as remote access and support for specialized software products and servers. Such work-flows are usually known and not unexpected." ], @@ -74,5 +74,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 10 + "version": 11 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_telnet_port_activity.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_telnet_port_activity.json index f0e768f6c4ab0..2abf35bdd7575 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_telnet_port_activity.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_telnet_port_activity.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "This rule detects network events that may indicate the use of Telnet traffic. Telnet is commonly used by system administrators to remotely control older or embed ed systems using the command line shell. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or back-door vector. As a plain-text protocol, it may also expose usernames and passwords to anyone capable of observing the traffic.", + "description": "This rule detects network events that may indicate the use of Telnet traffic. Telnet is commonly used by system administrators to remotely control older or embedded systems using the command line shell. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or backdoor vector. As a plain-text protocol, it may also expose usernames and passwords to anyone capable of observing the traffic.", "false_positives": [ "IoT (Internet of Things) devices and networks may use telnet and can be excluded if desired. Some business work-flows may use Telnet for administration of older devices. These often have a predictable behavior. Telnet activity involving an unusual source or destination may be more suspicious. Telnet activity involving a production server that has no known associated Telnet work-flow or business requirement is often suspicious." ], @@ -71,5 +71,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 8 + "version": 9 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_vnc_virtual_network_computing_from_the_internet.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_vnc_virtual_network_computing_from_the_internet.json index 77957772d9eaf..271cf74f36723 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_vnc_virtual_network_computing_from_the_internet.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_vnc_virtual_network_computing_from_the_internet.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "This rule detects network events that may indicate the use of VNC traffic from the Internet. VNC is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or back-door vector.", + "description": "This rule detects network events that may indicate the use of VNC traffic from the Internet. VNC is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or backdoor vector.", "false_positives": [ "VNC connections may be received directly to Linux cloud server instances but such connections are usually made only by engineers. VNC is less common than SSH or RDP but may be required by some work-flows such as remote access and support for specialized software products or servers. Such work-flows are usually known and not unexpected. Usage that is unfamiliar to server or network owners can be unexpected and suspicious." ], @@ -65,5 +65,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 10 + "version": 11 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_vnc_virtual_network_computing_to_the_internet.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_vnc_virtual_network_computing_to_the_internet.json index ca94d76661bb6..342ac388736ba 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_vnc_virtual_network_computing_to_the_internet.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/command_and_control_vnc_virtual_network_computing_to_the_internet.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "This rule detects network events that may indicate the use of VNC traffic to the Internet. VNC is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or back-door vector.", + "description": "This rule detects network events that may indicate the use of VNC traffic to the Internet. VNC is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or backdoor vector.", "false_positives": [ "VNC connections may be made directly to Linux cloud server instances but such connections are usually made only by engineers. VNC is less common than SSH or RDP but may be required by some work flows such as remote access and support for specialized software products or servers. Such work-flows are usually known and not unexpected. Usage that is unfamiliar to server or network owners can be unexpected and suspicious." ], @@ -50,5 +50,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 10 + "version": 11 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/credential_access_copy_ntds_sam_volshadowcp_cmdline.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/credential_access_copy_ntds_sam_volshadowcp_cmdline.json index 17a97b28b7e8d..91613078c6167 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/credential_access_copy_ntds_sam_volshadowcp_cmdline.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/credential_access_copy_ntds_sam_volshadowcp_cmdline.json @@ -1,6 +1,7 @@ { "author": [ - "Elastic" + "Elastic", + "Austin Songer" ], "description": "Identifies a copy operation of the Active Directory Domain Database (ntds.dit) or Security Account Manager (SAM) files. Those files contain sensitive information including hashed domain and/or local credentials.", "from": "now-9m", @@ -13,9 +14,10 @@ "license": "Elastic License v2", "max_signals": 33, "name": "NTDS or SAM Database File Copied", - "query": "process where event.type in (\"start\", \"process_started\") and\n process.pe.original_file_name in (\"Cmd.Exe\", \"PowerShell.EXE\", \"XCOPY.EXE\") and\n process.args : (\"copy\", \"xcopy\", \"Copy-Item\", \"move\", \"cp\", \"mv\") and\n process.args : (\"*\\\\ntds.dit\", \"*\\\\config\\\\SAM\", \"\\\\*\\\\GLOBALROOT\\\\Device\\\\HarddiskVolumeShadowCopy*\\\\*\")\n", + "query": "process where event.type in (\"start\", \"process_started\") and\n (\n (process.pe.original_file_name in (\"Cmd.Exe\", \"PowerShell.EXE\", \"XCOPY.EXE\") and\n process.args : (\"copy\", \"xcopy\", \"Copy-Item\", \"move\", \"cp\", \"mv\")\n ) or\n (process.pe.original_file_name : \"esentutl.exe\" and process.args : (\"*/y*\", \"*/vss*\", \"*/d*\"))\n ) and\n process.args : (\"*\\\\ntds.dit\", \"*\\\\config\\\\SAM\", \"\\\\*\\\\GLOBALROOT\\\\Device\\\\HarddiskVolumeShadowCopy*\\\\*\", \"*/system32/config/SAM*\")\n", "references": [ - "https://thedfirreport.com/2020/11/23/pysa-mespinoza-ransomware/" + "https://thedfirreport.com/2020/11/23/pysa-mespinoza-ransomware/", + "https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1003.002/T1003.002.md#atomic-test-3---esentutlexe-sam-copy" ], "risk_score": 73, "rule_id": "3bc6deaa-fbd4-433a-ae21-3e892f95624f", @@ -46,5 +48,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/credential_access_user_excessive_sso_logon_errors.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/credential_access_user_excessive_sso_logon_errors.json index 1d4213efb5fc2..9c1a259ae3e1e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/credential_access_user_excessive_sso_logon_errors.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/credential_access_user_excessive_sso_logon_errors.json @@ -3,7 +3,7 @@ "Elastic", "Austin Songer" ], - "description": "Identifies accounts with a high number of single sign-on (SSO) logon errors. Excessive logon errors may indicate an attempt to brute force a password or single sign-on token.", + "description": "Identifies accounts with a high number of single sign-on (SSO) logon errors. Excessive logon errors may indicate an attempt to brute force a password or SSO token.", "false_positives": [ "Automated processes that attempt to authenticate using expired credentials and unbounded retries may lead to false positives." ], @@ -52,5 +52,5 @@ "value": 5 }, "type": "threshold", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_amsienable_key_mod.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_amsienable_key_mod.json index 6f30b53d24bdb..80f855706e0fd 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_amsienable_key_mod.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_amsienable_key_mod.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "Jscript tries to query the AmsiEnable registry key from the HKEY_USERS registry hive before initializing Antimalware Scan Interface (AMSI). If this key is set to 0, AMSI is not enabled for the Jscript process. An adversary can modify this key to disable AMSI protections.", + "description": "JScript tries to query the AmsiEnable registry key from the HKEY_USERS registry hive before initializing Antimalware Scan Interface (AMSI). If this key is set to 0, AMSI is not enabled for the JScript process. An adversary can modify this key to disable AMSI protections.", "from": "now-9m", "index": [ "winlogbeat-*", @@ -53,5 +53,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_defender_disabled_via_registry.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_defender_disabled_via_registry.json index 8e1a1bf005f5d..8b3557e4a8fbd 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_defender_disabled_via_registry.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_defender_disabled_via_registry.json @@ -12,7 +12,7 @@ "language": "eql", "license": "Elastic License v2", "name": "Windows Defender Disabled via Registry Modification", - "note": "## Triage and analysis\n\nDetections should be investigated to identify if the hosts and users are authorized to use this tool. As this rule detects post-exploitation process activity, investigations into this should be prioritized", + "note": "## Triage and analysis\n\nDetections should be investigated to identify if the hosts and users are authorized to use this tool. As this rule detects post-exploitation process activity, investigations into this should be prioritized.", "query": "registry where event.type in (\"creation\", \"change\") and\n ((registry.path:\"HKLM\\\\SOFTWARE\\\\Policies\\\\Microsoft\\\\Windows Defender\\\\DisableAntiSpyware\" and\n registry.data.strings:\"1\") or\n (registry.path:\"HKLM\\\\System\\\\ControlSet*\\\\Services\\\\WinDefend\\\\Start\" and\n registry.data.strings in (\"3\", \"4\")))\n", "references": [ "https://thedfirreport.com/2020/12/13/defender-control/" @@ -58,5 +58,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 2 + "version": 3 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_defender_exclusion_via_powershell.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_defender_exclusion_via_powershell.json index 944ba69b4761f..000384eac660e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_defender_exclusion_via_powershell.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_defender_exclusion_via_powershell.json @@ -12,7 +12,7 @@ "language": "eql", "license": "Elastic License v2", "name": "Windows Defender Exclusions Added via PowerShell", - "note": "## Triage and analysis\n\nDetections should be investigated to identify if the activity corresponds to legitimate activity used to put in exceptions for Windows Defender. As this rule detects post-exploitation process activity, investigations into this should be prioritized", + "note": "## Triage and analysis\n\nDetections should be investigated to identify if the activity corresponds to legitimate activity used to put in exceptions for Windows Defender. As this rule detects post-exploitation process activity, investigations into this should be prioritized.", "query": "process where event.type == \"start\" and\n (process.name : (\"powershell.exe\", \"pwsh.exe\") or process.pe.original_file_name : (\"powershell.exe\", \"pwsh.exe\")) and\n process.args : (\"*Add-MpPreference*-Exclusion*\", \"*Set-MpPreference*-Exclusion*\")\n", "references": [ "https://www.bitdefender.com/files/News/CaseStudies/study/400/Bitdefender-PR-Whitepaper-MosaicLoader-creat5540-en-EN.pdf" @@ -80,5 +80,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_mshta_beacon.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_mshta_beacon.json index b5c85c9ef954f..7263381bfd007 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_mshta_beacon.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_mshta_beacon.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "Identifies Mshta.exe making outbound network connections. This may indicate adversarial activity as Mshta is often leveraged by adversaries to execute malicious scripts and evade detection.", + "description": "Identifies Mshta.exe making outbound network connections. This may indicate adversarial activity, as Mshta is often leveraged by adversaries to execute malicious scripts and evade detection.", "from": "now-20m", "index": [ "logs-endpoint.events.*", @@ -48,5 +48,5 @@ } ], "type": "eql", - "version": 4 + "version": 5 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_whitespace_padding_in_command_line.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_whitespace_padding_in_command_line.json new file mode 100644 index 0000000000000..fc9b480023c95 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/defense_evasion_whitespace_padding_in_command_line.json @@ -0,0 +1,44 @@ +{ + "author": [ + "Elastic" + ], + "description": "Identifies process execution events where the command line value contains a long sequence of whitespace characters or multiple occurrences of contiguous whitespace. Attackers may attempt to evade signature-based detections by padding their malicious command with unnecessary whitespace characters. These observations should be investigated for malicious behavior.", + "from": "now-9m", + "index": [ + "winlogbeat-*", + "logs-endpoint.events.*", + "logs-windows.*" + ], + "language": "eql", + "license": "Elastic License v2", + "name": "Whitespace Padding in Process Command Line", + "note": "## Triage and analysis\n\n- Analyze the command line of the process in question for evidence of malicious code execution.\n- Review the ancestry and child processes spawned by the process in question for indicators of further malicious code execution.", + "query": "process where event.type in (\"start\", \"process_started\") and\n process.command_line regex \".*[ ]{20,}.*\" or \n \n /* this will match on 3 or more separate occurrences of 5+ contiguous whitespace characters */\n process.command_line regex \".*(.*[ ]{5,}[^ ]*){3,}.*\"\n", + "references": [ + "https://twitter.com/JohnLaTwC/status/1419251082736201737" + ], + "risk_score": 47, + "rule_id": "e0dacebe-4311-4d50-9387-b17e89c2e7fd", + "severity": "medium", + "tags": [ + "Elastic", + "Host", + "Windows", + "Threat Detection", + "Defense Evasion" + ], + "threat": [ + { + "framework": "MITRE ATT&CK", + "tactic": { + "id": "TA0005", + "name": "Defense Evasion", + "reference": "https://attack.mitre.org/tactics/TA0005/" + }, + "technique": [] + } + ], + "timestamp_override": "event.ingested", + "type": "eql", + "version": 1 +} diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/discovery_net_view.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/discovery_net_view.json index 64e8f1d602936..9e7725d29079d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/discovery_net_view.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/discovery_net_view.json @@ -12,7 +12,7 @@ "language": "eql", "license": "Elastic License v2", "name": "Windows Network Enumeration", - "query": "process where event.type in (\"start\", \"process_started\") and\n ((process.name : \"net.exe\" or process.pe.original_file_name == \"net.exe\") or\n ((process.name : \"net1.exe\" or process.pe.original_file_name == \"net1.exe\") and\n not process.parent.name : \"net.exe\")) and\n (process.args : \"view\" or (process.args : \"time\" and process.args : \"\\\\\\\\*\"))\n\n\n /* expand when ancestory is available\n and not descendant of [process where event.type == (\"start\", \"process_started\") and process.name : \"cmd.exe\" and\n ((process.parent.name : \"userinit.exe\") or\n (process.parent.name : \"gpscript.exe\") or\n (process.parent.name : \"explorer.exe\" and\n process.args : \"C:\\\\*\\\\Start Menu\\\\Programs\\\\Startup\\\\*.bat*\"))]\n */\n", + "query": "process where event.type in (\"start\", \"process_started\") and\n ((process.name : \"net.exe\" or process.pe.original_file_name == \"net.exe\") or\n ((process.name : \"net1.exe\" or process.pe.original_file_name == \"net1.exe\") and\n not process.parent.name : \"net.exe\")) and\n (process.args : \"view\" or (process.args : \"time\" and process.args : \"\\\\\\\\*\"))\n\n\n /* expand when ancestry is available\n and not descendant of [process where event.type == (\"start\", \"process_started\") and process.name : \"cmd.exe\" and\n ((process.parent.name : \"userinit.exe\") or\n (process.parent.name : \"gpscript.exe\") or\n (process.parent.name : \"explorer.exe\" and\n process.args : \"C:\\\\*\\\\Start Menu\\\\Programs\\\\Startup\\\\*.bat*\"))]\n */\n", "risk_score": 47, "rule_id": "7b8bfc26-81d2-435e-965c-d722ee397ef1", "severity": "medium", @@ -47,5 +47,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/discovery_post_exploitation_external_ip_lookup.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/discovery_post_exploitation_external_ip_lookup.json index 1314f26ba8272..9beafd16f7956 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/discovery_post_exploitation_external_ip_lookup.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/discovery_post_exploitation_external_ip_lookup.json @@ -14,7 +14,7 @@ ], "language": "eql", "license": "Elastic License v2", - "name": "External IP Lookup fron Non-Browser Process", + "name": "External IP Lookup from Non-Browser Process", "query": "network where network.protocol == \"dns\" and\n process.name != null and user.id not in (\"S-1-5-19\", \"S-1-5-20\") and\n event.action == \"lookup_requested\" and\n /* Add new external IP lookup services here */\n dns.question.name :\n (\n \"*api.ipify.org\",\n \"*freegeoip.app\",\n \"*checkip.amazonaws.com\",\n \"*checkip.dyndns.org\",\n \"*freegeoip.app\",\n \"*icanhazip.com\",\n \"*ifconfig.*\",\n \"*ipecho.net\",\n \"*ipgeoapi.com\",\n \"*ipinfo.io\",\n \"*ip.anysrc.net\",\n \"*myexternalip.com\",\n \"*myipaddress.com\",\n \"*showipaddress.com\",\n \"*whatismyipaddress.com\",\n \"*wtfismyip.com\",\n \"*ipapi.co\",\n \"*ip-lookup.net\",\n \"*ipstack.com\"\n ) and\n /* Insert noisy false positives here */\n not process.executable :\n (\n \"?:\\\\Program Files\\\\*.exe\",\n \"?:\\\\Program Files (x86)\\\\*.exe\",\n \"?:\\\\Windows\\\\System32\\\\WWAHost.exe\",\n \"?:\\\\Windows\\\\System32\\\\smartscreen.exe\",\n \"?:\\\\Windows\\\\System32\\\\MicrosoftEdgeCP.exe\",\n \"?:\\\\ProgramData\\\\Microsoft\\\\Windows Defender\\\\Platform\\\\*\\\\MsMpEng.exe\",\n \"?:\\\\Users\\\\*\\\\AppData\\\\Local\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe\",\n \"?:\\\\Users\\\\*\\\\AppData\\\\Local\\\\Programs\\\\Fiddler\\\\Fiddler.exe\",\n \"?:\\\\Users\\\\*\\\\AppData\\\\Local\\\\Programs\\\\Microsoft VS Code\\\\Code.exe\",\n \"?:\\\\Users\\\\*\\\\AppData\\\\Local\\\\Microsoft\\\\OneDrive\\\\OneDrive.exe\"\n )\n", "references": [ "https://community.jisc.ac.uk/blogs/csirt/article/trickbot-analysis-and-mitigation", @@ -49,5 +49,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/domain_added_to_google_workspace_trusted_domains.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/domain_added_to_google_workspace_trusted_domains.json index 300840771081d..9ee112bd9eec3 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/domain_added_to_google_workspace_trusted_domains.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/domain_added_to_google_workspace_trusted_domains.json @@ -15,7 +15,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "Domain Added to Google Workspace Trusted Domains", - "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information.\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", + "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information:\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", "query": "event.dataset:(gsuite.admin or google_workspace.admin) and event.provider:admin and event.category:iam and event.action:ADD_TRUSTED_DOMAINS\n", "references": [ "https://support.google.com/a/answer/6160020?hl=en" @@ -33,5 +33,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 4 + "version": 5 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security.json index 63bf6fea698ae..9c59f69b12113 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security.json @@ -20,7 +20,7 @@ "license": "Elastic License v2", "max_signals": 10000, "name": "Endpoint Security", - "query": "event.kind:alert and event.module:(endpoint and not endgame)\n", + "query": "event.kind:alert and event.module:(endpoint and not endgame) and not event.code: behavior\n", "risk_score": 47, "risk_score_mapping": [ { @@ -64,5 +64,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security_behavior_protection.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security_behavior_protection.json new file mode 100644 index 0000000000000..f0a523fff96d4 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/elastic_endpoint_security_behavior_protection.json @@ -0,0 +1,68 @@ +{ + "author": [ + "Elastic" + ], + "description": "Generates a detection alert each time an Elastic Endpoint Security alert is received for Behavior Protection alerts. Enabling this rule allows you to immediately begin investigating your Endpoint alerts for Behavior Protection.", + "enabled": true, + "exceptions_list": [ + { + "id": "endpoint_list", + "list_id": "endpoint_list", + "namespace_type": "agnostic", + "type": "endpoint" + } + ], + "from": "now-10m", + "index": [ + "logs-endpoint.alerts-*" + ], + "language": "kuery", + "license": "Elastic License v2", + "max_signals": 10000, + "name": "Endpoint Security Behavior Protection", + "query": "event.kind:alert and event.module:(endpoint and not endgame) and event.code: behavior\n", + "risk_score": 47, + "risk_score_mapping": [ + { + "field": "event.risk_score", + "operator": "equals", + "value": "" + } + ], + "rule_id": "d516af98-19f3-45bb-b590-dd623535b746", + "rule_name_override": "rule.name", + "severity": "medium", + "severity_mapping": [ + { + "field": "event.severity", + "operator": "equals", + "severity": "low", + "value": "21" + }, + { + "field": "event.severity", + "operator": "equals", + "severity": "medium", + "value": "47" + }, + { + "field": "event.severity", + "operator": "equals", + "severity": "high", + "value": "73" + }, + { + "field": "event.severity", + "operator": "equals", + "severity": "critical", + "value": "99" + } + ], + "tags": [ + "Elastic", + "Endpoint Security" + ], + "timestamp_override": "event.ingested", + "type": "query", + "version": 1 +} diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_installer_spawned_network_event.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_installer_spawned_network_event.json index 5781c25789b94..6b8941ca81f61 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_installer_spawned_network_event.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_installer_spawned_network_event.json @@ -44,7 +44,7 @@ "subtechnique": [ { "id": "T1059.007", - "name": "JavaScript/JScript", + "name": "JavaScript", "reference": "https://attack.mitre.org/techniques/T1059/007/" } ] @@ -76,5 +76,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 2 + "version": 3 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_ms_office_written_file.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_ms_office_written_file.json index e9d2208ad7de8..00476e08dd4c1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_ms_office_written_file.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_ms_office_written_file.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "Identifies an executable created by a Microsoft Office application and subsequently executed. These processes are often launched via scripts inside documents or during exploitation of MS Office applications.", + "description": "Identifies an executable created by a Microsoft Office application and subsequently executed. These processes are often launched via scripts inside documents or during exploitation of Microsoft Office applications.", "from": "now-120m", "index": [ "logs-endpoint.events.*", @@ -63,5 +63,5 @@ } ], "type": "eql", - "version": 4 + "version": 5 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_suspicious_image_load_wmi_ms_office.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_suspicious_image_load_wmi_ms_office.json index 86fc68d694b62..dbb5c088f2b82 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_suspicious_image_load_wmi_ms_office.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_suspicious_image_load_wmi_ms_office.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "Identifies a suspicious image load (wmiutils.dll) from Microsoft Office processes. This behavior may indicate adversarial activity where child processes are spawned via Windows Management Instrumentation (WMI). This technique can be used to execute code and evade traditional parent/child processes spawned from MS Office products.", + "description": "Identifies a suspicious image load (wmiutils.dll) from Microsoft Office processes. This behavior may indicate adversarial activity where child processes are spawned via Windows Management Instrumentation (WMI). This technique can be used to execute code and evade traditional parent/child processes spawned from Microsoft Office products.", "from": "now-9m", "index": [ "winlogbeat-*", @@ -45,5 +45,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_suspicious_jar_child_process.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_suspicious_jar_child_process.json index 9760cf8c3a381..7f420cde66f94 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_suspicious_jar_child_process.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/execution_suspicious_jar_child_process.json @@ -39,7 +39,7 @@ "subtechnique": [ { "id": "T1059.007", - "name": "JavaScript/JScript", + "name": "JavaScript", "reference": "https://attack.mitre.org/techniques/T1059/007/" } ] @@ -49,5 +49,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/exfiltration_ec2_full_network_packet_capture_detected.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/exfiltration_ec2_full_network_packet_capture_detected.json index 88d7e8f262cb5..65a0ac959cab8 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/exfiltration_ec2_full_network_packet_capture_detected.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/exfiltration_ec2_full_network_packet_capture_detected.json @@ -3,7 +3,7 @@ "Elastic", "Austin Songer" ], - "description": "Identifies potential Traffic Mirroring in an Amazon Elastic Compute Cloud (EC2) instance. Traffic Mirroring is an Amazon VPC feature that you can use to copy network traffic from an elastic network interface. This feature can potentially be abused to exfiltrate sensitive data from unencrypted internal traffic.", + "description": "Identifies potential Traffic Mirroring in an Amazon Elastic Compute Cloud (EC2) instance. Traffic Mirroring is an Amazon VPC feature that you can use to copy network traffic from an Elastic network interface. This feature can potentially be abused to exfiltrate sensitive data from unencrypted internal traffic.", "false_positives": [ "Traffic Mirroring may be done by a system or network administrator. Verify whether the user identity, user agent, and/or hostname should be making changes in your environment. Traffic Mirroring from unfamiliar users or hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule." ], @@ -67,5 +67,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_admin_role_deletion.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_admin_role_deletion.json index e0a333d92c5aa..3e0f974490481 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_admin_role_deletion.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_admin_role_deletion.json @@ -15,7 +15,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "Google Workspace Admin Role Deletion", - "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information.\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", + "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information:\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", "query": "event.dataset:(gsuite.admin or google_workspace.admin) and event.provider:admin and event.category:iam and event.action:DELETE_ROLE\n", "references": [ "https://support.google.com/a/answer/2406043?hl=en" @@ -33,5 +33,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 4 + "version": 5 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_mfa_enforcement_disabled.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_mfa_enforcement_disabled.json index 9f33c848b0b52..ffb73f2e513be 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_mfa_enforcement_disabled.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_mfa_enforcement_disabled.json @@ -15,7 +15,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "Google Workspace MFA Enforcement Disabled", - "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information.\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", + "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information:\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", "query": "event.dataset:(gsuite.admin or google_workspace.admin) and event.provider:admin and event.category:iam and event.action:ENFORCE_STRONG_AUTHENTICATION and (gsuite.admin.new_value:false or google_workspace.admin.new_value:false)\n", "references": [ "https://support.google.com/a/answer/9176657?hl=en#" @@ -33,5 +33,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_policy_modified.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_policy_modified.json index 5fd8e37937227..56c1d51a25655 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_policy_modified.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/google_workspace_policy_modified.json @@ -15,7 +15,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "Google Workspace Password Policy Modified", - "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information.\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", + "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information:\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", "query": "event.dataset:(gsuite.admin or google_workspace.admin) and\n event.provider:admin and event.category:iam and\n event.action:(CHANGE_APPLICATION_SETTING or CREATE_APPLICATION_SETTING) and\n gsuite.admin.setting.name:(\n \"Password Management - Enforce strong password\" or\n \"Password Management - Password reset frequency\" or\n \"Password Management - Enable password reuse\" or\n \"Password Management - Enforce password policy at next login\" or\n \"Password Management - Minimum password length\" or\n \"Password Management - Maximum password length\"\n ) or\n google_workspace.admin.setting.name:(\n \"Password Management - Enforce strong password\" or\n \"Password Management - Password reset frequency\" or\n \"Password Management - Enable password reuse\" or\n \"Password Management - Enforce password policy at next login\" or\n \"Password Management - Minimum password length\" or\n \"Password Management - Maximum password length\"\n )\n", "risk_score": 47, "rule_id": "a99f82f5-8e77-4f8b-b3ce-10c0f6afbc73", @@ -30,5 +30,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/impact_rds_group_deletion.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/impact_rds_group_deletion.json index bc5d808c10c30..c60b467fa238b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/impact_rds_group_deletion.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/impact_rds_group_deletion.json @@ -3,9 +3,9 @@ "Elastic", "Austin Songer" ], - "description": "Identifies the deletion of an Amazon Relational Database Service (RDS) Security Group.", + "description": "Identifies the deletion of an Amazon Relational Database Service (RDS) Security group.", "false_positives": [ - "A RDS security group deletion may be done by a system or network administrator. Verify whether the user identity, user agent, and/or hostname should be making changes in your environment. Security Group deletions from unfamiliar users or hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule." + "An RDS security group deletion may be done by a system or network administrator. Verify whether the user identity, user agent, and/or hostname should be making changes in your environment. Security group deletions from unfamiliar users or hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule." ], "from": "now-60m", "index": [ @@ -51,5 +51,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/index.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/index.ts index 8d01753b2f3b1..1aa54dedef5ef 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/index.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/index.ts @@ -547,37 +547,41 @@ import rule534 from './threat_intel_module_match.json'; import rule535 from './exfiltration_ec2_vm_export_failure.json'; import rule536 from './exfiltration_ec2_full_network_packet_capture_detected.json'; import rule537 from './impact_azure_service_principal_credentials_added.json'; -import rule538 from './defense_evasion_disabling_windows_logs.json'; -import rule539 from './persistence_route_53_domain_transfer_lock_disabled.json'; -import rule540 from './persistence_route_53_domain_transferred_to_another_account.json'; -import rule541 from './credential_access_user_excessive_sso_logon_errors.json'; -import rule542 from './defense_evasion_suspicious_execution_from_mounted_device.json'; -import rule543 from './defense_evasion_unusual_network_connection_via_dllhost.json'; -import rule544 from './defense_evasion_amsienable_key_mod.json'; -import rule545 from './impact_rds_group_deletion.json'; -import rule546 from './persistence_rds_group_creation.json'; -import rule547 from './exfiltration_rds_snapshot_export.json'; -import rule548 from './persistence_rds_instance_creation.json'; -import rule549 from './ml_auth_rare_hour_for_a_user_to_logon.json'; -import rule550 from './ml_auth_rare_source_ip_for_a_user.json'; -import rule551 from './ml_auth_rare_user_logon.json'; -import rule552 from './ml_auth_spike_in_failed_logon_events.json'; -import rule553 from './ml_auth_spike_in_logon_events.json'; -import rule554 from './ml_auth_spike_in_logon_events_from_a_source_ip.json'; -import rule555 from './privilege_escalation_cyberarkpas_error_audit_event_promotion.json'; -import rule556 from './privilege_escalation_cyberarkpas_recommended_events_to_monitor_promotion.json'; -import rule557 from './privilege_escalation_printspooler_malicious_driver_file_changes.json'; -import rule558 from './privilege_escalation_printspooler_malicious_registry_modification.json'; -import rule559 from './privilege_escalation_printspooler_suspicious_file_deletion.json'; -import rule560 from './privilege_escalation_unusual_printspooler_childprocess.json'; -import rule561 from './defense_evasion_disabling_windows_defender_powershell.json'; -import rule562 from './defense_evasion_enable_network_discovery_with_netsh.json'; -import rule563 from './defense_evasion_execution_windefend_unusual_path.json'; -import rule564 from './defense_evasion_agent_spoofing_mismatched_id.json'; -import rule565 from './defense_evasion_agent_spoofing_multiple_hosts.json'; -import rule566 from './defense_evasion_parent_process_pid_spoofing.json'; -import rule567 from './defense_evasion_defender_exclusion_via_powershell.json'; -import rule568 from './persistence_via_bits_job_notify_command.json'; +import rule538 from './persistence_ec2_security_group_configuration_change_detection.json'; +import rule539 from './defense_evasion_disabling_windows_logs.json'; +import rule540 from './persistence_route_53_domain_transfer_lock_disabled.json'; +import rule541 from './persistence_route_53_domain_transferred_to_another_account.json'; +import rule542 from './credential_access_user_excessive_sso_logon_errors.json'; +import rule543 from './defense_evasion_suspicious_execution_from_mounted_device.json'; +import rule544 from './defense_evasion_unusual_network_connection_via_dllhost.json'; +import rule545 from './defense_evasion_amsienable_key_mod.json'; +import rule546 from './impact_rds_group_deletion.json'; +import rule547 from './persistence_rds_group_creation.json'; +import rule548 from './exfiltration_rds_snapshot_export.json'; +import rule549 from './persistence_rds_instance_creation.json'; +import rule550 from './ml_auth_rare_hour_for_a_user_to_logon.json'; +import rule551 from './ml_auth_rare_source_ip_for_a_user.json'; +import rule552 from './ml_auth_rare_user_logon.json'; +import rule553 from './ml_auth_spike_in_failed_logon_events.json'; +import rule554 from './ml_auth_spike_in_logon_events.json'; +import rule555 from './ml_auth_spike_in_logon_events_from_a_source_ip.json'; +import rule556 from './privilege_escalation_cyberarkpas_error_audit_event_promotion.json'; +import rule557 from './privilege_escalation_cyberarkpas_recommended_events_to_monitor_promotion.json'; +import rule558 from './privilege_escalation_printspooler_malicious_driver_file_changes.json'; +import rule559 from './privilege_escalation_printspooler_malicious_registry_modification.json'; +import rule560 from './privilege_escalation_printspooler_suspicious_file_deletion.json'; +import rule561 from './privilege_escalation_unusual_printspooler_childprocess.json'; +import rule562 from './defense_evasion_disabling_windows_defender_powershell.json'; +import rule563 from './defense_evasion_enable_network_discovery_with_netsh.json'; +import rule564 from './defense_evasion_execution_windefend_unusual_path.json'; +import rule565 from './defense_evasion_agent_spoofing_mismatched_id.json'; +import rule566 from './defense_evasion_agent_spoofing_multiple_hosts.json'; +import rule567 from './defense_evasion_parent_process_pid_spoofing.json'; +import rule568 from './defense_evasion_defender_exclusion_via_powershell.json'; +import rule569 from './defense_evasion_whitespace_padding_in_command_line.json'; +import rule570 from './persistence_webshell_detection.json'; +import rule571 from './elastic_endpoint_security_behavior_protection.json'; +import rule572 from './persistence_via_bits_job_notify_command.json'; export const rawRules = [ rule1, @@ -1148,4 +1152,8 @@ export const rawRules = [ rule566, rule567, rule568, + rule569, + rule570, + rule571, + rule572, ]; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_rpc_remote_procedure_call_from_the_internet.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_rpc_remote_procedure_call_from_the_internet.json index 1937f2403a488..b3d3d7f94f113 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_rpc_remote_procedure_call_from_the_internet.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_rpc_remote_procedure_call_from_the_internet.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "This rule detects network events that may indicate the use of RPC traffic from the Internet. RPC is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or back-door vector.", + "description": "This rule detects network events that may indicate the use of RPC traffic from the Internet. RPC is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or backdoor vector.", "from": "now-9m", "index": [ "auditbeat-*", @@ -47,5 +47,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 10 + "version": 11 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_rpc_remote_procedure_call_to_the_internet.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_rpc_remote_procedure_call_to_the_internet.json index 138f6846391fd..98a900c63695b 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_rpc_remote_procedure_call_to_the_internet.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_rpc_remote_procedure_call_to_the_internet.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "This rule detects network events that may indicate the use of RPC traffic to the Internet. RPC is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or back-door vector.", + "description": "This rule detects network events that may indicate the use of RPC traffic to the Internet. RPC is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or backdoor vector.", "from": "now-9m", "index": [ "auditbeat-*", @@ -47,5 +47,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 10 + "version": 11 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_smb_windows_file_sharing_activity_to_the_internet.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_smb_windows_file_sharing_activity_to_the_internet.json index ebf3eb8b61d0a..794d06734ef53 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_smb_windows_file_sharing_activity_to_the_internet.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/initial_access_smb_windows_file_sharing_activity_to_the_internet.json @@ -2,7 +2,7 @@ "author": [ "Elastic" ], - "description": "This rule detects network events that may indicate the use of Windows file sharing (also called SMB or CIFS) traffic to the Internet. SMB is commonly used within networks to share files, printers, and other system resources amongst trusted systems. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or back-door vector or for data exfiltration.", + "description": "This rule detects network events that may indicate the use of Windows file sharing (also called SMB or CIFS) traffic to the Internet. SMB is commonly used within networks to share files, printers, and other system resources amongst trusted systems. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or backdoor vector or for data exfiltration.", "from": "now-9m", "index": [ "auditbeat-*", @@ -62,5 +62,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 10 + "version": 11 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/mfa_disabled_for_google_workspace_organization.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/mfa_disabled_for_google_workspace_organization.json index 3ed69d48d5875..34d215b5b54e8 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/mfa_disabled_for_google_workspace_organization.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/mfa_disabled_for_google_workspace_organization.json @@ -15,7 +15,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "MFA Disabled for Google Workspace Organization", - "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information.\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", + "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information:\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", "query": "event.dataset:(gsuite.admin or google_workspace.admin) and event.provider:admin and event.category:iam and event.action:(ENFORCE_STRONG_AUTHENTICATION or ALLOW_STRONG_AUTHENTICATION) and (gsuite.admin.new_value:false or google_workspace.admin.new_value:false)\n", "risk_score": 47, "rule_id": "e555105c-ba6d-481f-82bb-9b633e7b4827", @@ -30,5 +30,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_auth_rare_user_logon.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_auth_rare_user_logon.json index f72893a0cf252..2f0a60b3efba9 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_auth_rare_user_logon.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_auth_rare_user_logon.json @@ -3,9 +3,9 @@ "author": [ "Elastic" ], - "description": "A machine learning job found an unusual user name in the authentication logs. An unusual user name is one way of detecting credentialed access by means of a new or dormant user account. A user account that is normally inactive, because the user has left the organization, which becomes active, may be due to credentialed access using a compromised account password. Threat actors will sometimes also create new users as a means of persisting in a compromised web application.", + "description": "A machine learning job found an unusual user name in the authentication logs. An unusual user name is one way of detecting credentialed access by means of a new or dormant user account. A user account that is normally inactive (because the user has left the organization) that becomes active may be due to credentialed access using a compromised account password. Threat actors will sometimes also create new users as a means of persisting in a compromised web application.", "false_positives": [ - "User accounts that are rarely active, such as an SRE or developer logging into a prod server for troubleshooting, may trigger this alert. Under some conditions, a newly created user account may briefly trigger this alert while the model is learning." + "User accounts that are rarely active, such as a site reliability engineer (SRE) or developer logging into a production server for troubleshooting, may trigger this alert. Under some conditions, a newly created user account may briefly trigger this alert while the model is learning." ], "from": "now-30m", "interval": "15m", @@ -25,5 +25,5 @@ "ML" ], "type": "machine_learning", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_auth_spike_in_failed_logon_events.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_auth_spike_in_failed_logon_events.json index 39f104da67304..88644687c0419 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_auth_spike_in_failed_logon_events.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_auth_spike_in_failed_logon_events.json @@ -5,7 +5,7 @@ ], "description": "A machine learning job found an unusually large spike in authentication failure events. This can be due to password spraying, user enumeration or brute force activity and may be a precursor to account takeover or credentialed access.", "false_positives": [ - "A misconfigured service account can trigger this alert. A password change on ana account used by an email client can trigger this alert. Security test cycles that include brute force or password spraying activities may trigger this alert." + "A misconfigured service account can trigger this alert. A password change on an account used by an email client can trigger this alert. Security test cycles that include brute force or password spraying activities may trigger this alert." ], "from": "now-30m", "interval": "15m", @@ -25,5 +25,5 @@ "ML" ], "type": "machine_learning", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_error_message_spike.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_error_message_spike.json index b1242fc51b9e7..e9ebbf2470b53 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_error_message_spike.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_error_message_spike.json @@ -12,7 +12,7 @@ "license": "Elastic License v2", "machine_learning_job_id": "high_distinct_count_error_message", "name": "Spike in AWS Error Messages", - "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n## Triage and analysis\n\n### Investigating Spikes in CloudTrail Errors\nDetection alerts from this rule indicate a large spike in the number of CloudTrail log messages that contain a particular error message. The error message in question was associated with the response to an AWS API command or method call. Here are some possible avenues of investigation:\n- Examine the history of the error. Has it manifested before? If the error, which is visible in the `aws.cloudtrail.error_message` field, manifested only very recently, it might be related to recent changes in an automation module or script.\n- Examine the request parameters. These may provide indications as to the nature of the task being performed when the error occurred. Is the error related to unsuccessful attempts to enumerate or access objects, data or secrets? If so, this can sometimes be a byproduct of discovery, privilege escalation or lateral movement attempts.\n- Consider the user as identified by the user.name field. Is this activity part of an expected workflow for the user context? Examine the user identity in the `aws.cloudtrail.user_identity.arn` field and the access key id in the `aws.cloudtrail.user_identity.access_key_id` field which can help identify the precise user context. The user agent details in the `user_agent.original` field may also indicate what kind of a client made the request.\n- Consider the source IP address and geolocation for the calling user who issued the command. Do they look normal for the calling user? If the source is an EC2 IP address, is it associated with an EC2 instance in one of your accounts or could it be sourcing from an EC2 instance not under your control? If it is an authorized EC2 instance, is the activity associated with normal behavior for the instance role or roles? Are there any other alerts or signs of suspicious activity involving this instance?", + "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n## Triage and analysis\n\n### Investigating Spikes in CloudTrail Errors\nDetection alerts from this rule indicate a large spike in the number of CloudTrail log messages that contain a particular error message. The error message in question was associated with the response to an AWS API command or method call. Here are some possible avenues of investigation:\n- Examine the history of the error. Has it manifested before? If the error, which is visible in the `aws.cloudtrail.error_message` field, only manifested recently, it might be related to recent changes in an automation module or script.\n- Examine the request parameters. These may provide indications as to the nature of the task being performed when the error occurred. Is the error related to unsuccessful attempts to enumerate or access objects, data, or secrets? If so, this can sometimes be a byproduct of discovery, privilege escalation or lateral movement attempts.\n- Consider the user as identified by the user.name field. Is this activity part of an expected workflow for the user context? Examine the user identity in the `aws.cloudtrail.user_identity.arn` field and the access key id in the `aws.cloudtrail.user_identity.access_key_id` field, which can help identify the precise user context. The user agent details in the `user_agent.original` field may also indicate what kind of a client made the request.\n- Consider the source IP address and geolocation for the calling user who issued the command. Do they look normal for the calling user? If the source is an EC2 IP address, is it associated with an EC2 instance in one of your accounts, or could it be sourcing from an EC2 instance not under your control? If it is an authorized EC2 instance, is the activity associated with normal behavior for the instance role or roles? Are there any other alerts or signs of suspicious activity involving this instance?", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -26,5 +26,5 @@ "ML" ], "type": "machine_learning", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_error_code.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_error_code.json index d83a16b195b8a..ac7a867f5cd6e 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_error_code.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_error_code.json @@ -12,7 +12,7 @@ "license": "Elastic License v2", "machine_learning_job_id": "rare_error_code", "name": "Rare AWS Error Code", - "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n## Triage and analysis\n\nInvestigating Unusual CloudTrail Error Activity ###\nDetection alerts from this rule indicate a rare and unusual error code that was associated with the response to an AWS API command or method call. Here are some possible avenues of investigation:\n- Examine the history of the error. Has it manifested before? If the error, which is visible in the `aws.cloudtrail.error_code field`, manifested only very recently, it might be related to recent changes in an automation module or script.\n- Examine the request parameters. These may provide indications as to the nature of the task being performed when the error occurred. Is the error related to unsuccessful attempts to enumerate or access objects, data, or secrets? If so, this can sometimes be a byproduct of discovery, privilege escalation, or lateral movement attempts.\n- Consider the user as identified by the `user.name` field. Is this activity part of an expected workflow for the user context? Examine the user identity in the `aws.cloudtrail.user_identity.arn` field and the access key id in the `aws.cloudtrail.user_identity.access_key_id` field which can help identify the precise user context. The user agent details in the `user_agent.original` field may also indicate what kind of a client made the request.\n- Consider the source IP address and geolocation for the calling user who issued the command. Do they look normal for the calling user? If the source is an EC2 IP address, is it associated with an EC2 instance in one of your accounts or could it be sourcing from an EC2 instance not under your control? If it is an authorized EC2 instance, is the activity associated with normal behavior for the instance role or roles? Are there any other alerts or signs of suspicious activity involving this instance?", + "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n## Triage and analysis\n\nInvestigating Unusual CloudTrail Error Activity ###\nDetection alerts from this rule indicate a rare and unusual error code that was associated with the response to an AWS API command or method call. Here are some possible avenues of investigation:\n- Examine the history of the error. Has it manifested before? If the error, which is visible in the `aws.cloudtrail.error_code field`, only manifested recently, it might be related to recent changes in an automation module or script.\n- Examine the request parameters. These may provide indications as to the nature of the task being performed when the error occurred. Is the error related to unsuccessful attempts to enumerate or access objects, data, or secrets? If so, this can sometimes be a byproduct of discovery, privilege escalation, or lateral movement attempts.\n- Consider the user as identified by the `user.name` field. Is this activity part of an expected workflow for the user context? Examine the user identity in the `aws.cloudtrail.user_identity.arn` field and the access key id in the `aws.cloudtrail.user_identity.access_key_id` field, which can help identify the precise user context. The user agent details in the `user_agent.original` field may also indicate what kind of a client made the request.\n- Consider the source IP address and geolocation for the calling user who issued the command. Do they look normal for the calling user? If the source is an EC2 IP address, is it associated with an EC2 instance in one of your accounts, or could it be sourcing from an EC2 instance not under your control? If it is an authorized EC2 instance, is the activity associated with normal behavior for the instance role or roles? Are there any other alerts or signs of suspicious activity involving this instance?", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -26,5 +26,5 @@ "ML" ], "type": "machine_learning", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_city.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_city.json index c932add39f57a..2a31ce8c065d8 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_city.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_city.json @@ -3,7 +3,7 @@ "author": [ "Elastic" ], - "description": "A machine learning job detected AWS command activity that, while not inherently suspicious or abnormal, is sourcing from a geolocation (city) that is unusual for the command. This can be the result of compromised credentials or keys being used by a threat actor in a different geography then the authorized user(s).", + "description": "A machine learning job detected AWS command activity that, while not inherently suspicious or abnormal, is sourcing from a geolocation (city) that is unusual for the command. This can be the result of compromised credentials or keys being used by a threat actor in a different geography than the authorized user(s).", "false_positives": [ "New or unusual command and user geolocation activity can be due to manual troubleshooting or reconfiguration; changes in cloud automation scripts or workflows; adoption of new services; expansion into new regions; increased adoption of work from home policies; or users who travel frequently." ], @@ -12,7 +12,7 @@ "license": "Elastic License v2", "machine_learning_job_id": "rare_method_for_a_city", "name": "Unusual City For an AWS Command", - "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n## Triage and analysis\n\n### Investigating an Unusual CloudTrail Event\nDetection alerts from this rule indicate an AWS API command or method call that is rare and unusual for the geolocation of the source IP address. Here are some possible avenues of investigation:\n- Consider the source IP address and geolocation for the calling user who issued the command. Do they look normal for the calling user? If the source is an EC2 IP address, is it associated with an EC2 instance in one of your accounts or could it be sourcing from an EC2 instance not under your control? If it is an authorized EC2 instance, is the activity associated with normal behavior for the instance role or roles? Are there any other alerts or signs of suspicious activity involving this instance?\n- Consider the user as identified by the `user.name` field. Is this command part of an expected workflow for the user context? Examine the user identity in the `aws.cloudtrail.user_identity.arn` field and the access key id in the `aws.cloudtrail.user_identity.access_key_id` field which can help identify the precise user context. The user agent details in the `user_agent.original` field may also indicate what kind of a client made the request.\n- Consider the time of day. If the user is a human, not a program or script, did the activity take place during a normal time of day?\n- Examine the history of the command. If the command, which is visible in the `event.action field`, manifested only very recently, it might be part of a new automation module or script. If it has a consistent cadence - for example, if it appears in small numbers on a weekly or monthly cadence it might be part of a housekeeping or maintenance process.\n- Examine the request parameters. These may provide indications as to the source of the program or the nature of the tasks it is performing.", + "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n## Triage and analysis\n\n### Investigating an Unusual CloudTrail Event\nDetection alerts from this rule indicate an AWS API command or method call that is rare and unusual for the geolocation of the source IP address. Here are some possible avenues of investigation:\n- Consider the source IP address and geolocation for the calling user who issued the command. Do they look normal for the calling user? If the source is an EC2 IP address, is it associated with an EC2 instance in one of your accounts, or could it be sourcing from an EC2 instance not under your control? If it is an authorized EC2 instance, is the activity associated with normal behavior for the instance role or roles? Are there any other alerts or signs of suspicious activity involving this instance?\n- Consider the user as identified by the `user.name` field. Is this command part of an expected workflow for the user context? Examine the user identity in the `aws.cloudtrail.user_identity.arn` field and the access key id in the `aws.cloudtrail.user_identity.access_key_id` field, which can help identify the precise user context. The user agent details in the `user_agent.original` field may also indicate what kind of a client made the request.\n- Consider the time of day. If the user is a human, not a program or script, did the activity take place during a normal time of day?\n- Examine the history of the command. If the command, which is visible in the `event.action field`, only manifested recently, it might be part of a new automation module or script. If it has a consistent cadence (for example, if it appears in small numbers on a weekly or monthly cadence), it might be part of a housekeeping or maintenance process.\n- Examine the request parameters. These may provide indications as to the source of the program or the nature of the tasks it is performing.", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -26,5 +26,5 @@ "ML" ], "type": "machine_learning", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_country.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_country.json index 9065dd8338bb8..ebe7971e94289 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_country.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_country.json @@ -3,7 +3,7 @@ "author": [ "Elastic" ], - "description": "A machine learning job detected AWS command activity that, while not inherently suspicious or abnormal, is sourcing from a geolocation (country) that is unusual for the command. This can be the result of compromised credentials or keys being used by a threat actor in a different geography then the authorized user(s).", + "description": "A machine learning job detected AWS command activity that, while not inherently suspicious or abnormal, is sourcing from a geolocation (country) that is unusual for the command. This can be the result of compromised credentials or keys being used by a threat actor in a different geography than the authorized user(s).", "false_positives": [ "New or unusual command and user geolocation activity can be due to manual troubleshooting or reconfiguration; changes in cloud automation scripts or workflows; adoption of new services; expansion into new regions; increased adoption of work from home policies; or users who travel frequently." ], @@ -12,7 +12,7 @@ "license": "Elastic License v2", "machine_learning_job_id": "rare_method_for_a_country", "name": "Unusual Country For an AWS Command", - "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n## Triage and analysis\n\n### Investigating an Unusual CloudTrail Event\nDetection alerts from this rule indicate an AWS API command or method call that is rare and unusual for the geolocation of the source IP address. Here are some possible avenues of investigation:\n- Consider the source IP address and geolocation for the calling user who issued the command. Do they look normal for the calling user? If the source is an EC2 IP address, is it associated with an EC2 instance in one of your accounts or could it be sourcing from an EC2 instance not under your control? If it is an authorized EC2 instance, is the activity associated with normal behavior for the instance role or roles? Are there any other alerts or signs of suspicious activity involving this instance?\n- Consider the user as identified by the `user.name` field. Is this command part of an expected workflow for the user context? Examine the user identity in the `aws.cloudtrail.user_identity.arn` field and the access key id in the `aws.cloudtrail.user_identity.access_key_id` field which can help identify the precise user context. The user agent details in the `user_agent.original` field may also indicate what kind of a client made the request.\n- Consider the time of day. If the user is a human, not a program or script, did the activity take place during a normal time of day?\n- Examine the history of the command. If the command, which is visible in the `event.action field`, manifested only very recently, it might be part of a new automation module or script. If it has a consistent cadence - for example, if it appears in small numbers on a weekly or monthly cadence it might be part of a housekeeping or maintenance process.\n- Examine the request parameters. These may provide indications as to the source of the program or the nature of the tasks it is performing.", + "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n## Triage and analysis\n\n### Investigating an Unusual CloudTrail Event\nDetection alerts from this rule indicate an AWS API command or method call that is rare and unusual for the geolocation of the source IP address. Here are some possible avenues of investigation:\n- Consider the source IP address and geolocation for the calling user who issued the command. Do they look normal for the calling user? If the source is an EC2 IP address, is it associated with an EC2 instance in one of your accounts, or could it be sourcing from an EC2 instance not under your control? If it is an authorized EC2 instance, is the activity associated with normal behavior for the instance role or roles? Are there any other alerts or signs of suspicious activity involving this instance?\n- Consider the user as identified by the `user.name` field. Is this command part of an expected workflow for the user context? Examine the user identity in the `aws.cloudtrail.user_identity.arn` field and the access key id in the `aws.cloudtrail.user_identity.access_key_id` field, which can help identify the precise user context. The user agent details in the `user_agent.original` field may also indicate what kind of a client made the request.\n- Consider the time of day. If the user is a human, not a program or script, did the activity take place during a normal time of day?\n- Examine the history of the command. If the command, which is visible in the `event.action field`, only manifested recently, it might be part of a new automation module or script. If it has a consistent cadence (for example, if it appears in small numbers on a weekly or monthly cadence), it might be part of a housekeeping or maintenance process.\n- Examine the request parameters. These may provide indications as to the source of the program or the nature of the tasks it is performing.", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -26,5 +26,5 @@ "ML" ], "type": "machine_learning", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_user.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_user.json index 3a42b8d292bcc..ab9364c453423 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_user.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_cloudtrail_rare_method_by_user.json @@ -3,7 +3,7 @@ "author": [ "Elastic" ], - "description": "A machine learning job detected an AWS API command that, while not inherently suspicious or abnormal, is being made by a user context that does not normally use the command. This can be the result of compromised credentials or keys as someone uses a valid account to persist, move laterally, or exfil data.", + "description": "A machine learning job detected an AWS API command that, while not inherently suspicious or abnormal, is being made by a user context that does not normally use the command. This can be the result of compromised credentials or keys as someone uses a valid account to persist, move laterally, or exfiltrate data.", "false_positives": [ "New or unusual user command activity can be due to manual troubleshooting or reconfiguration; changes in cloud automation scripts or workflows; adoption of new services; or changes in the way services are used." ], @@ -12,7 +12,7 @@ "license": "Elastic License v2", "machine_learning_job_id": "rare_method_for_a_username", "name": "Unusual AWS Command for a User", - "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n## Triage and analysis\n\n### Investigating an Unusual CloudTrail Event\n\nDetection alerts from this rule indicate an AWS API command or method call that is rare and unusual for the calling IAM user. Here are some possible avenues of investigation:\n- Consider the user as identified by the `user.name` field. Is this command part of an expected workflow for the user context? Examine the user identity in the `aws.cloudtrail.user_identity.arn` field and the access key id in the `aws.cloudtrail.user_identity.access_key_id` field which can help identify the precise user context. The user agent details in the `user_agent.original` field may also indicate what kind of a client made the request.\n- Consider the source IP address and geolocation for the calling user who issued the command. Do they look normal for the calling user? If the source is an EC2 IP address, is it associated with an EC2 instance in one of your accounts or could it be sourcing from an EC2 instance not under your control? If it is an authorized EC2 instance, is the activity associated with normal behavior for the instance role or roles? Are there any other alerts or signs of suspicious activity involving this instance?\n- Consider the time of day. If the user is a human, not a program or script, did the activity take place during a normal time of day?\n- Examine the history of the command. If the command, which is visible in the `event.action field`, manifested only very recently, it might be part of a new automation module or script. If it has a consistent cadence - for example, if it appears in small numbers on a weekly or monthly cadence it might be part of a housekeeping or maintenance process.\n- Examine the request parameters. These may provide indications as to the source of the program or the nature of the tasks it is performing.", + "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n## Triage and analysis\n\n### Investigating an Unusual CloudTrail Event\n\nDetection alerts from this rule indicate an AWS API command or method call that is rare and unusual for the calling IAM user. Here are some possible avenues of investigation:\n- Consider the user as identified by the `user.name` field. Is this command part of an expected workflow for the user context? Examine the user identity in the `aws.cloudtrail.user_identity.arn` field and the access key id in the `aws.cloudtrail.user_identity.access_key_id` field, which can help identify the precise user context. The user agent details in the `user_agent.original` field may also indicate what kind of a client made the request.\n- Consider the source IP address and geolocation for the calling user who issued the command. Do they look normal for the calling user? If the source is an EC2 IP address, is it associated with an EC2 instance in one of your accounts, or could it be sourcing from an EC2 instance not under your control? If it is an authorized EC2 instance, is the activity associated with normal behavior for the instance role or roles? Are there any other alerts or signs of suspicious activity involving this instance?\n- Consider the time of day. If the user is a human, not a program or script, did the activity take place during a normal time of day?\n- Examine the history of the command. If the command, which is visible in the `event.action field`, only manifested recently, it might be part of a new automation module or script. If it has a consistent cadence (for example, if it appears in small numbers on a weekly or monthly cadence), it might be part of a housekeeping or maintenance process.\n- Examine the request parameters. These may provide indications as to the source of the program or the nature of the tasks it is performing.", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -26,5 +26,5 @@ "ML" ], "type": "machine_learning", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_high_count_network_events.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_high_count_network_events.json index 39ded30776bad..e8db55d7729a1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_high_count_network_events.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_high_count_network_events.json @@ -5,7 +5,7 @@ ], "description": "A machine learning job detected an unusually large spike in network traffic. Such a burst of traffic, if not caused by a surge in business activity, can be due to suspicious or malicious activity. Large-scale data exfiltration may produce a burst of network traffic; this could also be due to unusually large amounts of reconnaissance or enumeration traffic. Denial-of-service attacks or traffic floods may also produce such a surge in traffic.", "false_positives": [ - "Business workflows that occur very occasionally, and involve an unsual surge in network trafic, can trigger this alert. A new business workflow or a surge in business activity may trigger this alert. A misconfigured network application or firewall may trigger this alert." + "Business workflows that occur very occasionally, and involve an unusual surge in network traffic, can trigger this alert. A new business workflow or a surge in business activity may trigger this alert. A misconfigured network application or firewall may trigger this alert." ], "from": "now-30m", "interval": "15m", @@ -25,5 +25,5 @@ "ML" ], "type": "machine_learning", - "version": 2 + "version": 3 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_compiler_activity.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_compiler_activity.json index 786fe345f61af..6f226afdd1873 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_compiler_activity.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_compiler_activity.json @@ -5,7 +5,7 @@ ], "description": "Looks for compiler activity by a user context which does not normally run compilers. This can be the result of ad-hoc software changes or unauthorized software deployment. This can also be due to local privilege elevation via locally run exploits or malware activity.", "false_positives": [ - "Uncommon compiler activity can be due to an engineer running a local build on a prod or staging instance in the course of troubleshooting or fixing a software issue." + "Uncommon compiler activity can be due to an engineer running a local build on a production or staging instance in the course of troubleshooting or fixing a software issue." ], "from": "now-45m", "interval": "15m", @@ -23,5 +23,5 @@ "ML" ], "type": "machine_learning", - "version": 2 + "version": 3 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_network_activity.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_network_activity.json index fcfa402c11a6d..956e7f9cca592 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_network_activity.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_network_activity.json @@ -9,7 +9,7 @@ "license": "Elastic License v2", "machine_learning_job_id": "linux_anomalous_network_activity_ecs", "name": "Unusual Linux Network Activity", - "note": "## Triage and analysis\n\n### Investigating Unusual Network Activity\nDetection alerts from this rule indicate the presence of network activity from a Linux process for which network activity is rare and unusual. Here are some possible avenues of investigation:\n- Consider the IP addresses and ports. Are these used by normal but infrequent network workflows? Are they expected or unexpected?\n- If the destination IP address is remote or external, does it associate with an expected domain, organization or geography? Note: avoid interacting directly with suspected malicious IP addresses.\n- Consider the user as identified by the username field. Is this network activity part of an expected workflow for the user who ran the program?\n- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business or maintenance process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.", + "note": "## Triage and analysis\n\n### Investigating Unusual Network Activity\nDetection alerts from this rule indicate the presence of network activity from a Linux process for which network activity is rare and unusual. Here are some possible avenues of investigation:\n- Consider the IP addresses and ports. Are these used by normal but infrequent network workflows? Are they expected or unexpected?\n- If the destination IP address is remote or external, does it associate with an expected domain, organization or geography? Note: avoid interacting directly with suspected malicious IP addresses.\n- Consider the user as identified by the username field. Is this network activity part of an expected workflow for the user who ran the program?\n- Examine the history of execution. If this process only manifested recently, it might be part of a new software package. If it has a consistent cadence (for example if it runs monthly or quarterly), it might be part of a monthly or quarterly business or maintenance process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -24,5 +24,5 @@ "ML" ], "type": "machine_learning", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_process_all_hosts.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_process_all_hosts.json index bab02f0a6aa24..eed66a25e89a1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_process_all_hosts.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_process_all_hosts.json @@ -15,7 +15,7 @@ "v2_linux_anomalous_process_all_hosts_ecs" ], "name": "Anomalous Process For a Linux Population", - "note": "## Triage and analysis\n\n### Investigating an Unusual Linux Process\nDetection alerts from this rule indicate the presence of a Linux process that is rare and unusual for all of the monitored Linux hosts for which Auditbeat data is available. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?\n- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.", + "note": "## Triage and analysis\n\n### Investigating an Unusual Linux Process\nDetection alerts from this rule indicate the presence of a Linux process that is rare and unusual for all of the monitored Linux hosts for which Auditbeat data is available. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?\n- Examine the history of execution. If this process only manifested recently, it might be part of a new software package. If it has a consistent cadence (for example if it runs monthly or quarterly), it might be part of a monthly or quarterly business process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -30,5 +30,5 @@ "ML" ], "type": "machine_learning", - "version": 6 + "version": 7 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_user_name.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_user_name.json index 4eb10707e0eb2..84fc762929b1c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_user_name.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_linux_anomalous_user_name.json @@ -15,7 +15,7 @@ "v2_linux_anomalous_user_name_ecs" ], "name": "Unusual Linux Username", - "note": "## Triage and analysis\n\n### Investigating an Unusual Linux User\nDetection alerts from this rule indicate activity for a Linux user name that is rare and unusual. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host? Could this be related to troubleshooting or debugging activity by a developer or site reliability engineer?\n- Examine the history of user activity. If this user manifested only very recently, it might be a service account for a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks that the user is performing.", + "note": "## Triage and analysis\n\n### Investigating an Unusual Linux User\nDetection alerts from this rule indicate activity for a Linux user name that is rare and unusual. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host? Could this be related to troubleshooting or debugging activity by a developer or site reliability engineer?\n- Examine the history of user activity. If this user only manifested recently, it might be a service account for a new software package. If it has a consistent cadence (for example if it runs monthly or quarterly), it might be part of a monthly or quarterly business process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks that the user is performing.", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -30,5 +30,5 @@ "ML" ], "type": "machine_learning", - "version": 6 + "version": 7 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_rare_process_by_host_linux.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_rare_process_by_host_linux.json index 934a5e598629b..d89f2fcf9c045 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_rare_process_by_host_linux.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_rare_process_by_host_linux.json @@ -15,7 +15,7 @@ "v2_rare_process_by_host_linux_ecs" ], "name": "Unusual Process For a Linux Host", - "note": "## Triage and analysis\n\n### Investigating an Unusual Linux Process\nDetection alerts from this rule indicate the presence of a Linux process that is rare and unusual for the host it ran on. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?\n- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.", + "note": "## Triage and analysis\n\n### Investigating an Unusual Linux Process\nDetection alerts from this rule indicate the presence of a Linux process that is rare and unusual for the host it ran on. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?\n- Examine the history of execution. If this process only manifested recently, it might be part of a new software package. If it has a consistent cadence (for example if it runs monthly or quarterly), it might be part of a monthly or quarterly business process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -30,5 +30,5 @@ "ML" ], "type": "machine_learning", - "version": 6 + "version": 7 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_rare_process_by_host_windows.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_rare_process_by_host_windows.json index 3373f51b69db0..8729de9a8689d 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_rare_process_by_host_windows.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_rare_process_by_host_windows.json @@ -15,7 +15,7 @@ "v2_rare_process_by_host_windows_ecs" ], "name": "Unusual Process For a Windows Host", - "note": "## Triage and analysis\n\n### Investigating an Unusual Windows Process\nDetection alerts from this rule indicate the presence of a Windows process that is rare and unusual for the host it ran on. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?\n- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.\n- Examine the process metadata like the values of the Company, Description and Product fields which may indicate whether the program is associated with an expected software vendor or package.\n- Examine arguments and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.\n- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.\n- If you have file hash values in the event data, and you suspect malware, you can optionally run a search for the file hash to see if the file is identified as malware by anti-malware tools. ", + "note": "## Triage and analysis\n\n### Investigating an Unusual Windows Process\nDetection alerts from this rule indicate the presence of a Windows process that is rare and unusual for the host it ran on. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?\n- Examine the history of execution. If this process only manifested recently, it might be part of a new software package. If it has a consistent cadence (for example if it runs monthly or quarterly), it might be part of a monthly or quarterly business process.\n- Examine the process metadata like the values of the Company, Description and Product fields which may indicate whether the program is associated with an expected software vendor or package.\n- Examine arguments and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.\n- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.\n- If you have file hash values in the event data, and you suspect malware, you can optionally run a search for the file hash to see if the file is identified as malware by anti-malware tools. ", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -30,5 +30,5 @@ "ML" ], "type": "machine_learning", - "version": 6 + "version": 7 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_network_activity.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_network_activity.json index dbee5dd256873..4f17e9a029ad9 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_network_activity.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_network_activity.json @@ -15,7 +15,7 @@ "v2_windows_anomalous_network_activity_ecs" ], "name": "Unusual Windows Network Activity", - "note": "## Triage and analysis\n\n### Investigating Unusual Network Activity\nDetection alerts from this rule indicate the presence of network activity from a Windows process for which network activity is very unusual. Here are some possible avenues of investigation:\n- Consider the IP addresses, protocol and ports. Are these used by normal but infrequent network workflows? Are they expected or unexpected?\n- If the destination IP address is remote or external, does it associate with an expected domain, organization or geography? Note: avoid interacting directly with suspected malicious IP addresses.\n- Consider the user as identified by the username field. Is this network activity part of an expected workflow for the user who ran the program?\n- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.\n- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.\n- If you have file hash values in the event data, and you suspect malware, you can optionally run a search for the file hash to see if the file is identified as malware by anti-malware tools.", + "note": "## Triage and analysis\n\n### Investigating Unusual Network Activity\nDetection alerts from this rule indicate the presence of network activity from a Windows process for which network activity is very unusual. Here are some possible avenues of investigation:\n- Consider the IP addresses, protocol and ports. Are these used by normal but infrequent network workflows? Are they expected or unexpected?\n- If the destination IP address is remote or external, does it associate with an expected domain, organization or geography? Note: avoid interacting directly with suspected malicious IP addresses.\n- Consider the user as identified by the username field. Is this network activity part of an expected workflow for the user who ran the program?\n- Examine the history of execution. If this process only manifested recently, it might be part of a new software package. If it has a consistent cadence (for example if it runs monthly or quarterly), it might be part of a monthly or quarterly business process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.\n- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.\n- If you have file hash values in the event data, and you suspect malware, you can optionally run a search for the file hash to see if the file is identified as malware by anti-malware tools.", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -30,5 +30,5 @@ "ML" ], "type": "machine_learning", - "version": 6 + "version": 7 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_process_all_hosts.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_process_all_hosts.json index 09acb2121fd5c..b1ef88c628f93 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_process_all_hosts.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_process_all_hosts.json @@ -15,7 +15,7 @@ "v2_windows_anomalous_process_all_hosts_ecs" ], "name": "Anomalous Process For a Windows Population", - "note": "## Triage and analysis\n\n### Investigating an Unusual Windows Process\nDetection alerts from this rule indicate the presence of a Windows process that is rare and unusual for all of the Windows hosts for which Winlogbeat data is available. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?\n- Examine the history of execution. If this process manifested only very recently, it might be part of a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.\n- Examine the process metadata like the values of the Company, Description and Product fields which may indicate whether the program is associated with an expected software vendor or package.\n- Examine arguments and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.\n- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.\n- If you have file hash values in the event data, and you suspect malware, you can optionally run a search for the file hash to see if the file is identified as malware by anti-malware tools. ", + "note": "## Triage and analysis\n\n### Investigating an Unusual Windows Process\nDetection alerts from this rule indicate the presence of a Windows process that is rare and unusual for all of the Windows hosts for which Winlogbeat data is available. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host?\n- Examine the history of execution. If this process only manifested recently, it might be part of a new software package. If it has a consistent cadence (for example if it runs monthly or quarterly), it might be part of a monthly or quarterly business process.\n- Examine the process metadata like the values of the Company, Description and Product fields which may indicate whether the program is associated with an expected software vendor or package.\n- Examine arguments and working directory. These may provide indications as to the source of the program or the nature of the tasks it is performing.\n- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.\n- If you have file hash values in the event data, and you suspect malware, you can optionally run a search for the file hash to see if the file is identified as malware by anti-malware tools. ", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -30,5 +30,5 @@ "ML" ], "type": "machine_learning", - "version": 6 + "version": 7 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_user_name.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_user_name.json index b2183c8ff66c3..e3887043338fc 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_user_name.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/ml_windows_anomalous_user_name.json @@ -15,7 +15,7 @@ "v2_windows_anomalous_user_name_ecs" ], "name": "Unusual Windows Username", - "note": "## Triage and analysis\n\n### Investigating an Unusual Windows User\nDetection alerts from this rule indicate activity for a Windows user name that is rare and unusual. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host? Could this be related to occasional troubleshooting or support activity?\n- Examine the history of user activity. If this user manifested only very recently, it might be a service account for a new software package. If it has a consistent cadence - for example if it runs monthly or quarterly - it might be part of a monthly or quarterly business process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks that the user is performing.\n- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.", + "note": "## Triage and analysis\n\n### Investigating an Unusual Windows User\nDetection alerts from this rule indicate activity for a Windows user name that is rare and unusual. Here are some possible avenues of investigation:\n- Consider the user as identified by the username field. Is this program part of an expected workflow for the user who ran this program on this host? Could this be related to occasional troubleshooting or support activity?\n- Examine the history of user activity. If this user only manifested recently, it might be a service account for a new software package. If it has a consistent cadence (for example if it runs monthly or quarterly), it might be part of a monthly or quarterly business process.\n- Examine the process arguments, title and working directory. These may provide indications as to the source of the program or the nature of the tasks that the user is performing.\n- Consider the same for the parent process. If the parent process is a legitimate system utility or service, this could be related to software updates or system management. If the parent process is something user-facing like an Office application, this process could be more suspicious.", "references": [ "https://www.elastic.co/guide/en/security/current/prebuilt-ml-jobs.html" ], @@ -30,5 +30,5 @@ "ML" ], "type": "machine_learning", - "version": 6 + "version": 7 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_ec2_security_group_configuration_change_detection.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_ec2_security_group_configuration_change_detection.json new file mode 100644 index 0000000000000..a3468f4a68948 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_ec2_security_group_configuration_change_detection.json @@ -0,0 +1,58 @@ +{ + "author": [ + "Elastic", + "Austin Songer" + ], + "description": "Identifies a change to an AWS Security Group Configuration. A security group is like a virtul firewall and modifying configurations may allow unauthorized access. Threat actors may abuse this to establish persistence, exfiltrate data, or pivot in a AWS environment.", + "false_positives": [ + "A security group may be created by a system or network administrator. Verify whether the user identity, user agent, and/or hostname should be making changes in your environment. Security group creations from unfamiliar users or hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule." + ], + "from": "now-30m", + "index": [ + "filebeat-*", + "logs-aws*" + ], + "interval": "10m", + "language": "kuery", + "license": "Elastic License v2", + "name": "AWS Security Group Configuration Change Detection", + "note": "## Config\n\nThe AWS Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.", + "query": "event.dataset:aws.cloudtrail and event.provider:iam.amazonaws.com and event.action:(AuthorizeSecurityGroupEgress or \nCreateSecurityGroup or ModifyInstanceAttribute or ModifySecurityGroupRules or RevokeSecurityGroupEgress or \nRevokeSecurityGroupIngress) and event.outcome:success\n", + "references": [ + "https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-security-groups.html" + ], + "risk_score": 21, + "rule_id": "29052c19-ff3e-42fd-8363-7be14d7c5469", + "severity": "low", + "tags": [ + "Elastic", + "Cloud", + "AWS", + "Continuous Monitoring", + "SecOps", + "Network Security" + ], + "threat": [ + { + "framework": "MITRE ATT&CK", + "tactic": { + "id": "TA0003", + "name": "Persistence", + "reference": "https://attack.mitre.org/tactics/TA0003/" + }, + "technique": [] + }, + { + "framework": "MITRE ATT&CK", + "tactic": { + "id": "TA0005", + "name": "Defense Evasion", + "reference": "https://attack.mitre.org/tactics/TA0005/" + }, + "technique": [] + } + ], + "timestamp_override": "event.ingested", + "type": "query", + "version": 1 +} diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_admin_role_assigned_to_user.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_admin_role_assigned_to_user.json index 1ad3e0afeed52..a8f00924ce33c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_admin_role_assigned_to_user.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_admin_role_assigned_to_user.json @@ -15,7 +15,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "Google Workspace Admin Role Assigned to a User", - "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information.\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", + "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information:\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", "query": "event.dataset:(gsuite.admin or google_workspace.admin) and event.provider:admin and event.category:iam and event.action:ASSIGN_ROLE\n", "references": [ "https://support.google.com/a/answer/172176?hl=en" @@ -50,5 +50,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 4 + "version": 5 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_api_access_granted_via_domain_wide_delegation_of_authority.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_api_access_granted_via_domain_wide_delegation_of_authority.json index 19dd54c6ccb35..aec03ee3dc307 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_api_access_granted_via_domain_wide_delegation_of_authority.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_api_access_granted_via_domain_wide_delegation_of_authority.json @@ -15,7 +15,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "Google Workspace API Access Granted via Domain-Wide Delegation of Authority", - "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information.\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", + "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information:\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", "query": "event.dataset:(gsuite.admin or google_workspace.admin) and event.provider:admin and event.category:iam and event.action:AUTHORIZE_API_CLIENT_ACCESS\n", "references": [ "https://developers.google.com/admin-sdk/directory/v1/guides/delegation" @@ -50,5 +50,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 4 + "version": 5 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_custom_admin_role_created.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_custom_admin_role_created.json index ae03288800adc..7c5036a494a87 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_custom_admin_role_created.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_custom_admin_role_created.json @@ -15,7 +15,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "Google Workspace Custom Admin Role Created", - "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information.\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", + "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information:\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", "query": "event.dataset:(gsuite.admin or google_workspace.admin) and event.provider:admin and event.category:iam and event.action:CREATE_ROLE\n", "references": [ "https://support.google.com/a/answer/2406043?hl=en" @@ -50,5 +50,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 4 + "version": 5 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_role_modified.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_role_modified.json index 75bd229efa31c..84000a468c9ac 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_role_modified.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_google_workspace_role_modified.json @@ -15,7 +15,7 @@ "language": "kuery", "license": "Elastic License v2", "name": "Google Workspace Role Modified", - "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information.\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", + "note": "## Config\n\nThe Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.\n\n### Important Information Regarding Google Workspace Event Lag Times\n- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.\n- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.\n- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.\n- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).\n- See the following references for further information:\n - https://support.google.com/a/answer/7061566\n - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-gsuite.html", "query": "event.dataset:(gsuite.admin or google_workspace.admin) and event.provider:admin and event.category:iam and event.action:(ADD_PRIVILEGE or UPDATE_ROLE)\n", "references": [ "https://support.google.com/a/answer/2406043?hl=en" @@ -50,5 +50,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 4 + "version": 5 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_rds_group_creation.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_rds_group_creation.json index b2b5f06f8792a..fc72e25299dba 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_rds_group_creation.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_rds_group_creation.json @@ -3,9 +3,9 @@ "Elastic", "Austin Songer" ], - "description": "Identifies the creation of an Amazon Relational Database Service (RDS) Security Group.", + "description": "Identifies the creation of an Amazon Relational Database Service (RDS) Security group.", "false_positives": [ - "A RDS security group may be created by a system or network administrator. Verify whether the user identity, user agent, and/or hostname should be making changes in your environment. Security group creations from unfamiliar users or hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule." + "An RDS security group may be created by a system or network administrator. Verify whether the user identity, user agent, and/or hostname should be making changes in your environment. Security group creations from unfamiliar users or hosts should be investigated. If known behavior is causing false positives, it can be exempted from the rule." ], "from": "now-60m", "index": [ @@ -58,5 +58,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_shell_profile_modification.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_shell_profile_modification.json index 41ca64fb6c162..680934896128c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_shell_profile_modification.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_shell_profile_modification.json @@ -45,7 +45,7 @@ "subtechnique": [ { "id": "T1546.004", - "name": ".bash_profile and .bashrc", + "name": "Unix Shell Configuration Modification", "reference": "https://attack.mitre.org/techniques/T1546/004/" } ] @@ -55,5 +55,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_webshell_detection.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_webshell_detection.json new file mode 100644 index 0000000000000..26248009f5a49 --- /dev/null +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/persistence_webshell_detection.json @@ -0,0 +1,75 @@ +{ + "author": [ + "Elastic" + ], + "description": "Identifies suspicious commands executed via a web server, which may suggest a vulnerability and remote shell access.", + "false_positives": [ + "Security audits, maintenance and network administrative scripts may trigger this alert when run under web processes." + ], + "from": "now-9m", + "index": [ + "winlogbeat-*", + "logs-endpoint.events.*", + "logs-windows.*" + ], + "language": "eql", + "license": "Elastic License v2", + "name": "Webshell Detection: Script Process Child of Common Web Processes", + "note": "## Triage and analysis\n\nDetections should be investigated to identify if the activity corresponds to legitimate activity. As this rule detects post-exploitation process activity, investigations into this should be prioritized.", + "query": "process where event.type == \"start\" and\n process.parent.name : (\"w3wp.exe\", \"httpd.exe\", \"nginx.exe\", \"php.exe\", \"php-cgi.exe\", \"tomcat.exe\") and \n process.name : (\"cmd.exe\", \"cscript.exe\", \"powershell.exe\", \"pwsh.exe\", \"wmic.exe\", \"wscript.exe\")\n", + "references": [ + "https://www.microsoft.com/security/blog/2020/02/04/ghost-in-the-shell-investigating-web-shell-attacks/" + ], + "risk_score": 73, + "rule_id": "2917d495-59bd-4250-b395-c29409b76086", + "severity": "high", + "tags": [ + "Elastic", + "Host", + "Windows", + "Threat Detection", + "Persistence" + ], + "threat": [ + { + "framework": "MITRE ATT&CK", + "tactic": { + "id": "TA0003", + "name": "Persistence", + "reference": "https://attack.mitre.org/tactics/TA0003/" + }, + "technique": [ + { + "id": "T1505", + "name": "Server Software Component", + "reference": "https://attack.mitre.org/techniques/T1505/", + "subtechnique": [ + { + "id": "T1505.003", + "name": "Web Shell", + "reference": "https://attack.mitre.org/techniques/T1505/003/" + } + ] + } + ] + }, + { + "framework": "MITRE ATT&CK", + "tactic": { + "id": "TA0001", + "name": "Initial Access", + "reference": "https://attack.mitre.org/tactics/TA0001/" + }, + "technique": [ + { + "id": "T1190", + "name": "Exploit Public-Facing Application", + "reference": "https://attack.mitre.org/techniques/T1190/" + } + ] + } + ], + "timestamp_override": "event.ingested", + "type": "eql", + "version": 1 +} diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_disable_uac_registry.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_disable_uac_registry.json index 621387ffed873..26dbed5e681d3 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_disable_uac_registry.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_disable_uac_registry.json @@ -44,7 +44,7 @@ "subtechnique": [ { "id": "T1548.002", - "name": "Bypass User Access Control", + "name": "Bypass User Account Control", "reference": "https://attack.mitre.org/techniques/T1548/002/" } ] @@ -66,7 +66,7 @@ "subtechnique": [ { "id": "T1548.002", - "name": "Bypass User Access Control", + "name": "Bypass User Account Control", "reference": "https://attack.mitre.org/techniques/T1548/002/" } ] @@ -76,5 +76,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_ld_preload_shared_object_modif.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_ld_preload_shared_object_modif.json index 4b1b367a5ea35..45644e9a4f021 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_ld_preload_shared_object_modif.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_ld_preload_shared_object_modif.json @@ -41,7 +41,7 @@ "subtechnique": [ { "id": "T1574.006", - "name": "LD_PRELOAD", + "name": "Dynamic Linker Hijacking", "reference": "https://attack.mitre.org/techniques/T1574/006/" } ] @@ -51,5 +51,5 @@ ], "timestamp_override": "event.ingested", "type": "query", - "version": 1 + "version": 2 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_clipup.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_clipup.json index f99f7885f82d2..ef775f906584a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_clipup.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_clipup.json @@ -42,7 +42,7 @@ "subtechnique": [ { "id": "T1548.002", - "name": "Bypass User Access Control", + "name": "Bypass User Account Control", "reference": "https://attack.mitre.org/techniques/T1548/002/" } ] @@ -52,5 +52,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_ieinstal.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_ieinstal.json index 1857d7330a2ed..0575622b1a2b1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_ieinstal.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_ieinstal.json @@ -42,7 +42,7 @@ "subtechnique": [ { "id": "T1548.002", - "name": "Bypass User Access Control", + "name": "Bypass User Account Control", "reference": "https://attack.mitre.org/techniques/T1548/002/" } ] @@ -52,5 +52,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_interface_icmluautil.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_interface_icmluautil.json index 99c42874197da..913eefc351bec 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_interface_icmluautil.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_com_interface_icmluautil.json @@ -39,7 +39,7 @@ "subtechnique": [ { "id": "T1548.002", - "name": "Bypass User Access Control", + "name": "Bypass User Account Control", "reference": "https://attack.mitre.org/techniques/T1548/002/" } ] @@ -49,5 +49,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_diskcleanup_hijack.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_diskcleanup_hijack.json index 9bdd9375b89b4..04ab0eaae3ee4 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_diskcleanup_hijack.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_diskcleanup_hijack.json @@ -39,7 +39,7 @@ "subtechnique": [ { "id": "T1548.002", - "name": "Bypass User Access Control", + "name": "Bypass User Account Control", "reference": "https://attack.mitre.org/techniques/T1548/002/" } ] @@ -49,5 +49,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 5 + "version": 6 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_dll_sideloading.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_dll_sideloading.json index 6d98863b7239c..126cae9bebaa5 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_dll_sideloading.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_dll_sideloading.json @@ -42,7 +42,7 @@ "subtechnique": [ { "id": "T1548.002", - "name": "Bypass User Access Control", + "name": "Bypass User Account Control", "reference": "https://attack.mitre.org/techniques/T1548/002/" } ] @@ -52,5 +52,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_event_viewer.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_event_viewer.json index 08ebede619793..deb500d8d8127 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_event_viewer.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_event_viewer.json @@ -39,7 +39,7 @@ "subtechnique": [ { "id": "T1548.002", - "name": "Bypass User Access Control", + "name": "Bypass User Account Control", "reference": "https://attack.mitre.org/techniques/T1548/002/" } ] @@ -49,5 +49,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 8 + "version": 9 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_mock_windir.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_mock_windir.json index 400a03211f0f2..d32df52daf0a2 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_mock_windir.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_mock_windir.json @@ -42,7 +42,7 @@ "subtechnique": [ { "id": "T1548.002", - "name": "Bypass User Access Control", + "name": "Bypass User Account Control", "reference": "https://attack.mitre.org/techniques/T1548/002/" } ] @@ -52,5 +52,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_winfw_mmc_hijack.json b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_winfw_mmc_hijack.json index c5da1c7e2efed..eb7d8aede1030 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_winfw_mmc_hijack.json +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rules/prepackaged_rules/privilege_escalation_uac_bypass_winfw_mmc_hijack.json @@ -42,7 +42,7 @@ "subtechnique": [ { "id": "T1548.002", - "name": "Bypass User Access Control", + "name": "Bypass User Account Control", "reference": "https://attack.mitre.org/techniques/T1548/002/" } ] @@ -52,5 +52,5 @@ ], "timestamp_override": "event.ingested", "type": "eql", - "version": 3 + "version": 4 } From 6d7998e70ce3919c9f33cd0357b63661488e585c Mon Sep 17 00:00:00 2001 From: Marshall Main <55718608+marshallmain@users.noreply.github.com> Date: Thu, 26 Aug 2021 18:29:21 -0700 Subject: [PATCH 111/139] [Security Solution] Fix another reference to ALERT_STATUS (#110376) --- .../detections/components/alerts_table/default_config.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx index 6608a0dd1458c..7e755ad654685 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/default_config.tsx @@ -235,7 +235,7 @@ export const buildAlertStatusesFilterRuleRegistry = (statuses: Status[]): Filter bool: { should: statuses.map((status) => ({ term: { - [ALERT_STATUS]: status, + [ALERT_WORKFLOW_STATUS]: status, }, })), }, From 49e3edf032466ea1b70eaca85406321bc6db7417 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Thu, 26 Aug 2021 23:56:14 -0400 Subject: [PATCH 112/139] [APM] Latency threshold alerts are not being triggered (#110315) --- ...egister_transaction_duration_alert_type.ts | 32 +++++++++++-------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/x-pack/plugins/apm/server/lib/alerts/register_transaction_duration_alert_type.ts b/x-pack/plugins/apm/server/lib/alerts/register_transaction_duration_alert_type.ts index f3893a9da24c2..fedc185d84f9f 100644 --- a/x-pack/plugins/apm/server/lib/alerts/register_transaction_duration_alert_type.ts +++ b/x-pack/plugins/apm/server/lib/alerts/register_transaction_duration_alert_type.ts @@ -5,9 +5,8 @@ * 2.0. */ -import { schema } from '@kbn/config-schema'; -import { take } from 'rxjs/operators'; import { QueryDslQueryContainer } from '@elastic/elasticsearch/api/types'; +import { schema } from '@kbn/config-schema'; import type { ALERT_EVALUATION_THRESHOLD as ALERT_EVALUATION_THRESHOLD_TYPED, ALERT_EVALUATION_VALUE as ALERT_EVALUATION_VALUE_TYPED, @@ -19,33 +18,36 @@ import { ALERT_REASON as ALERT_REASON_NON_TYPED, // @ts-expect-error } from '@kbn/rule-data-utils/target_node/technical_field_names'; -import { SearchAggregatedTransactionSetting } from '../../../common/aggregated_transactions'; +import { take } from 'rxjs/operators'; import { asDuration } from '../../../../observability/common/utils/formatters'; import { createLifecycleRuleTypeFactory } from '../../../../rule_registry/server'; -import { - getEnvironmentLabel, - getEnvironmentEsField, -} from '../../../common/environment_filter_values'; +import { SearchAggregatedTransactionSetting } from '../../../common/aggregated_transactions'; import { AlertType, - APM_SERVER_FEATURE_ID, ALERT_TYPES_CONFIG, + APM_SERVER_FEATURE_ID, formatTransactionDurationReason, } from '../../../common/alert_types'; import { PROCESSOR_EVENT, SERVICE_NAME, - TRANSACTION_DURATION, TRANSACTION_TYPE, } from '../../../common/elasticsearch_fieldnames'; +import { + getEnvironmentEsField, + getEnvironmentLabel, +} from '../../../common/environment_filter_values'; import { ProcessorEvent } from '../../../common/processor_event'; -import { getDurationFormatter } from '../../../common/utils/formatters'; import { environmentQuery } from '../../../common/utils/environment_query'; +import { getDurationFormatter } from '../../../common/utils/formatters'; +import { + getDocumentTypeFilterForAggregatedTransactions, + getTransactionDurationFieldForAggregatedTransactions, +} from '../helpers/aggregated_transactions'; import { getApmIndices } from '../settings/apm_indices/get_apm_indices'; import { apmActionVariables } from './action_variables'; import { alertingEsClient } from './alerting_es_client'; import { RegisterRuleDependencies } from './register_apm_alerts'; -import { getDocumentTypeFilterForAggregatedTransactions } from '../helpers/aggregated_transactions'; const ALERT_EVALUATION_THRESHOLD: typeof ALERT_EVALUATION_THRESHOLD_TYPED = ALERT_EVALUATION_THRESHOLD_NON_TYPED; const ALERT_EVALUATION_VALUE: typeof ALERT_EVALUATION_VALUE_TYPED = ALERT_EVALUATION_VALUE_NON_TYPED; @@ -118,6 +120,10 @@ export function registerTransactionDurationAlertType({ ? indices['apm_oss.metricsIndices'] : indices['apm_oss.transactionIndices']; + const field = getTransactionDurationFieldForAggregatedTransactions( + searchAggregatedTransactions + ); + const searchParams = { index, body: { @@ -148,10 +154,10 @@ export function registerTransactionDurationAlertType({ aggs: { latency: alertParams.aggregationType === 'avg' - ? { avg: { field: TRANSACTION_DURATION } } + ? { avg: { field } } : { percentiles: { - field: TRANSACTION_DURATION, + field, percents: [ alertParams.aggregationType === '95th' ? 95 : 99, ], From 5208cfdbc71127ae665d7c66068673a7b00efd8c Mon Sep 17 00:00:00 2001 From: Yaroslav Kuznietsov Date: Fri, 27 Aug 2021 09:04:55 +0300 Subject: [PATCH 113/139] [Canvas] Fixes Expression errors are not rendered as markdown. --- src/plugins/expression_error/kibana.json | 2 +- .../expression_error/public/components/error/error.tsx | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/plugins/expression_error/kibana.json b/src/plugins/expression_error/kibana.json index aa3201694619c..bf4eb51524ec6 100755 --- a/src/plugins/expression_error/kibana.json +++ b/src/plugins/expression_error/kibana.json @@ -11,5 +11,5 @@ "ui": true, "requiredPlugins": ["expressions", "presentationUtil"], "optionalPlugins": [], - "requiredBundles": [] + "requiredBundles": ["kibanaReact"] } diff --git a/src/plugins/expression_error/public/components/error/error.tsx b/src/plugins/expression_error/public/components/error/error.tsx index 637309448da23..808424f9f4f8b 100644 --- a/src/plugins/expression_error/public/components/error/error.tsx +++ b/src/plugins/expression_error/public/components/error/error.tsx @@ -11,6 +11,7 @@ import { EuiCallOut } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { get } from 'lodash'; import { ShowDebugging } from './show_debugging'; +import { Markdown } from '../../../../kibana_react/public'; export interface Props { payload: { @@ -40,8 +41,11 @@ export const Error: FC = ({ payload }) => { title={strings.getTitle()} >

{message ? strings.getDescription() : ''}

- {message &&

{message}

} - + {message && ( +

+ +

+ )} ); From dfa6aa8bdf197414d98cda444fcf5a15c5478901 Mon Sep 17 00:00:00 2001 From: Yaroslav Kuznietsov Date: Fri, 27 Aug 2021 09:06:31 +0300 Subject: [PATCH 114/139] [Canvas] Fixes Expression Failed Exit Button not Clickable . (#110191) * Fixed not clickable cross at error popup. --- .../public/components/error/error.tsx | 14 +++++++++----- .../public/components/error_component.tsx | 3 ++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/plugins/expression_error/public/components/error/error.tsx b/src/plugins/expression_error/public/components/error/error.tsx index 808424f9f4f8b..2b42aa0f7eccd 100644 --- a/src/plugins/expression_error/public/components/error/error.tsx +++ b/src/plugins/expression_error/public/components/error/error.tsx @@ -7,9 +7,8 @@ */ import React, { FC } from 'react'; -import { EuiCallOut } from '@elastic/eui'; +import { EuiButtonIcon, EuiCallOut } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { get } from 'lodash'; import { ShowDebugging } from './show_debugging'; import { Markdown } from '../../../../kibana_react/public'; @@ -17,6 +16,7 @@ export interface Props { payload: { error: Error; }; + onClose?: () => void; } const strings = { @@ -30,14 +30,18 @@ const strings = { }), }; -export const Error: FC = ({ payload }) => { - const message = get(payload, 'error.message'); +export const Error: FC = ({ payload, onClose }) => { + const message = payload.error?.message; + + const CloseIconButton = () => ( + + ); return (

{message ? strings.getDescription() : ''}

diff --git a/src/plugins/expression_error/public/components/error_component.tsx b/src/plugins/expression_error/public/components/error_component.tsx index 58161d8a068a2..2a019c9ce6945 100644 --- a/src/plugins/expression_error/public/components/error_component.tsx +++ b/src/plugins/expression_error/public/components/error_component.tsx @@ -28,6 +28,7 @@ function ErrorComponent({ onLoaded, parentNode, error }: ErrorComponentProps) { const [isPopoverOpen, setPopoverOpen] = useState(false); const handlePopoverClick = () => setPopoverOpen(!isPopoverOpen); + const closePopover = () => setPopoverOpen(false); const updateErrorView = useCallback(() => { @@ -56,7 +57,7 @@ function ErrorComponent({ onLoaded, parentNode, error }: ErrorComponentProps) { } isOpen={isPopoverOpen} > - + ); From dde701faaaef3ef6ff3160aa0d16d0696710c409 Mon Sep 17 00:00:00 2001 From: Yaroslav Kuznietsov Date: Fri, 27 Aug 2021 09:26:55 +0300 Subject: [PATCH 115/139] [Canvas] ItemGrid refactor. (#110044) --- x-pack/plugins/canvas/public/components/item_grid/index.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/canvas/public/components/item_grid/index.ts b/x-pack/plugins/canvas/public/components/item_grid/index.ts index 5e17416c30321..5ad51718bc109 100644 --- a/x-pack/plugins/canvas/public/components/item_grid/index.ts +++ b/x-pack/plugins/canvas/public/components/item_grid/index.ts @@ -4,8 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ - -import { pure } from 'recompose'; +import { memo } from 'react'; import { ItemGrid as Component, Props as ComponentProps } from './item_grid'; -export const ItemGrid = pure>(Component); +export const ItemGrid = memo>(Component); From 2e4e0fca4c4c4a1e168b9a62a3b151a3735436dc Mon Sep 17 00:00:00 2001 From: Catherine Liu Date: Thu, 26 Aug 2021 23:46:11 -0700 Subject: [PATCH 116/139] Clears resolved arg on embeddable destroy (#109945) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/canvas/public/lib/create_handlers.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/x-pack/plugins/canvas/public/lib/create_handlers.ts b/x-pack/plugins/canvas/public/lib/create_handlers.ts index aba29ccd542be..dfc4387bcbf92 100644 --- a/x-pack/plugins/canvas/public/lib/create_handlers.ts +++ b/x-pack/plugins/canvas/public/lib/create_handlers.ts @@ -14,6 +14,7 @@ import { import { setFilter } from '../state/actions/elements'; import { updateEmbeddableExpression, fetchEmbeddableRenderable } from '../state/actions/embeddable'; import { RendererHandlers, CanvasElement } from '../../types'; +import { clearValue } from '../state/actions/resolved_args'; // This class creates stub handlers to ensure every element and renderer fulfills the contract. // TODO: consider warning if these methods are invoked but not implemented by the renderer...? @@ -123,6 +124,8 @@ export const createDispatchedHandlerFactory = ( }, onEmbeddableDestroyed() { + const argumentPath = [element.id, 'expressionRenderable']; + dispatch(clearValue({ path: argumentPath })); dispatch(fetchEmbeddableRenderable(element.id)); }, From 73f8a92a333bd20d7784af9b373849374b5818b6 Mon Sep 17 00:00:00 2001 From: Tyler Smalley Date: Fri, 27 Aug 2021 00:30:59 -0700 Subject: [PATCH 117/139] [bazel] Move keepalive to common (#110351) Signed-off-by: Tyler Smalley Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- src/dev/ci_setup/.bazelrc-ci | 3 --- src/dev/ci_setup/.bazelrc-ci.common | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/dev/ci_setup/.bazelrc-ci b/src/dev/ci_setup/.bazelrc-ci index bb8710d69ed54..ef6fab3a30590 100644 --- a/src/dev/ci_setup/.bazelrc-ci +++ b/src/dev/ci_setup/.bazelrc-ci @@ -12,8 +12,5 @@ build --bes_backend=grpcs://cloud.buildbuddy.io build --remote_cache=grpcs://cloud.buildbuddy.io build --remote_timeout=3600 -## Avoid to keep connections to build event backend connections alive across builds -build --keep_backend_build_event_connections_alive=false - ## Metadata settings build --build_metadata=ROLE=CI diff --git a/src/dev/ci_setup/.bazelrc-ci.common b/src/dev/ci_setup/.bazelrc-ci.common index 9d00ee5639741..56a5ee8d30cd6 100644 --- a/src/dev/ci_setup/.bazelrc-ci.common +++ b/src/dev/ci_setup/.bazelrc-ci.common @@ -6,3 +6,6 @@ build --noshow_progress # More details on failures build --verbose_failures=true + +## Avoid to keep connections to build event backend connections alive across builds +build --keep_backend_build_event_connections_alive=false From d43e9f586bee4bbf040c4c895a9a0783faf5020e Mon Sep 17 00:00:00 2001 From: Yaroslav Kuznietsov Date: Fri, 27 Aug 2021 13:58:10 +0300 Subject: [PATCH 118/139] [Canvas] Fixes Storybook for DatasourceComponent is crashing. (#110180) * Added mock for `es_service`. Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../plugins/canvas/storybook/__mocks__/es_service.ts | 10 ++++++++++ x-pack/plugins/canvas/storybook/main.ts | 4 ++++ 2 files changed, 14 insertions(+) create mode 100644 x-pack/plugins/canvas/storybook/__mocks__/es_service.ts diff --git a/x-pack/plugins/canvas/storybook/__mocks__/es_service.ts b/x-pack/plugins/canvas/storybook/__mocks__/es_service.ts new file mode 100644 index 0000000000000..686fd7b4fa947 --- /dev/null +++ b/x-pack/plugins/canvas/storybook/__mocks__/es_service.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const getDefaultIndex = () => { + return Promise.resolve('Demonstration index'); +}; diff --git a/x-pack/plugins/canvas/storybook/main.ts b/x-pack/plugins/canvas/storybook/main.ts index 69c05322cf3f0..a043efd7c87f5 100644 --- a/x-pack/plugins/canvas/storybook/main.ts +++ b/x-pack/plugins/canvas/storybook/main.ts @@ -56,6 +56,10 @@ const canvasWebpack = { resolve: { alias: { 'src/plugins': resolve(KIBANA_ROOT, 'src/plugins'), + '../../lib/es_service': resolve( + KIBANA_ROOT, + 'x-pack/plugins/canvas/storybook/__mocks__/es_service.ts' + ), }, }, }; From 54a45bba6532eacc4b59befd2cb0d203ce9298ed Mon Sep 17 00:00:00 2001 From: Walter Rafelsberger Date: Fri, 27 Aug 2021 13:08:50 +0200 Subject: [PATCH 119/139] [ML] APM Latency Correlations: Fix empty state (#109813) - Correctly renders the empty chart state when no data is available. - Hides the "Click drag to select" and trace samples message when the chart shows an empty state to avoid redundant info. - Adds jest unit tests that would fail with the previously visible loading indicators. - Fix a bug with cancelling search strategies. --- .../search_strategies/correlations/types.ts | 9 ++ .../app/correlations/empty_state_prompt.tsx | 3 +- .../failed_transactions_correlations.tsx | 49 +++--- .../latency_correlations.test.tsx | 131 +++++++++++++++ .../app/correlations/latency_correlations.tsx | 30 ++-- .../distribution/index.test.ts | 22 --- .../distribution/index.test.tsx | 151 ++++++++++++++++++ .../distribution/index.tsx | 58 ++++--- .../transaction_details/trace_samples_tab.tsx | 28 ++-- .../shared/charts/chart_container.tsx | 4 +- .../transaction_distribution_chart/index.tsx | 45 ++++-- ...ailed_transactions_correlations_fetcher.ts | 93 +++++------ .../use_transaction_distribution_fetcher.ts | 136 ++++++++-------- ...ransaction_latency_correlations_fetcher.ts | 143 +++++++++-------- .../correlations/search_strategy.ts | 19 ++- 15 files changed, 621 insertions(+), 300 deletions(-) create mode 100644 x-pack/plugins/apm/public/components/app/correlations/latency_correlations.test.tsx delete mode 100644 x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.test.ts create mode 100644 x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.test.tsx diff --git a/x-pack/plugins/apm/common/search_strategies/correlations/types.ts b/x-pack/plugins/apm/common/search_strategies/correlations/types.ts index 703106628f561..886c5fd6161d8 100644 --- a/x-pack/plugins/apm/common/search_strategies/correlations/types.ts +++ b/x-pack/plugins/apm/common/search_strategies/correlations/types.ts @@ -52,3 +52,12 @@ export interface AsyncSearchProviderProgress { loadedFieldValuePairs: number; loadedHistograms: number; } + +export interface SearchServiceRawResponse { + ccsWarning: boolean; + log: string[]; + overallHistogram?: HistogramItem[]; + percentileThresholdValue?: number; + took: number; + values: SearchServiceValue[]; +} diff --git a/x-pack/plugins/apm/public/components/app/correlations/empty_state_prompt.tsx b/x-pack/plugins/apm/public/components/app/correlations/empty_state_prompt.tsx index 57e57a526baff..9b161fc1b9fa9 100644 --- a/x-pack/plugins/apm/public/components/app/correlations/empty_state_prompt.tsx +++ b/x-pack/plugins/apm/public/components/app/correlations/empty_state_prompt.tsx @@ -33,8 +33,7 @@ export function CorrelationsEmptyStatePrompt() { id="xpack.apm.correlations.noCorrelationsTextLine1" defaultMessage="Correlations will only be identified if they have significant impact." /> -

-

+
(enableInspectEsQueries); - const searchServicePrams: SearchServiceParams = { - environment, - kuery, - serviceName, - transactionName, - transactionType, - start, - end, - }; - const result = useFailedTransactionsCorrelationsFetcher(); const { @@ -93,26 +82,30 @@ export function FailedTransactionsCorrelations({ } = result; const startFetchHandler = useCallback(() => { - startFetch(searchServicePrams); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [environment, serviceName, kuery, start, end]); + startFetch({ + environment, + kuery, + serviceName, + transactionName, + transactionType, + start, + end, + }); + }, [ + startFetch, + environment, + serviceName, + transactionName, + transactionType, + kuery, + start, + end, + ]); - // start fetching on load - // we want this effect to execute exactly once after the component mounts useEffect(() => { - if (isRunning) { - cancelFetch(); - } - startFetchHandler(); - - return () => { - // cancel any running async partial request when unmounting the component - // we want this effect to execute exactly once after the component mounts - cancelFetch(); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [startFetchHandler]); + return cancelFetch; + }, [cancelFetch, startFetchHandler]); const [ selectedSignificantTerm, diff --git a/x-pack/plugins/apm/public/components/app/correlations/latency_correlations.test.tsx b/x-pack/plugins/apm/public/components/app/correlations/latency_correlations.test.tsx new file mode 100644 index 0000000000000..b0da5b6d60d74 --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/correlations/latency_correlations.test.tsx @@ -0,0 +1,131 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { render, screen, waitFor } from '@testing-library/react'; +import { createMemoryHistory } from 'history'; +import React, { ReactNode } from 'react'; +import { of } from 'rxjs'; + +import { __IntlProvider as IntlProvider } from '@kbn/i18n/react'; + +import { CoreStart } from 'kibana/public'; +import { merge } from 'lodash'; +import { dataPluginMock } from 'src/plugins/data/public/mocks'; +import type { IKibanaSearchResponse } from 'src/plugins/data/public'; +import { EuiThemeProvider } from 'src/plugins/kibana_react/common'; +import { createKibanaReactContext } from 'src/plugins/kibana_react/public'; +import type { SearchServiceRawResponse } from '../../../../common/search_strategies/correlations/types'; +import { MockUrlParamsContextProvider } from '../../../context/url_params_context/mock_url_params_context_provider'; +import { ApmPluginContextValue } from '../../../context/apm_plugin/apm_plugin_context'; +import { + mockApmPluginContextValue, + MockApmPluginContextWrapper, +} from '../../../context/apm_plugin/mock_apm_plugin_context'; +import { fromQuery } from '../../shared/Links/url_helpers'; + +import { LatencyCorrelations } from './latency_correlations'; + +function Wrapper({ + children, + dataSearchResponse, +}: { + children?: ReactNode; + dataSearchResponse: IKibanaSearchResponse; +}) { + const mockDataSearch = jest.fn(() => of(dataSearchResponse)); + + const dataPluginMockStart = dataPluginMock.createStartContract(); + const KibanaReactContext = createKibanaReactContext({ + data: { + ...dataPluginMockStart, + search: { + ...dataPluginMockStart.search, + search: mockDataSearch, + }, + }, + usageCollection: { reportUiCounter: () => {} }, + } as Partial); + + const httpGet = jest.fn(); + + const history = createMemoryHistory(); + jest.spyOn(history, 'push'); + jest.spyOn(history, 'replace'); + + history.replace({ + pathname: '/services/the-service-name/transactions/view', + search: fromQuery({ transactionName: 'the-transaction-name' }), + }); + + const mockPluginContext = (merge({}, mockApmPluginContextValue, { + core: { http: { get: httpGet } }, + }) as unknown) as ApmPluginContextValue; + + return ( + + + + + + {children} + + + + + + ); +} + +describe('correlations', () => { + describe('LatencyCorrelations', () => { + it('shows loading indicator when the service is running and returned no results yet', async () => { + render( + + + + ); + + await waitFor(() => { + expect(screen.getByTestId('apmCorrelationsChart')).toBeInTheDocument(); + expect(screen.getByTestId('loading')).toBeInTheDocument(); + }); + }); + + it("doesn't show loading indicator when the service isn't running", async () => { + render( + + + + ); + + await waitFor(() => { + expect(screen.getByTestId('apmCorrelationsChart')).toBeInTheDocument(); + expect(screen.queryByTestId('loading')).toBeNull(); // it doesn't exist + }); + }); + }); +}); diff --git a/x-pack/plugins/apm/public/components/app/correlations/latency_correlations.tsx b/x-pack/plugins/apm/public/components/app/correlations/latency_correlations.tsx index 74702e621a0ba..ad8a56a3ac6f9 100644 --- a/x-pack/plugins/apm/public/components/app/correlations/latency_correlations.tsx +++ b/x-pack/plugins/apm/public/components/app/correlations/latency_correlations.tsx @@ -61,7 +61,7 @@ export function LatencyCorrelations({ onFilter }: { onFilter: () => void }) { const { query: { kuery, environment, rangeFrom, rangeTo }, - } = useApmParams('/services/:serviceName'); + } = useApmParams('/services/:serviceName/transactions/view'); const { urlParams } = useUrlParams(); @@ -95,25 +95,21 @@ export function LatencyCorrelations({ onFilter }: { onFilter: () => void }) { end, percentileThreshold: DEFAULT_PERCENTILE_THRESHOLD, }); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [environment, serviceName, kuery, start, end]); + }, [ + startFetch, + environment, + serviceName, + transactionName, + transactionType, + kuery, + start, + end, + ]); - // start fetching on load - // we want this effect to execute exactly once after the component mounts useEffect(() => { - if (isRunning) { - cancelFetch(); - } - startFetchHandler(); - - return () => { - // cancel any running async partial request when unmounting the component - // we want this effect to execute exactly once after the component mounts - cancelFetch(); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [startFetchHandler]); + return cancelFetch; + }, [cancelFetch, startFetchHandler]); useEffect(() => { if (isErrorMessage(error)) { diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.test.ts b/x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.test.ts deleted file mode 100644 index f541c16e655ab..0000000000000 --- a/x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.test.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { getFormattedSelection } from './index'; - -describe('transaction_details/distribution', () => { - describe('getFormattedSelection', () => { - it('displays only one unit if from and to share the same unit', () => { - expect(getFormattedSelection([10000, 100000])).toEqual('10 - 100 ms'); - }); - - it('displays two units when from and to have different units', () => { - expect(getFormattedSelection([100000, 1000000000])).toEqual( - '100 ms - 17 min' - ); - }); - }); -}); diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.test.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.test.tsx new file mode 100644 index 0000000000000..5a9977b373c33 --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.test.tsx @@ -0,0 +1,151 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { render, screen, waitFor } from '@testing-library/react'; +import { createMemoryHistory } from 'history'; +import React, { ReactNode } from 'react'; +import { of } from 'rxjs'; + +import { CoreStart } from 'kibana/public'; +import { merge } from 'lodash'; +import { dataPluginMock } from 'src/plugins/data/public/mocks'; +import type { IKibanaSearchResponse } from 'src/plugins/data/public'; +import { EuiThemeProvider } from 'src/plugins/kibana_react/common'; +import { createKibanaReactContext } from 'src/plugins/kibana_react/public'; +import type { SearchServiceRawResponse } from '../../../../../common/search_strategies/correlations/types'; +import { MockUrlParamsContextProvider } from '../../../../context/url_params_context/mock_url_params_context_provider'; +import { ApmPluginContextValue } from '../../../../context/apm_plugin/apm_plugin_context'; +import { + mockApmPluginContextValue, + MockApmPluginContextWrapper, +} from '../../../../context/apm_plugin/mock_apm_plugin_context'; +import { fromQuery } from '../../../shared/Links/url_helpers'; + +import { getFormattedSelection, TransactionDistribution } from './index'; + +function Wrapper({ + children, + dataSearchResponse, +}: { + children?: ReactNode; + dataSearchResponse: IKibanaSearchResponse; +}) { + const mockDataSearch = jest.fn(() => of(dataSearchResponse)); + + const dataPluginMockStart = dataPluginMock.createStartContract(); + const KibanaReactContext = createKibanaReactContext({ + data: { + ...dataPluginMockStart, + search: { + ...dataPluginMockStart.search, + search: mockDataSearch, + }, + }, + usageCollection: { reportUiCounter: () => {} }, + } as Partial); + + const httpGet = jest.fn(); + + const history = createMemoryHistory(); + jest.spyOn(history, 'push'); + jest.spyOn(history, 'replace'); + + history.replace({ + pathname: '/services/the-service-name/transactions/view', + search: fromQuery({ transactionName: 'the-transaction-name' }), + }); + + const mockPluginContext = (merge({}, mockApmPluginContextValue, { + core: { http: { get: httpGet } }, + }) as unknown) as ApmPluginContextValue; + + return ( + + + + + {children} + + + + + ); +} + +describe('transaction_details/distribution', () => { + describe('getFormattedSelection', () => { + it('displays only one unit if from and to share the same unit', () => { + expect(getFormattedSelection([10000, 100000])).toEqual('10 - 100 ms'); + }); + + it('displays two units when from and to have different units', () => { + expect(getFormattedSelection([100000, 1000000000])).toEqual( + '100 ms - 17 min' + ); + }); + }); + + describe('TransactionDistribution', () => { + it('shows loading indicator when the service is running and returned no results yet', async () => { + const onHasData = jest.fn(); + render( + + + + ); + + await waitFor(() => { + expect(screen.getByTestId('apmCorrelationsChart')).toBeInTheDocument(); + expect(screen.getByTestId('loading')).toBeInTheDocument(); + expect(onHasData).toHaveBeenLastCalledWith(false); + }); + }); + + it("doesn't show loading indicator when the service isn't running", async () => { + const onHasData = jest.fn(); + render( + + + + ); + + await waitFor(() => { + expect(screen.getByTestId('apmCorrelationsChart')).toBeInTheDocument(); + expect(screen.queryByTestId('loading')).toBeNull(); // it doesn't exist + expect(onHasData).toHaveBeenLastCalledWith(false); + }); + }); + }); +}); diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.tsx index 86ebc04944cd5..2da61bc0fc555 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/distribution/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useEffect } from 'react'; +import React, { useCallback, useEffect, useState } from 'react'; import { BrushEndListener, XYBrushArea } from '@elastic/charts'; import { EuiBadge, @@ -21,7 +21,10 @@ import { getDurationFormatter } from '../../../../../common/utils/formatters'; import { useUrlParams } from '../../../../context/url_params_context/use_url_params'; import { useApmPluginContext } from '../../../../context/apm_plugin/use_apm_plugin_context'; import { useTransactionDistributionFetcher } from '../../../../hooks/use_transaction_distribution_fetcher'; -import { TransactionDistributionChart } from '../../../shared/charts/transaction_distribution_chart'; +import { + OnHasData, + TransactionDistributionChart, +} from '../../../shared/charts/transaction_distribution_chart'; import { useUiTracker } from '../../../../../../observability/public'; import { useApmServiceContext } from '../../../../context/apm_service/use_apm_service_context'; import { useApmParams } from '../../../../hooks/use_apm_params'; @@ -47,10 +50,11 @@ export function getFormattedSelection(selection: Selection): string { }`; } -interface Props { +interface TransactionDistributionProps { markerCurrentTransaction?: number; onChartSelection: BrushEndListener; onClearSelection: () => void; + onHasData: OnHasData; selection?: Selection; } @@ -58,8 +62,9 @@ export function TransactionDistribution({ markerCurrentTransaction, onChartSelection, onClearSelection, + onHasData, selection, -}: Props) { +}: TransactionDistributionProps) { const { core: { notifications }, } = useApmPluginContext(); @@ -68,7 +73,7 @@ export function TransactionDistribution({ const { query: { kuery, environment, rangeFrom, rangeTo }, - } = useApmParams('/services/:serviceName'); + } = useApmParams('/services/:serviceName/transactions/view'); const { start, end } = useTimeRange({ rangeFrom, rangeTo }); @@ -76,6 +81,16 @@ export function TransactionDistribution({ const { transactionName } = urlParams; + const [showSelection, setShowSelection] = useState(false); + + const onTransactionDistributionHasData: OnHasData = useCallback( + (hasData) => { + setShowSelection(hasData); + onHasData(hasData); + }, + [onHasData] + ); + const emptySelectionText = i18n.translate( 'xpack.apm.transactionDetails.emptySelectionText', { @@ -93,17 +108,12 @@ export function TransactionDistribution({ const { error, percentileThresholdValue, - isRunning, startFetch, cancelFetch, transactionDistribution, } = useTransactionDistributionFetcher(); - useEffect(() => { - if (isRunning) { - cancelFetch(); - } - + const startFetchHandler = useCallback(() => { startFetch({ environment, kuery, @@ -114,14 +124,21 @@ export function TransactionDistribution({ end, percentileThreshold: DEFAULT_PERCENTILE_THRESHOLD, }); + }, [ + startFetch, + environment, + serviceName, + transactionName, + transactionType, + kuery, + start, + end, + ]); - return () => { - // cancel any running async partial request when unmounting the component - // we want this effect to execute exactly once after the component mounts - cancelFetch(); - }; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [environment, serviceName, kuery, start, end]); + useEffect(() => { + startFetchHandler(); + return cancelFetch; + }, [cancelFetch, startFetchHandler]); useEffect(() => { if (isErrorMessage(error)) { @@ -166,7 +183,7 @@ export function TransactionDistribution({ - {!selection && ( + {showSelection && !selection && ( )} - {selection && ( + {showSelection && selection && ( diff --git a/x-pack/plugins/apm/public/components/app/transaction_details/trace_samples_tab.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/trace_samples_tab.tsx index 0421fcd055d6c..ea02cfea5a941 100644 --- a/x-pack/plugins/apm/public/components/app/transaction_details/trace_samples_tab.tsx +++ b/x-pack/plugins/apm/public/components/app/transaction_details/trace_samples_tab.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React from 'react'; +import React, { useState } from 'react'; import { EuiSpacer } from '@elastic/eui'; @@ -34,11 +34,17 @@ function TraceSamplesTab({ status: waterfallStatus, } = useWaterfallFetcher(); + const [ + transactionDistributionHasData, + setTransactionDistributionHasData, + ] = useState(false); + return ( <> - + {transactionDistributionHasData && ( + <> + - + + + )} ); } diff --git a/x-pack/plugins/apm/public/components/shared/charts/chart_container.tsx b/x-pack/plugins/apm/public/components/shared/charts/chart_container.tsx index 4098fc5e696db..695e62b3b7d78 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/chart_container.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/chart_container.tsx @@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n'; import React from 'react'; import { FETCH_STATUS } from '../../../hooks/use_fetcher'; -interface Props { +export interface ChartContainerProps { hasData: boolean; status: FETCH_STATUS; height: number; @@ -24,7 +24,7 @@ export function ChartContainer({ status, hasData, id, -}: Props) { +}: ChartContainerProps) { if (!hasData && status === FETCH_STATUS.LOADING) { return ; } diff --git a/x-pack/plugins/apm/public/components/shared/charts/transaction_distribution_chart/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/transaction_distribution_chart/index.tsx index c511a708058d3..a58a2887b1576 100644 --- a/x-pack/plugins/apm/public/components/shared/charts/transaction_distribution_chart/index.tsx +++ b/x-pack/plugins/apm/public/components/shared/charts/transaction_distribution_chart/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useMemo } from 'react'; +import React, { useEffect, useMemo } from 'react'; import { AnnotationDomainType, AreaSeries, @@ -35,7 +35,14 @@ import { HistogramItem } from '../../../../../common/search_strategies/correlati import { FETCH_STATUS } from '../../../../hooks/use_fetcher'; import { useTheme } from '../../../../hooks/use_theme'; -import { ChartContainer } from '../chart_container'; +import { ChartContainer, ChartContainerProps } from '../chart_container'; + +export type TransactionDistributionChartLoadingState = Pick< + ChartContainerProps, + 'hasData' | 'status' +>; + +export type OnHasData = (hasData: boolean) => void; interface TransactionDistributionChartProps { field?: string; @@ -46,6 +53,7 @@ interface TransactionDistributionChartProps { markerPercentile: number; overallHistogram?: HistogramItem[]; onChartSelection?: BrushEndListener; + onHasData?: OnHasData; selection?: [number, number]; } @@ -103,6 +111,7 @@ export function TransactionDistributionChart({ markerPercentile, overallHistogram, onChartSelection, + onHasData, selection, }: TransactionDistributionChartProps) { const chartTheme = useChartTheme(); @@ -154,6 +163,24 @@ export function TransactionDistributionChart({ ] : undefined; + const chartLoadingState: TransactionDistributionChartLoadingState = useMemo( + () => ({ + hasData: + Array.isArray(patchedOverallHistogram) && + patchedOverallHistogram.length > 0, + status: Array.isArray(patchedOverallHistogram) + ? FETCH_STATUS.SUCCESS + : FETCH_STATUS.LOADING, + }), + [patchedOverallHistogram] + ); + + useEffect(() => { + if (onHasData) { + onHasData(chartLoadingState.hasData); + } + }, [chartLoadingState, onHasData]); + return (

0 - } - status={ - Array.isArray(patchedOverallHistogram) - ? FETCH_STATUS.SUCCESS - : FETCH_STATUS.LOADING - } + hasData={chartLoadingState.hasData} + status={chartLoadingState.status} > { })); } - const startFetch = (params: SearchServiceParams) => { - setFetchState((prevState) => ({ - ...prevState, - error: undefined, - isComplete: false, - })); - searchSubscription$.current?.unsubscribe(); - abortCtrl.current.abort(); - abortCtrl.current = new AbortController(); + const startFetch = useCallback( + (params: SearchServiceParams) => { + setFetchState((prevState) => ({ + ...prevState, + error: undefined, + isComplete: false, + })); + searchSubscription$.current?.unsubscribe(); + abortCtrl.current.abort(); + abortCtrl.current = new AbortController(); - const req = { params }; + const req = { params }; - // Submit the search request using the `data.search` service. - searchSubscription$.current = data.search - .search>(req, { - strategy: FAILED_TRANSACTIONS_CORRELATION_SEARCH_STRATEGY, - abortSignal: abortCtrl.current.signal, - }) - .subscribe({ - next: (res: IKibanaSearchResponse) => { - setResponse(res); - if (isCompleteResponse(res)) { - searchSubscription$.current?.unsubscribe(); + // Submit the search request using the `data.search` service. + searchSubscription$.current = data.search + .search>(req, { + strategy: FAILED_TRANSACTIONS_CORRELATION_SEARCH_STRATEGY, + abortSignal: abortCtrl.current.signal, + }) + .subscribe({ + next: (res: IKibanaSearchResponse) => { + setResponse(res); + if (isCompleteResponse(res)) { + searchSubscription$.current?.unsubscribe(); + setFetchState((prevState) => ({ + ...prevState, + isRunnning: false, + isComplete: true, + })); + } else if (isErrorResponse(res)) { + searchSubscription$.current?.unsubscribe(); + setFetchState((prevState) => ({ + ...prevState, + error: (res as unknown) as Error, + isRunning: false, + })); + } + }, + error: (error: Error) => { setFetchState((prevState) => ({ ...prevState, - isRunnning: false, - isComplete: true, + error, + isRunning: false, })); - } else if (isErrorResponse(res)) { - searchSubscription$.current?.unsubscribe(); - setFetchState((prevState) => ({ - ...prevState, - error: (res as unknown) as Error, - setIsRunning: false, - })); - } - }, - error: (error: Error) => { - setFetchState((prevState) => ({ - ...prevState, - error, - setIsRunning: false, - })); - }, - }); - }; + }, + }); + }, + [data.search, setFetchState] + ); - const cancelFetch = () => { + const cancelFetch = useCallback(() => { searchSubscription$.current?.unsubscribe(); searchSubscription$.current = undefined; abortCtrl.current.abort(); setFetchState((prevState) => ({ ...prevState, - setIsRunning: false, + isRunning: false, })); - }; + }, [setFetchState]); return { ...fetchState, diff --git a/x-pack/plugins/apm/public/hooks/use_transaction_distribution_fetcher.ts b/x-pack/plugins/apm/public/hooks/use_transaction_distribution_fetcher.ts index 870dc8030d70b..2ff1b83ef1782 100644 --- a/x-pack/plugins/apm/public/hooks/use_transaction_distribution_fetcher.ts +++ b/x-pack/plugins/apm/public/hooks/use_transaction_distribution_fetcher.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { useRef, useState } from 'react'; +import { useCallback, useRef, useState } from 'react'; import type { Subscription } from 'rxjs'; import { IKibanaSearchRequest, @@ -14,31 +14,21 @@ import { isErrorResponse, } from '../../../../../src/plugins/data/public'; import type { - HistogramItem, SearchServiceParams, - SearchServiceValue, + SearchServiceRawResponse, } from '../../common/search_strategies/correlations/types'; import { useKibana } from '../../../../../src/plugins/kibana_react/public'; import { ApmPluginStartDeps } from '../plugin'; -interface RawResponse { - percentileThresholdValue?: number; - took: number; - values: SearchServiceValue[]; - overallHistogram: HistogramItem[]; - log: string[]; - ccsWarning: boolean; -} - interface TransactionDistributionFetcherState { error?: Error; isComplete: boolean; isRunning: boolean; loaded: number; - ccsWarning: RawResponse['ccsWarning']; - log: RawResponse['log']; - transactionDistribution?: RawResponse['overallHistogram']; - percentileThresholdValue?: RawResponse['percentileThresholdValue']; + ccsWarning: SearchServiceRawResponse['ccsWarning']; + log: SearchServiceRawResponse['log']; + transactionDistribution?: SearchServiceRawResponse['overallHistogram']; + percentileThresholdValue?: SearchServiceRawResponse['percentileThresholdValue']; timeTook?: number; total: number; } @@ -63,7 +53,9 @@ export function useTransactionDistributionFetcher() { const abortCtrl = useRef(new AbortController()); const searchSubscription$ = useRef(); - function setResponse(response: IKibanaSearchResponse) { + function setResponse( + response: IKibanaSearchResponse + ) { setFetchState((prevState) => ({ ...prevState, isRunning: response.isRunning || false, @@ -83,71 +75,81 @@ export function useTransactionDistributionFetcher() { response.rawResponse?.percentileThresholdValue, } : {}), + // if loading is done but didn't return any data for the overall histogram, + // set it to an empty array so the consuming chart component knows loading is done. + ...(!response.isRunning && + response.rawResponse?.overallHistogram === undefined + ? { transactionDistribution: [] } + : {}), })); } - const startFetch = ( - params: Omit - ) => { - setFetchState((prevState) => ({ - ...prevState, - error: undefined, - isComplete: false, - })); - searchSubscription$.current?.unsubscribe(); - abortCtrl.current.abort(); - abortCtrl.current = new AbortController(); + const startFetch = useCallback( + (params: Omit) => { + setFetchState((prevState) => ({ + ...prevState, + error: undefined, + isComplete: false, + })); + searchSubscription$.current?.unsubscribe(); + abortCtrl.current.abort(); + abortCtrl.current = new AbortController(); - const searchServiceParams: SearchServiceParams = { - ...params, - analyzeCorrelations: false, - }; - const req = { params: searchServiceParams }; + const searchServiceParams: SearchServiceParams = { + ...params, + analyzeCorrelations: false, + }; + const req = { params: searchServiceParams }; - // Submit the search request using the `data.search` service. - searchSubscription$.current = data.search - .search>(req, { - strategy: 'apmCorrelationsSearchStrategy', - abortSignal: abortCtrl.current.signal, - }) - .subscribe({ - next: (res: IKibanaSearchResponse) => { - setResponse(res); - if (isCompleteResponse(res)) { - searchSubscription$.current?.unsubscribe(); - setFetchState((prevState) => ({ - ...prevState, - isRunnning: false, - isComplete: true, - })); - } else if (isErrorResponse(res)) { - searchSubscription$.current?.unsubscribe(); + // Submit the search request using the `data.search` service. + searchSubscription$.current = data.search + .search< + IKibanaSearchRequest, + IKibanaSearchResponse + >(req, { + strategy: 'apmCorrelationsSearchStrategy', + abortSignal: abortCtrl.current.signal, + }) + .subscribe({ + next: (res: IKibanaSearchResponse) => { + setResponse(res); + if (isCompleteResponse(res)) { + searchSubscription$.current?.unsubscribe(); + setFetchState((prevState) => ({ + ...prevState, + isRunnning: false, + isComplete: true, + })); + } else if (isErrorResponse(res)) { + searchSubscription$.current?.unsubscribe(); + setFetchState((prevState) => ({ + ...prevState, + error: (res as unknown) as Error, + isRunning: false, + })); + } + }, + error: (error: Error) => { setFetchState((prevState) => ({ ...prevState, - error: (res as unknown) as Error, - setIsRunning: false, + error, + isRunning: false, })); - } - }, - error: (error: Error) => { - setFetchState((prevState) => ({ - ...prevState, - error, - setIsRunning: false, - })); - }, - }); - }; + }, + }); + }, + [data.search, setFetchState] + ); - const cancelFetch = () => { + const cancelFetch = useCallback(() => { searchSubscription$.current?.unsubscribe(); searchSubscription$.current = undefined; abortCtrl.current.abort(); setFetchState((prevState) => ({ ...prevState, - setIsRunning: false, + isRunning: false, })); - }; + }, [setFetchState]); return { ...fetchState, diff --git a/x-pack/plugins/apm/public/hooks/use_transaction_latency_correlations_fetcher.ts b/x-pack/plugins/apm/public/hooks/use_transaction_latency_correlations_fetcher.ts index 49f2a279f4931..0b035c6af2354 100644 --- a/x-pack/plugins/apm/public/hooks/use_transaction_latency_correlations_fetcher.ts +++ b/x-pack/plugins/apm/public/hooks/use_transaction_latency_correlations_fetcher.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { useRef, useState } from 'react'; +import { useCallback, useRef, useState } from 'react'; import type { Subscription } from 'rxjs'; import { IKibanaSearchRequest, @@ -14,32 +14,22 @@ import { isErrorResponse, } from '../../../../../src/plugins/data/public'; import type { - HistogramItem, SearchServiceParams, - SearchServiceValue, + SearchServiceRawResponse, } from '../../common/search_strategies/correlations/types'; import { useKibana } from '../../../../../src/plugins/kibana_react/public'; import { ApmPluginStartDeps } from '../plugin'; -interface RawResponse { - percentileThresholdValue?: number; - took: number; - values: SearchServiceValue[]; - overallHistogram: HistogramItem[]; - log: string[]; - ccsWarning: boolean; -} - interface TransactionLatencyCorrelationsFetcherState { error?: Error; isComplete: boolean; isRunning: boolean; loaded: number; - ccsWarning: RawResponse['ccsWarning']; - histograms: RawResponse['values']; - log: RawResponse['log']; - overallHistogram?: RawResponse['overallHistogram']; - percentileThresholdValue?: RawResponse['percentileThresholdValue']; + ccsWarning: SearchServiceRawResponse['ccsWarning']; + histograms: SearchServiceRawResponse['values']; + log: SearchServiceRawResponse['log']; + overallHistogram?: SearchServiceRawResponse['overallHistogram']; + percentileThresholdValue?: SearchServiceRawResponse['percentileThresholdValue']; timeTook?: number; total: number; } @@ -65,7 +55,9 @@ export const useTransactionLatencyCorrelationsFetcher = () => { const abortCtrl = useRef(new AbortController()); const searchSubscription$ = useRef(); - function setResponse(response: IKibanaSearchResponse) { + function setResponse( + response: IKibanaSearchResponse + ) { setFetchState((prevState) => ({ ...prevState, isRunning: response.isRunning || false, @@ -85,71 +77,86 @@ export const useTransactionLatencyCorrelationsFetcher = () => { response.rawResponse?.percentileThresholdValue, } : {}), + // if loading is done but didn't return any data for the overall histogram, + // set it to an empty array so the consuming chart component knows loading is done. + ...(!response.isRunning && + response.rawResponse?.overallHistogram === undefined + ? { overallHistogram: [] } + : {}), })); } - const startFetch = ( - params: Omit - ) => { - setFetchState((prevState) => ({ - ...prevState, - error: undefined, - isComplete: false, - })); - searchSubscription$.current?.unsubscribe(); - abortCtrl.current.abort(); - abortCtrl.current = new AbortController(); + const startFetch = useCallback( + (params: Omit) => { + setFetchState((prevState) => ({ + ...prevState, + error: undefined, + isComplete: false, + })); + searchSubscription$.current?.unsubscribe(); + abortCtrl.current.abort(); + abortCtrl.current = new AbortController(); - const searchServiceParams: SearchServiceParams = { - ...params, - analyzeCorrelations: true, - }; - const req = { params: searchServiceParams }; + const searchServiceParams: SearchServiceParams = { + ...params, + analyzeCorrelations: true, + }; + const req = { params: searchServiceParams }; - // Submit the search request using the `data.search` service. - searchSubscription$.current = data.search - .search>(req, { - strategy: 'apmCorrelationsSearchStrategy', - abortSignal: abortCtrl.current.signal, - }) - .subscribe({ - next: (res: IKibanaSearchResponse) => { - setResponse(res); - if (isCompleteResponse(res)) { - searchSubscription$.current?.unsubscribe(); + // Submit the search request using the `data.search` service. + searchSubscription$.current = data.search + .search< + IKibanaSearchRequest, + IKibanaSearchResponse + >(req, { + strategy: 'apmCorrelationsSearchStrategy', + abortSignal: abortCtrl.current.signal, + }) + .subscribe({ + next: (res: IKibanaSearchResponse) => { + setResponse(res); + if (isCompleteResponse(res)) { + searchSubscription$.current?.unsubscribe(); + setFetchState((prevState) => ({ + ...prevState, + isRunnning: false, + isComplete: true, + })); + } else if (isErrorResponse(res)) { + searchSubscription$.current?.unsubscribe(); + setFetchState((prevState) => ({ + ...prevState, + error: (res as unknown) as Error, + isRunning: false, + })); + } + }, + error: (error: Error) => { setFetchState((prevState) => ({ ...prevState, - isRunnning: false, - isComplete: true, + error, + isRunning: false, })); - } else if (isErrorResponse(res)) { - searchSubscription$.current?.unsubscribe(); - setFetchState((prevState) => ({ - ...prevState, - error: (res as unknown) as Error, - setIsRunning: false, - })); - } - }, - error: (error: Error) => { - setFetchState((prevState) => ({ - ...prevState, - error, - setIsRunning: false, - })); - }, - }); - }; + }, + }); + }, + [data.search, setFetchState] + ); - const cancelFetch = () => { + const cancelFetch = useCallback(() => { searchSubscription$.current?.unsubscribe(); searchSubscription$.current = undefined; abortCtrl.current.abort(); setFetchState((prevState) => ({ ...prevState, - setIsRunning: false, + // If we didn't receive data for the overall histogram yet + // set it to an empty array to indicate loading stopped. + ...(prevState.overallHistogram === undefined + ? { overallHistogram: [] } + : {}), + isRunning: false, })); - }; + }, [setFetchState]); return { ...fetchState, diff --git a/x-pack/plugins/apm/server/lib/search_strategies/correlations/search_strategy.ts b/x-pack/plugins/apm/server/lib/search_strategies/correlations/search_strategy.ts index 3601f19ad7051..7f67147a75580 100644 --- a/x-pack/plugins/apm/server/lib/search_strategies/correlations/search_strategy.ts +++ b/x-pack/plugins/apm/server/lib/search_strategies/correlations/search_strategy.ts @@ -16,6 +16,7 @@ import { import type { SearchServiceParams, + SearchServiceRawResponse, SearchServiceValue, } from '../../../../common/search_strategies/correlations/types'; @@ -100,20 +101,22 @@ export const apmCorrelationsSearchStrategyProvider = ( const took = Date.now() - started; + const rawResponse: SearchServiceRawResponse = { + ccsWarning, + log, + took, + values, + percentileThresholdValue, + overallHistogram, + }; + return of({ id, loaded, total, isRunning, isPartial: isRunning, - rawResponse: { - ccsWarning, - log, - took, - values, - percentileThresholdValue, - overallHistogram, - }, + rawResponse, }); }, cancel: async (id, options, deps) => { From 74f3b76592e843f76e4877e4263d3b5ae8be6b1c Mon Sep 17 00:00:00 2001 From: Kyle Pollich Date: Fri, 27 Aug 2021 08:08:53 -0400 Subject: [PATCH 120/139] [Fleet] Fix upgrade link in Fleet policy table (#110228) * Fix upgrade link in Fleet policy table * Ensure upgrade page displays as upgrade even without from prop --- .../components/package_policies/package_policies_table.tsx | 2 +- .../agent_policy/edit_package_policy_page/index.tsx | 6 ++---- .../agent_policy/upgrade_package_policy_page/index.tsx | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx index c84df5790ecb5..eb5f8e6c6a9b8 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx @@ -237,7 +237,7 @@ export const PackagePoliciesTable: React.FunctionComponent = ({ upgradePackagePolicyHref={`${getHref('upgrade_package_policy', { policyId: agentPolicy.id, packagePolicyId: packagePolicy.id, - })}`} + })}?from=fleet-policy-list`} /> ); }, diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx index 8a1ffe21a90e0..67cff3e2d0304 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/edit_package_policy_page/index.tsx @@ -71,8 +71,9 @@ export const EditPackagePolicyPage = memo(() => { export const EditPackagePolicyForm = memo<{ packagePolicyId: string; + isUpgrade?: boolean; from?: EditPackagePolicyFrom; -}>(({ packagePolicyId, from = 'edit' }) => { +}>(({ packagePolicyId, isUpgrade = false, from = 'edit' }) => { const { application, notifications } = useStartServices(); const { agents: { enabled: isFleetEnabled }, @@ -99,9 +100,6 @@ export const EditPackagePolicyForm = memo<{ >(); const [dryRunData, setDryRunData] = useState(); - const isUpgrade = - from === 'upgrade-from-fleet-policy-list' || from === 'upgrade-from-integrations-policy-list'; - const policyId = agentPolicy?.id ?? ''; // Retrieve agent policy, package, and package policy info diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/upgrade_package_policy_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/upgrade_package_policy_page/index.tsx index e9442f84d228e..18cf7847cd29b 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/upgrade_package_policy_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/upgrade_package_policy_page/index.tsx @@ -30,5 +30,5 @@ export const UpgradePackagePolicyPage = memo(() => { from = 'upgrade-from-integrations-policy-list'; } - return ; + return ; }); From c92978b9e58c1a7900460a9ffbe788e96218ace0 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 27 Aug 2021 15:55:59 +0100 Subject: [PATCH 121/139] chore(NA): moving @kbn/securitysolution-list-constants to babel transpiler (#110269) * chore(NA): moving @kbn/securitysolution-list-constants to babel transpiler * chore(NA): add web targets --- .../.babelrc | 4 +++ .../.babelrc.browser | 4 +++ .../BUILD.bazel | 29 +++++++++++++------ .../package.json | 5 ++-- .../tsconfig.json | 3 +- 5 files changed, 33 insertions(+), 12 deletions(-) create mode 100644 packages/kbn-securitysolution-list-constants/.babelrc create mode 100644 packages/kbn-securitysolution-list-constants/.babelrc.browser diff --git a/packages/kbn-securitysolution-list-constants/.babelrc b/packages/kbn-securitysolution-list-constants/.babelrc new file mode 100644 index 0000000000000..40a198521b903 --- /dev/null +++ b/packages/kbn-securitysolution-list-constants/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/node_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-list-constants/.babelrc.browser b/packages/kbn-securitysolution-list-constants/.babelrc.browser new file mode 100644 index 0000000000000..71bbfbcd6eb2f --- /dev/null +++ b/packages/kbn-securitysolution-list-constants/.babelrc.browser @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/webpack_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-list-constants/BUILD.bazel b/packages/kbn-securitysolution-list-constants/BUILD.bazel index e56c96e0b5da9..9b3de9520f6a1 100644 --- a/packages/kbn-securitysolution-list-constants/BUILD.bazel +++ b/packages/kbn-securitysolution-list-constants/BUILD.bazel @@ -1,5 +1,6 @@ load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project") load("@build_bazel_rules_nodejs//:index.bzl", "js_library", "pkg_npm") +load("//src/dev/bazel:index.bzl", "jsts_transpiler") PKG_BASE_NAME = "kbn-securitysolution-list-constants" @@ -27,16 +28,25 @@ NPM_MODULE_EXTRA_FILES = [ "README.md", ] -SRC_DEPS = [ - "@npm//tslib", -] +RUNTIME_DEPS = [] TYPES_DEPS = [ "@npm//@types/jest", "@npm//@types/node", ] -DEPS = SRC_DEPS + TYPES_DEPS +jsts_transpiler( + name = "target_node", + srcs = SRCS, + build_pkg_name = package_name(), +) + +jsts_transpiler( + name = "target_web", + srcs = SRCS, + build_pkg_name = package_name(), + config_file = ".babelrc.browser" +) ts_config( name = "tsconfig", @@ -48,24 +58,25 @@ ts_config( ) ts_project( - name = "tsc", + name = "tsc_types", srcs = SRCS, + deps = TYPES_DEPS, args = ["--pretty"], declaration = True, declaration_map = True, - out_dir = "target", + emit_declaration_only = True, + out_dir = "target_types", root_dir = "src", source_map = True, tsconfig = ":tsconfig", - deps = DEPS, ) js_library( name = PKG_BASE_NAME, - package_name = PKG_REQUIRE_NAME, srcs = NPM_MODULE_EXTRA_FILES, + deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], + package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], - deps = DEPS + [":tsc"], ) pkg_npm( diff --git a/packages/kbn-securitysolution-list-constants/package.json b/packages/kbn-securitysolution-list-constants/package.json index b9d65734aff56..37f15fd06b0bc 100644 --- a/packages/kbn-securitysolution-list-constants/package.json +++ b/packages/kbn-securitysolution-list-constants/package.json @@ -3,7 +3,8 @@ "version": "1.0.0", "description": "security solution list constants to use across plugins such lists, security_solution, cases, etc...", "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target/index.js", - "types": "./target/index.d.ts", + "browser": "./target_web/index.js", + "main": "./target_node/index.js", + "types": "./target_types/index.d.ts", "private": true } diff --git a/packages/kbn-securitysolution-list-constants/tsconfig.json b/packages/kbn-securitysolution-list-constants/tsconfig.json index 769b5df990e6b..8697cbd61580a 100644 --- a/packages/kbn-securitysolution-list-constants/tsconfig.json +++ b/packages/kbn-securitysolution-list-constants/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "declaration": true, "declarationMap": true, - "outDir": "target", + "emitDeclarationOnly": true, + "outDir": "target_types", "rootDir": "src", "sourceMap": true, "sourceRoot": "../../../../packages/kbn-securitysolution-list-constants/src", From 127402415c04208aa3bf144be6652af5d0594e39 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Fri, 27 Aug 2021 15:56:18 +0100 Subject: [PATCH 122/139] chore(NA): moving @kbn/securitysolution-list-api to babel transpiler (#110265) * chore(NA): moving @kbn/securitysolution-list-api to babel transpiler * chore(NA): add web targets --- .../kbn-securitysolution-list-api/.babelrc | 4 +++ .../.babelrc.browser | 4 +++ .../kbn-securitysolution-list-api/BUILD.bazel | 35 ++++++++++++++----- .../package.json | 5 +-- .../tsconfig.json | 3 +- 5 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 packages/kbn-securitysolution-list-api/.babelrc create mode 100644 packages/kbn-securitysolution-list-api/.babelrc.browser diff --git a/packages/kbn-securitysolution-list-api/.babelrc b/packages/kbn-securitysolution-list-api/.babelrc new file mode 100644 index 0000000000000..40a198521b903 --- /dev/null +++ b/packages/kbn-securitysolution-list-api/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/node_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-list-api/.babelrc.browser b/packages/kbn-securitysolution-list-api/.babelrc.browser new file mode 100644 index 0000000000000..71bbfbcd6eb2f --- /dev/null +++ b/packages/kbn-securitysolution-list-api/.babelrc.browser @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/webpack_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-list-api/BUILD.bazel b/packages/kbn-securitysolution-list-api/BUILD.bazel index 726d75d8c86b8..6858a9389119f 100644 --- a/packages/kbn-securitysolution-list-api/BUILD.bazel +++ b/packages/kbn-securitysolution-list-api/BUILD.bazel @@ -1,5 +1,6 @@ load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project") load("@build_bazel_rules_nodejs//:index.bzl", "js_library", "pkg_npm") +load("//src/dev/bazel:index.bzl", "jsts_transpiler") PKG_BASE_NAME = "kbn-securitysolution-list-api" @@ -27,21 +28,36 @@ NPM_MODULE_EXTRA_FILES = [ "README.md", ] -SRC_DEPS = [ +RUNTIME_DEPS = [ + "//packages/kbn-securitysolution-io-ts-list-types", "//packages/kbn-securitysolution-io-ts-utils", "//packages/kbn-securitysolution-list-constants", - "//packages/kbn-securitysolution-io-ts-list-types", "@npm//fp-ts", "@npm//io-ts", - "@npm//tslib", ] TYPES_DEPS = [ + "//packages/kbn-securitysolution-io-ts-list-types", + "//packages/kbn-securitysolution-io-ts-utils", + "//packages/kbn-securitysolution-list-constants", + "@npm//fp-ts", + "@npm//io-ts", "@npm//@types/jest", "@npm//@types/node", ] -DEPS = SRC_DEPS + TYPES_DEPS +jsts_transpiler( + name = "target_node", + srcs = SRCS, + build_pkg_name = package_name(), +) + +jsts_transpiler( + name = "target_web", + srcs = SRCS, + build_pkg_name = package_name(), + config_file = ".babelrc.browser" +) ts_config( name = "tsconfig", @@ -53,24 +69,25 @@ ts_config( ) ts_project( - name = "tsc", + name = "tsc_types", srcs = SRCS, + deps = TYPES_DEPS, args = ["--pretty"], declaration = True, declaration_map = True, - out_dir = "target", + emit_declaration_only = True, + out_dir = "target_types", root_dir = "src", source_map = True, tsconfig = ":tsconfig", - deps = DEPS, ) js_library( name = PKG_BASE_NAME, - package_name = PKG_REQUIRE_NAME, srcs = NPM_MODULE_EXTRA_FILES, + deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], + package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], - deps = DEPS + [":tsc"], ) pkg_npm( diff --git a/packages/kbn-securitysolution-list-api/package.json b/packages/kbn-securitysolution-list-api/package.json index 11108c61bfde1..8454f13d841b4 100644 --- a/packages/kbn-securitysolution-list-api/package.json +++ b/packages/kbn-securitysolution-list-api/package.json @@ -3,7 +3,8 @@ "version": "1.0.0", "description": "security solution list REST API", "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target/index.js", - "types": "./target/index.d.ts", + "browser": "./target_web/index.js", + "main": "./target_node/index.js", + "types": "./target_types/index.d.ts", "private": true } diff --git a/packages/kbn-securitysolution-list-api/tsconfig.json b/packages/kbn-securitysolution-list-api/tsconfig.json index c2ac6d3d92286..d51cd3ac71d8d 100644 --- a/packages/kbn-securitysolution-list-api/tsconfig.json +++ b/packages/kbn-securitysolution-list-api/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "declaration": true, "declarationMap": true, - "outDir": "target", + "emitDeclarationOnly": true, + "outDir": "target_types", "rootDir": "src", "sourceMap": true, "sourceRoot": "../../../../packages/kbn-securitysolution-list-api/src", From 2520990e1ed1a026b7785ee143a4d77dc887d11a Mon Sep 17 00:00:00 2001 From: Clint Andrew Hall Date: Fri, 27 Aug 2021 15:10:52 -0500 Subject: [PATCH 123/139] Fix asset in Pitch template (#109742) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/canvas/server/templates/pitch_presentation.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/canvas/server/templates/pitch_presentation.ts b/x-pack/plugins/canvas/server/templates/pitch_presentation.ts index 4d552ed44eed1..98b48db9ff0fa 100644 --- a/x-pack/plugins/canvas/server/templates/pitch_presentation.ts +++ b/x-pack/plugins/canvas/server/templates/pitch_presentation.ts @@ -1641,7 +1641,7 @@ export const pitch: CanvasTemplate = { '@created': '2019-03-29T19:55:47.974Z', type: 'dataurl', value: - 'data:image/jpeg;base64,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', + 'data:image/jpeg;base64,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jcYNTKV1obwhaXvFgHzOPSnc8ZqEAhjt49am5bFS3Y2pxutdybcAdw4qQTZ4qEg4GO9QrjJNYXvud9+XRI1EYZwauow4x2rCVjnP44q6shZvas5o6aVbo0bUcuOKsCTawNZMblm5+tXAxHHWsG7M9SlO6NiNgfm61qwnHPr2rnY3ORWzAxJBJ965ah7+Clc6G3YZDAVtw9vb8PxrnIHUgetbUEu1K4KrPpMJLRJm/E4AweamBAway7eXkFen6VfLc4Tt/KvOqI+lwtbZl4ScZ7+1TIAcFs5rOWQcE9atowA5Ncsu561KaOitblVGO9dDYXgziuIR1C5P+RW5p82XCjg15mKpJps+ny/FyTSPTdNulbAzjnvXYWzMSHTkEdR615vZSqpAHWurguysQavk8dC+x+jZRirKzeh//9L4GsrtCodcgHnn/Guu068KvuQ5UcnJrytHVgO+PaunsLvYFJGPxr9QrU7pnyFCpDmUorsevW91DcwZXqpHGfWuqtZzsWI4B68f/Xryawu1Egdc+p9a7e1v8IARkHIH1rwsTRd7I+rwcoP3pnpWlXhXIlYehFdJb3Y2788evavO7Wdmt/MXkk/5xitiyumjYLnHfB55/lXhYnB812fVYTMFFxpHottd8hu/TFdVbag6jBx9OvavOba+iyvzew//AF1u292rMUB79K8DE4S/Q+owuL/vHocV0kg3xgZ4696ZI4x8/HH61x63bISwOCen/wBarq3sxUO3XGceorx3hbM+ihiVy+ZqXTmNecZxmuankYsf7x61sfaElByccdT/APrrInTedwOSfSuijFLRmM3rczZpFwZCO9c9eopQTKc44B/xrZuY2QZfnnOO9Y0qtInONo7GvTw76pnj4yCs00cTdSsjEN9e3NYckjTKegx69xXTanDG7h1wD1A+lc3dRpkqvU5ya+koTTjtqfGYmjJT916HNXjMVwuck9+mKwriV0k3SN06YP4V115D5aiZm6DgVymoQlwMDLde3b/PtXqYarr5Hi5hhrp9yzaXRCiQDp68V01nqDhFcnBPr6CuCiZlG1OK07eWTCnJ9Cf8mniKXNcnBVXSh5nq9nq6rgdD7etd7pl95kY755968PtmePaWPUc12+m37xxqM4HX3/nXzWYYRPY+9yjHv7R7HaXCgAEZGe45rQJ5DDOO30rg7DVSzAM3156e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', }, }, css: From 2ed3fcdec1128757e5f122c8f8d8e9601d3b584c Mon Sep 17 00:00:00 2001 From: Clint Andrew Hall Date: Fri, 27 Aug 2021 15:17:05 -0500 Subject: [PATCH 124/139] [canvas] Fix image argument form issues (#109767) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../canvas_plugin_src/uis/arguments/image_upload/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/image_upload/index.js b/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/image_upload/index.js index 4597826c031af..15f10617a654e 100644 --- a/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/image_upload/index.js +++ b/x-pack/plugins/canvas/canvas_plugin_src/uis/arguments/image_upload/index.js @@ -29,13 +29,13 @@ class ImageUpload extends React.Component { onValueChange: PropTypes.func.isRequired, typeInstance: PropTypes.object.isRequired, resolvedArgValue: PropTypes.string, + argValue: PropTypes.string, assets: PropTypes.object.isRequired, }; constructor(props) { super(props); - - const url = props.resolvedArgValue || null; + const url = props.resolvedArgValue || props.argValue || null; let urlType = Object.keys(props.assets).length ? 'asset' : 'file'; // if not a valid base64 string, will show as missing asset icon @@ -143,7 +143,7 @@ class ImageUpload extends React.Component { file: , link: ( (this.inputRefs.srcUrlText = ref)} onSubmit={this.setSrcUrl} /> From 8eea9005f15e8f70d032f5b147d415699cfd7482 Mon Sep 17 00:00:00 2001 From: Walter Rafelsberger Date: Fri, 27 Aug 2021 23:50:44 +0200 Subject: [PATCH 125/139] [ML] Data Grid: Fix alignment of sorting arrow when histogram charts are enabled (#110053) Adds a CSS override to align the sorting arrow at the bottom when histogram charts are enabled. --- .../public/application/components/data_grid/data_grid.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/x-pack/plugins/ml/public/application/components/data_grid/data_grid.scss b/x-pack/plugins/ml/public/application/components/data_grid/data_grid.scss index f6958ef66770e..b445c82b35ff9 100644 --- a/x-pack/plugins/ml/public/application/components/data_grid/data_grid.scss +++ b/x-pack/plugins/ml/public/application/components/data_grid/data_grid.scss @@ -2,4 +2,10 @@ .euiDataGridRowCell--boolean { text-transform: none; } + + // Override to align the sorting arrow at the bottom when histogram charts are enabled + .euiDataGridHeaderCell .euiDataGridHeaderCell__sortingArrow { + margin-top: auto; + margin-bottom: 0; + } } From 079fc9ad19e61d67b25ed681b8d4ae93eadd8e77 Mon Sep 17 00:00:00 2001 From: Candace Park <56409205+parkiino@users.noreply.github.com> Date: Sun, 29 Aug 2021 22:17:46 -0400 Subject: [PATCH 126/139] [Security Solution][Endpoint][Event Filters] Fixes missing spacers between event filters cards (#110282) --- .../management/components/administration_list_page.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/security_solution/public/management/components/administration_list_page.tsx b/x-pack/plugins/security_solution/public/management/components/administration_list_page.tsx index 22192a8a349df..93bd5f16634b2 100644 --- a/x-pack/plugins/security_solution/public/management/components/administration_list_page.tsx +++ b/x-pack/plugins/security_solution/public/management/components/administration_list_page.tsx @@ -16,6 +16,7 @@ import { } from '@elastic/eui'; import { SecurityPageName } from '../../../common/constants'; import { SpyRoute } from '../../common/utils/route/spy_routes'; +import { useTestIdGenerator } from './hooks/use_test_id_generator'; interface AdministrationListPageProps { title: React.ReactNode; @@ -45,21 +46,23 @@ export const AdministrationListPage: FC{subtitle}; }, [subtitle]); + const getTestId = useTestIdGenerator(otherProps['data-test-subj']); + return ( - <> +
{children} - +
); } ); From a4c0c1c0aa6b67e0465ec0bc97047ab741bd64fb Mon Sep 17 00:00:00 2001 From: Maja Grubic Date: Mon, 30 Aug 2021 10:48:21 +0200 Subject: [PATCH 127/139] [Discover] Migrate angular routing to react router (#107042) --- .../discover/public/__mocks__/services.ts | 4 + .../public/application/angular/context.html | 5 - .../public/application/angular/context.js | 43 ------ .../public/application/angular/discover.js | 112 +------------- .../public/application/angular/doc.html | 8 - .../public/application/angular/doc.ts | 61 -------- .../application/angular/get_inner_angular.ts | 7 +- .../public/application/angular/index.ts | 4 - .../public/application/angular/redirect.ts | 29 ---- .../public/application/application.ts | 31 ++-- .../apps/context/context_app_route.tsx | 53 +++++++ .../context/index.ts} | 9 +- .../public/application/apps/doc/index.ts | 9 ++ .../application/apps/doc/single_doc_route.tsx | 71 +++++++++ .../apps/main/discover_main_app.test.tsx | 21 ++- .../apps/main/discover_main_app.tsx | 54 +++---- .../apps/main/discover_main_route.tsx | 146 ++++++++++++++++++ .../public/application/apps/main/index.ts | 2 +- .../main/services/use_discover_state.test.ts | 10 +- .../apps/main/services/use_discover_state.ts | 51 +++--- .../main/services/use_saved_search.test.ts | 7 +- .../application/apps/not_found/index.ts | 9 ++ .../apps/not_found/not_found_route.tsx | 63 ++++++++ .../loading_indicator.test.tsx.snap | 30 ++++ .../common/loading_indicator.test.tsx | 17 ++ .../components/common/loading_indicator.tsx | 19 +++ .../components/context_app/context_app.tsx | 12 +- .../application/discover_router.test.tsx | 60 +++++++ .../public/application/discover_router.tsx | 52 +++++++ .../public/application/helpers/breadcrumbs.ts | 5 +- .../helpers/use_index_pattern.test.tsx | 19 +++ .../application/helpers/use_index_pattern.tsx | 22 +++ .../discover/public/application/index.tsx | 38 +++++ src/plugins/discover/public/build_services.ts | 3 + src/plugins/discover/public/plugin.tsx | 6 + .../feature_controls/discover_spaces.ts | 1 + 36 files changed, 733 insertions(+), 360 deletions(-) delete mode 100644 src/plugins/discover/public/application/angular/context.html delete mode 100644 src/plugins/discover/public/application/angular/context.js delete mode 100644 src/plugins/discover/public/application/angular/doc.html delete mode 100644 src/plugins/discover/public/application/angular/doc.ts delete mode 100644 src/plugins/discover/public/application/angular/redirect.ts create mode 100644 src/plugins/discover/public/application/apps/context/context_app_route.tsx rename src/plugins/discover/public/application/{angular/create_discover_directive.ts => apps/context/index.ts} (52%) create mode 100644 src/plugins/discover/public/application/apps/doc/index.ts create mode 100644 src/plugins/discover/public/application/apps/doc/single_doc_route.tsx create mode 100644 src/plugins/discover/public/application/apps/main/discover_main_route.tsx create mode 100644 src/plugins/discover/public/application/apps/not_found/index.ts create mode 100644 src/plugins/discover/public/application/apps/not_found/not_found_route.tsx create mode 100644 src/plugins/discover/public/application/components/common/__snapshots__/loading_indicator.test.tsx.snap create mode 100644 src/plugins/discover/public/application/components/common/loading_indicator.test.tsx create mode 100644 src/plugins/discover/public/application/components/common/loading_indicator.tsx create mode 100644 src/plugins/discover/public/application/discover_router.test.tsx create mode 100644 src/plugins/discover/public/application/discover_router.tsx create mode 100644 src/plugins/discover/public/application/helpers/use_index_pattern.test.tsx create mode 100644 src/plugins/discover/public/application/helpers/use_index_pattern.tsx create mode 100644 src/plugins/discover/public/application/index.tsx diff --git a/src/plugins/discover/public/__mocks__/services.ts b/src/plugins/discover/public/__mocks__/services.ts index 96888a07be68f..47c79c429f662 100644 --- a/src/plugins/discover/public/__mocks__/services.ts +++ b/src/plugins/discover/public/__mocks__/services.ts @@ -29,6 +29,7 @@ export const discoverServiceMock = ({ location: { search: '', }, + listen: jest.fn(), }), data: dataPlugin, docLinks: docLinksServiceMock.createStartContract(), @@ -68,6 +69,9 @@ export const discoverServiceMock = ({ return true; }, }, + http: { + basePath: '/', + }, indexPatternFieldEditor: { openEditor: jest.fn(), userPermissions: { diff --git a/src/plugins/discover/public/application/angular/context.html b/src/plugins/discover/public/application/angular/context.html deleted file mode 100644 index 6cb5088f66605..0000000000000 --- a/src/plugins/discover/public/application/angular/context.html +++ /dev/null @@ -1,5 +0,0 @@ - - diff --git a/src/plugins/discover/public/application/angular/context.js b/src/plugins/discover/public/application/angular/context.js deleted file mode 100644 index 43e0c26b168f5..0000000000000 --- a/src/plugins/discover/public/application/angular/context.js +++ /dev/null @@ -1,43 +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 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 { getAngularModule, getServices } from '../../kibana_services'; -import contextAppRouteTemplate from './context.html'; -import { getRootBreadcrumbs } from '../helpers/breadcrumbs'; - -const k7Breadcrumbs = () => { - return [ - ...getRootBreadcrumbs(), - { - text: i18n.translate('discover.context.breadcrumb', { - defaultMessage: 'Surrounding documents', - }), - }, - ]; -}; - -getAngularModule().config(($routeProvider) => { - $routeProvider.when('/context/:indexPatternId/:id*', { - controller: function ($routeParams, $scope, $route) { - this.indexPattern = $route.current.locals.indexPattern.ip; - this.anchorId = $routeParams.id; - this.indexPatternId = $route.current.params.indexPatternId; - }, - k7Breadcrumbs, - controllerAs: 'contextAppRoute', - reloadOnSearch: false, - resolve: { - indexPattern: ($route, Promise) => { - const indexPattern = getServices().indexPatterns.get($route.current.params.indexPatternId); - return Promise.props({ ip: indexPattern }); - }, - }, - template: contextAppRouteTemplate, - }); -}); diff --git a/src/plugins/discover/public/application/angular/discover.js b/src/plugins/discover/public/application/angular/discover.js index aa1344a67fbec..e2a0a19b80cf0 100644 --- a/src/plugins/discover/public/application/angular/discover.js +++ b/src/plugins/discover/public/application/angular/discover.js @@ -6,106 +6,14 @@ * Side Public License, v 1. */ -import { i18n } from '@kbn/i18n'; -import { getState } from '../apps/main/services/discover_state'; -import indexTemplateLegacy from './discover_legacy.html'; -import { - getAngularModule, - getServices, - getUrlTracker, - redirectWhenMissing, -} from '../../kibana_services'; -import { getRootBreadcrumbs, getSavedSearchBreadcrumbs } from '../helpers/breadcrumbs'; -import { loadIndexPattern, resolveIndexPattern } from '../apps/main/utils/resolve_index_pattern'; +import { getAngularModule, getServices } from '../../kibana_services'; const services = getServices(); -const { - core, - capabilities, - chrome, - data, - history: getHistory, - toastNotifications, - uiSettings: config, -} = getServices(); +const { history: getHistory } = getServices(); const app = getAngularModule(); -app.config(($routeProvider) => { - const defaults = { - requireDefaultIndex: true, - requireUICapability: 'discover.show', - k7Breadcrumbs: ($route, $injector) => - $injector.invoke($route.current.params.id ? getSavedSearchBreadcrumbs : getRootBreadcrumbs), - badge: () => { - if (capabilities.discover.save) { - return undefined; - } - - return { - text: i18n.translate('discover.badge.readOnly.text', { - defaultMessage: 'Read only', - }), - tooltip: i18n.translate('discover.badge.readOnly.tooltip', { - defaultMessage: 'Unable to save searches', - }), - iconType: 'glasses', - }; - }, - }; - const discoverRoute = { - ...defaults, - template: indexTemplateLegacy, - reloadOnSearch: false, - resolve: { - savedObjects: function ($route, Promise) { - const history = getHistory(); - const savedSearchId = $route.current.params.id; - return data.indexPatterns.ensureDefaultIndexPattern(history).then(() => { - const { appStateContainer } = getState({ history, uiSettings: config }); - const { index } = appStateContainer.getState(); - return Promise.props({ - ip: loadIndexPattern(index, data.indexPatterns, config), - savedSearch: getServices() - .getSavedSearchById(savedSearchId) - .then((savedSearch) => { - if (savedSearchId) { - chrome.recentlyAccessed.add( - savedSearch.getFullPath(), - savedSearch.title, - savedSearchId - ); - } - return savedSearch; - }) - .catch( - redirectWhenMissing({ - history, - navigateToApp: core.application.navigateToApp, - mapping: { - search: '/', - 'index-pattern': { - app: 'management', - path: `kibana/objects/savedSearches/${$route.current.params.id}`, - }, - }, - toastNotifications, - onBeforeRedirect() { - getUrlTracker().setTrackedUrl('/'); - }, - }) - ), - }); - }); - }, - }, - }; - - $routeProvider.when('/view/:id?', discoverRoute); - $routeProvider.when('/', discoverRoute); -}); - app.directive('discoverApp', function () { return { restrict: 'E', @@ -114,21 +22,12 @@ app.directive('discoverApp', function () { }; }); -function discoverController($route, $scope) { - const savedSearch = $route.current.locals.savedObjects.savedSearch; - $scope.indexPattern = resolveIndexPattern( - $route.current.locals.savedObjects.ip, - savedSearch.searchSource, - toastNotifications - ); - +function discoverController(_, $scope) { const history = getHistory(); $scope.opts = { - savedSearch, history, services, - indexPatternList: $route.current.locals.savedObjects.ip.list, navigateTo: (path) => { $scope.$evalAsync(() => { history.push(path); @@ -136,8 +35,5 @@ function discoverController($route, $scope) { }, }; - $scope.$on('$destroy', () => { - savedSearch.destroy(); - data.search.session.clear(); - }); + $scope.$on('$destroy', () => {}); } diff --git a/src/plugins/discover/public/application/angular/doc.html b/src/plugins/discover/public/application/angular/doc.html deleted file mode 100644 index dcd5760eff155..0000000000000 --- a/src/plugins/discover/public/application/angular/doc.html +++ /dev/null @@ -1,8 +0,0 @@ -
- -
diff --git a/src/plugins/discover/public/application/angular/doc.ts b/src/plugins/discover/public/application/angular/doc.ts deleted file mode 100644 index 27af3a96bbc84..0000000000000 --- a/src/plugins/discover/public/application/angular/doc.ts +++ /dev/null @@ -1,61 +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 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 { getAngularModule, getServices } from '../../kibana_services'; -import { getRootBreadcrumbs } from '../helpers/breadcrumbs'; -import html from './doc.html'; -import { Doc } from '../components/doc/doc'; - -interface LazyScope extends ng.IScope { - [key: string]: unknown; -} - -const { timefilter } = getServices(); -const app = getAngularModule(); -// eslint-disable-next-line @typescript-eslint/no-explicit-any -app.directive('discoverDoc', function (reactDirective: any) { - return reactDirective( - Doc, - [ - ['id', { watchDepth: 'value' }], - ['index', { watchDepth: 'value' }], - ['indexPatternId', { watchDepth: 'reference' }], - ['indexPatternService', { watchDepth: 'reference' }], - ], - { restrict: 'E' } - ); -}); - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -app.config(($routeProvider: any) => { - $routeProvider - .when('/doc/:indexPattern/:index/:type', { - redirectTo: '/doc/:indexPattern/:index', - }) - // the new route, es 7 deprecated types, es 8 removed them - .when('/doc/:indexPattern/:index', { - // have to be written as function expression, because it's not compiled in dev mode - // eslint-disable-next-line @typescript-eslint/no-explicit-any, object-shorthand - controller: function ($scope: LazyScope, $route: any) { - timefilter.disableAutoRefreshSelector(); - timefilter.disableTimeRangeSelector(); - $scope.id = $route.current.params.id; - $scope.index = $route.current.params.index; - $scope.indexPatternId = $route.current.params.indexPattern; - $scope.indexPatternService = getServices().indexPatterns; - }, - template: html, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - k7Breadcrumbs: ($route: any) => [ - ...getRootBreadcrumbs(), - { - text: `${$route.current.params.index}#${$route.current.params.id}`, - }, - ], - }); -}); diff --git a/src/plugins/discover/public/application/angular/get_inner_angular.ts b/src/plugins/discover/public/application/angular/get_inner_angular.ts index 5f459c369ce4d..5d2da54980801 100644 --- a/src/plugins/discover/public/application/angular/get_inner_angular.ts +++ b/src/plugins/discover/public/application/angular/get_inner_angular.ts @@ -16,7 +16,7 @@ import 'angular-sanitize'; import { EuiIcon } from '@elastic/eui'; import { i18nDirective, i18nFilter, I18nProvider } from '@kbn/i18n/angular'; import { CoreStart, PluginInitializerContext } from 'kibana/public'; -import { DataPublicPluginStart } from '../../../../data/public'; +import { DataPublicPluginStart } from 'src/plugins/data/public'; import { Storage } from '../../../../kibana_utils/public'; import { NavigationPublicPluginStart as NavigationStart } from '../../../../navigation/public'; import { createContextAppLegacy } from '../components/context_app/context_app_legacy_directive'; @@ -30,7 +30,6 @@ import { import { PromiseServiceCreator } from './helpers'; import { DiscoverStartPlugins } from '../../plugin'; import { getScopedHistory } from '../../kibana_services'; -import { createDiscoverDirective } from './create_discover_directive'; /** * returns the main inner angular module, it contains all the parts of Angular Discover @@ -94,7 +93,6 @@ export function initializeInnerAngularModule( return angular .module(name, [ 'ngSanitize', - 'ngRoute', 'react', 'ui.bootstrap', 'discoverI18n', @@ -104,8 +102,7 @@ export function initializeInnerAngularModule( 'discoverDocTable', ]) .config(watchMultiDecorator) - .run(registerListenEventListener) - .directive('discover', createDiscoverDirective); + .run(registerListenEventListener); } function createLocalPromiseModule() { diff --git a/src/plugins/discover/public/application/angular/index.ts b/src/plugins/discover/public/application/angular/index.ts index c4f6415c771f9..643823a15ffcd 100644 --- a/src/plugins/discover/public/application/angular/index.ts +++ b/src/plugins/discover/public/application/angular/index.ts @@ -8,10 +8,6 @@ // required for i18nIdDirective import 'angular-sanitize'; -// required for ngRoute -import 'angular-route'; -import './discover'; import './doc'; import './context'; -import './redirect'; diff --git a/src/plugins/discover/public/application/angular/redirect.ts b/src/plugins/discover/public/application/angular/redirect.ts deleted file mode 100644 index 5014376ff13af..0000000000000 --- a/src/plugins/discover/public/application/angular/redirect.ts +++ /dev/null @@ -1,29 +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 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 { getAngularModule, getServices, getUrlTracker } from '../../kibana_services'; - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -getAngularModule().config(($routeProvider: any) => { - $routeProvider.otherwise({ - // eslint-disable-next-line @typescript-eslint/no-explicit-any - resolveRedirectTo: ($rootScope: any) => { - const path = window.location.hash.substr(1); - getUrlTracker().restorePreviousUrl(); - $rootScope.$applyAsync(() => { - const { urlForwarding } = getServices(); - const { navigated } = urlForwarding.navigateToLegacyKibanaUrl(path); - if (!navigated) { - urlForwarding.navigateToDefaultApp(); - } - }); - // prevent angular from completing the navigation - return new Promise(() => {}); - }, - }); -}); diff --git a/src/plugins/discover/public/application/application.ts b/src/plugins/discover/public/application/application.ts index af3a23860d042..cca5c1f112bb8 100644 --- a/src/plugins/discover/public/application/application.ts +++ b/src/plugins/discover/public/application/application.ts @@ -7,25 +7,34 @@ */ import './index.scss'; -import angular from 'angular'; +import { renderApp as renderReactApp } from './index'; /** * Here's where Discover's inner angular is mounted and rendered */ export async function renderApp(moduleName: string, element: HTMLElement) { - await import('./angular'); - const $injector = mountDiscoverApp(moduleName, element); - return () => $injector.get('$rootScope').$destroy(); + const app = mountDiscoverApp(moduleName, element); + return () => { + app(); + }; } -function mountDiscoverApp(moduleName: string, element: HTMLElement) { - const mountpoint = document.createElement('div'); +function buildDiscoverElement(mountpoint: HTMLElement) { + // due to legacy angular tags, we need some manual DOM intervention here const appWrapper = document.createElement('div'); - appWrapper.setAttribute('ng-view', ''); + const discoverApp = document.createElement('discover-app'); + const discover = document.createElement('discover'); + appWrapper.appendChild(discoverApp); + discoverApp.append(discover); mountpoint.appendChild(appWrapper); - // bootstrap angular into detached element and attach it later to - // make angular-within-angular possible - const $injector = angular.bootstrap(mountpoint, [moduleName]); + return discover; +} + +function mountDiscoverApp(moduleName: string, element: HTMLElement) { + const mountpoint = document.createElement('div'); + const discoverElement = buildDiscoverElement(mountpoint); + // @ts-expect-error + const app = renderReactApp({ element: discoverElement }); element.appendChild(mountpoint); - return $injector; + return app; } diff --git a/src/plugins/discover/public/application/apps/context/context_app_route.tsx b/src/plugins/discover/public/application/apps/context/context_app_route.tsx new file mode 100644 index 0000000000000..7ced3955c70e7 --- /dev/null +++ b/src/plugins/discover/public/application/apps/context/context_app_route.tsx @@ -0,0 +1,53 @@ +/* + * 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. + */ +import React, { useEffect } from 'react'; +import { useParams } from 'react-router-dom'; +import { i18n } from '@kbn/i18n'; +import { DiscoverServices } from '../../../build_services'; +import { ContextApp } from '../../components/context_app/context_app'; +import { getRootBreadcrumbs } from '../../helpers/breadcrumbs'; +import { LoadingIndicator } from '../../components/common/loading_indicator'; +import { useIndexPattern } from '../../helpers/use_index_pattern'; + +export interface ContextAppProps { + /** + * Kibana core services used by discover + */ + services: DiscoverServices; +} + +export interface ContextUrlParams { + indexPatternId: string; + id: string; +} + +export function ContextAppRoute(props: ContextAppProps) { + const { services } = props; + const { chrome } = services; + + const { indexPatternId, id } = useParams(); + + useEffect(() => { + chrome.setBreadcrumbs([ + ...getRootBreadcrumbs(), + { + text: i18n.translate('discover.context.breadcrumb', { + defaultMessage: 'Surrounding documents', + }), + }, + ]); + }, [chrome]); + + const indexPattern = useIndexPattern(services.indexPatterns, indexPatternId); + + if (!indexPattern) { + return ; + } + + return ; +} diff --git a/src/plugins/discover/public/application/angular/create_discover_directive.ts b/src/plugins/discover/public/application/apps/context/index.ts similarity index 52% rename from src/plugins/discover/public/application/angular/create_discover_directive.ts rename to src/plugins/discover/public/application/apps/context/index.ts index ae0d978322bcd..a8e457dc926e7 100644 --- a/src/plugins/discover/public/application/angular/create_discover_directive.ts +++ b/src/plugins/discover/public/application/apps/context/index.ts @@ -5,12 +5,5 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -import { DiscoverMainApp } from '../apps/main'; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function createDiscoverDirective(reactDirective: any) { - return reactDirective(DiscoverMainApp, [ - ['indexPattern', { watchDepth: 'reference' }], - ['opts', { watchDepth: 'reference' }], - ]); -} +export { ContextAppRoute } from './context_app_route'; diff --git a/src/plugins/discover/public/application/apps/doc/index.ts b/src/plugins/discover/public/application/apps/doc/index.ts new file mode 100644 index 0000000000000..c62b954c8b307 --- /dev/null +++ b/src/plugins/discover/public/application/apps/doc/index.ts @@ -0,0 +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 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 { SingleDocRoute } from './single_doc_route'; diff --git a/src/plugins/discover/public/application/apps/doc/single_doc_route.tsx b/src/plugins/discover/public/application/apps/doc/single_doc_route.tsx new file mode 100644 index 0000000000000..9088464980c26 --- /dev/null +++ b/src/plugins/discover/public/application/apps/doc/single_doc_route.tsx @@ -0,0 +1,71 @@ +/* + * 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. + */ +import React, { useEffect } from 'react'; +import { useLocation, useParams } from 'react-router-dom'; +import { DiscoverServices } from '../../../build_services'; +import { getRootBreadcrumbs } from '../../helpers/breadcrumbs'; +import { Doc } from '../../components/doc/doc'; +import { LoadingIndicator } from '../../components/common/loading_indicator'; +import { useIndexPattern } from '../../helpers/use_index_pattern'; + +export interface SingleDocRouteProps { + /** + * Kibana core services used by discover + */ + services: DiscoverServices; +} + +export interface DocUrlParams { + indexPatternId: string; + index: string; +} + +function useQuery() { + return new URLSearchParams(useLocation().search); +} + +export function SingleDocRoute(props: SingleDocRouteProps) { + const { services } = props; + const { chrome, timefilter, indexPatterns } = services; + + const { indexPatternId, index } = useParams(); + + const query = useQuery(); + const docId = query.get('id') || ''; + + useEffect(() => { + chrome.setBreadcrumbs([ + ...getRootBreadcrumbs(), + { + text: `${index}#${docId}`, + }, + ]); + }, [chrome, index, docId]); + + useEffect(() => { + timefilter.disableAutoRefreshSelector(); + timefilter.disableTimeRangeSelector(); + }); + + const indexPattern = useIndexPattern(services.indexPatterns, indexPatternId); + + if (!indexPattern) { + return ; + } + + return ( +
+ +
+ ); +} diff --git a/src/plugins/discover/public/application/apps/main/discover_main_app.test.tsx b/src/plugins/discover/public/application/apps/main/discover_main_app.test.tsx index 0caa5f3f527c6..aa5a2bc9bfbad 100644 --- a/src/plugins/discover/public/application/apps/main/discover_main_app.test.tsx +++ b/src/plugins/discover/public/application/apps/main/discover_main_app.test.tsx @@ -26,18 +26,15 @@ describe('DiscoverMainApp', () => { return { ...ip, ...{ attributes: { title: ip.title } } }; }) as unknown) as Array>; - const component = mountWithIntl( - - ); + const props = { + indexPatternList, + services: discoverServiceMock, + savedSearch: savedSearchMock, + navigateTo: jest.fn(), + history, + }; + + const component = mountWithIntl(); expect(findTestSubject(component, 'indexPattern-switch-link').text()).toBe( indexPatternMock.title diff --git a/src/plugins/discover/public/application/apps/main/discover_main_app.tsx b/src/plugins/discover/public/application/apps/main/discover_main_app.tsx index 0195421fd568d..456f4ebfab62f 100644 --- a/src/plugins/discover/public/application/apps/main/discover_main_app.tsx +++ b/src/plugins/discover/public/application/apps/main/discover_main_app.tsx @@ -12,7 +12,7 @@ import { setBreadcrumbsTitle } from '../../helpers/breadcrumbs'; import { addHelpMenuToAppChrome } from '../../components/help_menu/help_menu_util'; import { useDiscoverState } from './services/use_discover_state'; import { useUrl } from './services/use_url'; -import { IndexPattern, IndexPatternAttributes, SavedObject } from '../../../../../data/common'; +import { IndexPatternAttributes, SavedObject } from '../../../../../data/common'; import { DiscoverServices } from '../../../build_services'; import { SavedSearch } from '../../../saved_searches'; @@ -20,37 +20,33 @@ const DiscoverLayoutMemoized = React.memo(DiscoverLayout); export interface DiscoverMainProps { /** - * Current IndexPattern + * Instance of browser history */ - indexPattern: IndexPattern; - - opts: { - /** - * Use angular router for navigation - */ - navigateTo: () => void; - /** - * Instance of browser history - */ - history: History; - /** - * List of available index patterns - */ - indexPatternList: Array>; - /** - * Kibana core services used by discover - */ - services: DiscoverServices; - /** - * Current instance of SavedSearch - */ - savedSearch: SavedSearch; - }; + history: History; + /** + * List of available index patterns + */ + indexPatternList: Array>; + /** + * Kibana core services used by discover + */ + services: DiscoverServices; + /** + * Current instance of SavedSearch + */ + savedSearch: SavedSearch; } export function DiscoverMainApp(props: DiscoverMainProps) { - const { services, history, navigateTo, indexPatternList } = props.opts; + const { services, history, indexPatternList } = props; const { chrome, docLinks, uiSettings: config, data } = services; + const navigateTo = useCallback( + (path: string) => { + history.push(path); + }, + [history] + ); + const savedSearch = props.savedSearch; /** * State related logic @@ -63,15 +59,13 @@ export function DiscoverMainApp(props: DiscoverMainProps) { onUpdateQuery, refetch$, resetSavedSearch, - savedSearch, searchSource, state, stateContainer, } = useDiscoverState({ services, history, - initialIndexPattern: props.indexPattern, - initialSavedSearch: props.opts.savedSearch, + savedSearch, }); /** diff --git a/src/plugins/discover/public/application/apps/main/discover_main_route.tsx b/src/plugins/discover/public/application/apps/main/discover_main_route.tsx new file mode 100644 index 0000000000000..d7b49d0231049 --- /dev/null +++ b/src/plugins/discover/public/application/apps/main/discover_main_route.tsx @@ -0,0 +1,146 @@ +/* + * 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. + */ +import React, { useEffect, useState, memo } from 'react'; +import { History } from 'history'; +import { useParams } from 'react-router-dom'; +import type { SavedObject as SavedObjectDeprecated } from 'src/plugins/saved_objects/public'; +import { IndexPatternAttributes, SavedObject } from 'src/plugins/data/common'; +import { DiscoverServices } from '../../../build_services'; +import { SavedSearch } from '../../../saved_searches'; +import { getState } from './services/discover_state'; +import { loadIndexPattern, resolveIndexPattern } from './utils/resolve_index_pattern'; +import { DiscoverMainApp } from './discover_main_app'; +import { getRootBreadcrumbs, getSavedSearchBreadcrumbs } from '../../helpers/breadcrumbs'; +import { redirectWhenMissing } from '../../../../../kibana_utils/public'; +import { getUrlTracker } from '../../../kibana_services'; +import { LoadingIndicator } from '../../components/common/loading_indicator'; + +const DiscoverMainAppMemoized = memo(DiscoverMainApp); + +export interface DiscoverMainProps { + /** + * Instance of browser history + */ + history: History; + /** + * Kibana core services used by discover + */ + services: DiscoverServices; +} + +interface DiscoverLandingParams { + id: string; +} + +export function DiscoverMainRoute({ services, history }: DiscoverMainProps) { + const { + core, + chrome, + uiSettings: config, + data, + toastNotifications, + http: { basePath }, + } = services; + + const [savedSearch, setSavedSearch] = useState(); + const indexPattern = savedSearch?.searchSource?.getField('index'); + const [indexPatternList, setIndexPatternList] = useState< + Array> + >([]); + + const { id } = useParams(); + + useEffect(() => { + const savedSearchId = id; + + async function loadDefaultOrCurrentIndexPattern(usedSavedSearch: SavedSearch) { + await data.indexPatterns.ensureDefaultIndexPattern(); + const { appStateContainer } = getState({ history, uiSettings: config }); + const { index } = appStateContainer.getState(); + const ip = await loadIndexPattern(index || '', data.indexPatterns, config); + const ipList = ip.list as Array>; + const indexPatternData = await resolveIndexPattern( + ip, + usedSavedSearch.searchSource, + toastNotifications + ); + setIndexPatternList(ipList); + return indexPatternData; + } + + async function loadSavedSearch() { + try { + // force a refresh if a given saved search without id was saved + setSavedSearch(undefined); + const loadedSavedSearch = await services.getSavedSearchById(savedSearchId); + const loadedIndexPattern = await loadDefaultOrCurrentIndexPattern(loadedSavedSearch); + if (loadedSavedSearch && !loadedSavedSearch?.searchSource.getField('index')) { + loadedSavedSearch.searchSource.setField('index', loadedIndexPattern); + } + setSavedSearch(loadedSavedSearch); + if (savedSearchId) { + chrome.recentlyAccessed.add( + ((loadedSavedSearch as unknown) as SavedObjectDeprecated).getFullPath(), + loadedSavedSearch.title, + loadedSavedSearch.id + ); + } + } catch (e) { + redirectWhenMissing({ + history, + navigateToApp: core.application.navigateToApp, + basePath, + mapping: { + search: '/', + 'index-pattern': { + app: 'management', + path: `kibana/objects/savedSearches/${id}`, + }, + }, + toastNotifications, + onBeforeRedirect() { + getUrlTracker().setTrackedUrl('/'); + }, + })(e); + } + } + + loadSavedSearch(); + }, [ + basePath, + chrome.recentlyAccessed, + config, + core.application.navigateToApp, + data.indexPatterns, + history, + id, + services, + toastNotifications, + ]); + + useEffect(() => { + chrome.setBreadcrumbs( + savedSearch && savedSearch.title + ? getSavedSearchBreadcrumbs(savedSearch.title) + : getRootBreadcrumbs() + ); + }, [chrome, savedSearch]); + + if (!indexPattern || !savedSearch) { + return ; + } + + return ( + + ); +} diff --git a/src/plugins/discover/public/application/apps/main/index.ts b/src/plugins/discover/public/application/apps/main/index.ts index af30b0c953434..f38b745da16ab 100644 --- a/src/plugins/discover/public/application/apps/main/index.ts +++ b/src/plugins/discover/public/application/apps/main/index.ts @@ -6,4 +6,4 @@ * Side Public License, v 1. */ -export { DiscoverMainApp } from './discover_main_app'; +export { DiscoverMainRoute } from './discover_main_route'; diff --git a/src/plugins/discover/public/application/apps/main/services/use_discover_state.test.ts b/src/plugins/discover/public/application/apps/main/services/use_discover_state.test.ts index 4c3d819f063a0..28f5f96acc144 100644 --- a/src/plugins/discover/public/application/apps/main/services/use_discover_state.test.ts +++ b/src/plugins/discover/public/application/apps/main/services/use_discover_state.test.ts @@ -22,14 +22,12 @@ describe('test useDiscoverState', () => { return useDiscoverState({ services: discoverServiceMock, history, - initialIndexPattern: indexPatternMock, - initialSavedSearch: savedSearchMock, + savedSearch: savedSearchMock, }); }); expect(result.current.state.index).toBe(indexPatternMock.id); expect(result.current.stateContainer).toBeInstanceOf(Object); expect(result.current.setState).toBeInstanceOf(Function); - expect(result.current.savedSearch.id).toBe(savedSearchMock.id); expect(result.current.searchSource).toBeInstanceOf(SearchSource); }); @@ -40,8 +38,7 @@ describe('test useDiscoverState', () => { return useDiscoverState({ services: discoverServiceMock, history, - initialIndexPattern: indexPatternMock, - initialSavedSearch: savedSearchMock, + savedSearch: savedSearchMock, }); }); await act(async () => { @@ -57,8 +54,7 @@ describe('test useDiscoverState', () => { return useDiscoverState({ services: discoverServiceMock, history, - initialIndexPattern: indexPatternMock, - initialSavedSearch: savedSearchMock, + savedSearch: savedSearchMock, }); }); diff --git a/src/plugins/discover/public/application/apps/main/services/use_discover_state.ts b/src/plugins/discover/public/application/apps/main/services/use_discover_state.ts index a5a064a8fc1c6..afe010379cff3 100644 --- a/src/plugins/discover/public/application/apps/main/services/use_discover_state.ts +++ b/src/plugins/discover/public/application/apps/main/services/use_discover_state.ts @@ -10,7 +10,6 @@ import { isEqual } from 'lodash'; import { History } from 'history'; import { getState } from './discover_state'; import { getStateDefaults } from '../utils/get_state_defaults'; -import { IndexPattern } from '../../../../../../data/public'; import { DiscoverServices } from '../../../../build_services'; import { SavedSearch } from '../../../../saved_searches'; import { loadIndexPattern } from '../utils/resolve_index_pattern'; @@ -29,24 +28,22 @@ import { SortPairArr } from '../components/doc_table/lib/get_sort'; export function useDiscoverState({ services, history, - initialIndexPattern, - initialSavedSearch, + savedSearch, }: { services: DiscoverServices; - initialSavedSearch: SavedSearch; + savedSearch: SavedSearch; history: History; - initialIndexPattern: IndexPattern; }) { const { uiSettings: config, data, filterManager, indexPatterns } = services; - const [indexPattern, setIndexPattern] = useState(initialIndexPattern); - const [savedSearch, setSavedSearch] = useState(initialSavedSearch); const useNewFieldsApi = useMemo(() => !config.get(SEARCH_FIELDS_FROM_SOURCE), [config]); const { timefilter } = data.query.timefilter; + const indexPattern = savedSearch.searchSource.getField('index')!; + const searchSource = useMemo(() => { savedSearch.searchSource.setField('index', indexPattern); return savedSearch.searchSource.createChild(); - }, [savedSearch.searchSource, indexPattern]); + }, [savedSearch, indexPattern]); const stateContainer = useMemo( () => @@ -121,12 +118,10 @@ export function useDiscoverState({ * That's because appState is updated before savedSearchData$ * The following line of code catches this, but should be improved */ - reset(); const nextIndexPattern = await loadIndexPattern(nextState.index, indexPatterns, config); + savedSearch.searchSource.setField('index', nextIndexPattern.loaded); - if (nextIndexPattern) { - setIndexPattern(nextIndexPattern.loaded); - } + reset(); } if (chartDisplayChanged || chartIntervalChanged || docTableSortChanged) { @@ -135,7 +130,17 @@ export function useDiscoverState({ setState(nextState); }); return () => unsubscribe(); - }, [config, indexPatterns, appStateContainer, setState, state, refetch$, reset]); + }, [ + config, + indexPatterns, + appStateContainer, + setState, + state, + refetch$, + data$, + reset, + savedSearch.searchSource, + ]); /** * function to revert any changes to a given saved search @@ -151,11 +156,8 @@ export function useDiscoverState({ }); await stateContainer.replaceUrlAppState(newAppState); setState(newAppState); - if (savedSearch.id !== newSavedSearch.id) { - setSavedSearch(newSavedSearch); - } }, - [services, indexPattern, config, data, stateContainer, savedSearch.id] + [services, indexPattern, config, data, stateContainer] ); /** @@ -191,6 +193,20 @@ export function useDiscoverState({ [refetch$, searchSessionManager] ); + useEffect(() => { + if (!savedSearch || !savedSearch.id) { + return; + } + // handling pushing to state of a persisted saved object + const newAppState = getStateDefaults({ + config, + data, + savedSearch, + }); + stateContainer.replaceUrlAppState(newAppState); + setState(newAppState); + }, [config, data, savedSearch, reset, stateContainer]); + /** * Initial data fetching, also triggered when index pattern changes */ @@ -211,7 +227,6 @@ export function useDiscoverState({ resetSavedSearch, onChangeIndexPattern, onUpdateQuery, - savedSearch, searchSource, setState, state, diff --git a/src/plugins/discover/public/application/apps/main/services/use_saved_search.test.ts b/src/plugins/discover/public/application/apps/main/services/use_saved_search.test.ts index f4d05e551a4a4..7f252151920fb 100644 --- a/src/plugins/discover/public/application/apps/main/services/use_saved_search.test.ts +++ b/src/plugins/discover/public/application/apps/main/services/use_saved_search.test.ts @@ -10,7 +10,6 @@ import { renderHook } from '@testing-library/react-hooks'; import { createSearchSessionMock } from '../../../../__mocks__/search_session'; import { discoverServiceMock } from '../../../../__mocks__/services'; import { savedSearchMock } from '../../../../__mocks__/saved_search'; -import { indexPatternMock } from '../../../../__mocks__/index_pattern'; import { useSavedSearch } from './use_saved_search'; import { getState } from './discover_state'; import { uiSettingsMock } from '../../../../__mocks__/ui_settings'; @@ -59,8 +58,7 @@ describe('test useSavedSearch', () => { return useDiscoverState({ services: discoverServiceMock, history, - initialIndexPattern: indexPatternMock, - initialSavedSearch: savedSearchMock, + savedSearch: savedSearchMock, }); }); @@ -101,8 +99,7 @@ describe('test useSavedSearch', () => { return useDiscoverState({ services: discoverServiceMock, history, - initialIndexPattern: indexPatternMock, - initialSavedSearch: savedSearchMock, + savedSearch: savedSearchMock, }); }); diff --git a/src/plugins/discover/public/application/apps/not_found/index.ts b/src/plugins/discover/public/application/apps/not_found/index.ts new file mode 100644 index 0000000000000..939af542fdf6d --- /dev/null +++ b/src/plugins/discover/public/application/apps/not_found/index.ts @@ -0,0 +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 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 { NotFoundRoute } from './not_found_route'; diff --git a/src/plugins/discover/public/application/apps/not_found/not_found_route.tsx b/src/plugins/discover/public/application/apps/not_found/not_found_route.tsx new file mode 100644 index 0000000000000..ff515f27201a4 --- /dev/null +++ b/src/plugins/discover/public/application/apps/not_found/not_found_route.tsx @@ -0,0 +1,63 @@ +/* + * 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. + */ +import React, { useEffect } from 'react'; +import { i18n } from '@kbn/i18n'; +import { EuiCallOut } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n/react'; +import { toMountPoint } from '../../../../../kibana_react/public'; +import { DiscoverServices } from '../../../build_services'; +import { getUrlTracker } from '../../../kibana_services'; + +export interface NotFoundRouteProps { + /** + * Kibana core services used by discover + */ + services: DiscoverServices; +} +let bannerId: string | undefined; + +export function NotFoundRoute(props: NotFoundRouteProps) { + const { services } = props; + const { urlForwarding } = services; + + useEffect(() => { + const path = window.location.hash.substr(1); + getUrlTracker().restorePreviousUrl(); + const { navigated } = urlForwarding.navigateToLegacyKibanaUrl(path); + if (!navigated) { + urlForwarding.navigateToDefaultApp(); + } + + const bannerMessage = i18n.translate('discover.noMatchRoute.bannerTitleText', { + defaultMessage: 'Page not found', + }); + + bannerId = services.core.overlays.banners.replace( + bannerId, + toMountPoint( + +

+ +

+
+ ) + ); + + // hide the message after the user has had a chance to acknowledge it -- so it doesn't permanently stick around + setTimeout(() => { + if (bannerId) { + services.core.overlays.banners.remove(bannerId); + } + }, 15000); + }, [services.core.overlays.banners, services.history, urlForwarding]); + + return null; +} diff --git a/src/plugins/discover/public/application/components/common/__snapshots__/loading_indicator.test.tsx.snap b/src/plugins/discover/public/application/components/common/__snapshots__/loading_indicator.test.tsx.snap new file mode 100644 index 0000000000000..21f8a2b2c3632 --- /dev/null +++ b/src/plugins/discover/public/application/components/common/__snapshots__/loading_indicator.test.tsx.snap @@ -0,0 +1,30 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Loading indicator renders correctly 1`] = ` + + +
+ +
+ + + +
+
+
+
+
+`; diff --git a/src/plugins/discover/public/application/components/common/loading_indicator.test.tsx b/src/plugins/discover/public/application/components/common/loading_indicator.test.tsx new file mode 100644 index 0000000000000..1615333471d87 --- /dev/null +++ b/src/plugins/discover/public/application/components/common/loading_indicator.test.tsx @@ -0,0 +1,17 @@ +/* + * 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. + */ +import { LoadingIndicator } from './loading_indicator'; +import React from 'react'; +import { mount } from 'enzyme'; + +describe('Loading indicator', () => { + it('renders correctly', () => { + const component = mount(); + expect(component).toMatchSnapshot(); + }); +}); diff --git a/src/plugins/discover/public/application/components/common/loading_indicator.tsx b/src/plugins/discover/public/application/components/common/loading_indicator.tsx new file mode 100644 index 0000000000000..5261e374dfaf3 --- /dev/null +++ b/src/plugins/discover/public/application/components/common/loading_indicator.tsx @@ -0,0 +1,19 @@ +/* + * 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. + */ +import { EuiFlexGroup, EuiFlexItem, EuiLoadingSpinner } from '@elastic/eui'; +import React from 'react'; + +export const LoadingIndicator = () => { + return ( + + + + + + ); +}; diff --git a/src/plugins/discover/public/application/components/context_app/context_app.tsx b/src/plugins/discover/public/application/components/context_app/context_app.tsx index 25590f331839e..4121beab1dd2e 100644 --- a/src/plugins/discover/public/application/components/context_app/context_app.tsx +++ b/src/plugins/discover/public/application/components/context_app/context_app.tsx @@ -66,7 +66,7 @@ export const ContextApp = ({ indexPattern, indexPatternId, anchorId }: ContextAp * Fetch docs on ui changes */ useEffect(() => { - if (!prevAppState.current) { + if (!prevAppState.current || fetchedState.anchor._id !== anchorId) { fetchAllRows(); } else if (prevAppState.current.predecessorCount !== appState.predecessorCount) { fetchSurroundingRows(SurrDocType.PREDECESSORS); @@ -77,7 +77,15 @@ export const ContextApp = ({ indexPattern, indexPatternId, anchorId }: ContextAp } prevAppState.current = cloneDeep(appState); - }, [appState, indexPatternId, anchorId, fetchContextRows, fetchAllRows, fetchSurroundingRows]); + }, [ + appState, + indexPatternId, + anchorId, + fetchContextRows, + fetchAllRows, + fetchSurroundingRows, + fetchedState.anchor._id, + ]); const { columns, onAddColumn, onRemoveColumn, onSetColumns } = useDataGridColumns({ capabilities, diff --git a/src/plugins/discover/public/application/discover_router.test.tsx b/src/plugins/discover/public/application/discover_router.test.tsx new file mode 100644 index 0000000000000..59aede76c6866 --- /dev/null +++ b/src/plugins/discover/public/application/discover_router.test.tsx @@ -0,0 +1,60 @@ +/* + * 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. + */ +import React from 'react'; +import { shallow } from 'enzyme'; +import { Route, RouteProps } from 'react-router-dom'; +import { createSearchSessionMock } from '../__mocks__/search_session'; +import { discoverServiceMock as mockDiscoverServices } from '../__mocks__/services'; +import { discoverRouter } from './discover_router'; +import { DiscoverMainRoute } from './apps/main'; +import { DiscoverMainProps } from './apps/main/discover_main_route'; +import { SingleDocRoute } from './apps/doc'; +import { ContextAppRoute } from './apps/context'; + +const pathMap: Record = {}; +let mainRouteProps: DiscoverMainProps; + +describe('Discover router', () => { + beforeAll(() => { + const { history } = createSearchSessionMock(); + mainRouteProps = { + history, + services: mockDiscoverServices, + }; + const component = shallow(discoverRouter(mockDiscoverServices, history)); + component.find(Route).forEach((route) => { + const routeProps = route.props() as RouteProps; + const path = routeProps.path; + const children = routeProps.children; + if (typeof path === 'string') { + // @ts-expect-error + pathMap[path] = children; + } + }); + }); + + it('should show DiscoverMainRoute component for / route', () => { + expect(pathMap['/']).toMatchObject(); + }); + + it('should show DiscoverMainRoute component for /view/:id route', () => { + expect(pathMap['/view/:id']).toMatchObject(); + }); + + it('should show SingleDocRoute component for /doc/:indexPatternId/:index route', () => { + expect(pathMap['/doc/:indexPatternId/:index']).toMatchObject( + + ); + }); + + it('should show ContextAppRoute component for /context/:indexPatternId/:id route', () => { + expect(pathMap['/context/:indexPatternId/:id']).toMatchObject( + + ); + }); +}); diff --git a/src/plugins/discover/public/application/discover_router.tsx b/src/plugins/discover/public/application/discover_router.tsx new file mode 100644 index 0000000000000..7c7921935a7fa --- /dev/null +++ b/src/plugins/discover/public/application/discover_router.tsx @@ -0,0 +1,52 @@ +/* + * 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. + */ + +import { Redirect, Route, Router, Switch } from 'react-router-dom'; +import React from 'react'; +import { History } from 'history'; +import { KibanaContextProvider } from '../../../kibana_react/public'; +import { ContextAppRoute } from './apps/context'; +import { SingleDocRoute } from './apps/doc'; +import { DiscoverMainRoute } from './apps/main'; +import { NotFoundRoute } from './apps/not_found'; +import { DiscoverServices } from '../build_services'; +import { DiscoverMainProps } from './apps/main/discover_main_route'; + +export const discoverRouter = (services: DiscoverServices, history: History) => { + const mainRouteProps: DiscoverMainProps = { + services, + history, + }; + return ( + + + + } + /> + ( + + )} + /> + } + /> + } /> + } /> + + + + + ); +}; diff --git a/src/plugins/discover/public/application/helpers/breadcrumbs.ts b/src/plugins/discover/public/application/helpers/breadcrumbs.ts index 8a8d0e7027c65..fe420328a3171 100644 --- a/src/plugins/discover/public/application/helpers/breadcrumbs.ts +++ b/src/plugins/discover/public/application/helpers/breadcrumbs.ts @@ -21,12 +21,11 @@ export function getRootBreadcrumbs() { ]; } -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function getSavedSearchBreadcrumbs($route: any) { +export function getSavedSearchBreadcrumbs(id: string) { return [ ...getRootBreadcrumbs(), { - text: $route.current.locals.savedObjects.savedSearch.id, + text: id, }, ]; } diff --git a/src/plugins/discover/public/application/helpers/use_index_pattern.test.tsx b/src/plugins/discover/public/application/helpers/use_index_pattern.test.tsx new file mode 100644 index 0000000000000..85282afb6fc37 --- /dev/null +++ b/src/plugins/discover/public/application/helpers/use_index_pattern.test.tsx @@ -0,0 +1,19 @@ +/* + * 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. + */ +import { useIndexPattern } from './use_index_pattern'; +import { indexPatternMock } from '../../__mocks__/index_pattern'; +import { indexPatternsMock } from '../../__mocks__/index_patterns'; +import { renderHook, act } from '@testing-library/react-hooks'; + +describe('Use Index Pattern', () => { + test('returning a valid index pattern', async () => { + const { result } = renderHook(() => useIndexPattern(indexPatternsMock, 'the-index-pattern-id')); + await act(() => Promise.resolve()); + expect(result.current).toBe(indexPatternMock); + }); +}); diff --git a/src/plugins/discover/public/application/helpers/use_index_pattern.tsx b/src/plugins/discover/public/application/helpers/use_index_pattern.tsx new file mode 100644 index 0000000000000..f53d131920c5c --- /dev/null +++ b/src/plugins/discover/public/application/helpers/use_index_pattern.tsx @@ -0,0 +1,22 @@ +/* + * 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. + */ +import { useEffect, useState } from 'react'; +import { IndexPattern, IndexPatternsContract } from '../../../../data/common'; + +export const useIndexPattern = (indexPatterns: IndexPatternsContract, indexPatternId: string) => { + const [indexPattern, setIndexPattern] = useState(undefined); + + useEffect(() => { + async function loadIndexPattern() { + const ip = await indexPatterns.get(indexPatternId); + setIndexPattern(ip); + } + loadIndexPattern(); + }); + return indexPattern; +}; diff --git a/src/plugins/discover/public/application/index.tsx b/src/plugins/discover/public/application/index.tsx new file mode 100644 index 0000000000000..4ac50eecd518a --- /dev/null +++ b/src/plugins/discover/public/application/index.tsx @@ -0,0 +1,38 @@ +/* + * 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. + */ +import ReactDOM from 'react-dom'; + +import { AppMountParameters } from 'kibana/public'; +import { i18n } from '@kbn/i18n'; +import { getServices } from '../kibana_services'; +import { discoverRouter } from './discover_router'; + +export const renderApp = ({ element }: AppMountParameters) => { + const services = getServices(); + const { history: getHistory, capabilities, chrome, data } = services; + + const history = getHistory(); + if (!capabilities.discover.save) { + chrome.setBadge({ + text: i18n.translate('discover.badge.readOnly.text', { + defaultMessage: 'Read only', + }), + tooltip: i18n.translate('discover.badge.readOnly.tooltip', { + defaultMessage: 'Unable to save searches', + }), + iconType: 'glasses', + }); + } + const app = discoverRouter(services, history); + ReactDOM.render(app, element); + + return () => { + data.search.session.clear(); + ReactDOM.unmountComponentAtNode(element); + }; +}; diff --git a/src/plugins/discover/public/build_services.ts b/src/plugins/discover/public/build_services.ts index b42bf6a81742c..c8e641088afad 100644 --- a/src/plugins/discover/public/build_services.ts +++ b/src/plugins/discover/public/build_services.ts @@ -17,6 +17,7 @@ import { ToastsStart, IUiSettingsClient, PluginInitializerContext, + HttpStart, } from 'kibana/public'; import { FilterManager, @@ -62,6 +63,7 @@ export interface DiscoverServices { uiSettings: IUiSettingsClient; trackUiMetric?: (metricType: UiCounterMetricType, eventName: string | string[]) => void; indexPatternFieldEditor: IndexPatternFieldEditorStart; + http: HttpStart; } export async function buildServices( @@ -104,5 +106,6 @@ export async function buildServices( uiSettings: core.uiSettings, trackUiMetric: usageCollection?.reportUiCounter.bind(usageCollection, 'discover'), indexPatternFieldEditor: plugins.indexPatternFieldEditor, + http: core.http, }; } diff --git a/src/plugins/discover/public/plugin.tsx b/src/plugins/discover/public/plugin.tsx index f657b24a5822d..65fc3ce2a82fa 100644 --- a/src/plugins/discover/public/plugin.tsx +++ b/src/plugins/discover/public/plugin.tsx @@ -336,6 +336,11 @@ export class DiscoverPlugin setHeaderActionMenuMounter(params.setHeaderActionMenu); syncHistoryLocations(); appMounted(); + // dispatch synthetic hash change event to update hash history objects + // this is necessary because hash updates triggered by using popState won't trigger this event naturally. + const unlistenParentHistory = params.history.listen(() => { + window.dispatchEvent(new HashChangeEvent('hashchange')); + }); const { plugins: { data: dataStart }, } = await this.initializeServices(); @@ -349,6 +354,7 @@ export class DiscoverPlugin const unmount = await renderApp(innerAngularName, params.element); return () => { params.element.classList.remove('dscAppWrapper'); + unlistenParentHistory(); unmount(); appUnMounted(); }; diff --git a/x-pack/test/functional/apps/discover/feature_controls/discover_spaces.ts b/x-pack/test/functional/apps/discover/feature_controls/discover_spaces.ts index 3542abf9ea863..c245b45917497 100644 --- a/x-pack/test/functional/apps/discover/feature_controls/discover_spaces.ts +++ b/x-pack/test/functional/apps/discover/feature_controls/discover_spaces.ts @@ -176,6 +176,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await PageObjects.common.navigateToUrl('discover', '', { basePath: '/s/custom_space_no_index_patterns', ensureCurrentUrl: false, + shouldUseHashForSubUrl: false, }); await testSubjects.existOrFail('homeApp', { timeout: config.get('timeouts.waitFor') }); }); From f3562cf12d1533231997d96ef617282b20100f32 Mon Sep 17 00:00:00 2001 From: Uladzislau Lasitsa Date: Mon, 30 Aug 2021 12:55:56 +0300 Subject: [PATCH 128/139] Don't add split part of UI if we have one series (#109483) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/application/components/vis_with_splits.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js b/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js index e55c5d708e481..945a7ac986d3e 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js +++ b/src/plugins/vis_type_timeseries/public/application/components/vis_with_splits.js @@ -40,7 +40,8 @@ export function visWithSplits(WrappedComponent) { [model, palettesService, syncColors, visData] ); - if (!model || !visData || !visData[model.id]) return ; + if (!model || !visData || !visData[model.id] || visData[model.id].series.length === 1) + return ; if (visData[model.id].series.every((s) => s.id.split(':').length === 1)) { return ; } From 0e480d8623b439f08ae07f63c6d818e660c3f5e4 Mon Sep 17 00:00:00 2001 From: Alexey Antonov Date: Mon, 30 Aug 2021 13:31:08 +0300 Subject: [PATCH 129/139] [TSVB] Expensive queries are causing unnecessary load and delays on Elasticsearch (#98914) * [TSVB] Expensive queries are causing unnecessary load and delays on Elasticsearch Part of: #93770 * remove globalConfig * fix tests * fix finder.close * cleanup code * run queries concurrently * add namespaces: ['*'], Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../vis_type_timeseries/server/plugin.ts | 2 +- .../get_usage_collector.test.ts | 95 +++++++---------- .../usage_collector/get_usage_collector.ts | 100 +++++++++--------- .../register_timeseries_collector.test.ts | 23 ++-- .../register_timeseries_collector.ts | 15 +-- 5 files changed, 100 insertions(+), 135 deletions(-) diff --git a/src/plugins/vis_type_timeseries/server/plugin.ts b/src/plugins/vis_type_timeseries/server/plugin.ts index 68c1db3c03582..58cd58c812e4d 100644 --- a/src/plugins/vis_type_timeseries/server/plugin.ts +++ b/src/plugins/vis_type_timeseries/server/plugin.ts @@ -120,7 +120,7 @@ export class VisTypeTimeseriesPlugin implements Plugin { fieldsRoutes(router, framework); if (plugins.usageCollection) { - registerTimeseriesUsageCollector(plugins.usageCollection, globalConfig$); + registerTimeseriesUsageCollector(plugins.usageCollection); } return { diff --git a/src/plugins/vis_type_timeseries/server/usage_collector/get_usage_collector.test.ts b/src/plugins/vis_type_timeseries/server/usage_collector/get_usage_collector.test.ts index 81ac2be0e7da9..6bb5f3bbfcadd 100644 --- a/src/plugins/vis_type_timeseries/server/usage_collector/get_usage_collector.test.ts +++ b/src/plugins/vis_type_timeseries/server/usage_collector/get_usage_collector.test.ts @@ -7,15 +7,14 @@ */ import { getStats } from './get_usage_collector'; -import { createCollectorFetchContextMock } from 'src/plugins/usage_collection/server/mocks'; +import { createCollectorFetchContextMock } from '../../../usage_collection/server/mocks'; +import type { SavedObjectsClientContract, SavedObjectsFindResponse } from '../../../../core/server'; import { TIME_RANGE_DATA_MODES } from '../../common/enums'; -const mockedSavedObjects = [ - { - _id: 'visualization:timeseries-123', - _source: { - type: 'visualization', - visualization: { +const mockedSavedObject = { + saved_objects: [ + { + attributes: { visState: JSON.stringify({ type: 'metrics', title: 'TSVB visualization 1', @@ -25,12 +24,8 @@ const mockedSavedObjects = [ }), }, }, - }, - { - _id: 'visualization:timeseries-321', - _source: { - type: 'visualization', - visualization: { + { + attributes: { visState: JSON.stringify({ type: 'metrics', title: 'TSVB visualization 2', @@ -40,12 +35,8 @@ const mockedSavedObjects = [ }), }, }, - }, - { - _id: 'visualization:timeseries-456', - _source: { - type: 'visualization', - visualization: { + { + attributes: { visState: JSON.stringify({ type: 'metrics', title: 'TSVB visualization 3', @@ -55,8 +46,8 @@ const mockedSavedObjects = [ }), }, }, - }, -]; + ], +} as SavedObjectsFindResponse; const mockedSavedObjectsByValue = [ { @@ -91,42 +82,43 @@ const mockedSavedObjectsByValue = [ }, ]; -const getMockCollectorFetchContext = (hits?: unknown[], savedObjectsByValue: unknown[] = []) => { +const getMockCollectorFetchContext = ( + savedObjects: SavedObjectsFindResponse, + savedObjectsByValue: unknown[] = [] +) => { const fetchParamsMock = createCollectorFetchContextMock(); - fetchParamsMock.esClient.search = jest.fn().mockResolvedValue({ body: { hits: { hits } } }); - fetchParamsMock.soClient.find = jest.fn().mockResolvedValue({ - saved_objects: savedObjectsByValue, - }); + fetchParamsMock.soClient = ({ + find: jest.fn().mockResolvedValue({ + saved_objects: savedObjectsByValue, + }), + createPointInTimeFinder: jest.fn().mockResolvedValue({ + close: jest.fn(), + find: function* asyncGenerator() { + yield savedObjects; + }, + }), + } as unknown) as SavedObjectsClientContract; return fetchParamsMock; }; describe('Timeseries visualization usage collector', () => { - const mockIndex = 'mock_index'; - test('Returns undefined when no results found (undefined)', async () => { - const mockCollectorFetchContext = getMockCollectorFetchContext([], []); - const result = await getStats( - mockCollectorFetchContext.esClient, - mockCollectorFetchContext.soClient, - mockIndex + const mockCollectorFetchContext = getMockCollectorFetchContext( + ({ saved_objects: [] } as unknown) as SavedObjectsFindResponse, + [] ); + const result = await getStats(mockCollectorFetchContext.soClient); expect(result).toBeUndefined(); }); test('Returns undefined when no timeseries saved objects found', async () => { - const mockCollectorFetchContext = getMockCollectorFetchContext( - [ + const mockCollectorFetchContext = getMockCollectorFetchContext({ + saved_objects: [ { - _id: 'visualization:myvis-123', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "area"}' }, - }, + attributes: { visState: '{"type": "area"}' }, }, - ], - [ { attributes: { panelsJSON: JSON.stringify({ @@ -139,27 +131,20 @@ describe('Timeseries visualization usage collector', () => { }), }, }, - ] - ); - const result = await getStats( - mockCollectorFetchContext.esClient, - mockCollectorFetchContext.soClient, - mockIndex - ); + ], + } as SavedObjectsFindResponse); + + const result = await getStats(mockCollectorFetchContext.soClient); expect(result).toBeUndefined(); }); test('Summarizes visualizations response data', async () => { const mockCollectorFetchContext = getMockCollectorFetchContext( - mockedSavedObjects, + mockedSavedObject, mockedSavedObjectsByValue ); - const result = await getStats( - mockCollectorFetchContext.esClient, - mockCollectorFetchContext.soClient, - mockIndex - ); + const result = await getStats(mockCollectorFetchContext.soClient); expect(result).toMatchObject({ timeseries_use_last_value_mode_total: 3, diff --git a/src/plugins/vis_type_timeseries/server/usage_collector/get_usage_collector.ts b/src/plugins/vis_type_timeseries/server/usage_collector/get_usage_collector.ts index 5146b52a8e502..b5b22e06b51c9 100644 --- a/src/plugins/vis_type_timeseries/server/usage_collector/get_usage_collector.ts +++ b/src/plugins/vis_type_timeseries/server/usage_collector/get_usage_collector.ts @@ -6,49 +6,65 @@ * Side Public License, v 1. */ -import { ElasticsearchClient } from 'src/core/server'; -import { SavedObjectsClientContract, ISavedObjectsRepository } from 'kibana/server'; import { TIME_RANGE_DATA_MODES } from '../../common/enums'; import { findByValueEmbeddables } from '../../../dashboard/server'; +import type { + SavedObjectsClientContract, + ISavedObjectsRepository, + SavedObjectsFindResult, +} from '../../../../core/server'; +import type { SavedVisState } from '../../../visualizations/common'; + export interface TimeseriesUsage { timeseries_use_last_value_mode_total: number; } -interface VisState { - type?: string; - params?: any; -} +const doTelemetryFoVisualizations = async ( + soClient: SavedObjectsClientContract | ISavedObjectsRepository, + telemetryUseLastValueMode: (savedVis: SavedVisState) => void +) => { + const finder = await soClient.createPointInTimeFinder({ + type: 'visualization', + perPage: 1000, + namespaces: ['*'], + }); -export const getStats = async ( - esClient: ElasticsearchClient, + for await (const response of finder.find()) { + (response.saved_objects || []).forEach(({ attributes }: SavedObjectsFindResult) => { + if (attributes?.visState) { + try { + const visState: SavedVisState = JSON.parse(attributes.visState); + + telemetryUseLastValueMode(visState); + } catch { + // nothing to be here, "so" not valid + } + } + }); + } + await finder.close(); +}; + +const doTelemetryForByValueVisualizations = async ( soClient: SavedObjectsClientContract | ISavedObjectsRepository, - index: string + telemetryUseLastValueMode: (savedVis: SavedVisState) => void +) => { + const byValueVisualizations = await findByValueEmbeddables(soClient, 'visualization'); + + for (const item of byValueVisualizations) { + telemetryUseLastValueMode((item.savedVis as unknown) as SavedVisState); + } +}; + +export const getStats = async ( + soClient: SavedObjectsClientContract | ISavedObjectsRepository ): Promise => { const timeseriesUsage = { timeseries_use_last_value_mode_total: 0, }; - const searchParams = { - size: 10000, - index, - ignoreUnavailable: true, - filterPath: ['hits.hits._id', 'hits.hits._source.visualization'], - body: { - query: { - bool: { - filter: { term: { type: 'visualization' } }, - }, - }, - }, - }; - - const { body: esResponse } = await esClient.search<{ - visualization: { visState: string }; - updated_at: string; - }>(searchParams); - - function telemetryUseLastValueMode(visState: VisState) { + function telemetryUseLastValueMode(visState: SavedVisState) { if ( visState.type === 'metrics' && visState.params.type !== 'timeseries' && @@ -59,28 +75,10 @@ export const getStats = async ( } } - if (esResponse?.hits?.hits?.length) { - for (const hit of esResponse.hits.hits) { - if (hit._source && 'visualization' in hit._source) { - const { visualization } = hit._source!; - - let visState: VisState = {}; - try { - visState = JSON.parse(visualization?.visState ?? '{}'); - } catch (e) { - // invalid visState - } - - telemetryUseLastValueMode(visState); - } - } - } - - const byValueVisualizations = await findByValueEmbeddables(soClient, 'visualization'); - - for (const item of byValueVisualizations) { - telemetryUseLastValueMode(item.savedVis as VisState); - } + await Promise.all([ + doTelemetryFoVisualizations(soClient, telemetryUseLastValueMode), + doTelemetryForByValueVisualizations(soClient, telemetryUseLastValueMode), + ]); return timeseriesUsage.timeseries_use_last_value_mode_total ? timeseriesUsage : undefined; }; diff --git a/src/plugins/vis_type_timeseries/server/usage_collector/register_timeseries_collector.test.ts b/src/plugins/vis_type_timeseries/server/usage_collector/register_timeseries_collector.test.ts index 726ad972ab8d1..0dfe5ae5f9351 100644 --- a/src/plugins/vis_type_timeseries/server/usage_collector/register_timeseries_collector.test.ts +++ b/src/plugins/vis_type_timeseries/server/usage_collector/register_timeseries_collector.test.ts @@ -6,27 +6,22 @@ * Side Public License, v 1. */ -import { of } from 'rxjs'; import { mockStats, mockGetStats } from './get_usage_collector.mock'; -import { createUsageCollectionSetupMock } from 'src/plugins/usage_collection/server/mocks'; -import { createCollectorFetchContextMock } from 'src/plugins/usage_collection/server/mocks'; +import { createUsageCollectionSetupMock } from '../../../usage_collection/server/mocks'; +import { createCollectorFetchContextMock } from '../../../usage_collection/server/mocks'; import { registerTimeseriesUsageCollector } from './register_timeseries_collector'; -import { ConfigObservable } from '../types'; describe('registerTimeseriesUsageCollector', () => { - const mockIndex = 'mock_index'; - const mockConfig = of({ kibana: { index: mockIndex } }) as ConfigObservable; - it('makes a usage collector and registers it`', () => { const mockCollectorSet = createUsageCollectionSetupMock(); - registerTimeseriesUsageCollector(mockCollectorSet, mockConfig); + registerTimeseriesUsageCollector(mockCollectorSet); expect(mockCollectorSet.makeUsageCollector).toBeCalledTimes(1); expect(mockCollectorSet.registerCollector).toBeCalledTimes(1); }); it('makeUsageCollector configs fit the shape', () => { const mockCollectorSet = createUsageCollectionSetupMock(); - registerTimeseriesUsageCollector(mockCollectorSet, mockConfig); + registerTimeseriesUsageCollector(mockCollectorSet); expect(mockCollectorSet.makeUsageCollector).toHaveBeenCalledWith({ type: 'vis_type_timeseries', isReady: expect.any(Function), @@ -39,23 +34,19 @@ describe('registerTimeseriesUsageCollector', () => { it('makeUsageCollector config.isReady returns true', () => { const mockCollectorSet = createUsageCollectionSetupMock(); - registerTimeseriesUsageCollector(mockCollectorSet, mockConfig); + registerTimeseriesUsageCollector(mockCollectorSet); const usageCollectorConfig = mockCollectorSet.makeUsageCollector.mock.calls[0][0]; expect(usageCollectorConfig.isReady()).toBe(true); }); it('makeUsageCollector config.fetch calls getStats', async () => { const mockCollectorSet = createUsageCollectionSetupMock(); - registerTimeseriesUsageCollector(mockCollectorSet, mockConfig); + registerTimeseriesUsageCollector(mockCollectorSet); const usageCollector = mockCollectorSet.makeUsageCollector.mock.results[0].value; const mockedCollectorFetchContext = createCollectorFetchContextMock(); const fetchResult = await usageCollector.fetch(mockedCollectorFetchContext); expect(mockGetStats).toBeCalledTimes(1); - expect(mockGetStats).toBeCalledWith( - mockedCollectorFetchContext.esClient, - mockedCollectorFetchContext.soClient, - mockIndex - ); + expect(mockGetStats).toBeCalledWith(mockedCollectorFetchContext.soClient); expect(fetchResult).toBe(mockStats); }); }); diff --git a/src/plugins/vis_type_timeseries/server/usage_collector/register_timeseries_collector.ts b/src/plugins/vis_type_timeseries/server/usage_collector/register_timeseries_collector.ts index 5edeb6654020e..7e9294f03ba1c 100644 --- a/src/plugins/vis_type_timeseries/server/usage_collector/register_timeseries_collector.ts +++ b/src/plugins/vis_type_timeseries/server/usage_collector/register_timeseries_collector.ts @@ -6,15 +6,10 @@ * Side Public License, v 1. */ -import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; -import { first } from 'rxjs/operators'; import { getStats, TimeseriesUsage } from './get_usage_collector'; -import { ConfigObservable } from '../types'; +import type { UsageCollectionSetup } from '../../../usage_collection/server'; -export function registerTimeseriesUsageCollector( - collectorSet: UsageCollectionSetup, - config: ConfigObservable -) { +export function registerTimeseriesUsageCollector(collectorSet: UsageCollectionSetup) { const collector = collectorSet.makeUsageCollector({ type: 'vis_type_timeseries', isReady: () => true, @@ -24,11 +19,7 @@ export function registerTimeseriesUsageCollector( _meta: { description: 'Number of TSVB visualizations using "last value" as a time range' }, }, }, - fetch: async ({ esClient, soClient }) => { - const { index } = (await config.pipe(first()).toPromise()).kibana; - - return await getStats(esClient, soClient, index); - }, + fetch: async ({ soClient }) => await getStats(soClient), }); collectorSet.registerCollector(collector); From aa8364a52608036ef07ab0fe783468a38ff33e04 Mon Sep 17 00:00:00 2001 From: Alexey Antonov Date: Mon, 30 Aug 2021 13:34:00 +0300 Subject: [PATCH 130/139] [Visualizations] Expensive queries are causing unnecessary load and delays on Elasticsearch (#99031) * [Visualizations] Expensive queries are causing unnecessary load and delays on Elasticsearch Part of: #93770 * fix CI * fix typo * fix namespaces issue * fix tests Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- src/plugins/visualizations/server/plugin.ts | 24 ++-- .../get_usage_collector.test.ts | 134 ++++++++---------- .../usage_collector/get_usage_collector.ts | 102 ++++++------- .../register_visualizations_collector.test.ts | 30 ++-- .../register_visualizations_collector.ts | 15 +- 5 files changed, 128 insertions(+), 177 deletions(-) diff --git a/src/plugins/visualizations/server/plugin.ts b/src/plugins/visualizations/server/plugin.ts index 5a5a80b2689d6..6b87c0206347f 100644 --- a/src/plugins/visualizations/server/plugin.ts +++ b/src/plugins/visualizations/server/plugin.ts @@ -8,33 +8,29 @@ import { i18n } from '@kbn/i18n'; import { schema } from '@kbn/config-schema'; -import { Observable } from 'rxjs'; -import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; -import { + +import { VISUALIZE_ENABLE_LABS_SETTING } from '../common/constants'; +import { visualizationSavedObjectType } from './saved_objects'; +import { registerVisualizationsCollector } from './usage_collector'; + +import type { VisualizationsPluginSetup, VisualizationsPluginStart } from './types'; +import type { PluginInitializerContext, CoreSetup, CoreStart, Plugin, Logger, } from '../../../core/server'; - -import { VISUALIZE_ENABLE_LABS_SETTING } from '../common/constants'; - -import { visualizationSavedObjectType } from './saved_objects'; - -import { VisualizationsPluginSetup, VisualizationsPluginStart } from './types'; -import { registerVisualizationsCollector } from './usage_collector'; -import { EmbeddableSetup } from '../../embeddable/server'; +import type { UsageCollectionSetup } from '../../usage_collection/server'; +import type { EmbeddableSetup } from '../../embeddable/server'; import { visualizeEmbeddableFactory } from './embeddable/visualize_embeddable_factory'; export class VisualizationsPlugin implements Plugin { private readonly logger: Logger; - private readonly config: Observable<{ kibana: { index: string } }>; constructor(initializerContext: PluginInitializerContext) { this.logger = initializerContext.logger.get(); - this.config = initializerContext.config.legacy.globalConfig$; } public setup( @@ -61,7 +57,7 @@ export class VisualizationsPlugin }); if (plugins.usageCollection) { - registerVisualizationsCollector(plugins.usageCollection, this.config); + registerVisualizationsCollector(plugins.usageCollection); } plugins.embeddable.registerEmbeddableFactory(visualizeEmbeddableFactory()); diff --git a/src/plugins/visualizations/server/usage_collector/get_usage_collector.test.ts b/src/plugins/visualizations/server/usage_collector/get_usage_collector.test.ts index 325b52eaec368..24c290ca849ed 100644 --- a/src/plugins/visualizations/server/usage_collector/get_usage_collector.test.ts +++ b/src/plugins/visualizations/server/usage_collector/get_usage_collector.test.ts @@ -7,126 +7,106 @@ */ import moment from 'moment'; -import { ElasticsearchClient } from 'src/core/server'; import { getStats } from './get_usage_collector'; +import type { SavedObjectsClientContract } from '../../../../core/server'; const defaultMockSavedObjects = [ { - _id: 'visualization:coolviz-123', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "shell_beads"}' }, - updated_at: moment().subtract(7, 'days').startOf('day').toString(), - }, + id: 'visualization:coolviz-123', + attributes: { visState: '{"type": "shell_beads"}' }, + updated_at: moment().subtract(7, 'days').startOf('day').toString(), }, ]; const enlargedMockSavedObjects = [ // default space { - _id: 'visualization:coolviz-123', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "cave_painting"}' }, - updated_at: moment().subtract(7, 'days').startOf('day').toString(), - }, + id: 'visualization:coolviz-123', + namespaces: ['default'], + attributes: { visState: '{"type": "cave_painting"}' }, + updated_at: moment().subtract(7, 'days').startOf('day').toString(), }, { - _id: 'visualization:coolviz-456', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "printing_press"}' }, - updated_at: moment().subtract(20, 'days').startOf('day').toString(), - }, + id: 'visualization:coolviz-456', + namespaces: ['default'], + attributes: { visState: '{"type": "printing_press"}' }, + updated_at: moment().subtract(20, 'days').startOf('day').toString(), }, { - _id: 'meat:visualization:coolviz-789', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "floppy_disk"}' }, - updated_at: moment().subtract(2, 'months').startOf('day').toString(), - }, + id: 'meat:visualization:coolviz-789', + namespaces: ['default'], + attributes: { visState: '{"type": "floppy_disk"}' }, + updated_at: moment().subtract(2, 'months').startOf('day').toString(), }, // meat space { - _id: 'meat:visualization:coolviz-789', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "cave_painting"}' }, - updated_at: moment().subtract(89, 'days').startOf('day').toString(), - }, + id: 'meat:visualization:coolviz-789', + namespaces: ['meat'], + attributes: { visState: '{"type": "cave_painting"}' }, + updated_at: moment().subtract(89, 'days').startOf('day').toString(), }, { - _id: 'meat:visualization:coolviz-789', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "cuneiform"}' }, - updated_at: moment().subtract(5, 'months').startOf('day').toString(), - }, + id: 'meat:visualization:coolviz-789', + namespaces: ['meat'], + attributes: { visState: '{"type": "cuneiform"}' }, + updated_at: moment().subtract(5, 'months').startOf('day').toString(), }, { - _id: 'meat:visualization:coolviz-789', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "cuneiform"}' }, - updated_at: moment().subtract(2, 'days').startOf('day').toString(), - }, + id: 'meat:visualization:coolviz-789', + namespaces: ['meat'], + attributes: { visState: '{"type": "cuneiform"}' }, + updated_at: moment().subtract(2, 'days').startOf('day').toString(), }, { - _id: 'meat:visualization:coolviz-789', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "floppy_disk"}' }, - updated_at: moment().subtract(7, 'days').startOf('day').toString(), - }, + id: 'meat:visualization:coolviz-789', + attributes: { visState: '{"type": "floppy_disk"}' }, + updated_at: moment().subtract(7, 'days').startOf('day').toString(), }, // cyber space { - _id: 'cyber:visualization:coolviz-789', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "floppy_disk"}' }, - updated_at: moment().subtract(7, 'months').startOf('day').toString(), - }, + id: 'cyber:visualization:coolviz-789', + namespaces: ['cyber'], + attributes: { visState: '{"type": "floppy_disk"}' }, + updated_at: moment().subtract(7, 'months').startOf('day').toString(), }, { - _id: 'cyber:visualization:coolviz-789', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "floppy_disk"}' }, - updated_at: moment().subtract(3, 'days').startOf('day').toString(), - }, + id: 'cyber:visualization:coolviz-789', + namespaces: ['cyber'], + attributes: { visState: '{"type": "floppy_disk"}' }, + updated_at: moment().subtract(3, 'days').startOf('day').toString(), }, { - _id: 'cyber:visualization:coolviz-123', - _source: { - type: 'visualization', - visualization: { visState: '{"type": "cave_painting"}' }, - updated_at: moment().subtract(15, 'days').startOf('day').toString(), - }, + id: 'cyber:visualization:coolviz-123', + namespaces: ['cyber'], + attributes: { visState: '{"type": "cave_painting"}' }, + updated_at: moment().subtract(15, 'days').startOf('day').toString(), }, ]; describe('Visualizations usage collector', () => { - const mockIndex = ''; - - const getMockCallCluster = (hits: unknown[]) => - ({ - search: () => Promise.resolve({ body: { hits: { hits } } }) as unknown, - } as ElasticsearchClient); + const getMockCallCluster = (savedObjects: unknown[]) => + (({ + createPointInTimeFinder: jest.fn().mockResolvedValue({ + close: jest.fn(), + find: function* asyncGenerator() { + yield { saved_objects: savedObjects }; + }, + }), + } as unknown) as SavedObjectsClientContract); test('Returns undefined when no results found (undefined)', async () => { - const result = await getStats(getMockCallCluster(undefined as any), mockIndex); + const result = await getStats(getMockCallCluster(undefined as any)); + expect(result).toBeUndefined(); }); test('Returns undefined when no results found (0 results)', async () => { - const result = await getStats(getMockCallCluster([]), mockIndex); + const result = await getStats(getMockCallCluster([])); expect(result).toBeUndefined(); }); test('Summarizes visualizations response data', async () => { - const result = await getStats(getMockCallCluster(defaultMockSavedObjects), mockIndex); + const result = await getStats(getMockCallCluster(defaultMockSavedObjects)); expect(result).toMatchObject({ shell_beads: { @@ -181,7 +161,7 @@ describe('Visualizations usage collector', () => { }, }; - const result = await getStats(getMockCallCluster(enlargedMockSavedObjects), mockIndex); + const result = await getStats(getMockCallCluster(enlargedMockSavedObjects)); expect(result).toMatchObject(expectedStats); }); diff --git a/src/plugins/visualizations/server/usage_collector/get_usage_collector.ts b/src/plugins/visualizations/server/usage_collector/get_usage_collector.ts index 2cd715b7b02c8..c2fa148cf121c 100644 --- a/src/plugins/visualizations/server/usage_collector/get_usage_collector.ts +++ b/src/plugins/visualizations/server/usage_collector/get_usage_collector.ts @@ -6,12 +6,11 @@ * Side Public License, v 1. */ -import { countBy, get, groupBy, mapValues, max, min, values } from 'lodash'; -import { ElasticsearchClient } from 'kibana/server'; -import type { estypes } from '@elastic/elasticsearch'; - +import { countBy, groupBy, mapValues, max, min, values } from 'lodash'; import { getPastDays } from './get_past_days'; -type ESResponse = estypes.SearchResponse<{ visualization: { visState: string } }>; + +import type { SavedObjectsClientContract, SavedObjectsFindResult } from '../../../../core/server'; +import type { SavedVisState } from '../../../visualizations/common'; interface VisSummary { type: string; @@ -35,61 +34,50 @@ export interface VisualizationUsage { * Parse the response data into telemetry payload */ export async function getStats( - esClient: ElasticsearchClient, - index: string + soClient: SavedObjectsClientContract ): Promise { - const searchParams = { - size: 10000, // elasticsearch index.max_result_window default value - index, - ignoreUnavailable: true, - filterPath: [ - 'hits.hits._id', - 'hits.hits._source.visualization', - 'hits.hits._source.updated_at', - ], - body: { - query: { - bool: { filter: { term: { type: 'visualization' } } }, - }, - }, - }; - const { body: esResponse } = await esClient.search(searchParams); - const size = get(esResponse, 'hits.hits.length', 0); - if (size < 1) { - return; - } - - // `map` to get the raw types - const visSummaries: VisSummary[] = esResponse.hits.hits.map((hit) => { - const spacePhrases = hit._id.toString().split(':'); - const lastUpdated: string = get(hit, '_source.updated_at'); - const space = spacePhrases.length === 3 ? spacePhrases[0] : 'default'; // if in a custom space, the format of a saved object ID is space:type:id - const visualization = get(hit, '_source.visualization', { visState: '{}' }); - const visState: { type?: string } = JSON.parse(visualization.visState); - return { - type: visState.type || '_na_', - space, - past_days: getPastDays(lastUpdated), - }; + const finder = await soClient.createPointInTimeFinder({ + type: 'visualization', + perPage: 1000, + namespaces: ['*'], }); - // organize stats per type - const visTypes = groupBy(visSummaries, 'type'); + const visSummaries: VisSummary[] = []; - // get the final result - return mapValues(visTypes, (curr) => { - const total = curr.length; - const spacesBreakdown = countBy(curr, 'space'); - const spaceCounts: number[] = values(spacesBreakdown); + for await (const response of finder.find()) { + (response.saved_objects || []).forEach((so: SavedObjectsFindResult) => { + if (so.attributes?.visState) { + const visState: SavedVisState = JSON.parse(so.attributes.visState); - return { - total, - spaces_min: min(spaceCounts), - spaces_max: max(spaceCounts), - spaces_avg: total / spaceCounts.length, - saved_7_days_total: curr.filter((c) => c.past_days <= 7).length, - saved_30_days_total: curr.filter((c) => c.past_days <= 30).length, - saved_90_days_total: curr.filter((c) => c.past_days <= 90).length, - }; - }); + visSummaries.push({ + type: visState.type ?? '_na_', + space: so.namespaces?.[0] ?? 'default', + past_days: getPastDays(so.updated_at!), + }); + } + }); + } + await finder.close(); + + if (visSummaries.length) { + // organize stats per type + const visTypes = groupBy(visSummaries, 'type'); + + // get the final result + return mapValues(visTypes, (curr) => { + const total = curr.length; + const spacesBreakdown = countBy(curr, 'space'); + const spaceCounts: number[] = values(spacesBreakdown); + + return { + total, + spaces_min: min(spaceCounts), + spaces_max: max(spaceCounts), + spaces_avg: total / spaceCounts.length, + saved_7_days_total: curr.filter((c) => c.past_days <= 7).length, + saved_30_days_total: curr.filter((c) => c.past_days <= 30).length, + saved_90_days_total: curr.filter((c) => c.past_days <= 90).length, + }; + }); + } } diff --git a/src/plugins/visualizations/server/usage_collector/register_visualizations_collector.test.ts b/src/plugins/visualizations/server/usage_collector/register_visualizations_collector.test.ts index a3617631f734b..e8f9df8516632 100644 --- a/src/plugins/visualizations/server/usage_collector/register_visualizations_collector.test.ts +++ b/src/plugins/visualizations/server/usage_collector/register_visualizations_collector.test.ts @@ -5,28 +5,24 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ - -import { of } from 'rxjs'; +import { + createUsageCollectionSetupMock, + createCollectorFetchContextMock, +} from '../../../usage_collection/server/mocks'; import { mockStats, mockGetStats } from './get_usage_collector.mock'; -import { createUsageCollectionSetupMock } from 'src/plugins/usage_collection/server/mocks'; -import { createCollectorFetchContextMock } from 'src/plugins/usage_collection/server/mocks'; - import { registerVisualizationsCollector } from './register_visualizations_collector'; describe('registerVisualizationsCollector', () => { - const mockIndex = 'mock_index'; - const mockConfig = of({ kibana: { index: mockIndex } }); - - it('makes a usage collector and registers it`', () => { + test('makes a usage collector and registers it`', () => { const mockCollectorSet = createUsageCollectionSetupMock(); - registerVisualizationsCollector(mockCollectorSet, mockConfig); + registerVisualizationsCollector(mockCollectorSet); expect(mockCollectorSet.makeUsageCollector).toBeCalledTimes(1); expect(mockCollectorSet.registerCollector).toBeCalledTimes(1); }); - it('makeUsageCollector configs fit the shape', () => { + test('makeUsageCollector configs fit the shape', () => { const mockCollectorSet = createUsageCollectionSetupMock(); - registerVisualizationsCollector(mockCollectorSet, mockConfig); + registerVisualizationsCollector(mockCollectorSet); expect(mockCollectorSet.makeUsageCollector).toHaveBeenCalledWith({ type: 'visualization_types', isReady: expect.any(Function), @@ -37,21 +33,21 @@ describe('registerVisualizationsCollector', () => { expect(usageCollectorConfig.isReady()).toBe(true); }); - it('makeUsageCollector config.isReady returns true', () => { + test('makeUsageCollector config.isReady returns true', () => { const mockCollectorSet = createUsageCollectionSetupMock(); - registerVisualizationsCollector(mockCollectorSet, mockConfig); + registerVisualizationsCollector(mockCollectorSet); const usageCollectorConfig = mockCollectorSet.makeUsageCollector.mock.calls[0][0]; expect(usageCollectorConfig.isReady()).toBe(true); }); - it('makeUsageCollector config.fetch calls getStats', async () => { + test('makeUsageCollector config.fetch calls getStats', async () => { const mockCollectorSet = createUsageCollectionSetupMock(); - registerVisualizationsCollector(mockCollectorSet, mockConfig); + registerVisualizationsCollector(mockCollectorSet); const usageCollector = mockCollectorSet.makeUsageCollector.mock.results[0].value; const mockCollectorFetchContext = createCollectorFetchContextMock(); const fetchResult = await usageCollector.fetch(mockCollectorFetchContext); expect(mockGetStats).toBeCalledTimes(1); - expect(mockGetStats).toBeCalledWith(mockCollectorFetchContext.esClient, mockIndex); + expect(mockGetStats).toBeCalledWith(mockCollectorFetchContext.soClient); expect(fetchResult).toBe(mockStats); }); }); diff --git a/src/plugins/visualizations/server/usage_collector/register_visualizations_collector.ts b/src/plugins/visualizations/server/usage_collector/register_visualizations_collector.ts index 1836af66233bd..b7ca4268c9a89 100644 --- a/src/plugins/visualizations/server/usage_collector/register_visualizations_collector.ts +++ b/src/plugins/visualizations/server/usage_collector/register_visualizations_collector.ts @@ -6,16 +6,10 @@ * Side Public License, v 1. */ -import { Observable } from 'rxjs'; -import { first } from 'rxjs/operators'; -import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; - import { getStats, VisualizationUsage } from './get_usage_collector'; +import type { UsageCollectionSetup } from '../../../usage_collection/server'; -export function registerVisualizationsCollector( - collectorSet: UsageCollectionSetup, - config: Observable<{ kibana: { index: string } }> -) { +export function registerVisualizationsCollector(collectorSet: UsageCollectionSetup) { const collector = collectorSet.makeUsageCollector({ type: 'visualization_types', isReady: () => true, @@ -30,10 +24,7 @@ export function registerVisualizationsCollector( saved_90_days_total: { type: 'long' }, }, }, - fetch: async ({ esClient }) => { - const index = (await config.pipe(first()).toPromise()).kibana.index; - return await getStats(esClient, index); - }, + fetch: async ({ soClient }) => await getStats(soClient), }); collectorSet.registerCollector(collector); } From 9f5a93626b861b453a45dcc9d25718265d0cf051 Mon Sep 17 00:00:00 2001 From: Alexey Antonov Date: Mon, 30 Aug 2021 13:34:47 +0300 Subject: [PATCH 131/139] [Vega] Expensive queries are causing unnecessary load and delays on Elasticsearch (#99023) * [Vega] Expensive queries are causing unnecessary load and delays on Elasticsearch Part of: #93770 * Update get_usage_collector.test.ts * add namespaces: ['*'] Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../get_usage_collector.test.ts | 104 ++++++++---------- .../usage_collector/get_usage_collector.ts | 101 ++++++++--------- .../register_vega_collector.test.ts | 25 +++-- .../register_vega_collector.ts | 11 +- 4 files changed, 112 insertions(+), 129 deletions(-) diff --git a/src/plugins/vis_type_vega/server/usage_collector/get_usage_collector.test.ts b/src/plugins/vis_type_vega/server/usage_collector/get_usage_collector.test.ts index ce815cba4a4e2..82aba087dedc1 100644 --- a/src/plugins/vis_type_vega/server/usage_collector/get_usage_collector.test.ts +++ b/src/plugins/vis_type_vega/server/usage_collector/get_usage_collector.test.ts @@ -7,67 +7,63 @@ */ import { getStats } from './get_usage_collector'; -import { HomeServerPluginSetup } from '../../../home/server'; -import { createCollectorFetchContextMock } from 'src/plugins/usage_collection/server/mocks'; +import { createCollectorFetchContextMock } from '../../../usage_collection/server/mocks'; +import type { HomeServerPluginSetup } from '../../../home/server'; +import type { SavedObjectsClientContract } from '../../../../core/server'; const mockedSavedObjects = [ // vega-lite lib spec { - _id: 'visualization:vega-1', - _source: { - type: 'visualization', - visualization: { - visState: JSON.stringify({ - type: 'vega', - params: { - spec: '{"$schema": "https://vega.github.io/schema/vega-lite/v5.json" }', - }, - }), - }, + attributes: { + visState: JSON.stringify({ + type: 'vega', + params: { + spec: '{"$schema": "https://vega.github.io/schema/vega-lite/v5.json" }', + }, + }), }, }, // vega lib spec { - _id: 'visualization:vega-2', - _source: { - type: 'visualization', - visualization: { - visState: JSON.stringify({ - type: 'vega', - params: { - spec: '{"$schema": "https://vega.github.io/schema/vega/v5.json" }', - }, - }), - }, + attributes: { + visState: JSON.stringify({ + type: 'vega', + params: { + spec: '{"$schema": "https://vega.github.io/schema/vega/v5.json" }', + }, + }), }, }, // map layout { - _id: 'visualization:vega-3', - _source: { - type: 'visualization', - visualization: { - visState: JSON.stringify({ - type: 'vega', - params: { - spec: - '{"$schema": "https://vega.github.io/schema/vega/v3.json" \n "config": { "kibana" : { "type": "map" }} }', - }, - }), - }, + attributes: { + visState: JSON.stringify({ + type: 'vega', + params: { + spec: + '{"$schema": "https://vega.github.io/schema/vega/v3.json" \n "config": { "kibana" : { "type": "map" }} }', + }, + }), }, }, ]; -const getMockCollectorFetchContext = (hits?: unknown[]) => { +const getMockCollectorFetchContext = (savedObjects?: unknown[]) => { const fetchParamsMock = createCollectorFetchContextMock(); - fetchParamsMock.esClient.search = jest.fn().mockResolvedValue({ body: { hits: { hits } } }); + fetchParamsMock.soClient = ({ + createPointInTimeFinder: jest.fn().mockResolvedValue({ + close: jest.fn(), + find: function* asyncGenerator() { + yield { saved_objects: savedObjects }; + }, + }), + } as unknown) as SavedObjectsClientContract; + return fetchParamsMock; }; describe('Vega visualization usage collector', () => { - const mockIndex = 'mock_index'; const mockDeps = { home: ({ sampleData: { @@ -94,13 +90,13 @@ describe('Vega visualization usage collector', () => { }; test('Returns undefined when no results found (undefined)', async () => { - const result = await getStats(getMockCollectorFetchContext().esClient, mockIndex, mockDeps); + const result = await getStats(getMockCollectorFetchContext().soClient, mockDeps); expect(result).toBeUndefined(); }); test('Returns undefined when no results found (0 results)', async () => { - const result = await getStats(getMockCollectorFetchContext([]).esClient, mockIndex, mockDeps); + const result = await getStats(getMockCollectorFetchContext([]).soClient, mockDeps); expect(result).toBeUndefined(); }); @@ -115,7 +111,7 @@ describe('Vega visualization usage collector', () => { }, }, ]); - const result = await getStats(mockCollectorFetchContext.esClient, mockIndex, mockDeps); + const result = await getStats(mockCollectorFetchContext.soClient, mockDeps); expect(result).toBeUndefined(); }); @@ -123,30 +119,26 @@ describe('Vega visualization usage collector', () => { test('Should ingnore sample data visualizations', async () => { const mockCollectorFetchContext = getMockCollectorFetchContext([ { - _id: 'visualization:sampledata-123', - _source: { - type: 'visualization', - visualization: { - visState: JSON.stringify({ - type: 'vega', - title: 'sample vega visualization', - params: { - spec: '{"$schema": "https://vega.github.io/schema/vega/v5.json" }', - }, - }), - }, + attributes: { + visState: JSON.stringify({ + type: 'vega', + title: 'sample vega visualization', + params: { + spec: '{"$schema": "https://vega.github.io/schema/vega/v5.json" }', + }, + }), }, }, ]); - const result = await getStats(mockCollectorFetchContext.esClient, mockIndex, mockDeps); + const result = await getStats(mockCollectorFetchContext.soClient, mockDeps); expect(result).toBeUndefined(); }); test('Summarizes visualizations response data', async () => { const mockCollectorFetchContext = getMockCollectorFetchContext(mockedSavedObjects); - const result = await getStats(mockCollectorFetchContext.esClient, mockIndex, mockDeps); + const result = await getStats(mockCollectorFetchContext.soClient, mockDeps); expect(result).toMatchObject({ vega_lib_specs_total: 2, diff --git a/src/plugins/vis_type_vega/server/usage_collector/get_usage_collector.ts b/src/plugins/vis_type_vega/server/usage_collector/get_usage_collector.ts index 310486bfdfffd..ae99021745a0c 100644 --- a/src/plugins/vis_type_vega/server/usage_collector/get_usage_collector.ts +++ b/src/plugins/vis_type_vega/server/usage_collector/get_usage_collector.ts @@ -7,14 +7,20 @@ */ import { parse } from 'hjson'; -import type { ElasticsearchClient } from 'src/core/server'; -import { VegaSavedObjectAttributes, VisTypeVegaPluginSetupDependencies } from '../types'; +import type { SavedObjectsClientContract, SavedObjectsFindResult } from '../../../../core/server'; +import type { SavedVisState } from '../../../visualizations/common'; +import type { VegaSavedObjectAttributes, VisTypeVegaPluginSetupDependencies } from '../types'; type UsageCollectorDependencies = Pick; - type VegaType = 'vega' | 'vega-lite'; +export interface VegaUsage { + vega_lib_specs_total: number; + vega_lite_lib_specs_total: number; + vega_use_map_total: number; +} + function isVegaType(attributes: any): attributes is VegaSavedObjectAttributes { return attributes && attributes.type === 'vega' && attributes.params?.spec; } @@ -45,15 +51,8 @@ const getDefaultVegaVisualizations = (home: UsageCollectorDependencies['home']) return titles; }; -export interface VegaUsage { - vega_lib_specs_total: number; - vega_lite_lib_specs_total: number; - vega_use_map_total: number; -} - export const getStats = async ( - esClient: ElasticsearchClient, - index: string, + soClient: SavedObjectsClientContract, { home }: UsageCollectorDependencies ): Promise => { let shouldPublishTelemetry = false; @@ -64,58 +63,54 @@ export const getStats = async ( vega_use_map_total: 0, }; - const searchParams = { - size: 10000, - index, - ignoreUnavailable: true, - filterPath: ['hits.hits._id', 'hits.hits._source.visualization'], - body: { - query: { - bool: { - filter: { term: { type: 'visualization' } }, - }, - }, - }, - }; - - const { body: esResponse } = await esClient.search<{ visualization: { visState: string } }>( - searchParams - ); - const size = esResponse?.hits?.hits?.length ?? 0; - - if (!size) { - return; - } - // we want to exclude the Vega Sample Data visualizations from the stats // in order to have more accurate results const excludedFromStatsVisualizations = getDefaultVegaVisualizations(home); - for (const hit of esResponse.hits.hits) { - const visualization = hit._source?.visualization; - const visState = JSON.parse(visualization?.visState ?? '{}'); - if (isVegaType(visState) && !excludedFromStatsVisualizations.includes(visState.title)) { - try { - const spec = parse(visState.params.spec, { legacyRoot: false }); + const finder = await soClient.createPointInTimeFinder({ + type: 'visualization', + perPage: 1000, + namespaces: ['*'], + }); - if (spec) { - shouldPublishTelemetry = true; + const doTelemetry = ({ params }: SavedVisState) => { + try { + const spec = parse(params.spec, { legacyRoot: false }); - if (checkVegaSchemaType(spec.$schema, 'vega')) { - vegaUsage.vega_lib_specs_total++; - } - if (checkVegaSchemaType(spec.$schema, 'vega-lite')) { - vegaUsage.vega_lite_lib_specs_total++; - } - if (spec.config?.kibana?.type === 'map') { - vegaUsage.vega_use_map_total++; - } + if (spec) { + shouldPublishTelemetry = true; + + if (checkVegaSchemaType(spec.$schema, 'vega')) { + vegaUsage.vega_lib_specs_total++; + } + if (checkVegaSchemaType(spec.$schema, 'vega-lite')) { + vegaUsage.vega_lite_lib_specs_total++; + } + if (spec.config?.kibana?.type === 'map') { + vegaUsage.vega_use_map_total++; } - } catch (e) { - // Let it go, the data is invalid and we'll don't need to handle it } + } catch (e) { + // Let it go, the data is invalid and we'll don't need to handle it } + }; + + for await (const response of finder.find()) { + (response.saved_objects || []).forEach(({ attributes }: SavedObjectsFindResult) => { + if (attributes?.visState) { + try { + const visState: SavedVisState = JSON.parse(attributes.visState); + + if (isVegaType(visState) && !excludedFromStatsVisualizations.includes(visState.title)) { + doTelemetry(visState); + } + } catch { + // nothing to be here, "so" not valid + } + } + }); } + await finder.close(); return shouldPublishTelemetry ? vegaUsage : undefined; }; diff --git a/src/plugins/vis_type_vega/server/usage_collector/register_vega_collector.test.ts b/src/plugins/vis_type_vega/server/usage_collector/register_vega_collector.test.ts index 7933da3e675f6..fc488540293ad 100644 --- a/src/plugins/vis_type_vega/server/usage_collector/register_vega_collector.test.ts +++ b/src/plugins/vis_type_vega/server/usage_collector/register_vega_collector.test.ts @@ -6,27 +6,28 @@ * Side Public License, v 1. */ -import { of } from 'rxjs'; +import { + createUsageCollectionSetupMock, + createCollectorFetchContextMock, +} from '../../../usage_collection/server/mocks'; import { mockStats, mockGetStats } from './get_usage_collector.mock'; -import { createUsageCollectionSetupMock } from 'src/plugins/usage_collection/server/mocks'; -import { createCollectorFetchContextMock } from 'src/plugins/usage_collection/server/mocks'; -import { HomeServerPluginSetup } from '../../../home/server'; import { registerVegaUsageCollector } from './register_vega_collector'; -import { ConfigObservable } from '../types'; + +import type { HomeServerPluginSetup } from '../../../home/server'; +import type { ConfigObservable } from '../types'; describe('registerVegaUsageCollector', () => { - const mockIndex = 'mock_index'; const mockDeps = { home: ({} as unknown) as HomeServerPluginSetup }; - const mockConfig = of({ kibana: { index: mockIndex } }) as ConfigObservable; + const mockConfig = {} as ConfigObservable; - it('makes a usage collector and registers it`', () => { + test('makes a usage collector and registers it`', () => { const mockCollectorSet = createUsageCollectionSetupMock(); registerVegaUsageCollector(mockCollectorSet, mockConfig, mockDeps); expect(mockCollectorSet.makeUsageCollector).toBeCalledTimes(1); expect(mockCollectorSet.registerCollector).toBeCalledTimes(1); }); - it('makeUsageCollector configs fit the shape', () => { + test('makeUsageCollector configs fit the shape', () => { const mockCollectorSet = createUsageCollectionSetupMock(); registerVegaUsageCollector(mockCollectorSet, mockConfig, mockDeps); expect(mockCollectorSet.makeUsageCollector).toHaveBeenCalledWith({ @@ -39,21 +40,21 @@ describe('registerVegaUsageCollector', () => { expect(usageCollectorConfig.isReady()).toBe(true); }); - it('makeUsageCollector config.isReady returns true', () => { + test('makeUsageCollector config.isReady returns true', () => { const mockCollectorSet = createUsageCollectionSetupMock(); registerVegaUsageCollector(mockCollectorSet, mockConfig, mockDeps); const usageCollectorConfig = mockCollectorSet.makeUsageCollector.mock.calls[0][0]; expect(usageCollectorConfig.isReady()).toBe(true); }); - it('makeUsageCollector config.fetch calls getStats', async () => { + test('makeUsageCollector config.fetch calls getStats', async () => { const mockCollectorSet = createUsageCollectionSetupMock(); registerVegaUsageCollector(mockCollectorSet, mockConfig, mockDeps); const usageCollector = mockCollectorSet.makeUsageCollector.mock.results[0].value; const mockedCollectorFetchContext = createCollectorFetchContextMock(); const fetchResult = await usageCollector.fetch(mockedCollectorFetchContext); expect(mockGetStats).toBeCalledTimes(1); - expect(mockGetStats).toBeCalledWith(mockedCollectorFetchContext.esClient, mockIndex, mockDeps); + expect(mockGetStats).toBeCalledWith(mockedCollectorFetchContext.soClient, mockDeps); expect(fetchResult).toBe(mockStats); }); }); diff --git a/src/plugins/vis_type_vega/server/usage_collector/register_vega_collector.ts b/src/plugins/vis_type_vega/server/usage_collector/register_vega_collector.ts index 45f1758c90450..ef65b58a8315b 100644 --- a/src/plugins/vis_type_vega/server/usage_collector/register_vega_collector.ts +++ b/src/plugins/vis_type_vega/server/usage_collector/register_vega_collector.ts @@ -6,10 +6,9 @@ * Side Public License, v 1. */ -import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; -import { first } from 'rxjs/operators'; import { getStats, VegaUsage } from './get_usage_collector'; -import { ConfigObservable, VisTypeVegaPluginSetupDependencies } from '../types'; +import type { UsageCollectionSetup } from '../../../usage_collection/server'; +import type { ConfigObservable, VisTypeVegaPluginSetupDependencies } from '../types'; export function registerVegaUsageCollector( collectorSet: UsageCollectionSetup, @@ -24,11 +23,7 @@ export function registerVegaUsageCollector( vega_lite_lib_specs_total: { type: 'long' }, vega_use_map_total: { type: 'long' }, }, - fetch: async ({ esClient }) => { - const { index } = (await config.pipe(first()).toPromise()).kibana; - - return await getStats(esClient, index, dependencies); - }, + fetch: async ({ soClient }) => await getStats(soClient, dependencies), }); collectorSet.registerCollector(collector); From b74c79ad32c95e37008ab0947d54bb207465b94c Mon Sep 17 00:00:00 2001 From: Diana Derevyankina <54894989+DziyanaDzeraviankina@users.noreply.github.com> Date: Mon, 30 Aug 2021 13:39:17 +0300 Subject: [PATCH 132/139] [Lens] Remove deprecated `IFieldType` (#109825) * [Lens] Remove deprecated `IFieldType` * Fix types for terms.test * Replace IndexPatternField with FieldSpec, revert terms.test and update other tests Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../lens/public/app_plugin/app.test.tsx | 20 +++++++++---------- .../workspace_panel/workspace_panel.test.tsx | 5 +++-- .../datapanel.test.tsx | 9 ++++++++- .../definitions/percentile.test.tsx | 3 +++ .../definitions/ranges/ranges.test.tsx | 18 +++++++++++++++-- .../public/indexpattern_datasource/types.ts | 10 +++++----- 6 files changed, 45 insertions(+), 20 deletions(-) diff --git a/x-pack/plugins/lens/public/app_plugin/app.test.tsx b/x-pack/plugins/lens/public/app_plugin/app.test.tsx index 22da62c616c4b..8cb4a7c4c8433 100644 --- a/x-pack/plugins/lens/public/app_plugin/app.test.tsx +++ b/x-pack/plugins/lens/public/app_plugin/app.test.tsx @@ -23,10 +23,10 @@ import { createMemoryHistory } from 'history'; import { esFilters, FilterManager, - IFieldType, IndexPattern, Query, } from '../../../../../src/plugins/data/public'; +import type { FieldSpec } from '../../../../../src/plugins/data/common'; import { TopNavMenuData } from '../../../../../src/plugins/navigation/public'; import { LensByValueInput } from '../embeddable/embeddable'; import { SavedObjectReference } from '../../../../../src/core/types'; @@ -146,7 +146,7 @@ describe('Lens App', () => { it('updates global filters with store state', async () => { const services = makeDefaultServices(sessionIdSubject); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IFieldType; + const pinnedField = ({ name: 'pinnedField' } as unknown) as FieldSpec; const pinnedFilter = esFilters.buildExistsFilter(pinnedField, indexPattern); services.data.query.filterManager.getFilters = jest.fn().mockImplementation(() => { return []; @@ -644,8 +644,8 @@ describe('Lens App', () => { it('saves app filters and does not save pinned filters', async () => { const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; + const pinnedField = ({ name: 'pinnedField' } as unknown) as FieldSpec; const unpinned = esFilters.buildExistsFilter(field, indexPattern); const pinned = esFilters.buildExistsFilter(pinnedField, indexPattern); await act(async () => { @@ -857,7 +857,7 @@ describe('Lens App', () => { it('updates the filters when the user changes them', async () => { const { instance, services, lensStore } = await mountWith({}); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; expect(lensStore.getState()).toEqual({ lens: expect.objectContaining({ filters: [], @@ -912,7 +912,7 @@ describe('Lens App', () => { }), }); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; act(() => services.data.query.filterManager.setFilters([ esFilters.buildExistsFilter(field, indexPattern), @@ -1047,8 +1047,8 @@ describe('Lens App', () => { }) ); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; + const pinnedField = ({ name: 'pinnedField' } as unknown) as FieldSpec; const unpinned = esFilters.buildExistsFilter(field, indexPattern); const pinned = esFilters.buildExistsFilter(pinnedField, indexPattern); FilterManager.setFiltersStore([pinned], esFilters.FilterStateStore.GLOBAL_STATE); @@ -1104,8 +1104,8 @@ describe('Lens App', () => { }) ); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; - const pinnedField = ({ name: 'pinnedField' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; + const pinnedField = ({ name: 'pinnedField' } as unknown) as FieldSpec; const unpinned = esFilters.buildExistsFilter(field, indexPattern); const pinned = esFilters.buildExistsFilter(pinnedField, indexPattern); FilterManager.setFiltersStore([pinned], esFilters.FilterStateStore.GLOBAL_STATE); diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx index 3c88e92afd448..380ff365337cc 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.test.tsx @@ -28,7 +28,8 @@ import { ReactWrapper } from 'enzyme'; import { DragDrop, ChildDragDropProvider } from '../../../drag_drop'; import { fromExpression } from '@kbn/interpreter/common'; import { coreMock } from 'src/core/public/mocks'; -import { esFilters, IFieldType, IndexPattern } from '../../../../../../../src/plugins/data/public'; +import { esFilters, IndexPattern } from '../../../../../../../src/plugins/data/public'; +import type { FieldSpec } from '../../../../../../../src/plugins/data/common'; import { UiActionsStart } from '../../../../../../../src/plugins/ui_actions/public'; import { uiActionsPluginMock } from '../../../../../../../src/plugins/ui_actions/public/mocks'; import { TriggerContract } from '../../../../../../../src/plugins/ui_actions/public/triggers'; @@ -419,7 +420,7 @@ describe('workspace_panel', () => { expect(expressionRendererMock).toHaveBeenCalledTimes(1); const indexPattern = ({ id: 'index1' } as unknown) as IndexPattern; - const field = ({ name: 'myfield' } as unknown) as IFieldType; + const field = ({ name: 'myfield' } as unknown) as FieldSpec; await act(async () => { instance.setProps({ diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx index 59aebc517bf22..a6828bf9d5873 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/datapanel.test.tsx @@ -664,7 +664,14 @@ describe('IndexPattern Data Panel', () => { ...props.indexPatterns['1'], fields: [ ...props.indexPatterns['1'].fields, - { name: '_id', displayName: '_id', meta: true, type: 'string' }, + { + name: '_id', + displayName: '_id', + meta: true, + type: 'string', + searchable: true, + aggregatable: true, + }, ], }, }} diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/percentile.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/percentile.test.tsx index 118405baebc8b..c4a88617c24b7 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/percentile.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/percentile.test.tsx @@ -81,6 +81,7 @@ describe('percentile', () => { displayName: 'bytes', type: 'number', esTypes: ['long'], + searchable: true, aggregatable: true, }) ).toEqual({ @@ -97,6 +98,7 @@ describe('percentile', () => { displayName: 'response_time', type: 'histogram', esTypes: ['histogram'], + searchable: true, aggregatable: true, }) ).toEqual({ @@ -113,6 +115,7 @@ describe('percentile', () => { displayName: 'origin', type: 'string', esTypes: ['keyword'], + searchable: true, aggregatable: true, }) ).toBeUndefined(); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/ranges/ranges.test.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/ranges/ranges.test.tsx index 92565d1590ea3..aef086a6ee288 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/ranges/ranges.test.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/operations/definitions/ranges/ranges.test.tsx @@ -96,9 +96,23 @@ const defaultOptions = { id: '1', title: 'my_index_pattern', hasRestrictions: false, - fields: [{ name: sourceField, type: 'number', displayName: sourceField }], + fields: [ + { + name: sourceField, + type: 'number', + displayName: sourceField, + searchable: true, + aggregatable: true, + }, + ], getFieldByName: getFieldByNameFactory([ - { name: sourceField, type: 'number', displayName: sourceField }, + { + name: sourceField, + type: 'number', + displayName: sourceField, + searchable: true, + aggregatable: true, + }, ]), }, operationDefinitionMap: {}, diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/types.ts b/x-pack/plugins/lens/public/indexpattern_datasource/types.ts index 1a3451bdb403b..72acc114ca4b2 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/types.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/types.ts @@ -5,10 +5,10 @@ * 2.0. */ -import { IFieldType } from 'src/plugins/data/common'; -import { IndexPatternColumn, IncompleteColumn } from './operations'; -import { IndexPatternAggRestrictions } from '../../../../../src/plugins/data/public'; -import { DragDropIdentifier } from '../drag_drop/providers'; +import type { IndexPatternColumn, IncompleteColumn } from './operations'; +import type { IndexPatternAggRestrictions } from '../../../../../src/plugins/data/public'; +import type { FieldSpec } from '../../../../../src/plugins/data/common'; +import type { DragDropIdentifier } from '../drag_drop/providers'; export { FieldBasedIndexPatternColumn, @@ -57,7 +57,7 @@ export interface IndexPattern { hasRestrictions: boolean; } -export type IndexPatternField = IFieldType & { +export type IndexPatternField = FieldSpec & { displayName: string; aggregationRestrictions?: Partial; meta?: boolean; From e11e3fdb1b3eee9edbcfe3c87ffee6cf8def1728 Mon Sep 17 00:00:00 2001 From: Diana Derevyankina <54894989+DziyanaDzeraviankina@users.noreply.github.com> Date: Mon, 30 Aug 2021 13:39:52 +0300 Subject: [PATCH 133/139] [TSVB] Remove deprecated `IFieldType` (#110404) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/application/components/aggs/agg.tsx | 5 ++--- .../public/application/components/aggs/aggs.tsx | 5 ++--- .../strategies/abstract_search_strategy.test.ts | 4 ++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/agg.tsx b/src/plugins/vis_type_timeseries/public/application/components/aggs/agg.tsx index 6ba213a47cd47..17af812ae5ce3 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/agg.tsx +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/agg.tsx @@ -13,14 +13,13 @@ import { aggToComponent } from '../lib/agg_to_component'; import { isMetricEnabled } from '../../lib/check_ui_restrictions'; import { UnsupportedAgg } from './unsupported_agg'; import { TemporaryUnsupportedAgg } from './temporary_unsupported_agg'; -import type { Metric, Panel, Series } from '../../../../common/types'; +import type { Metric, Panel, Series, SanitizedFieldType } from '../../../../common/types'; import { DragHandleProps } from '../../../types'; import { TimeseriesUIRestrictions } from '../../../../common/ui_restrictions'; -import { IFieldType } from '../../../../../data/common/index_patterns/fields'; interface AggProps extends HTMLAttributes { disableDelete: boolean; - fields: IFieldType[]; + fields: Record; model: Metric; panel: Panel; series: Series; diff --git a/src/plugins/vis_type_timeseries/public/application/components/aggs/aggs.tsx b/src/plugins/vis_type_timeseries/public/application/components/aggs/aggs.tsx index 192cdd4985c6c..0edd8b9c3feb5 100644 --- a/src/plugins/vis_type_timeseries/public/application/components/aggs/aggs.tsx +++ b/src/plugins/vis_type_timeseries/public/application/components/aggs/aggs.tsx @@ -15,9 +15,8 @@ import { Agg } from './agg'; import { seriesChangeHandler } from '../lib/series_change_handler'; import { handleAdd, handleDelete } from '../lib/collection_actions'; import { newMetricAggFn } from '../lib/new_metric_agg_fn'; -import type { Panel, Series } from '../../../../common/types'; +import type { Panel, Series, SanitizedFieldType } from '../../../../common/types'; import type { TimeseriesUIRestrictions } from '../../../../common/ui_restrictions'; -import { IFieldType } from '../../../../../data/common/index_patterns/fields'; const DROPPABLE_ID = 'aggs_dnd'; @@ -25,7 +24,7 @@ export interface AggsProps { name: keyof Series; panel: Panel; model: Series; - fields: IFieldType[]; + fields: Record; uiRestrictions: TimeseriesUIRestrictions; onChange(): void; } diff --git a/src/plugins/vis_type_timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.test.ts b/src/plugins/vis_type_timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.test.ts index 7add5cb4a4553..767d5c00d7a33 100644 --- a/src/plugins/vis_type_timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.test.ts +++ b/src/plugins/vis_type_timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.test.ts @@ -10,7 +10,7 @@ import { IndexPatternsService } from '../../../../../data/common'; import { from } from 'rxjs'; import { AbstractSearchStrategy } from './abstract_search_strategy'; -import type { IFieldType } from '../../../../../data/common'; +import type { FieldSpec } from '../../../../../data/common'; import type { CachedIndexPatternFetcher } from '../lib/cached_index_pattern_fetcher'; import type { VisTypeTimeseriesRequestHandlerContext, @@ -21,7 +21,7 @@ class FooSearchStrategy extends AbstractSearchStrategy {} describe('AbstractSearchStrategy', () => { let abstractSearchStrategy: AbstractSearchStrategy; - let mockedFields: IFieldType[]; + let mockedFields: FieldSpec[]; let requestContext: VisTypeTimeseriesRequestHandlerContext; beforeEach(() => { From 1932540992ff7afcbd8bf4f9f55c22ff46b58ce5 Mon Sep 17 00:00:00 2001 From: Gloria Hornero Date: Mon, 30 Aug 2021 13:02:39 +0200 Subject: [PATCH 134/139] fixes failing tests (#110436) --- x-pack/plugins/security_solution/cypress/screens/alerts.ts | 2 -- .../security_solution/cypress/tasks/create_new_rule.ts | 5 +++-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/security_solution/cypress/screens/alerts.ts b/x-pack/plugins/security_solution/cypress/screens/alerts.ts index fe7bf959fe059..675a25641a2bd 100644 --- a/x-pack/plugins/security_solution/cypress/screens/alerts.ts +++ b/x-pack/plugins/security_solution/cypress/screens/alerts.ts @@ -41,8 +41,6 @@ export const ACKNOWLEDGED_ALERTS_FILTER_BTN = '[data-test-subj="acknowledgedAler export const LOADING_ALERTS_PANEL = '[data-test-subj="loading-alerts-panel"]'; -export const LOADING_SPINNER = '[data-test-subj="LoadingPanelTimeline"]'; - export const MANAGE_ALERT_DETECTION_RULES_BTN = '[data-test-subj="manage-alert-detection-rules"]'; export const MARK_ALERT_ACKNOWLEDGED_BTN = '[data-test-subj="acknowledged-alert-status"]'; diff --git a/x-pack/plugins/security_solution/cypress/tasks/create_new_rule.ts b/x-pack/plugins/security_solution/cypress/tasks/create_new_rule.ts index 98f9b3455841f..f34c3f598e934 100644 --- a/x-pack/plugins/security_solution/cypress/tasks/create_new_rule.ts +++ b/x-pack/plugins/security_solution/cypress/tasks/create_new_rule.ts @@ -14,7 +14,6 @@ import { ThreatIndicatorRule, ThresholdRule, } from '../objects/rule'; -import { LOADING_SPINNER } from '../screens/alerts'; import { ABOUT_CONTINUE_BTN, ABOUT_EDIT_TAB, @@ -94,6 +93,7 @@ import { EMAIL_CONNECTOR_USER_INPUT, EMAIL_CONNECTOR_PASSWORD_INPUT, } from '../screens/create_new_rule'; +import { LOADING_INDICATOR } from '../screens/security_header'; import { TOAST_ERROR } from '../screens/shared'; import { SERVER_SIDE_EVENT_COUNT } from '../screens/timeline'; import { TIMELINE } from '../screens/timelines'; @@ -532,7 +532,8 @@ export const waitForAlertsToPopulate = async (alertCountThreshold = 1) => { cy.waitUntil( () => { refreshPage(); - cy.get(LOADING_SPINNER).should('not.exist'); + cy.get(LOADING_INDICATOR).should('exist'); + cy.get(LOADING_INDICATOR).should('not.exist'); return cy .get(SERVER_SIDE_EVENT_COUNT) .invoke('text') From 265fed590e72d23ee918b07a8643ddf287f30e2f Mon Sep 17 00:00:00 2001 From: Alexey Antonov Date: Mon, 30 Aug 2021 14:11:42 +0300 Subject: [PATCH 135/139] [Data Table] Expensive queries are causing unnecessary load and delays on Elasticsearch (#98903) * [Data Table] Expensive queries are causing unnecessary load and delays on Elasticsearch Part of #93770 * remove extra cycles * fix PR comments * fix finder.close * code cleanup * add namespaces: ['*'], * fix jest Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../server/usage_collector/get_stats.test.ts | 16 ++++-- .../server/usage_collector/get_stats.ts | 56 ++++++++++++------- .../register_usage_collector.test.ts | 15 +++-- .../register_usage_collector.ts | 3 +- 4 files changed, 57 insertions(+), 33 deletions(-) diff --git a/src/plugins/vis_type_table/server/usage_collector/get_stats.test.ts b/src/plugins/vis_type_table/server/usage_collector/get_stats.test.ts index 3f8f4289321b5..76f067e3a23d7 100644 --- a/src/plugins/vis_type_table/server/usage_collector/get_stats.test.ts +++ b/src/plugins/vis_type_table/server/usage_collector/get_stats.test.ts @@ -6,8 +6,8 @@ * Side Public License, v 1. */ -import { SavedObjectsClientContract } from 'kibana/server'; import { getStats } from './get_stats'; +import type { SavedObjectsClientContract } from '../../../../core/server'; const mockVisualizations = { saved_objects: [ @@ -42,15 +42,23 @@ const mockVisualizations = { describe('vis_type_table getStats', () => { const mockSoClient = ({ - find: jest.fn().mockResolvedValue(mockVisualizations), + createPointInTimeFinder: jest.fn().mockResolvedValue({ + close: jest.fn(), + find: function* asyncGenerator() { + yield mockVisualizations; + }, + }), } as unknown) as SavedObjectsClientContract; test('Returns stats from saved objects for table vis only', async () => { const result = await getStats(mockSoClient); - expect(mockSoClient.find).toHaveBeenCalledWith({ + + expect(mockSoClient.createPointInTimeFinder).toHaveBeenCalledWith({ type: 'visualization', - perPage: 10000, + perPage: 1000, + namespaces: ['*'], }); + expect(result).toEqual({ total: 4, total_split: 3, diff --git a/src/plugins/vis_type_table/server/usage_collector/get_stats.ts b/src/plugins/vis_type_table/server/usage_collector/get_stats.ts index 6fdb555c86328..ef948c2d7b70b 100644 --- a/src/plugins/vis_type_table/server/usage_collector/get_stats.ts +++ b/src/plugins/vis_type_table/server/usage_collector/get_stats.ts @@ -6,12 +6,14 @@ * Side Public License, v 1. */ -import { ISavedObjectsRepository, SavedObjectsClientContract } from 'kibana/server'; -import { - SavedVisState, - VisualizationSavedObjectAttributes, -} from 'src/plugins/visualizations/common'; -import { TableVisParams, VIS_TYPE_TABLE } from '../../common'; +import { VIS_TYPE_TABLE } from '../../common'; + +import type { + ISavedObjectsRepository, + SavedObjectsClientContract, + SavedObjectsFindResult, +} from '../../../../core/server'; +import type { SavedVisState } from '../../../visualizations/common'; export interface VisTypeTableUsage { /** @@ -44,17 +46,14 @@ export interface VisTypeTableUsage { export async function getStats( soClient: SavedObjectsClientContract | ISavedObjectsRepository ): Promise { - const visualizations = await soClient.find({ + const finder = await soClient.createPointInTimeFinder({ type: 'visualization', - perPage: 10000, + perPage: 1000, + namespaces: ['*'], }); - const tableVisualizations = visualizations.saved_objects - .map>(({ attributes }) => JSON.parse(attributes.visState)) - .filter(({ type }) => type === VIS_TYPE_TABLE); - - const defaultStats = { - total: tableVisualizations.length, + const stats: VisTypeTableUsage = { + total: 0, total_split: 0, split_columns: { total: 0, @@ -66,20 +65,39 @@ export async function getStats( }, }; - return tableVisualizations.reduce((acc, { aggs, params }) => { + const doTelemetry = ({ aggs, params }: SavedVisState) => { + stats.total += 1; + const hasSplitAgg = aggs.find((agg) => agg.schema === 'split'); if (hasSplitAgg) { - acc.total_split += 1; + stats.total_split += 1; const isSplitRow = params.row; const isSplitEnabled = hasSplitAgg.enabled; + const container = isSplitRow ? stats.split_rows : stats.split_columns; - const container = isSplitRow ? acc.split_rows : acc.split_columns; container.total += 1; container.enabled = isSplitEnabled ? container.enabled + 1 : container.enabled; } + }; + + for await (const response of finder.find()) { + (response.saved_objects || []).forEach(({ attributes }: SavedObjectsFindResult) => { + if (attributes?.visState) { + try { + const visState: SavedVisState = JSON.parse(attributes.visState); + + if (visState.type === VIS_TYPE_TABLE) { + doTelemetry(visState); + } + } catch { + // nothing to be here, "so" not valid + } + } + }); + } + await finder.close(); - return acc; - }, defaultStats); + return stats; } diff --git a/src/plugins/vis_type_table/server/usage_collector/register_usage_collector.test.ts b/src/plugins/vis_type_table/server/usage_collector/register_usage_collector.test.ts index e045788897b61..d32435ac45406 100644 --- a/src/plugins/vis_type_table/server/usage_collector/register_usage_collector.test.ts +++ b/src/plugins/vis_type_table/server/usage_collector/register_usage_collector.test.ts @@ -6,20 +6,19 @@ * Side Public License, v 1. */ -jest.mock('./get_stats', () => ({ - getStats: jest.fn().mockResolvedValue({ somestat: 1 }), -})); - import { createUsageCollectionSetupMock, createCollectorFetchContextMock, -} from 'src/plugins/usage_collection/server/mocks'; - +} from '../../../usage_collection/server/mocks'; import { registerVisTypeTableUsageCollector } from './register_usage_collector'; import { getStats } from './get_stats'; +jest.mock('./get_stats', () => ({ + getStats: jest.fn().mockResolvedValue({ somestat: 1 }), +})); + describe('registerVisTypeTableUsageCollector', () => { - it('Usage collector configs fit the shape', () => { + test('Usage collector configs fit the shape', () => { const mockCollectorSet = createUsageCollectionSetupMock(); registerVisTypeTableUsageCollector(mockCollectorSet); expect(mockCollectorSet.makeUsageCollector).toBeCalledTimes(1); @@ -45,7 +44,7 @@ describe('registerVisTypeTableUsageCollector', () => { expect(usageCollectorConfig.isReady()).toBe(true); }); - it('Usage collector config.fetch calls getStats', async () => { + test('Usage collector config.fetch calls getStats', async () => { const mockCollectorSet = createUsageCollectionSetupMock(); registerVisTypeTableUsageCollector(mockCollectorSet); const usageCollector = mockCollectorSet.makeUsageCollector.mock.results[0].value; diff --git a/src/plugins/vis_type_table/server/usage_collector/register_usage_collector.ts b/src/plugins/vis_type_table/server/usage_collector/register_usage_collector.ts index d3d3204e0841c..74044c9ae70c0 100644 --- a/src/plugins/vis_type_table/server/usage_collector/register_usage_collector.ts +++ b/src/plugins/vis_type_table/server/usage_collector/register_usage_collector.ts @@ -6,9 +6,8 @@ * Side Public License, v 1. */ -import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; - import { getStats, VisTypeTableUsage } from './get_stats'; +import type { UsageCollectionSetup } from '../../../usage_collection/server'; export function registerVisTypeTableUsageCollector(collectorSet: UsageCollectionSetup) { const collector = collectorSet.makeUsageCollector({ From 266769a8336eb3a163d1263ee3fae97835dae608 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Mon, 30 Aug 2021 12:50:38 +0100 Subject: [PATCH 136/139] skip flaky suite (#108633) --- .../logging/integration_tests/rolling_file_appender.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/server/logging/integration_tests/rolling_file_appender.test.ts b/src/core/server/logging/integration_tests/rolling_file_appender.test.ts index b560748026ace..83533e29ad12e 100644 --- a/src/core/server/logging/integration_tests/rolling_file_appender.test.ts +++ b/src/core/server/logging/integration_tests/rolling_file_appender.test.ts @@ -60,7 +60,8 @@ describe('RollingFileAppender', () => { const message = (index: number) => `some message of around 40 bytes number ${index}`; const expectedFileContent = (indices: number[]) => indices.map(message).join('\n') + '\n'; - describe('`size-limit` policy with `numeric` strategy', () => { + // FLAKY: https://github.com/elastic/kibana/issues/108633 + describe.skip('`size-limit` policy with `numeric` strategy', () => { it('rolls the log file in the correct order', async () => { root = createRoot({ type: 'rolling-file', From 0082e5ac6b0c127d889995f7bf415436c7d9355e Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Mon, 30 Aug 2021 13:08:13 +0100 Subject: [PATCH 137/139] skip flaky suite (#98463) --- x-pack/test/accessibility/apps/kibana_overview.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/accessibility/apps/kibana_overview.ts b/x-pack/test/accessibility/apps/kibana_overview.ts index 9d21f08a900cc..9f5d91e5b4d54 100644 --- a/x-pack/test/accessibility/apps/kibana_overview.ts +++ b/x-pack/test/accessibility/apps/kibana_overview.ts @@ -11,7 +11,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['common', 'home']); const a11y = getService('a11y'); - describe('Kibana overview', () => { + // FLAKY: https://github.com/elastic/kibana/issues/98463 + describe.skip('Kibana overview', () => { const esArchiver = getService('esArchiver'); before(async () => { From 6d874caef56b4ed654bb9897114ae82fab52b38e Mon Sep 17 00:00:00 2001 From: Alexey Antonov Date: Mon, 30 Aug 2021 15:17:09 +0300 Subject: [PATCH 138/139] [Lens] should register "suffix" field formatter in setup lifecycle (#110218) Closes: #106838 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../lens/common/suffix_formatter/index.ts | 13 +++-- .../suffix_formatter/suffix_formatter.test.ts | 6 +- .../public/indexpattern_datasource/index.ts | 56 +++++++++++-------- .../indexpattern_datasource/indexpattern.tsx | 6 +- 4 files changed, 48 insertions(+), 33 deletions(-) diff --git a/x-pack/plugins/lens/common/suffix_formatter/index.ts b/x-pack/plugins/lens/common/suffix_formatter/index.ts index 00ae005c38b14..4fa6457f0125d 100644 --- a/x-pack/plugins/lens/common/suffix_formatter/index.ts +++ b/x-pack/plugins/lens/common/suffix_formatter/index.ts @@ -28,9 +28,11 @@ export const unitSuffixesLong: Record = { d: i18n.translate('xpack.lens.fieldFormats.longSuffix.d', { defaultMessage: 'per day' }), }; -export function getSuffixFormatter(formatFactory: FormatFactory): FieldFormatInstanceType { +export const suffixFormatterId = 'suffix'; + +export function getSuffixFormatter(getFormatFactory: () => FormatFactory): FieldFormatInstanceType { return class SuffixFormatter extends FieldFormat { - static id = 'suffix'; + static id = suffixFormatterId; static hidden = true; // Don't want this format to appear in index pattern editor static title = i18n.translate('xpack.lens.fieldFormats.suffix.title', { defaultMessage: 'Suffix', @@ -51,9 +53,10 @@ export function getSuffixFormatter(formatFactory: FormatFactory): FieldFormatIns const nestedFormatter = this.param('id'); const nestedParams = this.param('params'); - const formattedValue = formatFactory({ id: nestedFormatter, params: nestedParams }).convert( - val - ); + const formattedValue = getFormatFactory()({ + id: nestedFormatter, + params: nestedParams, + }).convert(val); // do not add suffixes to empty strings if (formattedValue === '') { diff --git a/x-pack/plugins/lens/common/suffix_formatter/suffix_formatter.test.ts b/x-pack/plugins/lens/common/suffix_formatter/suffix_formatter.test.ts index d08908ecde417..9ab76b73cbb66 100644 --- a/x-pack/plugins/lens/common/suffix_formatter/suffix_formatter.test.ts +++ b/x-pack/plugins/lens/common/suffix_formatter/suffix_formatter.test.ts @@ -12,7 +12,7 @@ describe('suffix formatter', () => { it('should call nested formatter and apply suffix', () => { const convertMock = jest.fn((x) => x); const formatFactory = jest.fn(() => ({ convert: convertMock })); - const SuffixFormatter = getSuffixFormatter((formatFactory as unknown) as FormatFactory); + const SuffixFormatter = getSuffixFormatter(() => (formatFactory as unknown) as FormatFactory); const nestedParams = { abc: 123 }; const formatterInstance = new SuffixFormatter({ unit: 'h', @@ -30,7 +30,7 @@ describe('suffix formatter', () => { it('should not add suffix to empty strings', () => { const convertMock = jest.fn((x) => ''); const formatFactory = jest.fn(() => ({ convert: convertMock })); - const SuffixFormatter = getSuffixFormatter((formatFactory as unknown) as FormatFactory); + const SuffixFormatter = getSuffixFormatter(() => (formatFactory as unknown) as FormatFactory); const nestedParams = { abc: 123 }; const formatterInstance = new SuffixFormatter({ unit: 'h', @@ -46,7 +46,7 @@ describe('suffix formatter', () => { it('should be a hidden formatter', () => { const convertMock = jest.fn((x) => ''); const formatFactory = jest.fn(() => ({ convert: convertMock })); - const SuffixFormatter = getSuffixFormatter((formatFactory as unknown) as FormatFactory); + const SuffixFormatter = getSuffixFormatter(() => (formatFactory as unknown) as FormatFactory); expect(SuffixFormatter.hidden).toBe(true); }); }); diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/index.ts b/x-pack/plugins/lens/public/indexpattern_datasource/index.ts index 3c00241cd7eda..9ff80f51bea97 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/index.ts +++ b/x-pack/plugins/lens/public/indexpattern_datasource/index.ts @@ -6,7 +6,7 @@ */ import type { CoreSetup } from 'kibana/public'; -import { Storage } from '../../../../../src/plugins/kibana_utils/public'; +import { createStartServicesGetter, Storage } from '../../../../../src/plugins/kibana_utils/public'; import type { ExpressionsSetup } from '../../../../../src/plugins/expressions/public'; import type { ChartsPluginSetup } from '../../../../../src/plugins/charts/public'; import type { IndexPatternFieldEditorStart } from '../../../../../src/plugins/index_pattern_field_editor/public'; @@ -14,7 +14,7 @@ import type { DataPublicPluginSetup, DataPublicPluginStart, } from '../../../../../src/plugins/data/public'; -import type { Datasource, EditorFrameSetup } from '../types'; +import type { EditorFrameSetup } from '../types'; import type { UiActionsStart } from '../../../../../src/plugins/ui_actions/public'; import type { FieldFormatsStart, @@ -57,29 +57,37 @@ export class IndexPatternDatasource { counterRate, getTimeScale, getSuffixFormatter, + suffixFormatterId, } = await import('../async_services'); - return core - .getStartServices() - .then(([coreStart, { indexPatternFieldEditor, uiActions, data, fieldFormats }]) => { - const suffixFormatter = getSuffixFormatter(fieldFormats.deserialize); - if (!fieldFormats.has(suffixFormatter.id)) { - // todo: this code should be executed on setup phase. - fieldFormatsSetup.register([suffixFormatter]); - } - expressions.registerFunction(getTimeScale(() => getTimeZone(core.uiSettings))); - expressions.registerFunction(counterRate); - expressions.registerFunction(renameColumns); - expressions.registerFunction(formatColumn); - return getIndexPatternDatasource({ - core: coreStart, - fieldFormats, - storage: new Storage(localStorage), - data, - charts, - indexPatternFieldEditor, - uiActions, - }); - }) as Promise; + + if (!fieldFormatsSetup.has(suffixFormatterId)) { + const startServices = createStartServicesGetter(core.getStartServices); + const suffixFormatter = getSuffixFormatter( + () => startServices().plugins.fieldFormats.deserialize + ); + + fieldFormatsSetup.register([suffixFormatter]); + } + + expressions.registerFunction(getTimeScale(() => getTimeZone(core.uiSettings))); + expressions.registerFunction(counterRate); + expressions.registerFunction(renameColumns); + expressions.registerFunction(formatColumn); + + const [ + coreStart, + { indexPatternFieldEditor, uiActions, data, fieldFormats }, + ] = await core.getStartServices(); + + return getIndexPatternDatasource({ + core: coreStart, + fieldFormats, + storage: new Storage(localStorage), + data, + charts, + indexPatternFieldEditor, + uiActions, + }); }); } } diff --git a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.tsx b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.tsx index fffbf0cba34d7..8f66bcf7fe49c 100644 --- a/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.tsx +++ b/x-pack/plugins/lens/public/indexpattern_datasource/indexpattern.tsx @@ -76,7 +76,11 @@ export { counterRate, } from '../../common/expressions'; export { FormatColumnArgs, supportedFormats, formatColumn } from '../../common/expressions'; -export { getSuffixFormatter, unitSuffixesLong } from '../../common/suffix_formatter'; +export { + getSuffixFormatter, + unitSuffixesLong, + suffixFormatterId, +} from '../../common/suffix_formatter'; export { getTimeScale, TimeScaleArgs } from '../../common/expressions'; export { renameColumns } from '../../common/expressions'; From ab2deb773a67cfcdfc62e4c2a2ef5eadb04acc5b Mon Sep 17 00:00:00 2001 From: Milton Hultgren Date: Mon, 30 Aug 2021 15:41:09 +0200 Subject: [PATCH 139/139] [Observability] Make Alerts page callout more subtle (#110197) --- x-pack/plugins/observability/public/pages/alerts/index.tsx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/observability/public/pages/alerts/index.tsx b/x-pack/plugins/observability/public/pages/alerts/index.tsx index 45a8dd842ee27..a03b9f2eb31fb 100644 --- a/x-pack/plugins/observability/public/pages/alerts/index.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/index.tsx @@ -177,13 +177,11 @@ export function AlertsPage({ routeParams }: AlertsPageProps) {

{i18n.translate('xpack.observability.alertsDisclaimerText', { defaultMessage: - 'This page shows an experimental alerting view. The data shown here will probably not be an accurate representation of alerts. A non-experimental list of alerts is available in the Alerts and Actions settings in Stack Management.', + 'This page shows an experimental list of alerts. The data might not be accurate. All alerts are available in the ', })} -

-

{i18n.translate('xpack.observability.alertsDisclaimerLinkText', { - defaultMessage: 'Alerts and Actions', + defaultMessage: 'Rules and Connectors settings.', })}

{ - // (undocumented) - id: string; -} - -// Warning: (ae-forgotten-export) The symbol "EmbeddableServerPlugin" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "plugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const plugin: () => EmbeddableServerPlugin; - - -// (No @packageDocumentation comment for this package) - -``` diff --git a/src/plugins/expressions/public/public.api.md b/src/plugins/expressions/public/public.api.md deleted file mode 100644 index 1a5846f71acb0..0000000000000 --- a/src/plugins/expressions/public/public.api.md +++ /dev/null @@ -1,1205 +0,0 @@ -## API Report File for "kibana" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { CoreSetup } from 'src/core/public'; -import { CoreStart } from 'src/core/public'; -import { Ensure } from '@kbn/utility-types'; -import { EnvironmentMode } from '@kbn/config'; -import { EventEmitter } from 'events'; -import { KibanaExecutionContext } from 'src/core/public'; -import { KibanaRequest } from 'src/core/server'; -import { Observable } from 'rxjs'; -import { ObservableLike } from '@kbn/utility-types'; -import { PackageInfo } from '@kbn/config'; -import { Plugin as Plugin_2 } from 'src/core/public'; -import { PluginInitializerContext as PluginInitializerContext_2 } from 'src/core/public'; -import React from 'react'; -import { SerializableRecord } from '@kbn/utility-types'; -import { UnwrapObservable } from '@kbn/utility-types'; -import { UnwrapPromiseOrReturn } from '@kbn/utility-types'; - -// Warning: (ae-missing-release-tag) "AnyExpressionFunctionDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type AnyExpressionFunctionDefinition = ExpressionFunctionDefinition, any>; - -// Warning: (ae-missing-release-tag) "AnyExpressionTypeDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type AnyExpressionTypeDefinition = ExpressionTypeDefinition; - -// Warning: (ae-forgotten-export) The symbol "SingleArgumentType" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "MultipleArgumentType" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "UnresolvedSingleArgumentType" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "UnresolvedMultipleArgumentType" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ArgumentType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type ArgumentType = SingleArgumentType | MultipleArgumentType | UnresolvedSingleArgumentType | UnresolvedMultipleArgumentType; - -// Warning: (ae-missing-release-tag) "buildExpression" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function buildExpression(initialState?: ExpressionAstFunctionBuilder[] | ExpressionAstExpression | string): ExpressionAstExpressionBuilder; - -// Warning: (ae-forgotten-export) The symbol "InferFunctionDefinition" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "FunctionArgs" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "buildExpressionFunction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function buildExpressionFunction(fnName: InferFunctionDefinition['name'], -initialArgs: { - [K in keyof FunctionArgs]: FunctionArgs[K] | ExpressionAstExpressionBuilder | ExpressionAstExpressionBuilder[] | ExpressionAstExpression | ExpressionAstExpression[]; -}): ExpressionAstFunctionBuilder; - -// Warning: (ae-forgotten-export) The symbol "DefaultInspectorAdapters" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "createDefaultInspectorAdapters" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const createDefaultInspectorAdapters: () => DefaultInspectorAdapters; - -// Warning: (ae-missing-release-tag) "Datatable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface Datatable { - // (undocumented) - columns: DatatableColumn[]; - // (undocumented) - rows: DatatableRow[]; - // Warning: (ae-forgotten-export) The symbol "name" needs to be exported by the entry point index.d.ts - // - // (undocumented) - type: typeof name; -} - -// Warning: (ae-missing-release-tag) "DatatableColumn" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface DatatableColumn { - // (undocumented) - id: string; - // Warning: (ae-forgotten-export) The symbol "DatatableColumnMeta" needs to be exported by the entry point index.d.ts - // - // (undocumented) - meta: DatatableColumnMeta; - // (undocumented) - name: string; -} - -// Warning: (ae-missing-release-tag) "DatatableColumnType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type DatatableColumnType = '_source' | 'attachment' | 'boolean' | 'date' | 'geo_point' | 'geo_shape' | 'ip' | 'murmur3' | 'number' | 'string' | 'unknown' | 'conflict' | 'object' | 'nested' | 'histogram' | 'null'; - -// Warning: (ae-missing-release-tag) "DatatableRow" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type DatatableRow = Record; - -// Warning: (ae-forgotten-export) The symbol "Adapters" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ExpressionExecutionParams" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "Execution" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class Execution { - constructor(execution: ExecutionParams); - cancel(): void; - // (undocumented) - cast(value: any, toTypeNames?: string[]): any; - readonly context: ExecutionContext; - readonly contract: ExecutionContract; - // (undocumented) - readonly execution: ExecutionParams; - // (undocumented) - readonly expression: string; - input: Input; - // (undocumented) - get inspectorAdapters(): InspectorAdapters; - // (undocumented) - interpret(ast: ExpressionAstNode, input: T): Observable>; - // (undocumented) - invokeChain(chainArr: ExpressionAstFunction[], input: unknown): Observable; - // (undocumented) - invokeFunction(fn: ExpressionFunction, input: unknown, args: Record): Observable; - // (undocumented) - resolveArgs(fnDef: ExpressionFunction, input: unknown, argAsts: any): Observable; - readonly result: Observable>; - start(input?: Input, isSubExpression?: boolean): Observable>; - // Warning: (ae-forgotten-export) The symbol "ExecutionResult" needs to be exported by the entry point index.d.ts - readonly state: ExecutionContainer>; -} - -// Warning: (ae-forgotten-export) The symbol "StateContainer" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ExecutionPureTransitions" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExecutionContainer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExecutionContainer = StateContainer, ExecutionPureTransitions>; - -// Warning: (ae-missing-release-tag) "ExecutionContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ExecutionContext { - abortSignal: AbortSignal; - getExecutionContext: () => KibanaExecutionContext | undefined; - getKibanaRequest?: () => KibanaRequest; - getSearchContext: () => ExecutionContextSearch; - getSearchSessionId: () => string | undefined; - inspectorAdapters: InspectorAdapters; - isSyncColorsEnabled?: () => boolean; - types: Record; - variables: Record; -} - -// Warning: (ae-missing-release-tag) "ExecutionContract" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export class ExecutionContract { - constructor(execution: Execution); - cancel: () => void; - // (undocumented) - protected readonly execution: Execution; - getAst: () => ExpressionAstExpression; - getData: () => Observable>; - getExpression: () => string; - inspect: () => InspectorAdapters; - // (undocumented) - get isPending(): boolean; -} - -// Warning: (ae-missing-release-tag) "ExecutionParams" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExecutionParams { - // (undocumented) - ast?: ExpressionAstExpression; - // (undocumented) - executor: Executor; - // (undocumented) - expression?: string; - // (undocumented) - params: ExpressionExecutionParams; -} - -// Warning: (ae-missing-release-tag) "ExecutionState" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExecutionState extends ExecutorState { - // (undocumented) - ast: ExpressionAstExpression; - error?: Error; - result?: Output; - state: 'not-started' | 'pending' | 'result' | 'error'; -} - -// Warning: (ae-forgotten-export) The symbol "PersistableStateService" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "Executor" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class Executor = Record> implements PersistableStateService { - constructor(state?: ExecutorState); - // (undocumented) - get context(): Record; - // (undocumented) - createExecution(ast: string | ExpressionAstExpression, params?: ExpressionExecutionParams): Execution; - // (undocumented) - static createWithDefaults = Record>(state?: ExecutorState): Executor; - // (undocumented) - extendContext(extraContext: Record): void; - // (undocumented) - extract(ast: ExpressionAstExpression): { - state: ExpressionAstExpression; - references: SavedObjectReference[]; - }; - // (undocumented) - fork(): Executor; - // @deprecated (undocumented) - readonly functions: FunctionsRegistry; - // Warning: (ae-forgotten-export) The symbol "MigrateFunctionsObject" needs to be exported by the entry point index.d.ts - // - // (undocumented) - getAllMigrations(): MigrateFunctionsObject; - // (undocumented) - getFunction(name: string): ExpressionFunction | undefined; - // (undocumented) - getFunctions(): Record; - // (undocumented) - getType(name: string): ExpressionType | undefined; - // (undocumented) - getTypes(): Record; - // Warning: (ae-forgotten-export) The symbol "SavedObjectReference" needs to be exported by the entry point index.d.ts - // - // (undocumented) - inject(ast: ExpressionAstExpression, references: SavedObjectReference[]): ExpressionAstExpression; - // Warning: (ae-forgotten-export) The symbol "VersionedState" needs to be exported by the entry point index.d.ts - // - // (undocumented) - migrateToLatest(state: VersionedState): ExpressionAstExpression; - // (undocumented) - registerFunction(functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)): void; - // (undocumented) - registerType(typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)): void; - run(ast: string | ExpressionAstExpression, input: Input, params?: ExpressionExecutionParams): Observable>; - // (undocumented) - readonly state: ExecutorContainer; - // (undocumented) - telemetry(ast: ExpressionAstExpression, telemetryData: Record): Record; - // @deprecated (undocumented) - readonly types: TypesRegistry; - } - -// Warning: (ae-forgotten-export) The symbol "ExecutorPureTransitions" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ExecutorPureSelectors" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExecutorContainer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExecutorContainer = Record> = StateContainer, ExecutorPureTransitions, ExecutorPureSelectors>; - -// Warning: (ae-missing-release-tag) "ExecutorState" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExecutorState = Record> { - // (undocumented) - context: Context; - // (undocumented) - functions: Record; - // (undocumented) - types: Record; -} - -// Warning: (ae-missing-release-tag) "ExpressionAstArgument" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionAstArgument = string | boolean | number | ExpressionAstExpression; - -// Warning: (ae-missing-release-tag) "ExpressionAstExpression" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionAstExpression = { - type: 'expression'; - chain: ExpressionAstFunction[]; -}; - -// Warning: (ae-missing-release-tag) "ExpressionAstExpressionBuilder" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExpressionAstExpressionBuilder { - findFunction: (fnName: InferFunctionDefinition['name']) => Array> | []; - functions: ExpressionAstFunctionBuilder[]; - toAst: () => ExpressionAstExpression; - toString: () => string; - type: 'expression_builder'; -} - -// Warning: (ae-missing-release-tag) "ExpressionAstFunction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionAstFunction = { - type: 'function'; - function: string; - arguments: Record; - debug?: ExpressionAstFunctionDebug; -}; - -// Warning: (ae-missing-release-tag) "ExpressionAstFunctionBuilder" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExpressionAstFunctionBuilder { - // Warning: (ae-forgotten-export) The symbol "FunctionArgName" needs to be exported by the entry point index.d.ts - addArgument: >(name: A, value: FunctionArgs[A] | ExpressionAstExpressionBuilder) => this; - // Warning: (ae-forgotten-export) The symbol "FunctionBuilderArguments" needs to be exported by the entry point index.d.ts - arguments: FunctionBuilderArguments; - getArgument: >(name: A) => Array[A] | ExpressionAstExpressionBuilder> | undefined; - name: InferFunctionDefinition['name']; - // Warning: (ae-forgotten-export) The symbol "OptionalKeys" needs to be exported by the entry point index.d.ts - removeArgument: >>(name: A) => this; - replaceArgument: >(name: A, value: Array[A] | ExpressionAstExpressionBuilder>) => this; - toAst: () => ExpressionAstFunction; - toString: () => string; - type: 'expression_function_builder'; -} - -// Warning: (ae-missing-release-tag) "ExpressionAstNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionAstNode = ExpressionAstExpression | ExpressionAstFunction | ExpressionAstArgument; - -// Warning: (ae-missing-release-tag) "ExpressionExecutor" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export interface ExpressionExecutor { - // Warning: (ae-forgotten-export) The symbol "ExpressionInterpreter" needs to be exported by the entry point index.d.ts - // - // (undocumented) - interpreter: ExpressionInterpreter; -} - -// Warning: (ae-forgotten-export) The symbol "PersistableState" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExpressionFunction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionFunction implements PersistableState { - constructor(functionDefinition: AnyExpressionFunctionDefinition); - // (undocumented) - accepts: (type: string) => boolean; - aliases: string[]; - args: Record; - // (undocumented) - disabled: boolean; - // (undocumented) - extract: (state: ExpressionAstFunction['arguments']) => { - state: ExpressionAstFunction['arguments']; - references: SavedObjectReference[]; - }; - fn: (input: ExpressionValue, params: Record, handlers: object) => ExpressionValue; - help: string; - // (undocumented) - inject: (state: ExpressionAstFunction['arguments'], references: SavedObjectReference[]) => ExpressionAstFunction['arguments']; - inputTypes: string[] | undefined; - // (undocumented) - migrations: { - [key: string]: (state: SerializableRecord) => SerializableRecord; - }; - name: string; - // (undocumented) - telemetry: (state: ExpressionAstFunction['arguments'], telemetryData: Record) => Record; - type: string; -} - -// Warning: (ae-forgotten-export) The symbol "PersistableStateDefinition" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExpressionFunctionDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ExpressionFunctionDefinition, Output, Context extends ExecutionContext = ExecutionContext> extends PersistableStateDefinition { - aliases?: string[]; - args: { - [key in keyof Arguments]: ArgumentType; - }; - // @deprecated (undocumented) - context?: { - types: AnyExpressionFunctionDefinition['inputTypes']; - }; - disabled?: boolean; - fn(input: Input, args: Arguments, context: Context): Output; - help: string; - inputTypes?: Array>; - name: Name; - type?: TypeString | UnmappedTypeStrings; -} - -// @public -export interface ExpressionFunctionDefinitions { - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionClog" needs to be exported by the entry point index.d.ts - // - // (undocumented) - clog: ExpressionFunctionClog; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionCumulativeSum" needs to be exported by the entry point index.d.ts - // - // (undocumented) - cumulative_sum: ExpressionFunctionCumulativeSum; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionDerivative" needs to be exported by the entry point index.d.ts - // - // (undocumented) - derivative: ExpressionFunctionDerivative; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionFont" needs to be exported by the entry point index.d.ts - // - // (undocumented) - font: ExpressionFunctionFont; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionMovingAverage" needs to be exported by the entry point index.d.ts - // - // (undocumented) - moving_average: ExpressionFunctionMovingAverage; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionOverallMetric" needs to be exported by the entry point index.d.ts - // - // (undocumented) - overall_metric: ExpressionFunctionOverallMetric; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionTheme" needs to be exported by the entry point index.d.ts - // - // (undocumented) - theme: ExpressionFunctionTheme; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionVar" needs to be exported by the entry point index.d.ts - // - // (undocumented) - var: ExpressionFunctionVar; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionVarSet" needs to be exported by the entry point index.d.ts - // - // (undocumented) - var_set: ExpressionFunctionVarSet; -} - -// Warning: (ae-missing-release-tag) "ExpressionFunctionParameter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionFunctionParameter { - constructor(name: string, arg: ArgumentType); - // (undocumented) - accepts(type: string): boolean; - // (undocumented) - aliases: string[]; - // (undocumented) - default: any; - // (undocumented) - help: string; - // (undocumented) - multi: boolean; - // (undocumented) - name: string; - // (undocumented) - options: any[]; - // (undocumented) - required: boolean; - // (undocumented) - resolve: boolean; - // (undocumented) - types: string[]; -} - -// Warning: (ae-missing-release-tag) "ExpressionImage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExpressionImage { - // (undocumented) - dataurl: string; - // (undocumented) - mode: string; - // (undocumented) - type: 'image'; -} - -// Warning: (ae-missing-release-tag) "ExpressionRenderDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExpressionRenderDefinition { - displayName?: string; - help?: string; - name: string; - render: (domNode: HTMLElement, config: Config, handlers: IInterpreterRenderHandlers) => void | Promise; - reuseDomNode: boolean; - validate?: () => undefined | Error; -} - -// Warning: (ae-missing-release-tag) "ExpressionRenderer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionRenderer { - constructor(config: ExpressionRenderDefinition); - // (undocumented) - readonly displayName: string; - // (undocumented) - readonly help: string; - // (undocumented) - readonly name: string; - // (undocumented) - readonly render: ExpressionRenderDefinition['render']; - // (undocumented) - readonly reuseDomNode: boolean; - // (undocumented) - readonly validate: () => void | Error; -} - -// Warning: (ae-missing-release-tag) "ExpressionRendererComponent" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionRendererComponent = React.FC; - -// Warning: (ae-missing-release-tag) "ExpressionRendererEvent" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExpressionRendererEvent { - // (undocumented) - data: any; - // (undocumented) - name: string; -} - -// Warning: (ae-missing-release-tag) "ExpressionRendererRegistry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionRendererRegistry implements IRegistry { - // (undocumented) - get(id: string): ExpressionRenderer | null; - // Warning: (ae-forgotten-export) The symbol "AnyExpressionRenderDefinition" needs to be exported by the entry point index.d.ts - // - // (undocumented) - register(definition: AnyExpressionRenderDefinition | (() => AnyExpressionRenderDefinition)): void; - // (undocumented) - toArray(): ExpressionRenderer[]; - // (undocumented) - toJS(): Record; -} - -// Warning: (ae-missing-release-tag) "ExpressionRenderError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExpressionRenderError extends Error { - // (undocumented) - original?: Error; - // (undocumented) - type?: string; -} - -// Warning: (ae-missing-release-tag) "ExpressionRenderHandler" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionRenderHandler { - // Warning: (ae-forgotten-export) The symbol "ExpressionRenderHandlerParams" needs to be exported by the entry point index.d.ts - constructor(element: HTMLElement, { onRenderError, renderMode, syncColors, hasCompatibleActions, }?: ExpressionRenderHandlerParams); - // (undocumented) - destroy: () => void; - // (undocumented) - events$: Observable; - // (undocumented) - getElement: () => HTMLElement; - // (undocumented) - handleRenderError: (error: ExpressionRenderError) => void; - // (undocumented) - render$: Observable; - // (undocumented) - render: (value: any, uiState?: any) => Promise; - // Warning: (ae-forgotten-export) The symbol "UpdateValue" needs to be exported by the entry point index.d.ts - // - // (undocumented) - update$: Observable; - } - -// Warning: (ae-missing-release-tag) "ExpressionsInspectorAdapter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionsInspectorAdapter extends EventEmitter { - // (undocumented) - get ast(): any; - // (undocumented) - logAST(ast: any): void; -} - -// Warning: (ae-missing-release-tag) "ExpressionsPublicPlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -class ExpressionsPublicPlugin implements Plugin_2 { - constructor(initializerContext: PluginInitializerContext_2); - // (undocumented) - setup(core: CoreSetup): ExpressionsSetup; - // (undocumented) - start(core: CoreStart): ExpressionsStart; - // (undocumented) - stop(): void; -} - -export { ExpressionsPublicPlugin } - -export { ExpressionsPublicPlugin as Plugin } - -// Warning: (ae-missing-release-tag) "ExpressionsService" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export class ExpressionsService implements PersistableStateService { - // Warning: (ae-forgotten-export) The symbol "ExpressionServiceParams" needs to be exported by the entry point index.d.ts - constructor({ executor, renderers, }?: ExpressionServiceParams); - // (undocumented) - readonly execute: ExpressionsServiceStart['execute']; - // (undocumented) - readonly executor: Executor; - readonly extract: (state: ExpressionAstExpression) => { - state: ExpressionAstExpression; - references: SavedObjectReference[]; - }; - // (undocumented) - readonly fork: () => ExpressionsService; - getAllMigrations: () => import("../../../kibana_utils/common").MigrateFunctionsObject; - // (undocumented) - readonly getFunction: ExpressionsServiceStart['getFunction']; - readonly getFunctions: () => ReturnType; - // (undocumented) - readonly getRenderer: ExpressionsServiceStart['getRenderer']; - readonly getRenderers: () => ReturnType; - // (undocumented) - readonly getType: ExpressionsServiceStart['getType']; - readonly getTypes: () => ReturnType; - readonly inject: (state: ExpressionAstExpression, references: SavedObjectReference[]) => ExpressionAstExpression; - migrateToLatest: (state: VersionedState) => ExpressionAstExpression; - readonly registerFunction: (functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)) => void; - // (undocumented) - readonly registerRenderer: (definition: AnyExpressionRenderDefinition | (() => AnyExpressionRenderDefinition)) => void; - // (undocumented) - readonly registerType: (typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)) => void; - // (undocumented) - readonly renderers: ExpressionRendererRegistry; - // (undocumented) - readonly run: ExpressionsServiceStart['run']; - setup(...args: unknown[]): ExpressionsServiceSetup; - start(...args: unknown[]): ExpressionsServiceStart; - // (undocumented) - stop(): void; - readonly telemetry: (state: ExpressionAstExpression, telemetryData?: Record) => Record; -} - -// Warning: (ae-missing-release-tag) "ExpressionsServiceSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type ExpressionsServiceSetup = Pick; - -// Warning: (ae-missing-release-tag) "ExpressionsServiceStart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ExpressionsServiceStart { - execute: (ast: string | ExpressionAstExpression, input: Input, params?: ExpressionExecutionParams) => ExecutionContract; - fork: () => ExpressionsService; - getFunction: (name: string) => ReturnType; - getRenderer: (name: string) => ReturnType; - getType: (name: string) => ReturnType; - run: (ast: string | ExpressionAstExpression, input: Input, params?: ExpressionExecutionParams) => Observable>; -} - -// Warning: (ae-missing-release-tag) "ExpressionsSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type ExpressionsSetup = ExpressionsServiceSetup; - -// Warning: (ae-missing-release-tag) "ExpressionsStart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "ExpressionServiceStart" -// -// @public -export interface ExpressionsStart extends ExpressionsServiceStart { - // Warning: (ae-forgotten-export) The symbol "ExpressionLoader" needs to be exported by the entry point index.d.ts - // - // (undocumented) - ExpressionLoader: typeof ExpressionLoader; - // (undocumented) - ExpressionRenderHandler: typeof ExpressionRenderHandler; - // Warning: (ae-forgotten-export) The symbol "IExpressionLoader" needs to be exported by the entry point index.d.ts - // - // (undocumented) - loader: IExpressionLoader; - // (undocumented) - ReactExpressionRenderer: typeof ReactExpressionRenderer; - // Warning: (ae-forgotten-export) The symbol "render" needs to be exported by the entry point index.d.ts - // - // (undocumented) - render: typeof render; -} - -// Warning: (ae-missing-release-tag) "ExpressionType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionType { - constructor(definition: AnyExpressionTypeDefinition); - // (undocumented) - castsFrom: (value: ExpressionValue) => boolean; - // (undocumented) - castsTo: (value: ExpressionValue) => boolean; - // (undocumented) - create: unknown; - // (undocumented) - deserialize?: (serialized: any) => ExpressionValue; - // (undocumented) - from: (value: ExpressionValue, types: Record) => any; - // (undocumented) - getFromFn: (typeName: string) => undefined | ExpressionValueConverter; - // (undocumented) - getToFn: (typeName: string) => undefined | ExpressionValueConverter; - help: string; - // (undocumented) - name: string; - serialize?: (value: ExpressionValue) => any; - // (undocumented) - to: (value: ExpressionValue, toTypeName: string, types: Record) => any; - validate: (type: any) => void | Error; -} - -// Warning: (ae-missing-release-tag) "ExpressionTypeDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ExpressionTypeDefinition { - // (undocumented) - deserialize?: (type: SerializedType) => Value; - // (undocumented) - from?: { - [type: string]: ExpressionValueConverter; - }; - // (undocumented) - help?: string; - // (undocumented) - name: Name; - // (undocumented) - serialize?: (type: Value) => SerializedType; - // (undocumented) - to?: { - [type: string]: ExpressionValueConverter; - }; - // (undocumented) - validate?: (type: any) => void | Error; -} - -// Warning: (ae-missing-release-tag) "ExpressionTypeStyle" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ExpressionTypeStyle { - // (undocumented) - css: string; - // Warning: (ae-forgotten-export) The symbol "CSSStyle" needs to be exported by the entry point index.d.ts - // - // (undocumented) - spec: CSSStyle; - // (undocumented) - type: 'style'; -} - -// Warning: (ae-missing-release-tag) "ExpressionValue" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValue = ExpressionValueUnboxed | ExpressionValueBoxed; - -// Warning: (ae-missing-release-tag) "ExpressionValueBoxed" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueBoxed = { - type: Type; -} & Value; - -// Warning: (ae-missing-release-tag) "ExpressionValueConverter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueConverter = (input: I, availableTypes: Record) => O; - -// Warning: (ae-missing-release-tag) "ExpressionValueError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueError = ExpressionValueBoxed<'error', { - error: ErrorLike; - info?: SerializableRecord; -}>; - -// Warning: (ae-missing-release-tag) "ExpressionValueFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type ExpressionValueFilter = ExpressionValueBoxed<'filter', { - filterType?: string; - value?: string; - column?: string; - and: ExpressionValueFilter[]; - to?: string; - from?: string; - query?: string | null; -}>; - -// Warning: (ae-missing-release-tag) "ExpressionValueNum" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueNum = ExpressionValueBoxed<'num', { - value: number; -}>; - -// Warning: (ae-forgotten-export) The symbol "name" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExpressionValueRender" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -type ExpressionValueRender = ExpressionValueBoxed; - -export { ExpressionValueRender } - -export { ExpressionValueRender as Render } - -// Warning: (ae-missing-release-tag) "ExpressionValueUnboxed" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueUnboxed = any; - -// Warning: (ae-missing-release-tag) "Font" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface Font { - // (undocumented) - label: FontLabel; - // (undocumented) - value: FontValue; -} - -// Warning: (ae-forgotten-export) The symbol "fonts" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "FontLabel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type FontLabel = typeof fonts[number]['label']; - -// Warning: (ae-missing-release-tag) "FontStyle" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export enum FontStyle { - // (undocumented) - ITALIC = "italic", - // (undocumented) - NORMAL = "normal" -} - -// Warning: (ae-missing-release-tag) "FontValue" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type FontValue = typeof fonts[number]['value']; - -// Warning: (ae-missing-release-tag) "FontWeight" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export enum FontWeight { - // (undocumented) - BOLD = "bold", - // (undocumented) - BOLDER = "bolder", - // (undocumented) - EIGHT = "800", - // (undocumented) - FIVE = "500", - // (undocumented) - FOUR = "400", - // (undocumented) - LIGHTER = "lighter", - // (undocumented) - NINE = "900", - // (undocumented) - NORMAL = "normal", - // (undocumented) - ONE = "100", - // (undocumented) - SEVEN = "700", - // (undocumented) - SIX = "600", - // (undocumented) - THREE = "300", - // (undocumented) - TWO = "200" -} - -// Warning: (ae-missing-release-tag) "format" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function format(ast: T, type: T extends ExpressionAstExpression ? 'expression' : 'argument'): string; - -// Warning: (ae-missing-release-tag) "formatExpression" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function formatExpression(ast: ExpressionAstExpression): string; - -// Warning: (ae-missing-release-tag) "FunctionsRegistry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class FunctionsRegistry implements IRegistry { - constructor(executor: Executor); - // (undocumented) - get(id: string): ExpressionFunction | null; - // (undocumented) - register(functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)): void; - // (undocumented) - toArray(): ExpressionFunction[]; - // (undocumented) - toJS(): Record; -} - -// Warning: (ae-missing-release-tag) "IExpressionLoaderParams" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IExpressionLoaderParams { - // (undocumented) - context?: ExpressionValue; - // (undocumented) - customFunctions?: []; - // (undocumented) - customRenderers?: []; - // (undocumented) - debug?: boolean; - // (undocumented) - disableCaching?: boolean; - // (undocumented) - executionContext?: KibanaExecutionContext; - // (undocumented) - hasCompatibleActions?: ExpressionRenderHandlerParams['hasCompatibleActions']; - // (undocumented) - inspectorAdapters?: Adapters; - // Warning: (ae-forgotten-export) The symbol "RenderErrorHandlerFnType" needs to be exported by the entry point index.d.ts - // - // (undocumented) - onRenderError?: RenderErrorHandlerFnType; - partial?: boolean; - // Warning: (ae-forgotten-export) The symbol "RenderMode" needs to be exported by the entry point index.d.ts - // - // (undocumented) - renderMode?: RenderMode; - // (undocumented) - searchContext?: SerializableRecord; - // (undocumented) - searchSessionId?: string; - // (undocumented) - syncColors?: boolean; - throttle?: number; - // (undocumented) - uiState?: unknown; - // (undocumented) - variables?: Record; -} - -// Warning: (ae-missing-release-tag) "IInterpreterRenderHandlers" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IInterpreterRenderHandlers { - done: () => void; - // (undocumented) - event: (event: any) => void; - // (undocumented) - getRenderMode: () => RenderMode; - // (undocumented) - hasCompatibleActions?: (event: any) => Promise; - // (undocumented) - isSyncColorsEnabled: () => boolean; - // (undocumented) - onDestroy: (fn: () => void) => void; - // (undocumented) - reload: () => void; - uiState?: unknown; - // (undocumented) - update: (params: any) => void; -} - -// Warning: (ae-missing-release-tag) "InterpreterErrorType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type InterpreterErrorType = ExpressionValueError; - -// Warning: (ae-missing-release-tag) "IRegistry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IRegistry { - // (undocumented) - get(id: string): T | null; - // (undocumented) - toArray(): T[]; - // (undocumented) - toJS(): Record; -} - -// Warning: (ae-missing-release-tag) "isExpressionAstBuilder" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function isExpressionAstBuilder(val: any): val is ExpressionAstExpressionBuilder; - -// Warning: (ae-missing-release-tag) "KnownTypeToString" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type KnownTypeToString = T extends string ? 'string' : T extends boolean ? 'boolean' : T extends number ? 'number' : T extends null ? 'null' : T extends { - type: string; -} ? T['type'] : never; - -// Warning: (ae-missing-release-tag) "Overflow" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export enum Overflow { - // (undocumented) - AUTO = "auto", - // (undocumented) - HIDDEN = "hidden", - // (undocumented) - SCROLL = "scroll", - // (undocumented) - VISIBLE = "visible" -} - -// Warning: (ae-missing-release-tag) "parse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function parse(expression: E, startRule: S): S extends 'expression' ? ExpressionAstExpression : ExpressionAstArgument; - -// Warning: (ae-missing-release-tag) "parseExpression" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function parseExpression(expression: string): ExpressionAstExpression; - -// Warning: (ae-forgotten-export) The symbol "PluginInitializerContext" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "plugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function plugin(initializerContext: PluginInitializerContext): ExpressionsPublicPlugin; - -// Warning: (ae-missing-release-tag) "PointSeries" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type PointSeries = ExpressionValueBoxed<'pointseries', { - columns: PointSeriesColumns; - rows: PointSeriesRow[]; -}>; - -// Warning: (ae-missing-release-tag) "PointSeriesColumn" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface PointSeriesColumn { - // (undocumented) - expression: string; - // (undocumented) - role: 'measure' | 'dimension'; - // (undocumented) - type: 'number' | 'string'; -} - -// Warning: (ae-missing-release-tag) "PointSeriesColumnName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type PointSeriesColumnName = 'x' | 'y' | 'color' | 'size' | 'text'; - -// Warning: (ae-missing-release-tag) "PointSeriesColumns" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type PointSeriesColumns = Record | {}; - -// Warning: (ae-missing-release-tag) "PointSeriesRow" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type PointSeriesRow = Record; - -// Warning: (ae-missing-release-tag) "Range" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface Range { - // (undocumented) - from: number; - // (undocumented) - label?: string; - // (undocumented) - to: number; - // Warning: (ae-forgotten-export) The symbol "name" needs to be exported by the entry point index.d.ts - // - // (undocumented) - type: typeof name_3; -} - -// Warning: (ae-missing-release-tag) "ReactExpressionRenderer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const ReactExpressionRenderer: ({ className, dataAttrs, padding, renderError, expression, onEvent, onData$, reload$, debounce, ...expressionLoaderOptions }: ReactExpressionRendererProps) => JSX.Element; - -// Warning: (ae-missing-release-tag) "ReactExpressionRendererProps" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ReactExpressionRendererProps extends IExpressionLoaderParams { - // (undocumented) - className?: string; - // (undocumented) - dataAttrs?: string[]; - // (undocumented) - debounce?: number; - // (undocumented) - expression: string | ExpressionAstExpression; - // (undocumented) - onData$?: (data: TData, adapters?: TInspectorAdapters, partial?: boolean) => void; - // (undocumented) - onEvent?: (event: ExpressionRendererEvent) => void; - // (undocumented) - padding?: 'xs' | 's' | 'm' | 'l' | 'xl'; - reload$?: Observable; - // (undocumented) - renderError?: (message?: string | null, error?: ExpressionRenderError | null) => React.ReactElement | React.ReactElement[]; -} - -// Warning: (ae-missing-release-tag) "ReactExpressionRendererType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ReactExpressionRendererType = React.ComponentType; - -// Warning: (ae-missing-release-tag) "SerializedDatatable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface SerializedDatatable extends Datatable { - // (undocumented) - rows: string[][]; -} - -// Warning: (ae-missing-release-tag) "SerializedFieldFormat" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface SerializedFieldFormat> { - // (undocumented) - id?: string; - // (undocumented) - params?: TParams; -} - -// Warning: (ae-missing-release-tag) "Style" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type Style = ExpressionTypeStyle; - -// Warning: (ae-missing-release-tag) "TablesAdapter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class TablesAdapter extends EventEmitter { - // (undocumented) - logDatatable(name: string, datatable: Datatable): void; - // (undocumented) - get tables(): { - [key: string]: Datatable; - }; - } - -// Warning: (ae-missing-release-tag) "TextAlignment" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export enum TextAlignment { - // (undocumented) - CENTER = "center", - // (undocumented) - JUSTIFY = "justify", - // (undocumented) - LEFT = "left", - // (undocumented) - RIGHT = "right" -} - -// Warning: (ae-missing-release-tag) "TextDecoration" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export enum TextDecoration { - // (undocumented) - NONE = "none", - // (undocumented) - UNDERLINE = "underline" -} - -// Warning: (ae-missing-release-tag) "TypesRegistry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class TypesRegistry implements IRegistry { - constructor(executor: Executor); - // (undocumented) - get(id: string): ExpressionType | null; - // (undocumented) - register(typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)): void; - // (undocumented) - toArray(): ExpressionType[]; - // (undocumented) - toJS(): Record; -} - -// Warning: (ae-missing-release-tag) "TypeString" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type TypeString = KnownTypeToString ? UnwrapObservable : UnwrapPromiseOrReturn>; - -// Warning: (ae-missing-release-tag) "TypeToString" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type TypeToString = KnownTypeToString | UnmappedTypeStrings; - -// Warning: (ae-missing-release-tag) "UnmappedTypeStrings" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type UnmappedTypeStrings = 'date' | 'filter'; - - -// Warnings were encountered during analysis: -// -// src/plugins/expressions/common/ast/types.ts:29:3 - (ae-forgotten-export) The symbol "ExpressionAstFunctionDebug" needs to be exported by the entry point index.d.ts -// src/plugins/expressions/common/expression_types/specs/error.ts:20:5 - (ae-forgotten-export) The symbol "ErrorLike" needs to be exported by the entry point index.d.ts - -// (No @packageDocumentation comment for this package) - -``` diff --git a/src/plugins/expressions/server/server.api.md b/src/plugins/expressions/server/server.api.md deleted file mode 100644 index 05b8cb1a033d1..0000000000000 --- a/src/plugins/expressions/server/server.api.md +++ /dev/null @@ -1,954 +0,0 @@ -## API Report File for "kibana" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { CoreSetup } from 'src/core/server'; -import { CoreStart } from 'src/core/server'; -import { Ensure } from '@kbn/utility-types'; -import { EventEmitter } from 'events'; -import { KibanaExecutionContext } from 'src/core/public'; -import { KibanaRequest } from 'src/core/server'; -import { Observable } from 'rxjs'; -import { ObservableLike } from '@kbn/utility-types'; -import { Plugin as Plugin_2 } from 'src/core/server'; -import { PluginInitializerContext } from 'src/core/server'; -import { SerializableRecord } from '@kbn/utility-types'; -import { UnwrapObservable } from '@kbn/utility-types'; -import { UnwrapPromiseOrReturn } from '@kbn/utility-types'; - -// Warning: (ae-missing-release-tag) "AnyExpressionFunctionDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type AnyExpressionFunctionDefinition = ExpressionFunctionDefinition, any>; - -// Warning: (ae-missing-release-tag) "AnyExpressionTypeDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type AnyExpressionTypeDefinition = ExpressionTypeDefinition; - -// Warning: (ae-forgotten-export) The symbol "SingleArgumentType" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "MultipleArgumentType" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "UnresolvedSingleArgumentType" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "UnresolvedMultipleArgumentType" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ArgumentType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type ArgumentType = SingleArgumentType | MultipleArgumentType | UnresolvedSingleArgumentType | UnresolvedMultipleArgumentType; - -// Warning: (ae-missing-release-tag) "buildExpression" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function buildExpression(initialState?: ExpressionAstFunctionBuilder[] | ExpressionAstExpression | string): ExpressionAstExpressionBuilder; - -// Warning: (ae-forgotten-export) The symbol "InferFunctionDefinition" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "FunctionArgs" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "buildExpressionFunction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function buildExpressionFunction(fnName: InferFunctionDefinition['name'], -initialArgs: { - [K in keyof FunctionArgs]: FunctionArgs[K] | ExpressionAstExpressionBuilder | ExpressionAstExpressionBuilder[] | ExpressionAstExpression | ExpressionAstExpression[]; -}): ExpressionAstFunctionBuilder; - -// Warning: (ae-missing-release-tag) "Datatable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface Datatable { - // (undocumented) - columns: DatatableColumn[]; - // (undocumented) - rows: DatatableRow[]; - // Warning: (ae-forgotten-export) The symbol "name" needs to be exported by the entry point index.d.ts - // - // (undocumented) - type: typeof name; -} - -// Warning: (ae-missing-release-tag) "DatatableColumn" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface DatatableColumn { - // (undocumented) - id: string; - // Warning: (ae-forgotten-export) The symbol "DatatableColumnMeta" needs to be exported by the entry point index.d.ts - // - // (undocumented) - meta: DatatableColumnMeta; - // (undocumented) - name: string; -} - -// Warning: (ae-missing-release-tag) "DatatableColumnType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type DatatableColumnType = '_source' | 'attachment' | 'boolean' | 'date' | 'geo_point' | 'geo_shape' | 'ip' | 'murmur3' | 'number' | 'string' | 'unknown' | 'conflict' | 'object' | 'nested' | 'histogram' | 'null'; - -// Warning: (ae-missing-release-tag) "DatatableRow" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type DatatableRow = Record; - -// Warning: (ae-forgotten-export) The symbol "Adapters" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ExpressionExecutionParams" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "DefaultInspectorAdapters" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "Execution" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class Execution { - constructor(execution: ExecutionParams); - cancel(): void; - // (undocumented) - cast(value: any, toTypeNames?: string[]): any; - readonly context: ExecutionContext; - // Warning: (ae-forgotten-export) The symbol "ExecutionContract" needs to be exported by the entry point index.d.ts - readonly contract: ExecutionContract; - // (undocumented) - readonly execution: ExecutionParams; - // (undocumented) - readonly expression: string; - input: Input; - // (undocumented) - get inspectorAdapters(): InspectorAdapters; - // (undocumented) - interpret(ast: ExpressionAstNode, input: T): Observable>; - // (undocumented) - invokeChain(chainArr: ExpressionAstFunction[], input: unknown): Observable; - // (undocumented) - invokeFunction(fn: ExpressionFunction, input: unknown, args: Record): Observable; - // (undocumented) - resolveArgs(fnDef: ExpressionFunction, input: unknown, argAsts: any): Observable; - readonly result: Observable>; - start(input?: Input, isSubExpression?: boolean): Observable>; - // Warning: (ae-forgotten-export) The symbol "ExecutionResult" needs to be exported by the entry point index.d.ts - readonly state: ExecutionContainer>; -} - -// Warning: (ae-forgotten-export) The symbol "StateContainer" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ExecutionPureTransitions" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExecutionContainer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExecutionContainer = StateContainer, ExecutionPureTransitions>; - -// Warning: (ae-missing-release-tag) "ExecutionContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ExecutionContext { - abortSignal: AbortSignal; - getExecutionContext: () => KibanaExecutionContext | undefined; - getKibanaRequest?: () => KibanaRequest; - getSearchContext: () => ExecutionContextSearch; - getSearchSessionId: () => string | undefined; - inspectorAdapters: InspectorAdapters; - isSyncColorsEnabled?: () => boolean; - types: Record; - variables: Record; -} - -// Warning: (ae-missing-release-tag) "ExecutionParams" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExecutionParams { - // (undocumented) - ast?: ExpressionAstExpression; - // (undocumented) - executor: Executor; - // (undocumented) - expression?: string; - // (undocumented) - params: ExpressionExecutionParams; -} - -// Warning: (ae-missing-release-tag) "ExecutionState" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExecutionState extends ExecutorState { - // (undocumented) - ast: ExpressionAstExpression; - error?: Error; - result?: Output; - state: 'not-started' | 'pending' | 'result' | 'error'; -} - -// Warning: (ae-forgotten-export) The symbol "PersistableStateService" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "Executor" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class Executor = Record> implements PersistableStateService { - constructor(state?: ExecutorState); - // (undocumented) - get context(): Record; - // (undocumented) - createExecution(ast: string | ExpressionAstExpression, params?: ExpressionExecutionParams): Execution; - // (undocumented) - static createWithDefaults = Record>(state?: ExecutorState): Executor; - // (undocumented) - extendContext(extraContext: Record): void; - // (undocumented) - extract(ast: ExpressionAstExpression): { - state: ExpressionAstExpression; - references: SavedObjectReference[]; - }; - // (undocumented) - fork(): Executor; - // @deprecated (undocumented) - readonly functions: FunctionsRegistry; - // Warning: (ae-forgotten-export) The symbol "MigrateFunctionsObject" needs to be exported by the entry point index.d.ts - // - // (undocumented) - getAllMigrations(): MigrateFunctionsObject; - // (undocumented) - getFunction(name: string): ExpressionFunction | undefined; - // (undocumented) - getFunctions(): Record; - // (undocumented) - getType(name: string): ExpressionType | undefined; - // (undocumented) - getTypes(): Record; - // Warning: (ae-forgotten-export) The symbol "SavedObjectReference" needs to be exported by the entry point index.d.ts - // - // (undocumented) - inject(ast: ExpressionAstExpression, references: SavedObjectReference[]): ExpressionAstExpression; - // Warning: (ae-forgotten-export) The symbol "VersionedState" needs to be exported by the entry point index.d.ts - // - // (undocumented) - migrateToLatest(state: VersionedState): ExpressionAstExpression; - // (undocumented) - registerFunction(functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)): void; - // (undocumented) - registerType(typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)): void; - run(ast: string | ExpressionAstExpression, input: Input, params?: ExpressionExecutionParams): Observable>; - // (undocumented) - readonly state: ExecutorContainer; - // (undocumented) - telemetry(ast: ExpressionAstExpression, telemetryData: Record): Record; - // @deprecated (undocumented) - readonly types: TypesRegistry; - } - -// Warning: (ae-forgotten-export) The symbol "ExecutorPureTransitions" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "ExecutorPureSelectors" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExecutorContainer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExecutorContainer = Record> = StateContainer, ExecutorPureTransitions, ExecutorPureSelectors>; - -// Warning: (ae-missing-release-tag) "ExecutorState" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExecutorState = Record> { - // (undocumented) - context: Context; - // (undocumented) - functions: Record; - // (undocumented) - types: Record; -} - -// Warning: (ae-missing-release-tag) "ExpressionAstArgument" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionAstArgument = string | boolean | number | ExpressionAstExpression; - -// Warning: (ae-missing-release-tag) "ExpressionAstExpression" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionAstExpression = { - type: 'expression'; - chain: ExpressionAstFunction[]; -}; - -// Warning: (ae-missing-release-tag) "ExpressionAstExpressionBuilder" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExpressionAstExpressionBuilder { - findFunction: (fnName: InferFunctionDefinition['name']) => Array> | []; - functions: ExpressionAstFunctionBuilder[]; - toAst: () => ExpressionAstExpression; - toString: () => string; - type: 'expression_builder'; -} - -// Warning: (ae-missing-release-tag) "ExpressionAstFunction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionAstFunction = { - type: 'function'; - function: string; - arguments: Record; - debug?: ExpressionAstFunctionDebug; -}; - -// Warning: (ae-missing-release-tag) "ExpressionAstFunctionBuilder" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExpressionAstFunctionBuilder { - // Warning: (ae-forgotten-export) The symbol "FunctionArgName" needs to be exported by the entry point index.d.ts - addArgument: >(name: A, value: FunctionArgs[A] | ExpressionAstExpressionBuilder) => this; - // Warning: (ae-forgotten-export) The symbol "FunctionBuilderArguments" needs to be exported by the entry point index.d.ts - arguments: FunctionBuilderArguments; - getArgument: >(name: A) => Array[A] | ExpressionAstExpressionBuilder> | undefined; - name: InferFunctionDefinition['name']; - // Warning: (ae-forgotten-export) The symbol "OptionalKeys" needs to be exported by the entry point index.d.ts - removeArgument: >>(name: A) => this; - replaceArgument: >(name: A, value: Array[A] | ExpressionAstExpressionBuilder>) => this; - toAst: () => ExpressionAstFunction; - toString: () => string; - type: 'expression_function_builder'; -} - -// Warning: (ae-missing-release-tag) "ExpressionAstNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionAstNode = ExpressionAstExpression | ExpressionAstFunction | ExpressionAstArgument; - -// Warning: (ae-forgotten-export) The symbol "PersistableState" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExpressionFunction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionFunction implements PersistableState { - constructor(functionDefinition: AnyExpressionFunctionDefinition); - // (undocumented) - accepts: (type: string) => boolean; - aliases: string[]; - args: Record; - // (undocumented) - disabled: boolean; - // (undocumented) - extract: (state: ExpressionAstFunction['arguments']) => { - state: ExpressionAstFunction['arguments']; - references: SavedObjectReference[]; - }; - fn: (input: ExpressionValue, params: Record, handlers: object) => ExpressionValue; - help: string; - // (undocumented) - inject: (state: ExpressionAstFunction['arguments'], references: SavedObjectReference[]) => ExpressionAstFunction['arguments']; - inputTypes: string[] | undefined; - // (undocumented) - migrations: { - [key: string]: (state: SerializableRecord) => SerializableRecord; - }; - name: string; - // (undocumented) - telemetry: (state: ExpressionAstFunction['arguments'], telemetryData: Record) => Record; - type: string; -} - -// Warning: (ae-forgotten-export) The symbol "PersistableStateDefinition" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExpressionFunctionDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ExpressionFunctionDefinition, Output, Context extends ExecutionContext = ExecutionContext> extends PersistableStateDefinition { - aliases?: string[]; - args: { - [key in keyof Arguments]: ArgumentType; - }; - // @deprecated (undocumented) - context?: { - types: AnyExpressionFunctionDefinition['inputTypes']; - }; - disabled?: boolean; - fn(input: Input, args: Arguments, context: Context): Output; - help: string; - inputTypes?: Array>; - name: Name; - type?: TypeString | UnmappedTypeStrings; -} - -// @public -export interface ExpressionFunctionDefinitions { - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionClog" needs to be exported by the entry point index.d.ts - // - // (undocumented) - clog: ExpressionFunctionClog; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionCumulativeSum" needs to be exported by the entry point index.d.ts - // - // (undocumented) - cumulative_sum: ExpressionFunctionCumulativeSum; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionDerivative" needs to be exported by the entry point index.d.ts - // - // (undocumented) - derivative: ExpressionFunctionDerivative; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionFont" needs to be exported by the entry point index.d.ts - // - // (undocumented) - font: ExpressionFunctionFont; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionMovingAverage" needs to be exported by the entry point index.d.ts - // - // (undocumented) - moving_average: ExpressionFunctionMovingAverage; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionOverallMetric" needs to be exported by the entry point index.d.ts - // - // (undocumented) - overall_metric: ExpressionFunctionOverallMetric; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionTheme" needs to be exported by the entry point index.d.ts - // - // (undocumented) - theme: ExpressionFunctionTheme; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionVar" needs to be exported by the entry point index.d.ts - // - // (undocumented) - var: ExpressionFunctionVar; - // Warning: (ae-forgotten-export) The symbol "ExpressionFunctionVarSet" needs to be exported by the entry point index.d.ts - // - // (undocumented) - var_set: ExpressionFunctionVarSet; -} - -// Warning: (ae-missing-release-tag) "ExpressionFunctionParameter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionFunctionParameter { - constructor(name: string, arg: ArgumentType); - // (undocumented) - accepts(type: string): boolean; - // (undocumented) - aliases: string[]; - // (undocumented) - default: any; - // (undocumented) - help: string; - // (undocumented) - multi: boolean; - // (undocumented) - name: string; - // (undocumented) - options: any[]; - // (undocumented) - required: boolean; - // (undocumented) - resolve: boolean; - // (undocumented) - types: string[]; -} - -// Warning: (ae-missing-release-tag) "ExpressionImage" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExpressionImage { - // (undocumented) - dataurl: string; - // (undocumented) - mode: string; - // (undocumented) - type: 'image'; -} - -// Warning: (ae-missing-release-tag) "ExpressionRenderDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface ExpressionRenderDefinition { - displayName?: string; - help?: string; - name: string; - render: (domNode: HTMLElement, config: Config, handlers: IInterpreterRenderHandlers) => void | Promise; - reuseDomNode: boolean; - validate?: () => undefined | Error; -} - -// Warning: (ae-missing-release-tag) "ExpressionRenderer" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionRenderer { - constructor(config: ExpressionRenderDefinition); - // (undocumented) - readonly displayName: string; - // (undocumented) - readonly help: string; - // (undocumented) - readonly name: string; - // (undocumented) - readonly render: ExpressionRenderDefinition['render']; - // (undocumented) - readonly reuseDomNode: boolean; - // (undocumented) - readonly validate: () => void | Error; -} - -// Warning: (ae-missing-release-tag) "ExpressionRendererRegistry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionRendererRegistry implements IRegistry { - // (undocumented) - get(id: string): ExpressionRenderer | null; - // Warning: (ae-forgotten-export) The symbol "AnyExpressionRenderDefinition" needs to be exported by the entry point index.d.ts - // - // (undocumented) - register(definition: AnyExpressionRenderDefinition | (() => AnyExpressionRenderDefinition)): void; - // (undocumented) - toArray(): ExpressionRenderer[]; - // (undocumented) - toJS(): Record; -} - -// Warning: (ae-missing-release-tag) "ExpressionsServerPlugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -class ExpressionsServerPlugin implements Plugin_2 { - constructor(initializerContext: PluginInitializerContext); - // Warning: (ae-forgotten-export) The symbol "ExpressionsService" needs to be exported by the entry point index.d.ts - // - // (undocumented) - readonly expressions: ExpressionsService; - // (undocumented) - setup(core: CoreSetup): ExpressionsServerSetup; - // (undocumented) - start(core: CoreStart): ExpressionsServerStart; - // (undocumented) - stop(): void; -} - -export { ExpressionsServerPlugin } - -export { ExpressionsServerPlugin as Plugin } - -// Warning: (ae-forgotten-export) The symbol "ExpressionsServiceSetup" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExpressionsServerSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionsServerSetup = ExpressionsServiceSetup; - -// Warning: (ae-forgotten-export) The symbol "ExpressionsServiceStart" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExpressionsServerStart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionsServerStart = ExpressionsServiceStart; - -// Warning: (ae-missing-release-tag) "ExpressionType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class ExpressionType { - constructor(definition: AnyExpressionTypeDefinition); - // (undocumented) - castsFrom: (value: ExpressionValue) => boolean; - // (undocumented) - castsTo: (value: ExpressionValue) => boolean; - // (undocumented) - create: unknown; - // (undocumented) - deserialize?: (serialized: any) => ExpressionValue; - // (undocumented) - from: (value: ExpressionValue, types: Record) => any; - // (undocumented) - getFromFn: (typeName: string) => undefined | ExpressionValueConverter; - // (undocumented) - getToFn: (typeName: string) => undefined | ExpressionValueConverter; - help: string; - // (undocumented) - name: string; - serialize?: (value: ExpressionValue) => any; - // (undocumented) - to: (value: ExpressionValue, toTypeName: string, types: Record) => any; - validate: (type: any) => void | Error; -} - -// Warning: (ae-missing-release-tag) "ExpressionTypeDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ExpressionTypeDefinition { - // (undocumented) - deserialize?: (type: SerializedType) => Value; - // (undocumented) - from?: { - [type: string]: ExpressionValueConverter; - }; - // (undocumented) - help?: string; - // (undocumented) - name: Name; - // (undocumented) - serialize?: (type: Value) => SerializedType; - // (undocumented) - to?: { - [type: string]: ExpressionValueConverter; - }; - // (undocumented) - validate?: (type: any) => void | Error; -} - -// Warning: (ae-missing-release-tag) "ExpressionTypeStyle" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ExpressionTypeStyle { - // (undocumented) - css: string; - // Warning: (ae-forgotten-export) The symbol "CSSStyle" needs to be exported by the entry point index.d.ts - // - // (undocumented) - spec: CSSStyle; - // (undocumented) - type: 'style'; -} - -// Warning: (ae-missing-release-tag) "ExpressionValue" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValue = ExpressionValueUnboxed | ExpressionValueBoxed; - -// Warning: (ae-missing-release-tag) "ExpressionValueBoxed" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueBoxed = { - type: Type; -} & Value; - -// Warning: (ae-missing-release-tag) "ExpressionValueConverter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueConverter = (input: I, availableTypes: Record) => O; - -// Warning: (ae-missing-release-tag) "ExpressionValueError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueError = ExpressionValueBoxed<'error', { - error: ErrorLike; - info?: SerializableRecord; -}>; - -// Warning: (ae-missing-release-tag) "ExpressionValueFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type ExpressionValueFilter = ExpressionValueBoxed<'filter', { - filterType?: string; - value?: string; - column?: string; - and: ExpressionValueFilter[]; - to?: string; - from?: string; - query?: string | null; -}>; - -// Warning: (ae-missing-release-tag) "ExpressionValueNum" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueNum = ExpressionValueBoxed<'num', { - value: number; -}>; - -// Warning: (ae-forgotten-export) The symbol "name" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ExpressionValueRender" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -type ExpressionValueRender = ExpressionValueBoxed; - -export { ExpressionValueRender } - -export { ExpressionValueRender as Render } - -// Warning: (ae-missing-release-tag) "ExpressionValueUnboxed" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type ExpressionValueUnboxed = any; - -// Warning: (ae-missing-release-tag) "Font" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface Font { - // (undocumented) - label: FontLabel; - // (undocumented) - value: FontValue; -} - -// Warning: (ae-forgotten-export) The symbol "fonts" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "FontLabel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type FontLabel = typeof fonts[number]['label']; - -// Warning: (ae-missing-release-tag) "FontStyle" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export enum FontStyle { - // (undocumented) - ITALIC = "italic", - // (undocumented) - NORMAL = "normal" -} - -// Warning: (ae-missing-release-tag) "FontValue" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type FontValue = typeof fonts[number]['value']; - -// Warning: (ae-missing-release-tag) "FontWeight" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export enum FontWeight { - // (undocumented) - BOLD = "bold", - // (undocumented) - BOLDER = "bolder", - // (undocumented) - EIGHT = "800", - // (undocumented) - FIVE = "500", - // (undocumented) - FOUR = "400", - // (undocumented) - LIGHTER = "lighter", - // (undocumented) - NINE = "900", - // (undocumented) - NORMAL = "normal", - // (undocumented) - ONE = "100", - // (undocumented) - SEVEN = "700", - // (undocumented) - SIX = "600", - // (undocumented) - THREE = "300", - // (undocumented) - TWO = "200" -} - -// Warning: (ae-missing-release-tag) "format" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function format(ast: T, type: T extends ExpressionAstExpression ? 'expression' : 'argument'): string; - -// Warning: (ae-missing-release-tag) "formatExpression" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function formatExpression(ast: ExpressionAstExpression): string; - -// Warning: (ae-missing-release-tag) "FunctionsRegistry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class FunctionsRegistry implements IRegistry { - constructor(executor: Executor); - // (undocumented) - get(id: string): ExpressionFunction | null; - // (undocumented) - register(functionDefinition: AnyExpressionFunctionDefinition | (() => AnyExpressionFunctionDefinition)): void; - // (undocumented) - toArray(): ExpressionFunction[]; - // (undocumented) - toJS(): Record; -} - -// Warning: (ae-missing-release-tag) "IInterpreterRenderHandlers" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IInterpreterRenderHandlers { - done: () => void; - // (undocumented) - event: (event: any) => void; - // Warning: (ae-forgotten-export) The symbol "RenderMode" needs to be exported by the entry point index.d.ts - // - // (undocumented) - getRenderMode: () => RenderMode; - // (undocumented) - hasCompatibleActions?: (event: any) => Promise; - // (undocumented) - isSyncColorsEnabled: () => boolean; - // (undocumented) - onDestroy: (fn: () => void) => void; - // (undocumented) - reload: () => void; - uiState?: unknown; - // (undocumented) - update: (params: any) => void; -} - -// Warning: (ae-missing-release-tag) "InterpreterErrorType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public @deprecated (undocumented) -export type InterpreterErrorType = ExpressionValueError; - -// Warning: (ae-missing-release-tag) "IRegistry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface IRegistry { - // (undocumented) - get(id: string): T | null; - // (undocumented) - toArray(): T[]; - // (undocumented) - toJS(): Record; -} - -// Warning: (ae-missing-release-tag) "isExpressionAstBuilder" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function isExpressionAstBuilder(val: any): val is ExpressionAstExpressionBuilder; - -// Warning: (ae-missing-release-tag) "KnownTypeToString" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type KnownTypeToString = T extends string ? 'string' : T extends boolean ? 'boolean' : T extends number ? 'number' : T extends null ? 'null' : T extends { - type: string; -} ? T['type'] : never; - -// Warning: (ae-missing-release-tag) "Overflow" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export enum Overflow { - // (undocumented) - AUTO = "auto", - // (undocumented) - HIDDEN = "hidden", - // (undocumented) - SCROLL = "scroll", - // (undocumented) - VISIBLE = "visible" -} - -// Warning: (ae-missing-release-tag) "parse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function parse(expression: E, startRule: S): S extends 'expression' ? ExpressionAstExpression : ExpressionAstArgument; - -// Warning: (ae-missing-release-tag) "parseExpression" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function parseExpression(expression: string): ExpressionAstExpression; - -// Warning: (ae-missing-release-tag) "plugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function plugin(initializerContext: PluginInitializerContext): ExpressionsServerPlugin; - -// Warning: (ae-missing-release-tag) "PointSeries" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type PointSeries = ExpressionValueBoxed<'pointseries', { - columns: PointSeriesColumns; - rows: PointSeriesRow[]; -}>; - -// Warning: (ae-missing-release-tag) "PointSeriesColumn" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface PointSeriesColumn { - // (undocumented) - expression: string; - // (undocumented) - role: 'measure' | 'dimension'; - // (undocumented) - type: 'number' | 'string'; -} - -// Warning: (ae-missing-release-tag) "PointSeriesColumnName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type PointSeriesColumnName = 'x' | 'y' | 'color' | 'size' | 'text'; - -// Warning: (ae-missing-release-tag) "PointSeriesColumns" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type PointSeriesColumns = Record | {}; - -// Warning: (ae-missing-release-tag) "PointSeriesRow" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type PointSeriesRow = Record; - -// Warning: (ae-missing-release-tag) "Range" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface Range { - // (undocumented) - from: number; - // (undocumented) - label?: string; - // (undocumented) - to: number; - // Warning: (ae-forgotten-export) The symbol "name" needs to be exported by the entry point index.d.ts - // - // (undocumented) - type: typeof name_3; -} - -// Warning: (ae-missing-release-tag) "SerializedDatatable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface SerializedDatatable extends Datatable { - // (undocumented) - rows: string[][]; -} - -// Warning: (ae-missing-release-tag) "SerializedFieldFormat" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface SerializedFieldFormat> { - // (undocumented) - id?: string; - // (undocumented) - params?: TParams; -} - -// Warning: (ae-missing-release-tag) "Style" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type Style = ExpressionTypeStyle; - -// Warning: (ae-missing-release-tag) "TextAlignment" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export enum TextAlignment { - // (undocumented) - CENTER = "center", - // (undocumented) - JUSTIFY = "justify", - // (undocumented) - LEFT = "left", - // (undocumented) - RIGHT = "right" -} - -// Warning: (ae-missing-release-tag) "TextDecoration" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export enum TextDecoration { - // (undocumented) - NONE = "none", - // (undocumented) - UNDERLINE = "underline" -} - -// Warning: (ae-missing-release-tag) "TypesRegistry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class TypesRegistry implements IRegistry { - constructor(executor: Executor); - // (undocumented) - get(id: string): ExpressionType | null; - // (undocumented) - register(typeDefinition: AnyExpressionTypeDefinition | (() => AnyExpressionTypeDefinition)): void; - // (undocumented) - toArray(): ExpressionType[]; - // (undocumented) - toJS(): Record; -} - -// Warning: (ae-missing-release-tag) "TypeString" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type TypeString = KnownTypeToString ? UnwrapObservable : UnwrapPromiseOrReturn>; - -// Warning: (ae-missing-release-tag) "TypeToString" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type TypeToString = KnownTypeToString | UnmappedTypeStrings; - -// Warning: (ae-missing-release-tag) "UnmappedTypeStrings" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type UnmappedTypeStrings = 'date' | 'filter'; - - -// Warnings were encountered during analysis: -// -// src/plugins/expressions/common/ast/types.ts:29:3 - (ae-forgotten-export) The symbol "ExpressionAstFunctionDebug" needs to be exported by the entry point index.d.ts -// src/plugins/expressions/common/expression_types/specs/error.ts:20:5 - (ae-forgotten-export) The symbol "ErrorLike" needs to be exported by the entry point index.d.ts - -// (No @packageDocumentation comment for this package) - -``` diff --git a/src/plugins/kibana_utils/common/state_containers/common.api.md b/src/plugins/kibana_utils/common/state_containers/common.api.md deleted file mode 100644 index f85458499b719..0000000000000 --- a/src/plugins/kibana_utils/common/state_containers/common.api.md +++ /dev/null @@ -1,156 +0,0 @@ -## API Report File for "kibana" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { ComponentType } from 'react'; -import { Ensure } from '@kbn/utility-types'; -import { FC } from 'react'; -import { Observable } from 'rxjs'; -import React from 'react'; - -// @public -export type BaseState = object; - -// @public -export interface BaseStateContainer { - get: () => State; - set: (state: State) => void; - // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "Observable" - state$: Observable; -} - -// @public -export type Comparator = (previous: Result, current: Result) => boolean; - -// @public -export type Connect = (mapStateToProp: MapStateToProps>) => (component: ComponentType) => FC>; - -// @public -export function createStateContainer(defaultState: State): ReduxLikeStateContainer; - -// @public -export function createStateContainer(defaultState: State, pureTransitions: PureTransitions): ReduxLikeStateContainer; - -// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "PureSelectors" -// -// @public -export function createStateContainer(defaultState: State, pureTransitions: PureTransitions, pureSelectors: PureSelectors, options?: CreateStateContainerOptions): ReduxLikeStateContainer; - -// @public -export interface CreateStateContainerOptions { - freeze?: (state: T) => T; -} - -// @public -export const createStateContainerReactHelpers: >() => { - Provider: React.Provider; - Consumer: React.Consumer; - context: React.Context; - useContainer: () => Container; - useState: () => UnboxState; - useTransitions: () => Container["transitions"]; - useSelector: (selector: (state: UnboxState) => Result, comparator?: Comparator) => Result; - connect: Connect>; -}; - -// @public -export type Dispatch = (action: T) => void; - -// @public (undocumented) -export type EnsurePureSelector = Ensure>; - -// Warning: (ae-incompatible-release-tags) The symbol "EnsurePureTransition" is marked as @public, but its signature references "PureTransition" which is marked as @internal -// -// @public (undocumented) -export type EnsurePureTransition = Ensure>; - -// @public -export type MapStateToProps = (state: State) => StateProps; - -// Warning: (ae-incompatible-release-tags) The symbol "Middleware" is marked as @public, but its signature references "TransitionDescription" which is marked as @internal -// -// @public -export type Middleware = (store: Pick, 'getState' | 'dispatch'>) => (next: (action: TransitionDescription) => TransitionDescription | any) => Dispatch; - -// @public (undocumented) -export type PureSelector = (state: State) => Selector; - -// @public (undocumented) -export type PureSelectorsToSelectors = { - [K in keyof T]: PureSelectorToSelector>; -}; - -// @public (undocumented) -export type PureSelectorToSelector> = ReturnType>; - -// @internal (undocumented) -export type PureTransition = (state: State) => Transition; - -// @internal (undocumented) -export type PureTransitionsToTransitions = { - [K in keyof T]: PureTransitionToTransition>; -}; - -// @internal (undocumented) -export type PureTransitionToTransition> = ReturnType; - -// Warning: (ae-incompatible-release-tags) The symbol "Reducer" is marked as @public, but its signature references "TransitionDescription" which is marked as @internal -// -// @public -export type Reducer = (state: State, action: TransitionDescription) => State; - -// @public -export interface ReduxLikeStateContainer extends StateContainer { - // (undocumented) - addMiddleware: (middleware: Middleware) => void; - // Warning: (ae-incompatible-release-tags) The symbol "dispatch" is marked as @public, but its signature references "TransitionDescription" which is marked as @internal - // - // (undocumented) - dispatch: (action: TransitionDescription) => void; - // (undocumented) - getState: () => State; - // (undocumented) - reducer: Reducer; - // (undocumented) - replaceReducer: (nextReducer: Reducer) => void; - // (undocumented) - subscribe: (listener: (state: State) => void) => () => void; -} - -// @public (undocumented) -export type Selector = (...args: Args) => Result; - -// @public -export interface StateContainer extends BaseStateContainer { - // (undocumented) - selectors: Readonly>; - // Warning: (ae-incompatible-release-tags) The symbol "transitions" is marked as @public, but its signature references "PureTransitionsToTransitions" which is marked as @internal - // - // (undocumented) - transitions: Readonly>; -} - -// @internal (undocumented) -export type Transition = (...args: Args) => State; - -// @internal (undocumented) -export interface TransitionDescription { - // (undocumented) - args: Args; - // (undocumented) - type: Type; -} - -// @public -export type UnboxState> = Container extends StateContainer ? T : never; - -// @public -export const useContainerSelector: , Result>(container: Container, selector: (state: UnboxState) => Result, comparator?: Comparator) => Result; - -// @public -export const useContainerState: >(container: Container) => UnboxState; - - -``` diff --git a/src/plugins/kibana_utils/public/state_sync/public.api.md b/src/plugins/kibana_utils/public/state_sync/public.api.md deleted file mode 100644 index a2e2c802e0466..0000000000000 --- a/src/plugins/kibana_utils/public/state_sync/public.api.md +++ /dev/null @@ -1,98 +0,0 @@ -## API Report File for "kibana" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { History } from 'history'; -import { Observable } from 'rxjs'; - -// @public -export const createKbnUrlStateStorage: ({ useHash, history, onGetError, onSetError, }?: { - useHash: boolean; - history?: History | undefined; - onGetError?: ((error: Error) => void) | undefined; - onSetError?: ((error: Error) => void) | undefined; -}) => IKbnUrlStateStorage; - -// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "Storage" -// -// @public -export const createSessionStorageStateStorage: (storage?: Storage) => ISessionStorageStateStorage; - -// @public -export interface IKbnUrlStateStorage extends IStateStorage { - cancel: () => void; - // (undocumented) - change$: (key: string) => Observable; - // (undocumented) - get: (key: string) => State | null; - // Warning: (ae-forgotten-export) The symbol "IKbnUrlControls" needs to be exported by the entry point index.d.ts - kbnUrlControls: IKbnUrlControls; - // (undocumented) - set: (key: string, state: State, opts?: { - replace: boolean; - }) => Promise; -} - -// Warning: (ae-forgotten-export) The symbol "BaseState" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "BaseStateContainer" needs to be exported by the entry point index.d.ts -// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "BaseStateContainer" -// -// @public -export interface INullableBaseStateContainer extends BaseStateContainer { - // (undocumented) - set: (state: State | null) => void; -} - -// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "Storage" -// -// @public -export interface ISessionStorageStateStorage extends IStateStorage { - // (undocumented) - get: (key: string) => State | null; - // (undocumented) - set: (key: string, state: State) => void; -} - -// @public -export interface IStateStorage { - cancel?: () => void; - change$?: (key: string) => Observable; - get: (key: string) => State | null; - set: (key: string, state: State) => any; -} - -// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "stateSync" -// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "BaseState" -// -// @public -export interface IStateSyncConfig { - // Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "kibana" does not have an export "BaseStateContainer" - stateContainer: INullableBaseStateContainer; - stateStorage: StateStorage; - storageKey: string; -} - -// @public (undocumented) -export interface ISyncStateRef { - start: StartSyncStateFnType; - stop: StopSyncStateFnType; -} - -// @public (undocumented) -export type StartSyncStateFnType = () => void; - -// @public (undocumented) -export type StopSyncStateFnType = () => void; - -// @public -export function syncState({ storageKey, stateStorage, stateContainer, }: IStateSyncConfig): ISyncStateRef; - -// Warning: (ae-missing-release-tag) "syncStates" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function syncStates(stateSyncConfigs: Array>): ISyncStateRef; - - -``` diff --git a/src/plugins/ui_actions/public/public.api.md b/src/plugins/ui_actions/public/public.api.md deleted file mode 100644 index 8e4e61d4cafc7..0000000000000 --- a/src/plugins/ui_actions/public/public.api.md +++ /dev/null @@ -1,272 +0,0 @@ -## API Report File for "kibana" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { CoreSetup } from 'src/core/public'; -import { CoreStart } from 'src/core/public'; -import { EnvironmentMode } from '@kbn/config'; -import { EuiContextMenuPanelDescriptor } from '@elastic/eui'; -import { PackageInfo } from '@kbn/config'; -import { Plugin } from 'src/core/public'; -import { PluginInitializerContext as PluginInitializerContext_2 } from 'src/core/public'; -import { PublicMethodsOf } from '@kbn/utility-types'; -import React from 'react'; -import { SerializableRecord } from '@kbn/utility-types'; -import { UiComponent } from 'src/plugins/kibana_utils/public'; - -// Warning: (ae-missing-release-tag) "Action" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface Action extends Partial>> { - execute(context: ActionExecutionContext): Promise; - getDisplayName(context: ActionExecutionContext): string; - getHref?(context: ActionExecutionContext): Promise; - getIconType(context: ActionExecutionContext): string | undefined; - id: string; - isCompatible(context: ActionExecutionContext): Promise; - MenuItem?: UiComponent<{ - context: ActionExecutionContext; - }>; - order?: number; - shouldAutoExecute?(context: ActionExecutionContext): Promise; - readonly type: string; -} - -// Warning: (ae-missing-release-tag) "ACTION_VISUALIZE_FIELD" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const ACTION_VISUALIZE_FIELD = "ACTION_VISUALIZE_FIELD"; - -// Warning: (ae-missing-release-tag) "ACTION_VISUALIZE_GEO_FIELD" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const ACTION_VISUALIZE_GEO_FIELD = "ACTION_VISUALIZE_GEO_FIELD"; - -// Warning: (ae-missing-release-tag) "ACTION_VISUALIZE_LENS_FIELD" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const ACTION_VISUALIZE_LENS_FIELD = "ACTION_VISUALIZE_LENS_FIELD"; - -// Warning: (ae-missing-release-tag) "ActionExecutionContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export type ActionExecutionContext = Context & ActionExecutionMeta; - -// Warning: (ae-missing-release-tag) "ActionExecutionMeta" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface ActionExecutionMeta { - trigger: Trigger; -} - -// Warning: (ae-forgotten-export) The symbol "BuildContextMenuParams" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "buildContextMenuForActions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export function buildContextMenuForActions({ actions, title, closeMenu, }: BuildContextMenuParams): Promise; - -// Warning: (ae-missing-release-tag) "createAction" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function createAction(action: UiActionsActionDefinition): Action; - -// Warning: (ae-missing-release-tag) "IncompatibleActionError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class IncompatibleActionError extends Error { - constructor(); - // (undocumented) - code: string; -} - -// Warning: (ae-forgotten-export) The symbol "PluginInitializerContext" needs to be exported by the entry point index.d.ts -// Warning: (ae-forgotten-export) The symbol "UiActionsPlugin" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "plugin" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export function plugin(initializerContext: PluginInitializerContext): UiActionsPlugin; - -// Warning: (ae-missing-release-tag) "ROW_CLICK_TRIGGER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const ROW_CLICK_TRIGGER = "ROW_CLICK_TRIGGER"; - -// Warning: (ae-missing-release-tag) "RowClickContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface RowClickContext { - // (undocumented) - data: { - rowIndex: number; - table: Datatable; - columns?: string[]; - }; - // (undocumented) - embeddable?: unknown; -} - -// Warning: (ae-missing-release-tag) "rowClickTrigger" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const rowClickTrigger: Trigger; - -// Warning: (ae-missing-release-tag) "Trigger" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface Trigger { - description?: string; - id: string; - title?: string; -} - -// Warning: (ae-forgotten-export) The symbol "ActionDefinitionContext" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "ActionDefinition" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface UiActionsActionDefinition extends Partial>> { - execute(context: ActionDefinitionContext): Promise; - getHref?(context: ActionDefinitionContext): Promise; - readonly id: string; - isCompatible?(context: ActionDefinitionContext): Promise; - shouldAutoExecute?(context: ActionDefinitionContext): Promise; - readonly type?: string; -} - -// Warning: (ae-missing-release-tag) "Presentable" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public -export interface UiActionsPresentable { - getDisplayName(context: Context): string; - getDisplayNameTooltip?(context: Context): string; - getHref?(context: Context): Promise; - getIconType(context: Context): string | undefined; - readonly grouping?: UiActionsPresentableGrouping; - readonly id: string; - isCompatible(context: Context): Promise; - readonly MenuItem?: UiComponent<{ - context: Context; - }>; - readonly order: number; -} - -// Warning: (ae-forgotten-export) The symbol "PresentableGroup" needs to be exported by the entry point index.d.ts -// Warning: (ae-missing-release-tag) "PresentableGrouping" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type UiActionsPresentableGrouping = Array>; - -// Warning: (ae-missing-release-tag) "UiActionsService" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export class UiActionsService { - constructor({ triggers, actions, triggerToActions, }?: UiActionsServiceParams); - // Warning: (ae-forgotten-export) The symbol "ActionRegistry" needs to be exported by the entry point index.d.ts - // - // (undocumented) - protected readonly actions: ActionRegistry; - readonly addTriggerAction: (triggerId: string, action: UiActionsActionDefinition) => void; - // (undocumented) - readonly attachAction: (triggerId: string, actionId: string) => void; - readonly clear: () => void; - // (undocumented) - readonly detachAction: (triggerId: string, actionId: string) => void; - // @deprecated (undocumented) - readonly executeTriggerActions: (triggerId: string, context: object) => Promise; - // Warning: (ae-forgotten-export) The symbol "UiActionsExecutionService" needs to be exported by the entry point index.d.ts - // - // (undocumented) - readonly executionService: UiActionsExecutionService; - readonly fork: () => UiActionsService; - // (undocumented) - readonly getAction: >(id: string) => Action>; - // Warning: (ae-forgotten-export) The symbol "TriggerContract" needs to be exported by the entry point index.d.ts - // - // (undocumented) - readonly getTrigger: (triggerId: string) => TriggerContract; - // (undocumented) - readonly getTriggerActions: (triggerId: string) => Action[]; - // (undocumented) - readonly getTriggerCompatibleActions: (triggerId: string, context: object) => Promise; - // (undocumented) - readonly hasAction: (actionId: string) => boolean; - // Warning: (ae-forgotten-export) The symbol "ActionContext" needs to be exported by the entry point index.d.ts - // - // (undocumented) - readonly registerAction: >(definition: A) => Action>; - // (undocumented) - readonly registerTrigger: (trigger: Trigger) => void; - // Warning: (ae-forgotten-export) The symbol "TriggerRegistry" needs to be exported by the entry point index.d.ts - // - // (undocumented) - protected readonly triggers: TriggerRegistry; - // Warning: (ae-forgotten-export) The symbol "TriggerToActionsRegistry" needs to be exported by the entry point index.d.ts - // - // (undocumented) - protected readonly triggerToActions: TriggerToActionsRegistry; - // (undocumented) - readonly unregisterAction: (actionId: string) => void; -} - -// Warning: (ae-missing-release-tag) "UiActionsServiceParams" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface UiActionsServiceParams { - // (undocumented) - readonly actions?: ActionRegistry; - // (undocumented) - readonly triggers?: TriggerRegistry; - readonly triggerToActions?: TriggerToActionsRegistry; -} - -// Warning: (ae-missing-release-tag) "UiActionsSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type UiActionsSetup = Pick; - -// Warning: (ae-missing-release-tag) "UiActionsStart" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export type UiActionsStart = PublicMethodsOf; - -// Warning: (ae-missing-release-tag) "VISUALIZE_FIELD_TRIGGER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const VISUALIZE_FIELD_TRIGGER = "VISUALIZE_FIELD_TRIGGER"; - -// Warning: (ae-missing-release-tag) "VISUALIZE_GEO_FIELD_TRIGGER" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const VISUALIZE_GEO_FIELD_TRIGGER = "VISUALIZE_GEO_FIELD_TRIGGER"; - -// Warning: (ae-missing-release-tag) "VisualizeFieldContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export interface VisualizeFieldContext { - // (undocumented) - contextualFields?: string[]; - // (undocumented) - fieldName: string; - // (undocumented) - indexPatternId: string; -} - -// Warning: (ae-missing-release-tag) "visualizeFieldTrigger" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const visualizeFieldTrigger: Trigger; - -// Warning: (ae-missing-release-tag) "visualizeGeoFieldTrigger" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) -// -// @public (undocumented) -export const visualizeGeoFieldTrigger: Trigger; - - -// Warnings were encountered during analysis: -// -// src/plugins/ui_actions/public/triggers/row_click_trigger.ts:35:5 - (ae-forgotten-export) The symbol "Datatable" needs to be exported by the entry point index.d.ts - -// (No @packageDocumentation comment for this package) - -``` From 24575c31239da5e70f9e787fe81af1ebcdb30949 Mon Sep 17 00:00:00 2001 From: Tiago Costa Date: Thu, 26 Aug 2021 19:40:58 +0100 Subject: [PATCH 096/139] chore(NA): moving @kbn/securitysolution-io-ts-types to babel transpiler (#110097) * chore(NA): moving @kbn/securitysolution-io-ts-types to babel transpiler * chore(NA): update limits * chore(NA): update limits file * chore(NA): introduce web bundles Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- packages/kbn-optimizer/limits.yml | 2 +- .../kbn-securitysolution-io-ts-types/.babelrc | 4 +++ .../.babelrc.browser | 4 +++ .../BUILD.bazel | 36 ++++++++++++------- .../package.json | 5 +-- .../tsconfig.json | 3 +- 6 files changed, 37 insertions(+), 17 deletions(-) create mode 100644 packages/kbn-securitysolution-io-ts-types/.babelrc create mode 100644 packages/kbn-securitysolution-io-ts-types/.babelrc.browser diff --git a/packages/kbn-optimizer/limits.yml b/packages/kbn-optimizer/limits.yml index c138fb905b35b..445fa6bff2800 100644 --- a/packages/kbn-optimizer/limits.yml +++ b/packages/kbn-optimizer/limits.yml @@ -114,5 +114,5 @@ pageLoadAssetSize: expressionShape: 34008 interactiveSetup: 18532 expressionTagcloud: 27505 - securitySolution: 232514 expressions: 239290 + securitySolution: 231753 diff --git a/packages/kbn-securitysolution-io-ts-types/.babelrc b/packages/kbn-securitysolution-io-ts-types/.babelrc new file mode 100644 index 0000000000000..40a198521b903 --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-types/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/node_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-io-ts-types/.babelrc.browser b/packages/kbn-securitysolution-io-ts-types/.babelrc.browser new file mode 100644 index 0000000000000..71bbfbcd6eb2f --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-types/.babelrc.browser @@ -0,0 +1,4 @@ +{ + "presets": ["@kbn/babel-preset/webpack_preset"], + "ignore": ["**/*.test.ts", "**/*.test.tsx"] +} diff --git a/packages/kbn-securitysolution-io-ts-types/BUILD.bazel b/packages/kbn-securitysolution-io-ts-types/BUILD.bazel index fdf3ef64460d9..adabf9708a59f 100644 --- a/packages/kbn-securitysolution-io-ts-types/BUILD.bazel +++ b/packages/kbn-securitysolution-io-ts-types/BUILD.bazel @@ -1,5 +1,6 @@ load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project") load("@build_bazel_rules_nodejs//:index.bzl", "js_library", "pkg_npm") +load("//src/dev/bazel:index.bzl", "jsts_transpiler") PKG_BASE_NAME = "kbn-securitysolution-io-ts-types" PKG_REQUIRE_NAME = "@kbn/securitysolution-io-ts-types" @@ -26,26 +27,34 @@ NPM_MODULE_EXTRA_FILES = [ "README.md", ] -SRC_DEPS = [ +RUNTIME_DEPS = [ "//packages/kbn-securitysolution-io-ts-utils", - "//packages/elastic-datemath", "@npm//fp-ts", "@npm//io-ts", - "@npm//lodash", - "@npm//moment", - "@npm//tslib", "@npm//uuid", ] TYPES_DEPS = [ - "@npm//@types/flot", + "//packages/kbn-securitysolution-io-ts-utils", + "@npm//fp-ts", + "@npm//io-ts", "@npm//@types/jest", - "@npm//@types/lodash", "@npm//@types/node", "@npm//@types/uuid" ] -DEPS = SRC_DEPS + TYPES_DEPS +jsts_transpiler( + name = "target_node", + srcs = SRCS, + build_pkg_name = package_name(), +) + +jsts_transpiler( + name = "target_web", + srcs = SRCS, + build_pkg_name = package_name(), + config_file = ".babelrc.browser" +) ts_config( name = "tsconfig", @@ -57,22 +66,23 @@ ts_config( ) ts_project( - name = "tsc", + name = "tsc_types", args = ['--pretty'], srcs = SRCS, - deps = DEPS, + deps = TYPES_DEPS, declaration = True, declaration_map = True, - out_dir = "target", - source_map = True, + emit_declaration_only = True, + out_dir = "target_types", root_dir = "src", + source_map = True, tsconfig = ":tsconfig", ) js_library( name = PKG_BASE_NAME, srcs = NPM_MODULE_EXTRA_FILES, - deps = DEPS + [":tsc"], + deps = RUNTIME_DEPS + [":target_node", ":target_web", ":tsc_types"], package_name = PKG_REQUIRE_NAME, visibility = ["//visibility:public"], ) diff --git a/packages/kbn-securitysolution-io-ts-types/package.json b/packages/kbn-securitysolution-io-ts-types/package.json index 0381a6d24a136..767c8d0f0cbcb 100644 --- a/packages/kbn-securitysolution-io-ts-types/package.json +++ b/packages/kbn-securitysolution-io-ts-types/package.json @@ -3,7 +3,8 @@ "version": "1.0.0", "description": "io ts utilities and types to be shared with plugins from the security solution project", "license": "SSPL-1.0 OR Elastic License 2.0", - "main": "./target/index.js", - "types": "./target/index.d.ts", + "browser": "target_web/index.js", + "main": "./target_node/index.js", + "types": "./target_types/index.d.ts", "private": true } diff --git a/packages/kbn-securitysolution-io-ts-types/tsconfig.json b/packages/kbn-securitysolution-io-ts-types/tsconfig.json index 12de4ed6ccb76..c640181145be8 100644 --- a/packages/kbn-securitysolution-io-ts-types/tsconfig.json +++ b/packages/kbn-securitysolution-io-ts-types/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "declaration": true, "declarationMap": true, - "outDir": "target", + "emitDeclarationOnly": true, + "outDir": "target_types", "rootDir": "src", "sourceMap": true, "sourceRoot": "../../../../packages/kbn-securitysolution-io-ts-types/src", From 3854d3a586a8cee4f7956b8ce0992f55b78b3e58 Mon Sep 17 00:00:00 2001 From: Pablo Machado Date: Thu, 26 Aug 2021 20:41:47 +0200 Subject: [PATCH 097/139] [RAC] EuiDataGrid pagination (#109269) * Update T-Grid to use DataGrid pagination * It also improves the Gtid loading state * DataGrid pagination makes sure that we display the grid with the proper height. * Add DataGrid height hack to t-grid HUGE HACK!!! DataGrtid height isn't properly calculated when the grid has horizontal scroll. https://github.com/elastic/eui/issues/5030 In order to get around this bug we are calculating `DataGrid` height here and setting it as a prop. Please revert this commit and allow DataGrid to calculate its height when the bug is fixed. * Apply DataGrid laoding and pagination changes to observability * Fix cypress tests * Fix t-grid page render bug on Observability * some pagination fixes * hide table when analyzer active * isolate exported function Co-authored-by: semd --- .../pages/alerts/alerts_table_t_grid.tsx | 2 +- .../pages/alerts/default_cell_actions.tsx | 18 +- .../cypress/screens/hosts/events.ts | 2 +- .../lib/cell_actions/default_cell_actions.tsx | 62 +++++- .../components/alerts_table/index.tsx | 4 +- .../common/types/timeline/columns/index.tsx | 2 + .../timelines/common/utils/pagination.ts | 21 ++ .../components/t_grid/body/height_hack.ts | 54 +++++ .../components/t_grid/body/index.test.tsx | 4 +- .../public/components/t_grid/body/index.tsx | 155 ++++++++++---- .../t_grid/body/row_action/index.tsx | 24 ++- .../t_grid/event_rendered_view/index.tsx | 17 +- .../components/t_grid/integrated/index.tsx | 198 ++++++++---------- .../components/t_grid/standalone/index.tsx | 125 ++++++----- .../timelines/public/container/index.tsx | 2 +- x-pack/plugins/timelines/public/index.ts | 1 + .../timelines/public/methods/index.tsx | 10 +- 17 files changed, 448 insertions(+), 253 deletions(-) create mode 100644 x-pack/plugins/timelines/common/utils/pagination.ts create mode 100644 x-pack/plugins/timelines/public/components/t_grid/body/height_hack.ts diff --git a/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx b/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx index d7f5bf8613299..7cb7395acaa8d 100644 --- a/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/alerts_table_t_grid.tsx @@ -322,7 +322,7 @@ export function AlertsTableTGrid(props: AlertsTableTGridProps) { return [ { id: 'expand', - width: 96, + width: 120, headerCellRender: () => { return ( diff --git a/x-pack/plugins/observability/public/pages/alerts/default_cell_actions.tsx b/x-pack/plugins/observability/public/pages/alerts/default_cell_actions.tsx index 7e166ac99c05f..9c93f05196a1c 100644 --- a/x-pack/plugins/observability/public/pages/alerts/default_cell_actions.tsx +++ b/x-pack/plugins/observability/public/pages/alerts/default_cell_actions.tsx @@ -13,7 +13,7 @@ import FilterForValueButton from './filter_for_value'; import { useKibana } from '../../../../../../src/plugins/kibana_react/public'; import { TimelineNonEcsData } from '../../../../timelines/common/search_strategy'; import { TGridCellAction } from '../../../../timelines/common/types/timeline'; -import { TimelinesUIStart } from '../../../../timelines/public'; +import { getPageRowIndex, TimelinesUIStart } from '../../../../timelines/public'; export const FILTER_FOR_VALUE = i18n.translate('xpack.observability.hoverActions.filterForValue', { defaultMessage: 'Filter for value', @@ -35,11 +35,15 @@ const useKibanaServices = () => { /** actions common to all cells (e.g. copy to clipboard) */ const commonCellActions: TGridCellAction[] = [ - ({ data }: { data: TimelineNonEcsData[][] }) => ({ rowIndex, columnId, Component }) => { + ({ data, pageSize }: { data: TimelineNonEcsData[][]; pageSize: number }) => ({ + rowIndex, + columnId, + Component, + }) => { const { timelines } = useKibanaServices(); const value = getMappedNonEcsValue({ - data: data[rowIndex], + data: data[getPageRowIndex(rowIndex, pageSize)], fieldName: columnId, }); @@ -60,9 +64,13 @@ const commonCellActions: TGridCellAction[] = [ /** actions for adding filters to the search bar */ const buildFilterCellActions = (addToQuery: (value: string) => void): TGridCellAction[] => [ - ({ data }: { data: TimelineNonEcsData[][] }) => ({ rowIndex, columnId, Component }) => { + ({ data, pageSize }: { data: TimelineNonEcsData[][]; pageSize: number }) => ({ + rowIndex, + columnId, + Component, + }) => { const value = getMappedNonEcsValue({ - data: data[rowIndex], + data: data[getPageRowIndex(rowIndex, pageSize)], fieldName: columnId, }); diff --git a/x-pack/plugins/security_solution/cypress/screens/hosts/events.ts b/x-pack/plugins/security_solution/cypress/screens/hosts/events.ts index 65778e16771e2..de4acdd721c68 100644 --- a/x-pack/plugins/security_solution/cypress/screens/hosts/events.ts +++ b/x-pack/plugins/security_solution/cypress/screens/hosts/events.ts @@ -38,4 +38,4 @@ export const LOAD_MORE = export const SERVER_SIDE_EVENT_COUNT = '[data-test-subj="server-side-event-count"]'; export const EVENTS_VIEWER_PAGINATION = - '[data-test-subj="events-viewer-panel"] [data-test-subj="timeline-pagination"]'; + '[data-test-subj="events-viewer-panel"] .euiDataGrid__pagination'; diff --git a/x-pack/plugins/security_solution/public/common/lib/cell_actions/default_cell_actions.tsx b/x-pack/plugins/security_solution/public/common/lib/cell_actions/default_cell_actions.tsx index 623957ab8b66c..1481ae3e4248c 100644 --- a/x-pack/plugins/security_solution/public/common/lib/cell_actions/default_cell_actions.tsx +++ b/x-pack/plugins/security_solution/public/common/lib/cell_actions/default_cell_actions.tsx @@ -12,6 +12,7 @@ import type { TimelineNonEcsData, } from '../../../../../timelines/common/search_strategy'; import { DataProvider, TGridCellAction } from '../../../../../timelines/common/types'; +import { getPageRowIndex } from '../../../../../timelines/public'; import { getMappedNonEcsValue } from '../../../timelines/components/timeline/body/data_driven_columns'; import { IS_OPERATOR } from '../../../timelines/components/timeline/data_providers/data_provider'; import { allowTopN, escapeDataProviderId } from '../../components/drag_and_drop/helpers'; @@ -36,11 +37,20 @@ const useKibanaServices = () => { /** the default actions shown in `EuiDataGrid` cells */ export const defaultCellActions: TGridCellAction[] = [ - ({ data }: { data: TimelineNonEcsData[][] }) => ({ rowIndex, columnId, Component }) => { + ({ data, pageSize }: { data: TimelineNonEcsData[][]; pageSize: number }) => ({ + rowIndex, + columnId, + Component, + }) => { const { timelines, filterManager } = useKibanaServices(); + const pageRowIndex = getPageRowIndex(rowIndex, pageSize); + if (pageRowIndex >= data.length) { + return null; + } + const value = getMappedNonEcsValue({ - data: data[rowIndex], + data: data[pageRowIndex], fieldName: columnId, }); @@ -58,11 +68,20 @@ export const defaultCellActions: TGridCellAction[] = [ ); }, - ({ data }: { data: TimelineNonEcsData[][] }) => ({ rowIndex, columnId, Component }) => { + ({ data, pageSize }: { data: TimelineNonEcsData[][]; pageSize: number }) => ({ + rowIndex, + columnId, + Component, + }) => { const { timelines, filterManager } = useKibanaServices(); + const pageRowIndex = getPageRowIndex(rowIndex, pageSize); + if (pageRowIndex >= data.length) { + return null; + } + const value = getMappedNonEcsValue({ - data: data[rowIndex], + data: data[pageRowIndex], fieldName: columnId, }); @@ -80,11 +99,20 @@ export const defaultCellActions: TGridCellAction[] = [ ); }, - ({ data }: { data: TimelineNonEcsData[][] }) => ({ rowIndex, columnId, Component }) => { + ({ data, pageSize }: { data: TimelineNonEcsData[][]; pageSize: number }) => ({ + rowIndex, + columnId, + Component, + }) => { const { timelines } = useKibanaServices(); + const pageRowIndex = getPageRowIndex(rowIndex, pageSize); + if (pageRowIndex >= data.length) { + return null; + } + const value = getMappedNonEcsValue({ - data: data[rowIndex], + data: data[pageRowIndex], fieldName: columnId, }); @@ -122,16 +150,23 @@ export const defaultCellActions: TGridCellAction[] = [ browserFields, data, timelineId, + pageSize, }: { browserFields: BrowserFields; data: TimelineNonEcsData[][]; timelineId: string; + pageSize: number; }) => ({ rowIndex, columnId, Component }) => { const [showTopN, setShowTopN] = useState(false); const onClick = useCallback(() => setShowTopN(!showTopN), [showTopN]); + const pageRowIndex = getPageRowIndex(rowIndex, pageSize); + if (pageRowIndex >= data.length) { + return null; + } + const value = getMappedNonEcsValue({ - data: data[rowIndex], + data: data[pageRowIndex], fieldName: columnId, }); @@ -159,11 +194,20 @@ export const defaultCellActions: TGridCellAction[] = [ ); }, - ({ data }: { data: TimelineNonEcsData[][] }) => ({ rowIndex, columnId, Component }) => { + ({ data, pageSize }: { data: TimelineNonEcsData[][]; pageSize: number }) => ({ + rowIndex, + columnId, + Component, + }) => { const { timelines } = useKibanaServices(); + const pageRowIndex = getPageRowIndex(rowIndex, pageSize); + if (pageRowIndex >= data.length) { + return null; + } + const value = getMappedNonEcsValue({ - data: data[rowIndex], + data: data[pageRowIndex], fieldName: columnId, }); diff --git a/x-pack/plugins/security_solution/public/detections/components/alerts_table/index.tsx b/x-pack/plugins/security_solution/public/detections/components/alerts_table/index.tsx index 3c0bb0e38b153..4b3c792319cd1 100644 --- a/x-pack/plugins/security_solution/public/detections/components/alerts_table/index.tsx +++ b/x-pack/plugins/security_solution/public/detections/components/alerts_table/index.tsx @@ -14,7 +14,6 @@ import { esQuery, Filter } from '../../../../../../../src/plugins/data/public'; import { Status } from '../../../../common/detection_engine/schemas/common/schemas'; import { RowRendererId, TimelineIdLiteral } from '../../../../common/types/timeline'; import { StatefulEventsViewer } from '../../../common/components/events_viewer'; -import { HeaderSection } from '../../../common/components/header_section'; import { displayErrorToast, displaySuccessToast, @@ -371,8 +370,7 @@ export const AlertsTableComponent: React.FC = ({ if (loading || indexPatternsLoading || isEmpty(selectedPatterns)) { return ( - - + ); diff --git a/x-pack/plugins/timelines/common/types/timeline/columns/index.tsx b/x-pack/plugins/timelines/common/types/timeline/columns/index.tsx index d6bc34ca80da9..cc20c856f0e13 100644 --- a/x-pack/plugins/timelines/common/types/timeline/columns/index.tsx +++ b/x-pack/plugins/timelines/common/types/timeline/columns/index.tsx @@ -46,11 +46,13 @@ export type TGridCellAction = ({ browserFields, data, timelineId, + pageSize, }: { browserFields: BrowserFields; /** each row of data is represented as one TimelineNonEcsData[] */ data: TimelineNonEcsData[][]; timelineId: string; + pageSize: number; }) => (props: EuiDataGridColumnCellActionProps) => ReactNode; /** The specification of a column header */ diff --git a/x-pack/plugins/timelines/common/utils/pagination.ts b/x-pack/plugins/timelines/common/utils/pagination.ts new file mode 100644 index 0000000000000..407b62bc4c686 --- /dev/null +++ b/x-pack/plugins/timelines/common/utils/pagination.ts @@ -0,0 +1,21 @@ +/* + * 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. + */ + +/** + * rowIndex is bigger than `data.length` for pages with page numbers bigger than one. + * For that reason, we must calculate `rowIndex % itemsPerPage`. + * + * Ex: + * Given `rowIndex` is `13` and `itemsPerPage` is `10`. + * It means that the `activePage` is `2` and the `pageRowIndex` is `3` + * + * **Warning**: + * Be careful with array out of bounds. `pageRowIndex` can be bigger or equal to `data.length` + * in the scenario where the user changes the event status (Open, Acknowledged, Closed). + */ + +export const getPageRowIndex = (rowIndex: number, itemsPerPage: number) => rowIndex % itemsPerPage; diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/height_hack.ts b/x-pack/plugins/timelines/public/components/t_grid/body/height_hack.ts new file mode 100644 index 0000000000000..542be06578d6b --- /dev/null +++ b/x-pack/plugins/timelines/public/components/t_grid/body/height_hack.ts @@ -0,0 +1,54 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useState, useLayoutEffect } from 'react'; + +// That could be different from security and observability. Get it as parameter? +const INITIAL_DATA_GRID_HEIGHT = 967; + +// It will recalculate DataGrid height after this time interval. +const TIME_INTERVAL = 50; + +/** + * You are probably asking yourself "Why 3?". But that is the wrong mindset. You should be asking yourself "why not 3?". + * 3 (three) is a number, numeral and digit. It is the natural number following 2 and preceding 4, and is the smallest + * odd prime number and the only prime preceding a square number. It has religious or cultural significance in many societies. + */ +const MAGIC_GAP = 3; + +/** + * HUGE HACK!!! + * DataGrtid height isn't properly calculated when the grid has horizontal scroll. + * https://github.com/elastic/eui/issues/5030 + * + * In order to get around this bug we are calculating `DataGrid` height here and setting it as a prop. + * + * Please delete me and allow DataGrid to calculate its height when the bug is fixed. + */ +export const useDataGridHeightHack = (pageSize: number, rowCount: number) => { + const [height, setHeight] = useState(INITIAL_DATA_GRID_HEIGHT); + + useLayoutEffect(() => { + setTimeout(() => { + const gridVirtualized = document.querySelector('#body-data-grid .euiDataGrid__virtualized'); + + if ( + gridVirtualized && + gridVirtualized.children[0].clientHeight !== gridVirtualized.clientHeight // check if it has vertical scroll + ) { + setHeight( + height + + gridVirtualized.children[0].clientHeight - + gridVirtualized.clientHeight + + MAGIC_GAP + ); + } + }, TIME_INTERVAL); + }, [pageSize, rowCount, height]); + + return height; +}; diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/index.test.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/index.test.tsx index 137fa2625e92a..77dde444f77ca 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/index.test.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/index.test.tsx @@ -66,10 +66,11 @@ describe('Body', () => { excludedRowRendererIds: [], id: 'timeline-test', isSelectAllChecked: false, + isLoading: false, itemsPerPageOptions: [], loadingEventIds: [], loadPage: jest.fn(), - querySize: 25, + pageSize: 25, renderCellValue: TestCellRenderer, rowRenderers: [], selectedEventIds: {}, @@ -78,7 +79,6 @@ describe('Body', () => { showCheckboxes: false, tabType: TimelineTabs.query, tableView: 'gridView', - totalPages: 1, totalItems: 1, leadingControlColumns: [], trailingControlColumns: [], diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx index f3220cfd8909e..74d5d54e96526 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/index.tsx @@ -15,6 +15,7 @@ import { EuiLoadingSpinner, EuiFlexGroup, EuiFlexItem, + EuiProgress, } from '@elastic/eui'; import { getOr } from 'lodash/fp'; import memoizeOne from 'memoize-one'; @@ -28,10 +29,9 @@ import React, { useState, useContext, } from 'react'; - import { connect, ConnectedProps, useDispatch } from 'react-redux'; -import { ThemeContext } from 'styled-components'; +import styled, { ThemeContext } from 'styled-components'; import { ALERT_RULE_CONSUMER } from '@kbn/rule-data-utils'; import { TGridCellAction, @@ -62,6 +62,7 @@ import { DEFAULT_ICON_BUTTON_WIDTH } from '../helpers'; import type { BrowserFields } from '../../../../common/search_strategy/index_fields'; import type { OnRowSelected, OnSelectAll } from '../types'; import type { Refetch } from '../../../store/t_grid/inputs'; +import { getPageRowIndex } from '../../../../common/utils/pagination'; import { StatefulEventContext, StatefulFieldsBrowser } from '../../../'; import { tGridActions, TGridModel, tGridSelectors, TimelineState } from '../../../store/t_grid'; import { useDeepEqualSelector } from '../../../hooks/use_selector'; @@ -72,6 +73,7 @@ import { checkBoxControlColumn } from './control_columns'; import type { EuiTheme } from '../../../../../../../src/plugins/kibana_react/common'; import { ViewSelection } from '../event_rendered_view/selector'; import { EventRenderedView } from '../event_rendered_view'; +import { useDataGridHeightHack } from './height_hack'; const StatefulAlertStatusBulkActions = lazy( () => import('../toolbar/bulk_actions/alert_status_bulk_actions') @@ -93,14 +95,13 @@ interface OwnProps { leadingControlColumns?: ControlColumnProps[]; loadPage: (newActivePage: number) => void; onRuleChange?: () => void; - querySize: number; + pageSize: number; refetch: Refetch; renderCellValue: (props: CellValueElementProps) => React.ReactNode; rowRenderers: RowRenderer[]; tableView: ViewSelection; tabType: TimelineTabs; totalItems: number; - totalPages: number; trailingControlColumns?: ControlColumnProps[]; unit?: (total: number) => React.ReactNode; hasAlertsCrud?: boolean; @@ -118,6 +119,8 @@ export const hasAdditionalActions = (id: TimelineId): boolean => const EXTRA_WIDTH = 4; // px +const ES_LIMIT_COUNT = 9999; + const MIN_ACTION_COLUMN_WIDTH = 96; // px const EMPTY_CONTROL_COLUMNS: ControlColumnProps[] = []; @@ -126,6 +129,14 @@ const EmptyHeaderCellRender: ComponentType = () => null; const gridStyle: EuiDataGridStyle = { border: 'none', fontSize: 's', header: 'underline' }; +const EuiDataGridContainer = styled.div<{ hideLastPage: boolean }>` + ul.euiPagination__list { + li.euiPagination__item:last-child { + ${({ hideLastPage }) => `${hideLastPage ? 'display:none' : ''}`}; + } + } +`; + const transformControlColumns = ({ actionColumnsWidth, columnHeaders, @@ -142,6 +153,7 @@ const transformControlColumns = ({ isSelectAllChecked, onSelectPage, browserFields, + pageSize, sort, theme, setEventsLoading, @@ -163,6 +175,7 @@ const transformControlColumns = ({ isSelectAllChecked: boolean; browserFields: BrowserFields; onSelectPage: OnSelectAll; + pageSize: number; sort: SortColumnTimeline[]; theme: EuiTheme; setEventsLoading: SetEventsLoading; @@ -204,12 +217,20 @@ const transformControlColumns = ({ rowIndex, setCellProps, }: EuiDataGridCellValueElementProps) => { - addBuildingBlockStyle(data[rowIndex].ecs, theme, setCellProps); + const pageRowIndex = getPageRowIndex(rowIndex, pageSize); + const rowData = data[pageRowIndex]; + let disabled = false; - if (columnId === 'checkbox-control-column' && hasAlertsCrudPermissions != null) { - const alertConsumers = - data[rowIndex].data.find((d) => d.field === ALERT_RULE_CONSUMER)?.value ?? []; - disabled = alertConsumers.some((consumer) => !hasAlertsCrudPermissions(consumer)); + if (rowData) { + addBuildingBlockStyle(rowData.ecs, theme, setCellProps); + if (columnId === 'checkbox-control-column' && hasAlertsCrudPermissions != null) { + const alertConsumers = + rowData.data.find((d) => d.field === ALERT_RULE_CONSUMER)?.value ?? []; + disabled = alertConsumers.some((consumer) => !hasAlertsCrudPermissions(consumer)); + } + } else { + // disable the cell when it has no data + setCellProps({ style: { display: 'none' } }); } return ( @@ -228,6 +249,7 @@ const transformControlColumns = ({ onRowSelected={onRowSelected} onRuleChange={onRuleChange} rowIndex={rowIndex} + pageRowIndex={pageRowIndex} selectedEventIds={selectedEventIds} setCellProps={setCellProps} showCheckboxes={showCheckboxes} @@ -260,7 +282,6 @@ export const BodyComponent = React.memo( columnHeaders, data, defaultCellActions, - excludedRowRendererIds, filterQuery, filterStatus, id, @@ -270,9 +291,10 @@ export const BodyComponent = React.memo( itemsPerPageOptions, leadingControlColumns = EMPTY_CONTROL_COLUMNS, loadingEventIds, + isLoading, loadPage, onRuleChange, - querySize, + pageSize, refetch, renderCellValue, rowRenderers, @@ -283,7 +305,6 @@ export const BodyComponent = React.memo( tableView = 'gridView', tabType, totalItems, - totalPages, trailingControlColumns = EMPTY_CONTROL_COLUMNS, unit = defaultUnit, hasAlertsCrud, @@ -416,6 +437,7 @@ export const BodyComponent = React.memo( () => ({ additionalControls: ( <> + {isLoading && } {alertCountText} {showBulkActions ? ( <> @@ -472,6 +494,7 @@ export const BodyComponent = React.memo( onAlertStatusActionSuccess, onAlertStatusActionFailure, refetch, + isLoading, additionalControls, browserFields, columnHeaders, @@ -524,8 +547,8 @@ export const BodyComponent = React.memo( }, [columnHeaders]); const setEventsLoading = useCallback( - ({ eventIds, isLoading }) => { - dispatch(tGridActions.setEventsLoading({ id, eventIds, isLoading })); + ({ eventIds, isLoading: loading }) => { + dispatch(tGridActions.setEventsLoading({ id, eventIds, isLoading: loading })); }, [dispatch, id] ); @@ -568,6 +591,7 @@ export const BodyComponent = React.memo( theme, setEventsLoading, setEventsDeleted, + pageSize, hasAlertsCrudPermissions, }) ); @@ -589,6 +613,7 @@ export const BodyComponent = React.memo( browserFields, onSelectPage, theme, + pageSize, setEventsLoading, setEventsDeleted, hasAlertsCrudPermissions, @@ -602,6 +627,7 @@ export const BodyComponent = React.memo( data: data.map((row) => row.data), browserFields, timelineId: id, + pageSize, }); return { @@ -610,7 +636,7 @@ export const BodyComponent = React.memo( header.tGridCellActions?.map(buildAction) ?? defaultCellActions?.map(buildAction), }; }), - [browserFields, columnHeaders, data, defaultCellActions, id] + [browserFields, columnHeaders, data, defaultCellActions, id, pageSize] ); const renderTGridCellValue = useMemo(() => { @@ -619,17 +645,25 @@ export const BodyComponent = React.memo( rowIndex, setCellProps, }): React.ReactElement | null => { - const rowData = rowIndex < data.length ? data[rowIndex].data : null; + const pageRowIndex = getPageRowIndex(rowIndex, pageSize); + + const rowData = pageRowIndex < data.length ? data[pageRowIndex].data : null; const header = columnHeaders.find((h) => h.id === columnId); - const eventId = rowIndex < data.length ? data[rowIndex]._id : null; + const eventId = pageRowIndex < data.length ? data[pageRowIndex]._id : null; + const ecs = pageRowIndex < data.length ? data[pageRowIndex].ecs : null; useEffect(() => { const defaultStyles = { overflow: 'hidden' }; setCellProps({ style: { ...defaultStyles } }); - addBuildingBlockStyle(data[rowIndex].ecs, theme, setCellProps, defaultStyles); - }, [rowIndex, setCellProps]); + if (ecs && rowData) { + addBuildingBlockStyle(ecs, theme, setCellProps, defaultStyles); + } else { + // disable the cell when it has no data + setCellProps({ style: { display: 'none' } }); + } + }, [rowIndex, setCellProps, ecs, rowData]); - if (rowData == null || header == null || eventId == null) { + if (rowData == null || header == null || eventId == null || ecs === null) { return null; } @@ -642,17 +676,47 @@ export const BodyComponent = React.memo( isExpandable: true, isExpanded: false, isDetails: false, - linkValues: getOr([], header.linkField ?? '', data[rowIndex].ecs), + linkValues: getOr([], header.linkField ?? '', ecs), rowIndex, setCellProps, timelineId: tabType != null ? `${id}-${tabType}` : id, - ecsData: data[rowIndex].ecs, + ecsData: ecs, browserFields, rowRenderers, }) as React.ReactElement; }; return Cell; - }, [columnHeaders, data, id, renderCellValue, tabType, theme, browserFields, rowRenderers]); + }, [ + columnHeaders, + data, + id, + renderCellValue, + tabType, + theme, + browserFields, + rowRenderers, + pageSize, + ]); + + const onChangeItemsPerPage = useCallback( + (itemsChangedPerPage) => { + clearSelected({ id }); + dispatch(tGridActions.setTGridSelectAll({ id, selectAll: false })); + dispatch(tGridActions.updateItemsPerPage({ id, itemsPerPage: itemsChangedPerPage })); + }, + [id, dispatch, clearSelected] + ); + + const onChangePage = useCallback( + (page) => { + clearSelected({ id }); + dispatch(tGridActions.setTGridSelectAll({ id, selectAll: false })); + loadPage(page); + }, + [id, loadPage, dispatch, clearSelected] + ); + + const height = useDataGridHeightHack(pageSize, data.length); // Store context in state rather than creating object in provider value={} to prevent re-renders caused by a new object being created const [activeStatefulEventContext] = useState({ @@ -665,20 +729,30 @@ export const BodyComponent = React.memo( <> {tableView === 'gridView' && ( - + ES_LIMIT_COUNT}> + + )} {tableView === 'eventRenderedView' && ( ( browserFields={browserFields} events={data} leadingControlColumns={leadingTGridControlColumns ?? []} - onChangePage={loadPage} + onChangePage={onChangePage} + onChangeItemsPerPage={onChangeItemsPerPage} pageIndex={activePage} - pageSize={querySize} + pageSize={pageSize} pageSizeOptions={itemsPerPageOptions} rowRenderers={rowRenderers} timelineId={id} @@ -723,6 +798,7 @@ const makeMapStateToProps = () => { selectedEventIds, showCheckboxes, sort, + isLoading, } = timeline; return { @@ -730,6 +806,7 @@ const makeMapStateToProps = () => { excludedRowRendererIds, isSelectAllChecked, loadingEventIds, + isLoading, id, selectedEventIds, showCheckboxes: hasAlertsCrud === true && showCheckboxes, diff --git a/x-pack/plugins/timelines/public/components/t_grid/body/row_action/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/body/row_action/index.tsx index c5ba88dc36a63..15f4f837be65e 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/body/row_action/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/body/row_action/index.tsx @@ -39,6 +39,7 @@ type Props = EuiDataGridCellValueElementProps & { width: number; setEventsLoading: SetEventsLoading; setEventsDeleted: SetEventsDeleted; + pageRowIndex: number; }; const RowActionComponent = ({ @@ -51,6 +52,7 @@ const RowActionComponent = ({ loadingEventIds, onRowSelected, onRuleChange, + pageRowIndex, rowIndex, selectedEventIds, showCheckboxes, @@ -60,15 +62,21 @@ const RowActionComponent = ({ setEventsDeleted, width, }: Props) => { - const { data: timelineNonEcsData, ecs: ecsData, _id: eventId, _index: indexName } = useMemo( - () => data[rowIndex], - [data, rowIndex] - ); + const { + data: timelineNonEcsData, + ecs: ecsData, + _id: eventId, + _index: indexName, + } = useMemo(() => { + const rowData: Partial = data[pageRowIndex]; + return rowData ?? {}; + }, [data, pageRowIndex]); const dispatch = useDispatch(); const columnValues = useMemo( () => + timelineNonEcsData && columnHeaders .map( (header) => @@ -85,7 +93,7 @@ const RowActionComponent = ({ const updatedExpandedDetail: TimelineExpandedDetailType = { panelView: 'eventDetail', params: { - eventId, + eventId: eventId ?? '', indexName: indexName ?? '', ecsData, }, @@ -102,7 +110,7 @@ const RowActionComponent = ({ const Action = controlColumn.rowCellRender; - if (data.length === 0 || rowIndex >= data.length) { + if (!timelineNonEcsData || !ecsData || !eventId) { return ; } @@ -110,10 +118,10 @@ const RowActionComponent = ({ <> {Action && ( void; + onChangeItemsPerPage: (newItemsPerPage: number) => void; pageIndex: number; pageSize: number; pageSizeOptions: number[]; @@ -89,6 +85,7 @@ const EventRenderedViewComponent = ({ events, leadingControlColumns, onChangePage, + onChangeItemsPerPage, pageIndex, pageSize, pageSizeOptions, @@ -96,8 +93,6 @@ const EventRenderedViewComponent = ({ timelineId, totalItemCount, }: EventRenderedViewProps) => { - const dispatch = useDispatch(); - const ActionTitle = useMemo( () => ( @@ -220,12 +215,10 @@ const EventRenderedViewComponent = ({ onChangePage(pageChange.page.index); } if (pageChange.page.size !== pageSize) { - dispatch( - tGridActions.updateItemsPerPage({ id: timelineId, itemsPerPage: pageChange.page.size }) - ); + onChangeItemsPerPage(pageChange.page.size); } }, - [dispatch, onChangePage, pageIndex, pageSize, timelineId] + [onChangePage, pageIndex, pageSize, onChangeItemsPerPage] ); const pagination = useMemo( diff --git a/x-pack/plugins/timelines/public/components/t_grid/integrated/index.tsx b/x-pack/plugins/timelines/public/components/t_grid/integrated/index.tsx index cc34b32b048ac..779fddcad2562 100644 --- a/x-pack/plugins/timelines/public/components/t_grid/integrated/index.tsx +++ b/x-pack/plugins/timelines/public/components/t_grid/integrated/index.tsx @@ -8,9 +8,9 @@ import type { AlertConsumers as AlertConsumersTyped } from '@kbn/rule-data-utils'; // @ts-expect-error import { AlertConsumers as AlertConsumersNonTyped } from '@kbn/rule-data-utils/target_node/alerts_as_data_rbac'; -import { EuiEmptyPrompt, EuiFlexGroup, EuiFlexItem, EuiPanel, EuiProgress } from '@elastic/eui'; +import { EuiEmptyPrompt, EuiLoadingContent, EuiPanel } from '@elastic/eui'; import { isEmpty } from 'lodash/fp'; -import React, { useEffect, useMemo, useState } from 'react'; +import React, { useEffect, useMemo, useRef, useState } from 'react'; import styled from 'styled-components'; import { useDispatch } from 'react-redux'; @@ -39,16 +39,10 @@ import { } from '../../../../../../../src/plugins/data/public'; import { useDeepEqualSelector } from '../../../hooks/use_selector'; import { defaultHeaders } from '../body/column_headers/default_headers'; -import { - calculateTotalPages, - buildCombinedQuery, - getCombinedFilterQuery, - resolverIsShowing, -} from '../helpers'; +import { buildCombinedQuery, getCombinedFilterQuery, resolverIsShowing } from '../helpers'; import { tGridActions, tGridSelectors } from '../../../store/t_grid'; import { useTimelineEvents } from '../../../container'; import { StatefulBody } from '../body'; -import { Footer, footerHeight } from '../footer'; import { SELECTOR_TIMELINE_GLOBAL_CONTAINER, UpdatedFlexGroup, UpdatedFlexItem } from '../styles'; import { Sort } from '../body/sort'; import { InspectButton, InspectButtonContainer } from '../../inspect'; @@ -86,16 +80,6 @@ const EventsContainerLoading = styled.div.attrs(({ className = '' }) => ({ flex-direction: column; `; -const FullWidthFlexGroup = styled(EuiFlexGroup)<{ $visible: boolean }>` - overflow: hidden; - margin: 0; - display: ${({ $visible }) => ($visible ? 'flex' : 'none')}; -`; - -const ScrollableFlexItem = styled(EuiFlexItem)` - overflow: auto; -`; - const SECURITY_ALERTS_CONSUMERS = [AlertConsumers.SIEM]; export interface TGridIntegratedProps { @@ -157,7 +141,6 @@ const TGridIntegratedComponent: React.FC = ({ id, indexNames, indexPattern, - isLive, isLoadingIndexPattern, itemsPerPage, itemsPerPageOptions, @@ -176,7 +159,7 @@ const TGridIntegratedComponent: React.FC = ({ const dispatch = useDispatch(); const columnsHeader = isEmpty(columns) ? defaultHeaders : columns; const { uiSettings } = useKibana().services; - const [isQueryLoading, setIsQueryLoading] = useState(false); + const [isQueryLoading, setIsQueryLoading] = useState(true); const [tableView, setTableView] = useState('gridView'); const getManageTimeline = useMemo(() => tGridSelectors.getManageTimelineById(), []); @@ -279,6 +262,13 @@ const TGridIntegratedComponent: React.FC = ({ const alignItems = tableView === 'gridView' ? 'baseline' : 'center'; + const isFirstUpdate = useRef(true); + useEffect(() => { + if (isFirstUpdate.current && !loading) { + isFirstUpdate.current = false; + } + }, [loading]); + return ( = ({ data-test-subj="events-viewer-panel" $isFullScreen={globalFullScreen} > - {loading && } + {isFirstUpdate.current && } {graphOverlay} - {canQueryTimeline ? ( - <> - - - - - + + {canQueryTimeline && ( + + + + + + + {!resolverIsShowing(graphEventId) && additionalFilters} + + {tGridEventRenderedViewEnabled && entityType === 'alerts' && ( - {!resolverIsShowing(graphEventId) && additionalFilters} + - {tGridEventRenderedViewEnabled && entityType === 'alerts' && ( - - - - )} - + )} + - - - {nonDeletedEvents.length === 0 && loading === false ? ( - - - - } - titleSize="s" - body={ -