diff --git a/.eslintrc.js b/.eslintrc.js index a678243e4f07a..b730b88a1b9cf 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -514,6 +514,16 @@ module.exports = { }, }, + /** + * Harden specific rules + */ + { + files: ['test/harden/*.js'], + rules: { + 'mocha/handle-done-callback': 'off', // TODO: Find a way to disable all mocha rules + }, + }, + /** * APM overrides */ diff --git a/docs/development/core/server/kibana-plugin-server.authtoolkit.md b/docs/development/core/server/kibana-plugin-server.authtoolkit.md index a6a30dae894ad..4e523a7ce3cf5 100644 --- a/docs/development/core/server/kibana-plugin-server.authtoolkit.md +++ b/docs/development/core/server/kibana-plugin-server.authtoolkit.md @@ -18,5 +18,5 @@ export interface AuthToolkit | --- | --- | --- | | [authenticated](./kibana-plugin-server.authtoolkit.authenticated.md) | (data?: AuthResultParams) => AuthResult | Authentication is successful with given credentials, allow request to pass through | | [notHandled](./kibana-plugin-server.authtoolkit.nothandled.md) | () => AuthResult | User has no credentials. Allows user to access a resource when authRequired: 'optional' Rejects a request when authRequired: true | -| [redirected](./kibana-plugin-server.authtoolkit.redirected.md) | (headers: {
location: string;
} & ResponseHeaders) => AuthResult | Redirect user to IdP when authRequired: true Allows user to access a resource without redirection when authRequired: 'optional' | +| [redirected](./kibana-plugin-server.authtoolkit.redirected.md) | (headers: {
location: string;
} & ResponseHeaders) => AuthResult | Redirects user to another location to complete authentication when authRequired: true Allows user to access a resource without redirection when authRequired: 'optional' | diff --git a/docs/development/core/server/kibana-plugin-server.authtoolkit.redirected.md b/docs/development/core/server/kibana-plugin-server.authtoolkit.redirected.md index 64d1d04a4abc0..15d5498d90119 100644 --- a/docs/development/core/server/kibana-plugin-server.authtoolkit.redirected.md +++ b/docs/development/core/server/kibana-plugin-server.authtoolkit.redirected.md @@ -4,7 +4,7 @@ ## AuthToolkit.redirected property -Redirect user to IdP when authRequired: true Allows user to access a resource without redirection when authRequired: 'optional' +Redirects user to another location to complete authentication when authRequired: true Allows user to access a resource without redirection when authRequired: 'optional' Signature: diff --git a/docs/development/core/server/kibana-plugin-server.isavedobjecttyperegistry.md b/docs/development/core/server/kibana-plugin-server.isavedobjecttyperegistry.md index bbcba50c81027..6b0012b4ce46c 100644 --- a/docs/development/core/server/kibana-plugin-server.isavedobjecttyperegistry.md +++ b/docs/development/core/server/kibana-plugin-server.isavedobjecttyperegistry.md @@ -9,5 +9,5 @@ See [SavedObjectTypeRegistry](./kibana-plugin-server.savedobjecttyperegistry.md) Signature: ```typescript -export declare type ISavedObjectTypeRegistry = Pick; +export declare type ISavedObjectTypeRegistry = Pick; ``` diff --git a/docs/development/core/server/kibana-plugin-server.md b/docs/development/core/server/kibana-plugin-server.md index c84585bf6cb65..ff243dbb91a89 100644 --- a/docs/development/core/server/kibana-plugin-server.md +++ b/docs/development/core/server/kibana-plugin-server.md @@ -116,7 +116,7 @@ The plugin integrates with the core system via lifecycle events: `setup` | [PluginManifest](./kibana-plugin-server.pluginmanifest.md) | Describes the set of required and optional properties plugin can define in its mandatory JSON manifest file. | | [PluginsServiceSetup](./kibana-plugin-server.pluginsservicesetup.md) | | | [PluginsServiceStart](./kibana-plugin-server.pluginsservicestart.md) | | -| [RequestHandlerContext](./kibana-plugin-server.requesthandlercontext.md) | Plugin specific context passed to a route handler.Provides the following clients: - [rendering](./kibana-plugin-server.iscopedrenderingclient.md) - Rendering client which uses the data of the incoming request - [savedObjects.client](./kibana-plugin-server.savedobjectsclient.md) - Saved Objects client which uses the credentials of the incoming request - [elasticsearch.dataClient](./kibana-plugin-server.scopedclusterclient.md) - Elasticsearch data client which uses the credentials of the incoming request - [elasticsearch.adminClient](./kibana-plugin-server.scopedclusterclient.md) - Elasticsearch admin client which uses the credentials of the incoming request - [uiSettings.client](./kibana-plugin-server.iuisettingsclient.md) - uiSettings client which uses the credentials of the incoming request | +| [RequestHandlerContext](./kibana-plugin-server.requesthandlercontext.md) | Plugin specific context passed to a route handler.Provides the following clients and services: - [rendering](./kibana-plugin-server.iscopedrenderingclient.md) - Rendering client which uses the data of the incoming request - [savedObjects.client](./kibana-plugin-server.savedobjectsclient.md) - Saved Objects client which uses the credentials of the incoming request - [savedObjects.typeRegistry](./kibana-plugin-server.isavedobjecttyperegistry.md) - Type registry containing all the registered types. - [elasticsearch.dataClient](./kibana-plugin-server.scopedclusterclient.md) - Elasticsearch data client which uses the credentials of the incoming request - [elasticsearch.adminClient](./kibana-plugin-server.scopedclusterclient.md) - Elasticsearch admin client which uses the credentials of the incoming request - [uiSettings.client](./kibana-plugin-server.iuisettingsclient.md) - uiSettings client which uses the credentials of the incoming request | | [RouteConfig](./kibana-plugin-server.routeconfig.md) | Route specific configuration. | | [RouteConfigOptions](./kibana-plugin-server.routeconfigoptions.md) | Additional route options. | | [RouteConfigOptionsBody](./kibana-plugin-server.routeconfigoptionsbody.md) | Additional body options for a route | @@ -164,6 +164,7 @@ The plugin integrates with the core system via lifecycle events: `setup` | [SavedObjectsServiceSetup](./kibana-plugin-server.savedobjectsservicesetup.md) | Saved Objects is Kibana's data persistence mechanism allowing plugins to use Elasticsearch for storing and querying state. The SavedObjectsServiceSetup API exposes methods for registering Saved Object types, creating and registering Saved Object client wrappers and factories. | | [SavedObjectsServiceStart](./kibana-plugin-server.savedobjectsservicestart.md) | Saved Objects is Kibana's data persisentence mechanism allowing plugins to use Elasticsearch for storing and querying state. The SavedObjectsServiceStart API provides a scoped Saved Objects client for interacting with Saved Objects. | | [SavedObjectsType](./kibana-plugin-server.savedobjectstype.md) | | +| [SavedObjectsTypeManagementDefinition](./kibana-plugin-server.savedobjectstypemanagementdefinition.md) | Configuration options for the [type](./kibana-plugin-server.savedobjectstype.md)'s management section. | | [SavedObjectsTypeMappingDefinition](./kibana-plugin-server.savedobjectstypemappingdefinition.md) | Describe a saved object type mapping. | | [SavedObjectsUpdateOptions](./kibana-plugin-server.savedobjectsupdateoptions.md) | | | [SavedObjectsUpdateResponse](./kibana-plugin-server.savedobjectsupdateresponse.md) | | diff --git a/docs/development/core/server/kibana-plugin-server.requesthandlercontext.core.md b/docs/development/core/server/kibana-plugin-server.requesthandlercontext.core.md index 77bfd85e6e54b..18787d1c7c9a4 100644 --- a/docs/development/core/server/kibana-plugin-server.requesthandlercontext.core.md +++ b/docs/development/core/server/kibana-plugin-server.requesthandlercontext.core.md @@ -11,6 +11,7 @@ core: { rendering: IScopedRenderingClient; savedObjects: { client: SavedObjectsClientContract; + typeRegistry: ISavedObjectTypeRegistry; }; elasticsearch: { dataClient: IScopedClusterClient; diff --git a/docs/development/core/server/kibana-plugin-server.requesthandlercontext.md b/docs/development/core/server/kibana-plugin-server.requesthandlercontext.md index 4d14d890f51a2..4365da24d1489 100644 --- a/docs/development/core/server/kibana-plugin-server.requesthandlercontext.md +++ b/docs/development/core/server/kibana-plugin-server.requesthandlercontext.md @@ -6,7 +6,7 @@ Plugin specific context passed to a route handler. -Provides the following clients: - [rendering](./kibana-plugin-server.iscopedrenderingclient.md) - Rendering client which uses the data of the incoming request - [savedObjects.client](./kibana-plugin-server.savedobjectsclient.md) - Saved Objects client which uses the credentials of the incoming request - [elasticsearch.dataClient](./kibana-plugin-server.scopedclusterclient.md) - Elasticsearch data client which uses the credentials of the incoming request - [elasticsearch.adminClient](./kibana-plugin-server.scopedclusterclient.md) - Elasticsearch admin client which uses the credentials of the incoming request - [uiSettings.client](./kibana-plugin-server.iuisettingsclient.md) - uiSettings client which uses the credentials of the incoming request +Provides the following clients and services: - [rendering](./kibana-plugin-server.iscopedrenderingclient.md) - Rendering client which uses the data of the incoming request - [savedObjects.client](./kibana-plugin-server.savedobjectsclient.md) - Saved Objects client which uses the credentials of the incoming request - [savedObjects.typeRegistry](./kibana-plugin-server.isavedobjecttyperegistry.md) - Type registry containing all the registered types. - [elasticsearch.dataClient](./kibana-plugin-server.scopedclusterclient.md) - Elasticsearch data client which uses the credentials of the incoming request - [elasticsearch.adminClient](./kibana-plugin-server.scopedclusterclient.md) - Elasticsearch admin client which uses the credentials of the incoming request - [uiSettings.client](./kibana-plugin-server.iuisettingsclient.md) - uiSettings client which uses the credentials of the incoming request Signature: @@ -18,5 +18,5 @@ export interface RequestHandlerContext | Property | Type | Description | | --- | --- | --- | -| [core](./kibana-plugin-server.requesthandlercontext.core.md) | {
rendering: IScopedRenderingClient;
savedObjects: {
client: SavedObjectsClientContract;
};
elasticsearch: {
dataClient: IScopedClusterClient;
adminClient: IScopedClusterClient;
};
uiSettings: {
client: IUiSettingsClient;
};
} | | +| [core](./kibana-plugin-server.requesthandlercontext.core.md) | {
rendering: IScopedRenderingClient;
savedObjects: {
client: SavedObjectsClientContract;
typeRegistry: ISavedObjectTypeRegistry;
};
elasticsearch: {
dataClient: IScopedClusterClient;
adminClient: IScopedClusterClient;
};
uiSettings: {
client: IUiSettingsClient;
};
} | | diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstype.management.md b/docs/development/core/server/kibana-plugin-server.savedobjectstype.management.md new file mode 100644 index 0000000000000..301e80d74ed57 --- /dev/null +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstype.management.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [SavedObjectsType](./kibana-plugin-server.savedobjectstype.md) > [management](./kibana-plugin-server.savedobjectstype.management.md) + +## SavedObjectsType.management property + +An optional [saved objects management section](./kibana-plugin-server.savedobjectstypemanagementdefinition.md) definition for the type. + +Signature: + +```typescript +management?: SavedObjectsTypeManagementDefinition; +``` diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstype.md b/docs/development/core/server/kibana-plugin-server.savedobjectstype.md index 1e989652e52bf..546d83ad0d8dc 100644 --- a/docs/development/core/server/kibana-plugin-server.savedobjectstype.md +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstype.md @@ -21,6 +21,7 @@ This is only internal for now, and will only be public when we expose the regist | [convertToAliasScript](./kibana-plugin-server.savedobjectstype.converttoaliasscript.md) | string | If defined, will be used to convert the type to an alias. | | [hidden](./kibana-plugin-server.savedobjectstype.hidden.md) | boolean | Is the type hidden by default. If true, repositories will not have access to this type unless explicitly declared as an extraType when creating the repository.See [createInternalRepository](./kibana-plugin-server.savedobjectsservicestart.createinternalrepository.md). | | [indexPattern](./kibana-plugin-server.savedobjectstype.indexpattern.md) | string | If defined, the type instances will be stored in the given index instead of the default one. | +| [management](./kibana-plugin-server.savedobjectstype.management.md) | SavedObjectsTypeManagementDefinition | An optional [saved objects management section](./kibana-plugin-server.savedobjectstypemanagementdefinition.md) definition for the type. | | [mappings](./kibana-plugin-server.savedobjectstype.mappings.md) | SavedObjectsTypeMappingDefinition | The [mapping definition](./kibana-plugin-server.savedobjectstypemappingdefinition.md) for the type. | | [migrations](./kibana-plugin-server.savedobjectstype.migrations.md) | SavedObjectMigrationMap | An optional map of [migrations](./kibana-plugin-server.savedobjectmigrationfn.md) to be used to migrate the type. | | [name](./kibana-plugin-server.savedobjectstype.name.md) | string | The name of the type, which is also used as the internal id. | diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.defaultsearchfield.md b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.defaultsearchfield.md new file mode 100644 index 0000000000000..229f0fd567b5d --- /dev/null +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.defaultsearchfield.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [SavedObjectsTypeManagementDefinition](./kibana-plugin-server.savedobjectstypemanagementdefinition.md) > [defaultSearchField](./kibana-plugin-server.savedobjectstypemanagementdefinition.defaultsearchfield.md) + +## SavedObjectsTypeManagementDefinition.defaultSearchField property + +The default search field to use for this type. Defaults to `id`. + +Signature: + +```typescript +defaultSearchField?: string; +``` diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.getediturl.md b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.getediturl.md new file mode 100644 index 0000000000000..276167560ebbf --- /dev/null +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.getediturl.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [SavedObjectsTypeManagementDefinition](./kibana-plugin-server.savedobjectstypemanagementdefinition.md) > [getEditUrl](./kibana-plugin-server.savedobjectstypemanagementdefinition.getediturl.md) + +## SavedObjectsTypeManagementDefinition.getEditUrl property + +Function returning the url to use to redirect to the editing page of this object. If not defined, editing will not be allowed. + +Signature: + +```typescript +getEditUrl?: (savedObject: SavedObject) => string; +``` diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.getinappurl.md b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.getinappurl.md new file mode 100644 index 0000000000000..82934985f3ad5 --- /dev/null +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.getinappurl.md @@ -0,0 +1,16 @@ + + +[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [SavedObjectsTypeManagementDefinition](./kibana-plugin-server.savedobjectstypemanagementdefinition.md) > [getInAppUrl](./kibana-plugin-server.savedobjectstypemanagementdefinition.getinappurl.md) + +## SavedObjectsTypeManagementDefinition.getInAppUrl property + +Function returning the url to use to redirect to this object from the management section. If not defined, redirecting to the object will not be allowed. + +Signature: + +```typescript +getInAppUrl?: (savedObject: SavedObject) => { + path: string; + uiCapabilitiesPath: string; + }; +``` diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.gettitle.md b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.gettitle.md new file mode 100644 index 0000000000000..348d80031a2e1 --- /dev/null +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.gettitle.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [SavedObjectsTypeManagementDefinition](./kibana-plugin-server.savedobjectstypemanagementdefinition.md) > [getTitle](./kibana-plugin-server.savedobjectstypemanagementdefinition.gettitle.md) + +## SavedObjectsTypeManagementDefinition.getTitle property + +Function returning the title to display in the management table. If not defined, will use the object's type and id to generate a label. + +Signature: + +```typescript +getTitle?: (savedObject: SavedObject) => string; +``` diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.icon.md b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.icon.md new file mode 100644 index 0000000000000..1126c77106609 --- /dev/null +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.icon.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [SavedObjectsTypeManagementDefinition](./kibana-plugin-server.savedobjectstypemanagementdefinition.md) > [icon](./kibana-plugin-server.savedobjectstypemanagementdefinition.icon.md) + +## SavedObjectsTypeManagementDefinition.icon property + +The eui icon name to display in the management table. If not defined, the default icon will be used. + +Signature: + +```typescript +icon?: string; +``` diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.importableandexportable.md b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.importableandexportable.md new file mode 100644 index 0000000000000..30a20f1a1b03e --- /dev/null +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.importableandexportable.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [SavedObjectsTypeManagementDefinition](./kibana-plugin-server.savedobjectstypemanagementdefinition.md) > [importableAndExportable](./kibana-plugin-server.savedobjectstypemanagementdefinition.importableandexportable.md) + +## SavedObjectsTypeManagementDefinition.importableAndExportable property + +Is the type importable or exportable. Defaults to `false`. + +Signature: + +```typescript +importableAndExportable?: boolean; +``` diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.md b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.md new file mode 100644 index 0000000000000..b54944b24035a --- /dev/null +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstypemanagementdefinition.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [SavedObjectsTypeManagementDefinition](./kibana-plugin-server.savedobjectstypemanagementdefinition.md) + +## SavedObjectsTypeManagementDefinition interface + +Configuration options for the [type](./kibana-plugin-server.savedobjectstype.md)'s management section. + +Signature: + +```typescript +export interface SavedObjectsTypeManagementDefinition +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [defaultSearchField](./kibana-plugin-server.savedobjectstypemanagementdefinition.defaultsearchfield.md) | string | The default search field to use for this type. Defaults to id. | +| [getEditUrl](./kibana-plugin-server.savedobjectstypemanagementdefinition.getediturl.md) | (savedObject: SavedObject<any>) => string | Function returning the url to use to redirect to the editing page of this object. If not defined, editing will not be allowed. | +| [getInAppUrl](./kibana-plugin-server.savedobjectstypemanagementdefinition.getinappurl.md) | (savedObject: SavedObject<any>) => {
path: string;
uiCapabilitiesPath: string;
} | Function returning the url to use to redirect to this object from the management section. If not defined, redirecting to the object will not be allowed. | +| [getTitle](./kibana-plugin-server.savedobjectstypemanagementdefinition.gettitle.md) | (savedObject: SavedObject<any>) => string | Function returning the title to display in the management table. If not defined, will use the object's type and id to generate a label. | +| [icon](./kibana-plugin-server.savedobjectstypemanagementdefinition.icon.md) | string | The eui icon name to display in the management table. If not defined, the default icon will be used. | +| [importableAndExportable](./kibana-plugin-server.savedobjectstypemanagementdefinition.importableandexportable.md) | boolean | Is the type importable or exportable. Defaults to false. | + diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstypemappingdefinition.dynamic.md b/docs/development/core/server/kibana-plugin-server.savedobjectstypemappingdefinition.dynamic.md index 0efab7bebfbe5..b6a3fa7a39811 100644 --- a/docs/development/core/server/kibana-plugin-server.savedobjectstypemappingdefinition.dynamic.md +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstypemappingdefinition.dynamic.md @@ -4,7 +4,7 @@ ## SavedObjectsTypeMappingDefinition.dynamic property -The dynamic property of the mapping. either `false` or 'strict'. Defaults to strict +The dynamic property of the mapping. either `false` or 'strict'. Defaults to `false` Signature: diff --git a/docs/development/core/server/kibana-plugin-server.savedobjectstypemappingdefinition.md b/docs/development/core/server/kibana-plugin-server.savedobjectstypemappingdefinition.md index 8c1a279894ffd..2f60c04f5f917 100644 --- a/docs/development/core/server/kibana-plugin-server.savedobjectstypemappingdefinition.md +++ b/docs/development/core/server/kibana-plugin-server.savedobjectstypemappingdefinition.md @@ -41,6 +41,6 @@ const typeDefinition: SavedObjectsTypeMappingDefinition = { | Property | Type | Description | | --- | --- | --- | -| [dynamic](./kibana-plugin-server.savedobjectstypemappingdefinition.dynamic.md) | false | 'strict' | The dynamic property of the mapping. either false or 'strict'. Defaults to strict | +| [dynamic](./kibana-plugin-server.savedobjectstypemappingdefinition.dynamic.md) | false | 'strict' | The dynamic property of the mapping. either false or 'strict'. Defaults to false | | [properties](./kibana-plugin-server.savedobjectstypemappingdefinition.properties.md) | SavedObjectsMappingProperties | The underlying properties of the type mapping | diff --git a/docs/development/core/server/kibana-plugin-server.savedobjecttyperegistry.getimportableandexportabletypes.md b/docs/development/core/server/kibana-plugin-server.savedobjecttyperegistry.getimportableandexportabletypes.md new file mode 100644 index 0000000000000..c9eb9c9c0c468 --- /dev/null +++ b/docs/development/core/server/kibana-plugin-server.savedobjecttyperegistry.getimportableandexportabletypes.md @@ -0,0 +1,17 @@ + + +[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [SavedObjectTypeRegistry](./kibana-plugin-server.savedobjecttyperegistry.md) > [getImportableAndExportableTypes](./kibana-plugin-server.savedobjecttyperegistry.getimportableandexportabletypes.md) + +## SavedObjectTypeRegistry.getImportableAndExportableTypes() method + +Return all [types](./kibana-plugin-server.savedobjectstype.md) currently registered that are importable/exportable. + +Signature: + +```typescript +getImportableAndExportableTypes(): SavedObjectsType[]; +``` +Returns: + +`SavedObjectsType[]` + diff --git a/docs/development/core/server/kibana-plugin-server.savedobjecttyperegistry.isimportableandexportable.md b/docs/development/core/server/kibana-plugin-server.savedobjecttyperegistry.isimportableandexportable.md new file mode 100644 index 0000000000000..4d6e95e100646 --- /dev/null +++ b/docs/development/core/server/kibana-plugin-server.savedobjecttyperegistry.isimportableandexportable.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [kibana-plugin-server](./kibana-plugin-server.md) > [SavedObjectTypeRegistry](./kibana-plugin-server.savedobjecttyperegistry.md) > [isImportableAndExportable](./kibana-plugin-server.savedobjecttyperegistry.isimportableandexportable.md) + +## SavedObjectTypeRegistry.isImportableAndExportable() method + +Returns the `management.importableAndExportable` property for given type, or `false` if the type is not registered or does not define a management section. + +Signature: + +```typescript +isImportableAndExportable(type: string): boolean; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| type | string | | + +Returns: + +`boolean` + diff --git a/docs/development/core/server/kibana-plugin-server.savedobjecttyperegistry.md b/docs/development/core/server/kibana-plugin-server.savedobjecttyperegistry.md index 3daad35808624..66ca9768b7187 100644 --- a/docs/development/core/server/kibana-plugin-server.savedobjecttyperegistry.md +++ b/docs/development/core/server/kibana-plugin-server.savedobjecttyperegistry.md @@ -17,9 +17,11 @@ export declare class SavedObjectTypeRegistry | Method | Modifiers | Description | | --- | --- | --- | | [getAllTypes()](./kibana-plugin-server.savedobjecttyperegistry.getalltypes.md) | | Return all [types](./kibana-plugin-server.savedobjectstype.md) currently registered. | +| [getImportableAndExportableTypes()](./kibana-plugin-server.savedobjecttyperegistry.getimportableandexportabletypes.md) | | Return all [types](./kibana-plugin-server.savedobjectstype.md) currently registered that are importable/exportable. | | [getIndex(type)](./kibana-plugin-server.savedobjecttyperegistry.getindex.md) | | Returns the indexPattern property for given type, or undefined if the type is not registered. | | [getType(type)](./kibana-plugin-server.savedobjecttyperegistry.gettype.md) | | Return the [type](./kibana-plugin-server.savedobjectstype.md) definition for given type name. | | [isHidden(type)](./kibana-plugin-server.savedobjecttyperegistry.ishidden.md) | | Returns the hidden property for given type, or false if the type is not registered. | +| [isImportableAndExportable(type)](./kibana-plugin-server.savedobjecttyperegistry.isimportableandexportable.md) | | Returns the management.importableAndExportable property for given type, or false if the type is not registered or does not define a management section. | | [isNamespaceAgnostic(type)](./kibana-plugin-server.savedobjecttyperegistry.isnamespaceagnostic.md) | | Returns the namespaceAgnostic property for given type, or false if the type is not registered. | | [registerType(type)](./kibana-plugin-server.savedobjecttyperegistry.registertype.md) | | Register a [type](./kibana-plugin-server.savedobjectstype.md) inside the registry. A type can only be registered once. subsequent calls with the same type name will throw an error. | diff --git a/docs/development/plugins/data/public/index.md b/docs/development/plugins/data/public/index.md new file mode 100644 index 0000000000000..424cfd22d3d31 --- /dev/null +++ b/docs/development/plugins/data/public/index.md @@ -0,0 +1,12 @@ + + +[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.addsearchstrategy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.addsearchstrategy.md new file mode 100644 index 0000000000000..119e7fbe62536 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.addsearchstrategy.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [addSearchStrategy](./kibana-plugin-plugins-data-public.addsearchstrategy.md) + +## addSearchStrategy variable + +Signature: + +```typescript +addSearchStrategy: (searchStrategy: SearchStrategyProvider) => void +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.baseformatterspublic.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.baseformatterspublic.md new file mode 100644 index 0000000000000..50e8f2409ac02 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.baseformatterspublic.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [baseFormattersPublic](./kibana-plugin-plugins-data-public.baseformatterspublic.md) + +## baseFormattersPublic variable + +Signature: + +```typescript +baseFormattersPublic: (import("../../common").IFieldFormatType | typeof DateFormat)[] +``` 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 new file mode 100644 index 0000000000000..d7257cfe61011 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.castestokbnfieldtypename.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [castEsToKbnFieldTypeName](./kibana-plugin-plugins-data-public.castestokbnfieldtypename.md) + +## castEsToKbnFieldTypeName variable + +Get the KbnFieldType name for an esType string + +Signature: + +```typescript +castEsToKbnFieldTypeName: (esType: string) => 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 new file mode 100644 index 0000000000000..005201735ed4b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.connecttoquerystate.md @@ -0,0 +1,32 @@ + + +[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, state$, }: Pick<{ + filterManager: import("..").FilterManager; + timefilter: import("..").TimefilterSetup; + state$: import("rxjs").Observable<{ + changes: QueryStateChange; + state: QueryState; + }>; + savedQueries: import("..").SavedQueryService; +} | { + filterManager: import("..").FilterManager; + timefilter: import("..").TimefilterSetup; + state$: import("rxjs").Observable<{ + changes: QueryStateChange; + state: QueryState; + }>; +}, "state$" | "timefilter" | "filterManager">, stateContainer: BaseStateContainer, syncConfig: { + time?: boolean | undefined; + refreshInterval?: boolean | undefined; + filters?: boolean | FilterStateStore | undefined; +}) => () => 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 new file mode 100644 index 0000000000000..c23d37dfecf90 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.createsavedqueryservice.md @@ -0,0 +1,11 @@ + + +[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: Pick) => 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 new file mode 100644 index 0000000000000..0a3b4e54cfe55 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.customfilter.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [CustomFilter](./kibana-plugin-plugins-data-public.customfilter.md) + +## CustomFilter type + +Signature: + +```typescript +export declare type CustomFilter = Filter & { + query: any; +}; +``` 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 new file mode 100644 index 0000000000000..9ded30c531bed --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.autocomplete.md @@ -0,0 +1,11 @@ + + +[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.fieldformats.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.fieldformats.md new file mode 100644 index 0000000000000..993634023c20c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.fieldformats.md @@ -0,0 +1,11 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..dba1d79e78682 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginSetup](./kibana-plugin-plugins-data-public.datapublicpluginsetup.md) + +## DataPublicPluginSetup interface + +Signature: + +```typescript +export interface DataPublicPluginSetup +``` + +## Properties + +| 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/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 new file mode 100644 index 0000000000000..b8882bdf671b6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.query.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..a957c1acc4194 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginsetup.search.md @@ -0,0 +1,11 @@ + + +[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.autocomplete.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.autocomplete.md new file mode 100644 index 0000000000000..d2e5aee7d90dd --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.autocomplete.md @@ -0,0 +1,11 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..dd4b38f64d10b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.fieldformats.md @@ -0,0 +1,11 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..b3dd6a61760a6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.indexpatterns.md @@ -0,0 +1,11 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..defc633b5d1ce --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.md @@ -0,0 +1,23 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) + +## DataPublicPluginStart interface + +Signature: + +```typescript +export interface DataPublicPluginStart +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [autocomplete](./kibana-plugin-plugins-data-public.datapublicpluginstart.autocomplete.md) | AutocompleteStart | | +| [fieldFormats](./kibana-plugin-plugins-data-public.datapublicpluginstart.fieldformats.md) | FieldFormatsStart | | +| [indexPatterns](./kibana-plugin-plugins-data-public.datapublicpluginstart.indexpatterns.md) | IndexPatternsContract | | +| [query](./kibana-plugin-plugins-data-public.datapublicpluginstart.query.md) | QueryStart | | +| [search](./kibana-plugin-plugins-data-public.datapublicpluginstart.search.md) | ISearchStart | | +| [ui](./kibana-plugin-plugins-data-public.datapublicpluginstart.ui.md) | {
IndexPatternSelect: React.ComponentType<IndexPatternSelectProps>;
SearchBar: React.ComponentType<StatefulSearchBarProps>;
} | | + 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 new file mode 100644 index 0000000000000..a44e250077ed4 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.query.md @@ -0,0 +1,11 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..eec00e7b13e9d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.search.md @@ -0,0 +1,11 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..9c24216834371 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.datapublicpluginstart.ui.md @@ -0,0 +1,14 @@ + + +[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 + +Signature: + +```typescript +ui: { + IndexPatternSelect: React.ComponentType; + SearchBar: React.ComponentType; + }; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.defaultsearchstrategy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.defaultsearchstrategy.md new file mode 100644 index 0000000000000..d6a71cf561bc2 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.defaultsearchstrategy.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [defaultSearchStrategy](./kibana-plugin-plugins-data-public.defaultsearchstrategy.md) + +## defaultSearchStrategy variable + +Signature: + +```typescript +defaultSearchStrategy: SearchStrategyProvider +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.es_field_types.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.es_field_types.md new file mode 100644 index 0000000000000..e7341caf7b3cd --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.es_field_types.md @@ -0,0 +1,45 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ES\_FIELD\_TYPES](./kibana-plugin-plugins-data-public.es_field_types.md) + +## ES\_FIELD\_TYPES enum + +\* + +Signature: + +```typescript +export declare enum ES_FIELD_TYPES +``` + +## Enumeration Members + +| Member | Value | Description | +| --- | --- | --- | +| \_ID | "_id" | | +| \_INDEX | "_index" | | +| \_SOURCE | "_source" | | +| \_TYPE | "_type" | | +| ATTACHMENT | "attachment" | | +| BOOLEAN | "boolean" | | +| BYTE | "byte" | | +| DATE | "date" | | +| DATE\_NANOS | "date_nanos" | | +| DOUBLE | "double" | | +| FLOAT | "float" | | +| GEO\_POINT | "geo_point" | | +| GEO\_SHAPE | "geo_shape" | | +| HALF\_FLOAT | "half_float" | | +| INTEGER | "integer" | | +| IP | "ip" | | +| KEYWORD | "keyword" | | +| LONG | "long" | | +| MURMUR3 | "murmur3" | | +| NESTED | "nested" | | +| OBJECT | "object" | | +| SCALED\_FLOAT | "scaled_float" | | +| SHORT | "short" | | +| STRING | "string" | | +| TEXT | "text" | | +| TOKEN\_COUNT | "token_count" | | + 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 new file mode 100644 index 0000000000000..9cf3720e330c2 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.es_search_strategy.md @@ -0,0 +1,11 @@ + + +[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.esfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esfilters.md new file mode 100644 index 0000000000000..e03072f9a41c3 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esfilters.md @@ -0,0 +1,55 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [esFilters](./kibana-plugin-plugins-data-public.esfilters.md) + +## esFilters variable + +Signature: + +```typescript +esFilters: { + FilterLabel: typeof FilterLabel; + FILTERS: typeof FILTERS; + FilterStateStore: typeof FilterStateStore; + buildEmptyFilter: (isPinned: boolean, index?: string | undefined) => import("../common").Filter; + buildPhrasesFilter: (field: import("../common").IFieldType, params: any[], indexPattern: import("../common").IIndexPattern) => import("../common").PhrasesFilter; + buildExistsFilter: (field: import("../common").IFieldType, indexPattern: import("../common").IIndexPattern) => import("../common").ExistsFilter; + buildPhraseFilter: (field: import("../common").IFieldType, value: any, indexPattern: import("../common").IIndexPattern) => import("../common").PhraseFilter; + buildQueryFilter: (query: any, index: string, alias: string) => import("../common").QueryStringFilter; + buildRangeFilter: (field: import("../common").IFieldType, params: import("../common").RangeFilterParams, indexPattern: import("../common").IIndexPattern, formattedValue?: string | undefined) => import("../common").RangeFilter; + isPhraseFilter: (filter: any) => filter is import("../common").PhraseFilter; + isExistsFilter: (filter: any) => filter is import("../common").ExistsFilter; + isPhrasesFilter: (filter: any) => filter is import("../common").PhrasesFilter; + isRangeFilter: (filter: any) => filter is import("../common").RangeFilter; + isMatchAllFilter: (filter: any) => filter is import("../common").MatchAllFilter; + isMissingFilter: (filter: any) => filter is import("../common").MissingFilter; + isQueryStringFilter: (filter: any) => filter is import("../common").QueryStringFilter; + isFilterPinned: (filter: import("../common").Filter) => boolean | undefined; + toggleFilterNegated: (filter: import("../common").Filter) => { + meta: { + negate: boolean; + alias: string | null; + disabled: boolean; + controlledBy?: string | undefined; + index?: string | undefined; + type?: string | undefined; + key?: string | undefined; + params?: any; + value?: string | ((formatter?: import("../common").FilterValueFormatter | undefined) => string) | undefined; + }; + $state?: import("../common").FilterState | undefined; + query?: any; + }; + disableFilter: (filter: import("../common").Filter) => import("../common").Filter; + getPhraseFilterField: (filter: import("../common").PhraseFilter) => string; + getPhraseFilterValue: (filter: import("../common").PhraseFilter) => string | number | boolean; + getDisplayValueFromFilter: typeof getDisplayValueFromFilter; + compareFilters: (first: import("../common").Filter | import("../common").Filter[], second: import("../common").Filter | import("../common").Filter[], comparatorOptions?: import("./query/filter_manager/lib/compare_filters").FilterCompareOptions) => boolean; + COMPARE_ALL_OPTIONS: import("./query/filter_manager/lib/compare_filters").FilterCompareOptions; + generateFilters: typeof generateFilters; + onlyDisabledFiltersChanged: (newFilters?: import("../common").Filter[] | undefined, oldFilters?: import("../common").Filter[] | undefined) => boolean; + changeTimeFilter: typeof changeTimeFilter; + mapAndFlattenFilters: (filters: import("../common").Filter[]) => import("../common").Filter[]; + extractTimeFilter: typeof extractTimeFilter; +} +``` 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 new file mode 100644 index 0000000000000..5d92e348d6276 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.eskuery.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [esKuery](./kibana-plugin-plugins-data-public.eskuery.md) + +## esKuery variable + +Signature: + +```typescript +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; +} +``` 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 new file mode 100644 index 0000000000000..2430e6a93bd2b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esquery.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [esQuery](./kibana-plugin-plugins-data-public.esquery.md) + +## esQuery variable + +Signature: + +```typescript +esQuery: { + buildEsQuery: typeof buildEsQuery; + getEsQueryConfig: typeof getEsQueryConfig; + buildQueryFromFilters: (filters: import("../common").Filter[] | undefined, indexPattern: import("../common").IIndexPattern | undefined, ignoreFilterIfFieldNotInIndex?: boolean) => { + must: never[]; + filter: import("../common").Filter[]; + should: never[]; + must_not: import("../common").Filter[]; + }; + luceneStringToDsl: typeof luceneStringToDsl; + decorateQuery: typeof decorateQuery; +} +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.allowleadingwildcards.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.allowleadingwildcards.md new file mode 100644 index 0000000000000..71eb23ac6299b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.allowleadingwildcards.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [EsQueryConfig](./kibana-plugin-plugins-data-public.esqueryconfig.md) > [allowLeadingWildcards](./kibana-plugin-plugins-data-public.esqueryconfig.allowleadingwildcards.md) + +## EsQueryConfig.allowLeadingWildcards property + +Signature: + +```typescript +allowLeadingWildcards: boolean; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.dateformattz.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.dateformattz.md new file mode 100644 index 0000000000000..e9c4c26878a97 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.dateformattz.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [EsQueryConfig](./kibana-plugin-plugins-data-public.esqueryconfig.md) > [dateFormatTZ](./kibana-plugin-plugins-data-public.esqueryconfig.dateformattz.md) + +## EsQueryConfig.dateFormatTZ property + +Signature: + +```typescript +dateFormatTZ?: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.ignorefilteriffieldnotinindex.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.ignorefilteriffieldnotinindex.md new file mode 100644 index 0000000000000..9f765c51d0a69 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.ignorefilteriffieldnotinindex.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [EsQueryConfig](./kibana-plugin-plugins-data-public.esqueryconfig.md) > [ignoreFilterIfFieldNotInIndex](./kibana-plugin-plugins-data-public.esqueryconfig.ignorefilteriffieldnotinindex.md) + +## EsQueryConfig.ignoreFilterIfFieldNotInIndex property + +Signature: + +```typescript +ignoreFilterIfFieldNotInIndex: boolean; +``` 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 new file mode 100644 index 0000000000000..5252f8058b488 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [EsQueryConfig](./kibana-plugin-plugins-data-public.esqueryconfig.md) + +## EsQueryConfig interface + +Signature: + +```typescript +export interface EsQueryConfig +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [allowLeadingWildcards](./kibana-plugin-plugins-data-public.esqueryconfig.allowleadingwildcards.md) | boolean | | +| [dateFormatTZ](./kibana-plugin-plugins-data-public.esqueryconfig.dateformattz.md) | string | | +| [ignoreFilterIfFieldNotInIndex](./kibana-plugin-plugins-data-public.esqueryconfig.ignorefilteriffieldnotinindex.md) | boolean | | +| [queryStringOptions](./kibana-plugin-plugins-data-public.esqueryconfig.querystringoptions.md) | Record<string, any> | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.querystringoptions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.querystringoptions.md new file mode 100644 index 0000000000000..feaa8f1821e30 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esqueryconfig.querystringoptions.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [EsQueryConfig](./kibana-plugin-plugins-data-public.esqueryconfig.md) > [queryStringOptions](./kibana-plugin-plugins-data-public.esqueryconfig.querystringoptions.md) + +## EsQueryConfig.queryStringOptions property + +Signature: + +```typescript +queryStringOptions: Record; +``` 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 new file mode 100644 index 0000000000000..83762c22f0f82 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.esquerysortvalue.md @@ -0,0 +1,11 @@ + + +[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.essearchstrategyprovider.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.essearchstrategyprovider.md new file mode 100644 index 0000000000000..1394c6b868546 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.essearchstrategyprovider.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [esSearchStrategyProvider](./kibana-plugin-plugins-data-public.essearchstrategyprovider.md) + +## esSearchStrategyProvider variable + +Signature: + +```typescript +esSearchStrategyProvider: TSearchStrategyProvider +``` 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 new file mode 100644 index 0000000000000..f1279934db84c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.existsfilter.md @@ -0,0 +1,14 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ExistsFilter](./kibana-plugin-plugins-data-public.existsfilter.md) + +## ExistsFilter type + +Signature: + +```typescript +export declare type ExistsFilter = Filter & { + meta: ExistsFilterMeta; + exists?: FilterExistsProperty; +}; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fetchoptions.abortsignal.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fetchoptions.abortsignal.md new file mode 100644 index 0000000000000..791f1b63e6539 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fetchoptions.abortsignal.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FetchOptions](./kibana-plugin-plugins-data-public.fetchoptions.md) > [abortSignal](./kibana-plugin-plugins-data-public.fetchoptions.abortsignal.md) + +## FetchOptions.abortSignal property + +Signature: + +```typescript +abortSignal?: AbortSignal; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fetchoptions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fetchoptions.md new file mode 100644 index 0000000000000..f07fdd4280533 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fetchoptions.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FetchOptions](./kibana-plugin-plugins-data-public.fetchoptions.md) + +## FetchOptions interface + +Signature: + +```typescript +export interface FetchOptions +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [abortSignal](./kibana-plugin-plugins-data-public.fetchoptions.abortsignal.md) | AbortSignal | | +| [searchStrategyId](./kibana-plugin-plugins-data-public.fetchoptions.searchstrategyid.md) | string | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fetchoptions.searchstrategyid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fetchoptions.searchstrategyid.md new file mode 100644 index 0000000000000..8824529eb4eca --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fetchoptions.searchstrategyid.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FetchOptions](./kibana-plugin-plugins-data-public.fetchoptions.md) > [searchStrategyId](./kibana-plugin-plugins-data-public.fetchoptions.searchstrategyid.md) + +## FetchOptions.searchStrategyId property + +Signature: + +```typescript +searchStrategyId?: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.es.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.es.md new file mode 100644 index 0000000000000..82441ee41d80d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.es.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FieldFormatConfig](./kibana-plugin-plugins-data-public.fieldformatconfig.md) > [es](./kibana-plugin-plugins-data-public.fieldformatconfig.es.md) + +## FieldFormatConfig.es property + +Signature: + +```typescript +es?: boolean; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.id.md new file mode 100644 index 0000000000000..b179c314a56d3 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.id.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FieldFormatConfig](./kibana-plugin-plugins-data-public.fieldformatconfig.md) > [id](./kibana-plugin-plugins-data-public.fieldformatconfig.id.md) + +## FieldFormatConfig.id property + +Signature: + +```typescript +id: FieldFormatId; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.md new file mode 100644 index 0000000000000..f856a3132eccb --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FieldFormatConfig](./kibana-plugin-plugins-data-public.fieldformatconfig.md) + +## FieldFormatConfig interface + +Signature: + +```typescript +export interface FieldFormatConfig +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [es](./kibana-plugin-plugins-data-public.fieldformatconfig.es.md) | boolean | | +| [id](./kibana-plugin-plugins-data-public.fieldformatconfig.id.md) | FieldFormatId | | +| [params](./kibana-plugin-plugins-data-public.fieldformatconfig.params.md) | Record<string, any> | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.params.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.params.md new file mode 100644 index 0000000000000..aad977643ad2f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatconfig.params.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FieldFormatConfig](./kibana-plugin-plugins-data-public.fieldformatconfig.md) > [params](./kibana-plugin-plugins-data-public.fieldformatconfig.params.md) + +## FieldFormatConfig.params property + +Signature: + +```typescript +params: Record; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatid.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatid.md new file mode 100644 index 0000000000000..9f94d50a2001f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatid.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FieldFormatId](./kibana-plugin-plugins-data-public.fieldformatid.md) + +## FieldFormatId type + + id type is needed for creating custom converters. + +Signature: + +```typescript +export declare type FieldFormatId = FIELD_FORMAT_IDS | string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformats.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformats.md new file mode 100644 index 0000000000000..7fd4d03e1b074 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformats.md @@ -0,0 +1,39 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [fieldFormats](./kibana-plugin-plugins-data-public.fieldformats.md) + +## fieldFormats variable + +Signature: + +```typescript +fieldFormats: { + FieldFormat: typeof FieldFormat; + FieldFormatsRegistry: typeof FieldFormatsRegistry; + serialize: (agg: import("../../../legacy/core_plugins/data/public/search").AggConfig) => import("../../expressions/common").SerializedFieldFormat; + DEFAULT_CONVERTER_COLOR: { + range: string; + regex: string; + text: string; + background: string; + }; + HTML_CONTEXT_TYPE: import("../common").FieldFormatsContentType; + TEXT_CONTEXT_TYPE: import("../common").FieldFormatsContentType; + FIELD_FORMAT_IDS: typeof FIELD_FORMAT_IDS; + BoolFormat: typeof BoolFormat; + BytesFormat: typeof BytesFormat; + ColorFormat: typeof ColorFormat; + DateFormat: typeof DateFormat; + 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; +} +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatscontenttype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatscontenttype.md new file mode 100644 index 0000000000000..8e89a0262b438 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatscontenttype.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FieldFormatsContentType](./kibana-plugin-plugins-data-public.fieldformatscontenttype.md) + +## FieldFormatsContentType type + +\* + +Signature: + +```typescript +export declare type FieldFormatsContentType = 'html' | 'text'; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatsgetconfigfn.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatsgetconfigfn.md new file mode 100644 index 0000000000000..4233eea42cded --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.fieldformatsgetconfigfn.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FieldFormatsGetConfigFn](./kibana-plugin-plugins-data-public.fieldformatsgetconfigfn.md) + +## FieldFormatsGetConfigFn type + +Signature: + +```typescript +export declare type FieldFormatsGetConfigFn = (key: string, defaultOverride?: T) => T; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter._state.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter._state.md new file mode 100644 index 0000000000000..bfb5dff71e70d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter._state.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Filter](./kibana-plugin-plugins-data-public.filter.md) > [$state](./kibana-plugin-plugins-data-public.filter._state.md) + +## Filter.$state property + +Signature: + +```typescript +$state?: FilterState; +``` 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 new file mode 100644 index 0000000000000..f993721ee96ad --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Filter](./kibana-plugin-plugins-data-public.filter.md) + +## Filter interface + +Signature: + +```typescript +export interface Filter +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [$state](./kibana-plugin-plugins-data-public.filter._state.md) | FilterState | | +| [meta](./kibana-plugin-plugins-data-public.filter.meta.md) | FilterMeta | | +| [query](./kibana-plugin-plugins-data-public.filter.query.md) | any | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.meta.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.meta.md new file mode 100644 index 0000000000000..3385a3773a2aa --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.meta.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Filter](./kibana-plugin-plugins-data-public.filter.md) > [meta](./kibana-plugin-plugins-data-public.filter.meta.md) + +## Filter.meta property + +Signature: + +```typescript +meta: FilterMeta; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.query.md new file mode 100644 index 0000000000000..083b544493e80 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filter.query.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Filter](./kibana-plugin-plugins-data-public.filter.md) > [query](./kibana-plugin-plugins-data-public.filter.query.md) + +## Filter.query property + +Signature: + +```typescript +query?: any; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filterbar.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filterbar.md new file mode 100644 index 0000000000000..016adffd0d7f4 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filterbar.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [FilterBar](./kibana-plugin-plugins-data-public.filterbar.md) + +## FilterBar variable + +Signature: + +```typescript +FilterBar: React.ComponentClass, any> & { + WrappedComponent: React.ComponentType; +} +``` 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 new file mode 100644 index 0000000000000..6f9c3058928d1 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager._constructor_.md @@ -0,0 +1,20 @@ + + +[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 new file mode 100644 index 0000000000000..98b21800ee655 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.addfilters.md @@ -0,0 +1,23 @@ + + +[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.getappfilters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getappfilters.md new file mode 100644 index 0000000000000..7bb1f5971b740 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getappfilters.md @@ -0,0 +1,15 @@ + + +[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 new file mode 100644 index 0000000000000..fa47d1552de39 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getfetches_.md @@ -0,0 +1,15 @@ + + +[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 new file mode 100644 index 0000000000000..234354e7f674a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getfilters.md @@ -0,0 +1,15 @@ + + +[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 new file mode 100644 index 0000000000000..933a0522ea2fd --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getglobalfilters.md @@ -0,0 +1,15 @@ + + +[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 new file mode 100644 index 0000000000000..ca8e9b8b4ff42 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getpartitionedfilters.md @@ -0,0 +1,15 @@ + + +[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 new file mode 100644 index 0000000000000..ca121c4a51877 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.getupdates_.md @@ -0,0 +1,15 @@ + + +[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.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.md new file mode 100644 index 0000000000000..3e85859a3c831 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.md @@ -0,0 +1,36 @@ + + +[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 +``` + +## Constructors + +| Constructor | Modifiers | Description | +| --- | --- | --- | +| [(constructor)(uiSettings)](./kibana-plugin-plugins-data-public.filtermanager._constructor_.md) | | Constructs a new instance of the FilterManager class | + +## 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.removeall.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removeall.md new file mode 100644 index 0000000000000..745e62f36503d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removeall.md @@ -0,0 +1,15 @@ + + +[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 new file mode 100644 index 0000000000000..a048cc2e21c8f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.removefilter.md @@ -0,0 +1,22 @@ + + +[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 new file mode 100644 index 0000000000000..36743fc0d3cad --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setappfilters.md @@ -0,0 +1,24 @@ + + +[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 new file mode 100644 index 0000000000000..0e37e55cee324 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setfilters.md @@ -0,0 +1,23 @@ + + +[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 new file mode 100644 index 0000000000000..1f0982b20353a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setfiltersstore.md @@ -0,0 +1,24 @@ + + +[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 new file mode 100644 index 0000000000000..cd234d2350696 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.filtermanager.setglobalfilters.md @@ -0,0 +1,24 @@ + + +[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.getespreference.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getespreference.md new file mode 100644 index 0000000000000..f872c56c168ce --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getespreference.md @@ -0,0 +1,23 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [getEsPreference](./kibana-plugin-plugins-data-public.getespreference.md) + +## getEsPreference() function + +Signature: + +```typescript +export declare function getEsPreference(uiSettings: IUiSettingsClient, sessionId?: string): any; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| uiSettings | IUiSettingsClient | | +| sessionId | string | | + +Returns: + +`any` + 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 new file mode 100644 index 0000000000000..57ea5bab6e8c3 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getkbntypenames.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [getKbnTypeNames](./kibana-plugin-plugins-data-public.getkbntypenames.md) + +## getKbnTypeNames variable + +Get the esTypes known by all kbnFieldTypes + + {Array} + +Signature: + +```typescript +getKbnTypeNames: () => string[] +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getquerylog.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getquerylog.md new file mode 100644 index 0000000000000..e933245e81623 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getquerylog.md @@ -0,0 +1,25 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [getQueryLog](./kibana-plugin-plugins-data-public.getquerylog.md) + +## getQueryLog() function + +Signature: + +```typescript +export declare function getQueryLog(uiSettings: IUiSettingsClient, storage: IStorageWrapper, appName: string, language: string): PersistedLog; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| uiSettings | IUiSettingsClient | | +| storage | IStorageWrapper | | +| appName | string | | +| language | string | | + +Returns: + +`PersistedLog` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getsearcherrortype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getsearcherrortype.md new file mode 100644 index 0000000000000..b46728c093792 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.getsearcherrortype.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [getSearchErrorType](./kibana-plugin-plugins-data-public.getsearcherrortype.md) + +## getSearchErrorType() function + +Signature: + +```typescript +export declare function getSearchErrorType({ message }: Pick): "UNSUPPORTED_QUERY" | undefined; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| { message } | Pick<SearchError, 'message'> | | + +Returns: + +`"UNSUPPORTED_QUERY" | undefined` + 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 new file mode 100644 index 0000000000000..04a0d871cab2d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.gettime.md @@ -0,0 +1,24 @@ + + +[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, forceNow?: Date): import("../..").RangeFilter | undefined; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| indexPattern | IIndexPattern | undefined | | +| timeRange | TimeRange | | +| forceNow | Date | | + +Returns: + +`import("../..").RangeFilter | undefined` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.hassearchstategyforindexpattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.hassearchstategyforindexpattern.md new file mode 100644 index 0000000000000..94608e7a86820 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.hassearchstategyforindexpattern.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [hasSearchStategyForIndexPattern](./kibana-plugin-plugins-data-public.hassearchstategyforindexpattern.md) + +## hasSearchStategyForIndexPattern variable + +Signature: + +```typescript +hasSearchStategyForIndexPattern: (indexPattern: IndexPattern) => boolean +``` 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 new file mode 100644 index 0000000000000..b58ee46f638db --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.appname.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..8a94974a7dd6b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.data.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..48a04c1204d14 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.http.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..5f940bf70a12b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.md @@ -0,0 +1,24 @@ + + +[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'] | | + 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 new file mode 100644 index 0000000000000..79b9e8a26e199 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.notifications.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..2128d12a56b79 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.savedobjects.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..923c60e7245d3 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.storage.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..ccdd2ec23dc84 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.idatapluginservices.uisettings.md @@ -0,0 +1,11 @@ + + +[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.iessearchrequest.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.md new file mode 100644 index 0000000000000..7a40725a67e5f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.md @@ -0,0 +1,18 @@ + + +[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 | +| --- | --- | --- | +| [params](./kibana-plugin-plugins-data-public.iessearchrequest.params.md) | SearchParams | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.params.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.params.md new file mode 100644 index 0000000000000..2ca8c83d3f1ef --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchrequest.params.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IEsSearchRequest](./kibana-plugin-plugins-data-public.iessearchrequest.md) > [params](./kibana-plugin-plugins-data-public.iessearchrequest.params.md) + +## IEsSearchRequest.params property + +Signature: + +```typescript +params: SearchParams; +``` 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 new file mode 100644 index 0000000000000..a5027ef292ef8 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchresponse.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IEsSearchResponse](./kibana-plugin-plugins-data-public.iessearchresponse.md) + +## IEsSearchResponse interface + +Signature: + +```typescript +export interface IEsSearchResponse extends IKibanaSearchResponse +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [rawResponse](./kibana-plugin-plugins-data-public.iessearchresponse.rawresponse.md) | SearchResponse<Hits> | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchresponse.rawresponse.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchresponse.rawresponse.md new file mode 100644 index 0000000000000..8f6563a1cea84 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iessearchresponse.rawresponse.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IEsSearchResponse](./kibana-plugin-plugins-data-public.iessearchresponse.md) > [rawResponse](./kibana-plugin-plugins-data-public.iessearchresponse.rawresponse.md) + +## IEsSearchResponse.rawResponse property + +Signature: + +```typescript +rawResponse: SearchResponse; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldformat.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldformat.md new file mode 100644 index 0000000000000..0937706d6b0e9 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldformat.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldFormat](./kibana-plugin-plugins-data-public.ifieldformat.md) + +## IFieldFormat type + +Signature: + +```typescript +export declare type IFieldFormat = PublicMethodsOf; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldformatsregistry.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldformatsregistry.md new file mode 100644 index 0000000000000..0f83e2bb2d423 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldformatsregistry.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldFormatsRegistry](./kibana-plugin-plugins-data-public.ifieldformatsregistry.md) + +## IFieldFormatsRegistry type + +Signature: + +```typescript +declare type IFieldFormatsRegistry = PublicMethodsOf; +``` 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 new file mode 100644 index 0000000000000..7e6ea86d7f3e8 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldSubType](./kibana-plugin-plugins-data-public.ifieldsubtype.md) + +## IFieldSubType interface + +Signature: + +```typescript +export interface IFieldSubType +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [multi](./kibana-plugin-plugins-data-public.ifieldsubtype.multi.md) | {
parent: string;
} | | +| [nested](./kibana-plugin-plugins-data-public.ifieldsubtype.nested.md) | {
path: string;
} | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.multi.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.multi.md new file mode 100644 index 0000000000000..6cfc6f037d013 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.multi.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldSubType](./kibana-plugin-plugins-data-public.ifieldsubtype.md) > [multi](./kibana-plugin-plugins-data-public.ifieldsubtype.multi.md) + +## IFieldSubType.multi property + +Signature: + +```typescript +multi?: { + parent: string; + }; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.nested.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.nested.md new file mode 100644 index 0000000000000..f9308b90a1b96 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldsubtype.nested.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldSubType](./kibana-plugin-plugins-data-public.ifieldsubtype.md) > [nested](./kibana-plugin-plugins-data-public.ifieldsubtype.nested.md) + +## IFieldSubType.nested property + +Signature: + +```typescript +nested?: { + path: string; + }; +``` 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 new file mode 100644 index 0000000000000..ac657500dc30e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.aggregatable.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..58e66820d90e8 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.count.md @@ -0,0 +1,11 @@ + + +[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.displayname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.displayname.md new file mode 100644 index 0000000000000..3a367ff86bd4d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.displayname.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..9500ef64687d3 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.estypes.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..b02424a2f7bf7 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.filterable.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..d2de74398e416 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.format.md @@ -0,0 +1,11 @@ + + +[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.lang.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.lang.md new file mode 100644 index 0000000000000..a994fc458cfb6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.lang.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [lang](./kibana-plugin-plugins-data-public.ifieldtype.lang.md) + +## IFieldType.lang property + +Signature: + +```typescript +lang?: string; +``` 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 new file mode 100644 index 0000000000000..be6af335f20cd --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.md @@ -0,0 +1,33 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) + +## IFieldType interface + +Signature: + +```typescript +export interface IFieldType +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [aggregatable](./kibana-plugin-plugins-data-public.ifieldtype.aggregatable.md) | boolean | | +| [count](./kibana-plugin-plugins-data-public.ifieldtype.count.md) | number | | +| [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 | | +| [lang](./kibana-plugin-plugins-data-public.ifieldtype.lang.md) | string | | +| [name](./kibana-plugin-plugins-data-public.ifieldtype.name.md) | string | | +| [readFromDocValues](./kibana-plugin-plugins-data-public.ifieldtype.readfromdocvalues.md) | boolean | | +| [script](./kibana-plugin-plugins-data-public.ifieldtype.script.md) | string | | +| [scripted](./kibana-plugin-plugins-data-public.ifieldtype.scripted.md) | boolean | | +| [searchable](./kibana-plugin-plugins-data-public.ifieldtype.searchable.md) | boolean | | +| [sortable](./kibana-plugin-plugins-data-public.ifieldtype.sortable.md) | boolean | | +| [subType](./kibana-plugin-plugins-data-public.ifieldtype.subtype.md) | IFieldSubType | | +| [type](./kibana-plugin-plugins-data-public.ifieldtype.type.md) | string | | +| [visualizable](./kibana-plugin-plugins-data-public.ifieldtype.visualizable.md) | boolean | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.name.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.name.md new file mode 100644 index 0000000000000..1c01484372fd3 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.name.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [name](./kibana-plugin-plugins-data-public.ifieldtype.name.md) + +## IFieldType.name property + +Signature: + +```typescript +name: string; +``` 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 new file mode 100644 index 0000000000000..9f16b29edc9fe --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.readfromdocvalues.md @@ -0,0 +1,11 @@ + + +[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.script.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.script.md new file mode 100644 index 0000000000000..252c2c3822046 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.script.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [script](./kibana-plugin-plugins-data-public.ifieldtype.script.md) + +## IFieldType.script property + +Signature: + +```typescript +script?: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.scripted.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.scripted.md new file mode 100644 index 0000000000000..33bbd0c2c20cb --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.scripted.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [scripted](./kibana-plugin-plugins-data-public.ifieldtype.scripted.md) + +## IFieldType.scripted property + +Signature: + +```typescript +scripted?: 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 new file mode 100644 index 0000000000000..f977628f76698 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.searchable.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..0fd3943fb3c6e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.sortable.md @@ -0,0 +1,11 @@ + + +[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.subtype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.subtype.md new file mode 100644 index 0000000000000..d0c26186da085 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.subtype.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [subType](./kibana-plugin-plugins-data-public.ifieldtype.subtype.md) + +## IFieldType.subType property + +Signature: + +```typescript +subType?: IFieldSubType; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.type.md new file mode 100644 index 0000000000000..26228cbe4bfdb --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IFieldType](./kibana-plugin-plugins-data-public.ifieldtype.md) > [type](./kibana-plugin-plugins-data-public.ifieldtype.type.md) + +## IFieldType.type property + +Signature: + +```typescript +type: string; +``` 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 new file mode 100644 index 0000000000000..19a50bee9638d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ifieldtype.visualizable.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..2c131c6da9937 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.fieldformatmap.md @@ -0,0 +1,14 @@ + + +[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; +``` 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 new file mode 100644 index 0000000000000..792bee44f96a8 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.fields.md @@ -0,0 +1,11 @@ + + +[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.id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.id.md new file mode 100644 index 0000000000000..917a80975df6c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.id.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) > [id](./kibana-plugin-plugins-data-public.iindexpattern.id.md) + +## IIndexPattern.id property + +Signature: + +```typescript +id?: string; +``` 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 new file mode 100644 index 0000000000000..1bbd6cf67f0ce --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.md @@ -0,0 +1,23 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IIndexPattern](./kibana-plugin-plugins-data-public.iindexpattern.md) + +## IIndexPattern interface + +Signature: + +```typescript +export interface IIndexPattern +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [fieldFormatMap](./kibana-plugin-plugins-data-public.iindexpattern.fieldformatmap.md) | Record<string, {
id: string;
params: unknown;
}> | | +| [fields](./kibana-plugin-plugins-data-public.iindexpattern.fields.md) | IFieldType[] | | +| [id](./kibana-plugin-plugins-data-public.iindexpattern.id.md) | string | | +| [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 | | + 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 new file mode 100644 index 0000000000000..791e9e53ee3da --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.timefieldname.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..c3a8644307b64 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.title.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..ea75c20b403c0 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iindexpattern.type.md @@ -0,0 +1,11 @@ + + +[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 + +Signature: + +```typescript +type?: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.debug.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.debug.md new file mode 100644 index 0000000000000..cfb21a78557fd --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.debug.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IKibanaSearchRequest](./kibana-plugin-plugins-data-public.ikibanasearchrequest.md) > [debug](./kibana-plugin-plugins-data-public.ikibanasearchrequest.debug.md) + +## IKibanaSearchRequest.debug property + +Optionally tell search strategies to output debug information. + +Signature: + +```typescript +debug?: boolean; +``` 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 new file mode 100644 index 0000000000000..61976abca3d6a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.id.md @@ -0,0 +1,13 @@ + + +[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 new file mode 100644 index 0000000000000..57e0fbe2c19a9 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchrequest.md @@ -0,0 +1,19 @@ + + +[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 | +| --- | --- | --- | +| [debug](./kibana-plugin-plugins-data-public.ikibanasearchrequest.debug.md) | boolean | Optionally tell search strategies to output debug information. | +| [id](./kibana-plugin-plugins-data-public.ikibanasearchrequest.id.md) | string | An id can be used to uniquely identify this request. | + 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 new file mode 100644 index 0000000000000..33dbf0d97b705 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.id.md @@ -0,0 +1,13 @@ + + +[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.loaded.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.loaded.md new file mode 100644 index 0000000000000..efa86795ffca5 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.loaded.md @@ -0,0 +1,13 @@ + + +[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 new file mode 100644 index 0000000000000..f7dfd1ddd2f49 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.md @@ -0,0 +1,20 @@ + + +[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. | +| [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. | +| [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. | + 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 new file mode 100644 index 0000000000000..cfa3567da86fc --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.ikibanasearchresponse.total.md @@ -0,0 +1,13 @@ + + +[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.indexpattern._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern._constructor_.md new file mode 100644 index 0000000000000..4159247bb7c32 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern._constructor_.md @@ -0,0 +1,24 @@ + + +[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(id: string | undefined, getConfig: any, savedObjectsClient: SavedObjectsClientContract, apiClient: IIndexPatternsApiClient, patternCache: any); +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| id | string | undefined | | +| getConfig | any | | +| savedObjectsClient | SavedObjectsClientContract | | +| apiClient | IIndexPatternsApiClient | | +| patternCache | any | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern._fetchfields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern._fetchfields.md new file mode 100644 index 0000000000000..8fff8baa71139 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern._fetchfields.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [\_fetchFields](./kibana-plugin-plugins-data-public.indexpattern._fetchfields.md) + +## IndexPattern.\_fetchFields() method + +Signature: + +```typescript +_fetchFields(): Promise; +``` +Returns: + +`Promise` + 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 new file mode 100644 index 0000000000000..4bbbd83c65e10 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.addscriptedfield.md @@ -0,0 +1,25 @@ + + +[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 + +Signature: + +```typescript +addScriptedField(name: string, script: string, fieldType: string | undefined, lang: string): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| name | string | | +| script | string | | +| fieldType | string | undefined | | +| lang | string | | + +Returns: + +`Promise` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.create.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.create.md new file mode 100644 index 0000000000000..5c122b835f59d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.create.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [create](./kibana-plugin-plugins-data-public.indexpattern.create.md) + +## IndexPattern.create() method + +Signature: + +```typescript +create(allowOverride?: boolean): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| allowOverride | boolean | | + +Returns: + +`Promise` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.destroy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.destroy.md new file mode 100644 index 0000000000000..3a8e1b9dae5a6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.destroy.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [destroy](./kibana-plugin-plugins-data-public.indexpattern.destroy.md) + +## IndexPattern.destroy() method + +Signature: + +```typescript +destroy(): Promise<{}> | undefined; +``` +Returns: + +`Promise<{}> | undefined` + 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 new file mode 100644 index 0000000000000..b89b244d9826c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fieldformatmap.md @@ -0,0 +1,11 @@ + + +[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: any; +``` 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 new file mode 100644 index 0000000000000..fcd682340eb53 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fields.md @@ -0,0 +1,11 @@ + + +[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: IFieldList; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fieldsfetcher.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fieldsfetcher.md new file mode 100644 index 0000000000000..4d44b386a1db1 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.fieldsfetcher.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [fieldsFetcher](./kibana-plugin-plugins-data-public.indexpattern.fieldsfetcher.md) + +## IndexPattern.fieldsFetcher property + +Signature: + +```typescript +fieldsFetcher: any; +``` 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 new file mode 100644 index 0000000000000..db28d95197bb3 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.flattenhit.md @@ -0,0 +1,11 @@ + + +[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: any; +``` 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 new file mode 100644 index 0000000000000..5a475d6161ac3 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.formatfield.md @@ -0,0 +1,11 @@ + + +[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: any; +``` 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 new file mode 100644 index 0000000000000..ac515d374a93f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.formathit.md @@ -0,0 +1,11 @@ + + +[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: any; +``` 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 new file mode 100644 index 0000000000000..e42980bb53af4 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getaggregationrestrictions.md @@ -0,0 +1,29 @@ + + +[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.getcomputedfields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getcomputedfields.md new file mode 100644 index 0000000000000..84aeb9ffeb21a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getcomputedfields.md @@ -0,0 +1,29 @@ + + +[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; + }[]; + }; +``` +Returns: + +`{ + storedFields: string[]; + scriptFields: any; + docvalueFields: { + field: any; + format: string; + }[]; + }` + 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 new file mode 100644 index 0000000000000..e6a23c5c70aab --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getfieldbyname.md @@ -0,0 +1,22 @@ + + +[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): Field | void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| name | string | | + +Returns: + +`Field | void` + 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 new file mode 100644 index 0000000000000..4e49304484815 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getnonscriptedfields.md @@ -0,0 +1,15 @@ + + +[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 + +Signature: + +```typescript +getNonScriptedFields(): Field[]; +``` +Returns: + +`Field[]` + 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 new file mode 100644 index 0000000000000..9ab4f9a9aaed5 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getscriptedfields.md @@ -0,0 +1,15 @@ + + +[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 + +Signature: + +```typescript +getScriptedFields(): Field[]; +``` +Returns: + +`Field[]` + 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 new file mode 100644 index 0000000000000..121d32c7c40c8 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.getsourcefiltering.md @@ -0,0 +1,19 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..8e68e8c35aff7 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.gettimefield.md @@ -0,0 +1,15 @@ + + +[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(): Field | undefined; +``` +Returns: + +`Field | undefined` + 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 new file mode 100644 index 0000000000000..85e680170d6ea --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.id.md @@ -0,0 +1,11 @@ + + +[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.init.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.init.md new file mode 100644 index 0000000000000..ce401bec87dbb --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.init.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [init](./kibana-plugin-plugins-data-public.indexpattern.init.md) + +## IndexPattern.init() method + +Signature: + +```typescript +init(forceFieldRefresh?: boolean): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| forceFieldRefresh | boolean | | + +Returns: + +`Promise` + 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 new file mode 100644 index 0000000000000..aca243496d083 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimebased.md @@ -0,0 +1,15 @@ + + +[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.istimebasedwildcard.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimebasedwildcard.md new file mode 100644 index 0000000000000..27f99f418a078 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimebasedwildcard.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [isTimeBasedWildcard](./kibana-plugin-plugins-data-public.indexpattern.istimebasedwildcard.md) + +## IndexPattern.isTimeBasedWildcard() method + +Signature: + +```typescript +isTimeBasedWildcard(): 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 new file mode 100644 index 0000000000000..3a3767ae64149 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.istimenanosbased.md @@ -0,0 +1,15 @@ + + +[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.iswildcard.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.iswildcard.md new file mode 100644 index 0000000000000..e5ea55ef1dd48 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.iswildcard.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [isWildcard](./kibana-plugin-plugins-data-public.indexpattern.iswildcard.md) + +## IndexPattern.isWildcard() method + +Signature: + +```typescript +isWildcard(): 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 new file mode 100644 index 0000000000000..35075e19dcaf6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.md @@ -0,0 +1,64 @@ + + +[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)(id, getConfig, savedObjectsClient, apiClient, patternCache)](./kibana-plugin-plugins-data-public.indexpattern._constructor_.md) | | Constructs a new instance of the IndexPattern class | + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [fieldFormatMap](./kibana-plugin-plugins-data-public.indexpattern.fieldformatmap.md) | | any | | +| [fields](./kibana-plugin-plugins-data-public.indexpattern.fields.md) | | IFieldList | | +| [fieldsFetcher](./kibana-plugin-plugins-data-public.indexpattern.fieldsfetcher.md) | | any | | +| [flattenHit](./kibana-plugin-plugins-data-public.indexpattern.flattenhit.md) | | any | | +| [formatField](./kibana-plugin-plugins-data-public.indexpattern.formatfield.md) | | any | | +| [formatHit](./kibana-plugin-plugins-data-public.indexpattern.formathit.md) | | any | | +| [id](./kibana-plugin-plugins-data-public.indexpattern.id.md) | | string | | +| [metaFields](./kibana-plugin-plugins-data-public.indexpattern.metafields.md) | | string[] | | +| [routes](./kibana-plugin-plugins-data-public.indexpattern.routes.md) | | {
edit: string;
addField: string;
indexedFields: string;
scriptedFields: string;
sourceFilters: string;
} | | +| [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 | | +| [typeMeta](./kibana-plugin-plugins-data-public.indexpattern.typemeta.md) | | TypeMeta | | + +## Methods + +| Method | Modifiers | Description | +| --- | --- | --- | +| [\_fetchFields()](./kibana-plugin-plugins-data-public.indexpattern._fetchfields.md) | | | +| [addScriptedField(name, script, fieldType, lang)](./kibana-plugin-plugins-data-public.indexpattern.addscriptedfield.md) | | | +| [create(allowOverride)](./kibana-plugin-plugins-data-public.indexpattern.create.md) | | | +| [destroy()](./kibana-plugin-plugins-data-public.indexpattern.destroy.md) | | | +| [getAggregationRestrictions()](./kibana-plugin-plugins-data-public.indexpattern.getaggregationrestrictions.md) | | | +| [getComputedFields()](./kibana-plugin-plugins-data-public.indexpattern.getcomputedfields.md) | | | +| [getFieldByName(name)](./kibana-plugin-plugins-data-public.indexpattern.getfieldbyname.md) | | | +| [getNonScriptedFields()](./kibana-plugin-plugins-data-public.indexpattern.getnonscriptedfields.md) | | | +| [getScriptedFields()](./kibana-plugin-plugins-data-public.indexpattern.getscriptedfields.md) | | | +| [getSourceFiltering()](./kibana-plugin-plugins-data-public.indexpattern.getsourcefiltering.md) | | | +| [getTimeField()](./kibana-plugin-plugins-data-public.indexpattern.gettimefield.md) | | | +| [init(forceFieldRefresh)](./kibana-plugin-plugins-data-public.indexpattern.init.md) | | | +| [isTimeBased()](./kibana-plugin-plugins-data-public.indexpattern.istimebased.md) | | | +| [isTimeBasedWildcard()](./kibana-plugin-plugins-data-public.indexpattern.istimebasedwildcard.md) | | | +| [isTimeNanosBased()](./kibana-plugin-plugins-data-public.indexpattern.istimenanosbased.md) | | | +| [isWildcard()](./kibana-plugin-plugins-data-public.indexpattern.iswildcard.md) | | | +| [popularizeField(fieldName, unit)](./kibana-plugin-plugins-data-public.indexpattern.popularizefield.md) | | | +| [prepBody()](./kibana-plugin-plugins-data-public.indexpattern.prepbody.md) | | | +| [refreshFields()](./kibana-plugin-plugins-data-public.indexpattern.refreshfields.md) | | | +| [removeScriptedField(field)](./kibana-plugin-plugins-data-public.indexpattern.removescriptedfield.md) | | | +| [save(saveAttempts)](./kibana-plugin-plugins-data-public.indexpattern.save.md) | | | +| [toJSON()](./kibana-plugin-plugins-data-public.indexpattern.tojson.md) | | | +| [toString()](./kibana-plugin-plugins-data-public.indexpattern.tostring.md) | | | + 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 new file mode 100644 index 0000000000000..9f56bad35383c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.metafields.md @@ -0,0 +1,11 @@ + + +[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.popularizefield.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.popularizefield.md new file mode 100644 index 0000000000000..eba5382158520 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.popularizefield.md @@ -0,0 +1,23 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [popularizeField](./kibana-plugin-plugins-data-public.indexpattern.popularizefield.md) + +## IndexPattern.popularizeField() method + +Signature: + +```typescript +popularizeField(fieldName: string, unit?: number): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| fieldName | string | | +| unit | number | | + +Returns: + +`Promise` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.prepbody.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.prepbody.md new file mode 100644 index 0000000000000..5c9f017b571da --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.prepbody.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [prepBody](./kibana-plugin-plugins-data-public.indexpattern.prepbody.md) + +## IndexPattern.prepBody() method + +Signature: + +```typescript +prepBody(): { + [key: string]: any; + }; +``` +Returns: + +`{ + [key: string]: any; + }` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.refreshfields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.refreshfields.md new file mode 100644 index 0000000000000..271d0c45a4244 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.refreshfields.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [refreshFields](./kibana-plugin-plugins-data-public.indexpattern.refreshfields.md) + +## IndexPattern.refreshFields() method + +Signature: + +```typescript +refreshFields(): Promise; +``` +Returns: + +`Promise` + 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 new file mode 100644 index 0000000000000..2a6811f501152 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.removescriptedfield.md @@ -0,0 +1,22 @@ + + +[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 + +Signature: + +```typescript +removeScriptedField(field: IFieldType): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| field | IFieldType | | + +Returns: + +`Promise` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.routes.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.routes.md new file mode 100644 index 0000000000000..81e7abd4f9609 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.routes.md @@ -0,0 +1,17 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [routes](./kibana-plugin-plugins-data-public.indexpattern.routes.md) + +## IndexPattern.routes property + +Signature: + +```typescript +get routes(): { + edit: string; + addField: string; + indexedFields: string; + scriptedFields: string; + sourceFilters: string; + }; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.save.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.save.md new file mode 100644 index 0000000000000..d0b471cc2bc21 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.save.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [save](./kibana-plugin-plugins-data-public.indexpattern.save.md) + +## IndexPattern.save() method + +Signature: + +```typescript +save(saveAttempts?: number): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| saveAttempts | number | | + +Returns: + +`Promise` + 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 new file mode 100644 index 0000000000000..dc1cab592baac --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.timefieldname.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..aca6028bee96a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.title.md @@ -0,0 +1,11 @@ + + +[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.tojson.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.tojson.md new file mode 100644 index 0000000000000..0ae04bb424d44 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.tojson.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [toJSON](./kibana-plugin-plugins-data-public.indexpattern.tojson.md) + +## IndexPattern.toJSON() method + +Signature: + +```typescript +toJSON(): string | undefined; +``` +Returns: + +`string | undefined` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.tostring.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.tostring.md new file mode 100644 index 0000000000000..a10b549a7b9eb --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.tostring.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) > [toString](./kibana-plugin-plugins-data-public.indexpattern.tostring.md) + +## IndexPattern.toString() method + +Signature: + +```typescript +toString(): string; +``` +Returns: + +`string` + 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 new file mode 100644 index 0000000000000..58047d9e27ac6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.type.md @@ -0,0 +1,11 @@ + + +[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 + +Signature: + +```typescript +type?: string; +``` 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 new file mode 100644 index 0000000000000..ea8533a8d837c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpattern.typemeta.md @@ -0,0 +1,11 @@ + + +[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 + +Signature: + +```typescript +typeMeta?: TypeMeta; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternaggrestrictions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternaggrestrictions.md new file mode 100644 index 0000000000000..324bd1e410c6c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternaggrestrictions.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAggRestrictions](./kibana-plugin-plugins-data-public.indexpatternaggrestrictions.md) + +## IndexPatternAggRestrictions type + +Signature: + +```typescript +export declare type AggregationRestrictions = Record; +``` 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 new file mode 100644 index 0000000000000..a72184bf0111d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.fields.md @@ -0,0 +1,11 @@ + + +[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.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.md new file mode 100644 index 0000000000000..39ae328c14501 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.md @@ -0,0 +1,28 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-public.indexpatternattributes.md) + +## IndexPatternAttributes interface + +> Warning: This API is now obsolete. +> +> + +Use data plugin interface instead + +Signature: + +```typescript +export interface IndexPatternAttributes +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [fields](./kibana-plugin-plugins-data-public.indexpatternattributes.fields.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.timefieldname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.timefieldname.md new file mode 100644 index 0000000000000..22c241c58f202 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.timefieldname.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..bfdb775c19e9b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.title.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..d980d3af41912 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.type.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..130e4928640f5 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternattributes.typemeta.md @@ -0,0 +1,11 @@ + + +[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.__spec.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.__spec.md new file mode 100644 index 0000000000000..f52a3324af36f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.__spec.md @@ -0,0 +1,11 @@ + + +[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 +$$spec: FieldSpec; +``` 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 new file mode 100644 index 0000000000000..cf7470c035a53 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield._constructor_.md @@ -0,0 +1,22 @@ + + +[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 `Field` class + +Signature: + +```typescript +constructor(indexPattern: IndexPattern, spec: FieldSpec | Field, shortDotsEnable?: boolean); +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| indexPattern | IndexPattern | | +| spec | FieldSpec | Field | | +| shortDotsEnable | boolean | | + 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 new file mode 100644 index 0000000000000..267c8f786b5dd --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.aggregatable.md @@ -0,0 +1,11 @@ + + +[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 +aggregatable?: boolean; +``` 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 new file mode 100644 index 0000000000000..8e848276f21c4 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.count.md @@ -0,0 +1,11 @@ + + +[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 + +Signature: + +```typescript +count?: number; +``` 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 new file mode 100644 index 0000000000000..ed9630f92fc97 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.displayname.md @@ -0,0 +1,11 @@ + + +[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 +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 new file mode 100644 index 0000000000000..dec74df099d43 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.estypes.md @@ -0,0 +1,11 @@ + + +[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 +esTypes?: string[]; +``` 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 new file mode 100644 index 0000000000000..4290c4a2f86b3 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.filterable.md @@ -0,0 +1,11 @@ + + +[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 +filterable?: boolean; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.format.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.format.md new file mode 100644 index 0000000000000..d5df8ed628cb0 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.format.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [format](./kibana-plugin-plugins-data-public.indexpatternfield.format.md) + +## IndexPatternField.format property + +Signature: + +```typescript +format: any; +``` 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 new file mode 100644 index 0000000000000..f731be8f613cf --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.lang.md @@ -0,0 +1,11 @@ + + +[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 + +Signature: + +```typescript +lang?: string; +``` 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 new file mode 100644 index 0000000000000..430590c7a2505 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.md @@ -0,0 +1,40 @@ + + +[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 Field implements IFieldType +``` + +## Constructors + +| Constructor | Modifiers | Description | +| --- | --- | --- | +| [(constructor)(indexPattern, spec, shortDotsEnable)](./kibana-plugin-plugins-data-public.indexpatternfield._constructor_.md) | | Constructs a new instance of the Field class | + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [$$spec](./kibana-plugin-plugins-data-public.indexpatternfield.__spec.md) | | FieldSpec | | +| [aggregatable](./kibana-plugin-plugins-data-public.indexpatternfield.aggregatable.md) | | boolean | | +| [count](./kibana-plugin-plugins-data-public.indexpatternfield.count.md) | | number | | +| [displayName](./kibana-plugin-plugins-data-public.indexpatternfield.displayname.md) | | string | | +| [esTypes](./kibana-plugin-plugins-data-public.indexpatternfield.estypes.md) | | string[] | | +| [filterable](./kibana-plugin-plugins-data-public.indexpatternfield.filterable.md) | | boolean | | +| [format](./kibana-plugin-plugins-data-public.indexpatternfield.format.md) | | any | | +| [lang](./kibana-plugin-plugins-data-public.indexpatternfield.lang.md) | | string | | +| [name](./kibana-plugin-plugins-data-public.indexpatternfield.name.md) | | string | | +| [routes](./kibana-plugin-plugins-data-public.indexpatternfield.routes.md) | | Record<string, string> | | +| [script](./kibana-plugin-plugins-data-public.indexpatternfield.script.md) | | string | | +| [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 | | +| [subType](./kibana-plugin-plugins-data-public.indexpatternfield.subtype.md) | | IFieldSubType | | +| [type](./kibana-plugin-plugins-data-public.indexpatternfield.type.md) | | string | | +| [visualizable](./kibana-plugin-plugins-data-public.indexpatternfield.visualizable.md) | | boolean | | + 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 new file mode 100644 index 0000000000000..cb24621e73209 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.name.md @@ -0,0 +1,11 @@ + + +[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 +name: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.routes.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.routes.md new file mode 100644 index 0000000000000..664a7b7b7ca0e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.routes.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) > [routes](./kibana-plugin-plugins-data-public.indexpatternfield.routes.md) + +## IndexPatternField.routes property + +Signature: + +```typescript +routes: Record; +``` 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 new file mode 100644 index 0000000000000..132ba25a47637 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.script.md @@ -0,0 +1,11 @@ + + +[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 + +Signature: + +```typescript +script?: string; +``` 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 new file mode 100644 index 0000000000000..1dd6bc865a75d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.scripted.md @@ -0,0 +1,11 @@ + + +[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 +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 new file mode 100644 index 0000000000000..42f984d851435 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.searchable.md @@ -0,0 +1,11 @@ + + +[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 +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 new file mode 100644 index 0000000000000..72d225185140b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.sortable.md @@ -0,0 +1,11 @@ + + +[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 +sortable?: boolean; +``` 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 new file mode 100644 index 0000000000000..2d807f8a5739c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.subtype.md @@ -0,0 +1,11 @@ + + +[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 +subType?: IFieldSubType; +``` 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 new file mode 100644 index 0000000000000..c8483c9b83c9a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.type.md @@ -0,0 +1,11 @@ + + +[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 +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 new file mode 100644 index 0000000000000..dd661ae779c11 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfield.visualizable.md @@ -0,0 +1,11 @@ + + +[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 +visualizable?: boolean; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist._constructor_.md new file mode 100644 index 0000000000000..2207107db8b2b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist._constructor_.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternFieldList](./kibana-plugin-plugins-data-public.indexpatternfieldlist.md) > [(constructor)](./kibana-plugin-plugins-data-public.indexpatternfieldlist._constructor_.md) + +## IndexPatternFieldList.(constructor) + +Constructs a new instance of the `FieldList` class + +Signature: + +```typescript +constructor(indexPattern: IndexPattern, specs?: FieldSpec[], shortDotsEnable?: boolean); +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| indexPattern | IndexPattern | | +| specs | FieldSpec[] | | +| shortDotsEnable | boolean | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.add.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.add.md new file mode 100644 index 0000000000000..dce2f38bbcf10 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.add.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternFieldList](./kibana-plugin-plugins-data-public.indexpatternfieldlist.md) > [add](./kibana-plugin-plugins-data-public.indexpatternfieldlist.add.md) + +## IndexPatternFieldList.add property + +Signature: + +```typescript +add: (field: Record) => void; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.getbyname.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.getbyname.md new file mode 100644 index 0000000000000..bf6bc51b60301 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.getbyname.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternFieldList](./kibana-plugin-plugins-data-public.indexpatternfieldlist.md) > [getByName](./kibana-plugin-plugins-data-public.indexpatternfieldlist.getbyname.md) + +## IndexPatternFieldList.getByName property + +Signature: + +```typescript +getByName: (name: string) => Field | undefined; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.getbytype.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.getbytype.md new file mode 100644 index 0000000000000..86c5ae32940d4 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.getbytype.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternFieldList](./kibana-plugin-plugins-data-public.indexpatternfieldlist.md) > [getByType](./kibana-plugin-plugins-data-public.indexpatternfieldlist.getbytype.md) + +## IndexPatternFieldList.getByType property + +Signature: + +```typescript +getByType: (type: string) => any[]; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.md new file mode 100644 index 0000000000000..4b7184b7dc151 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.md @@ -0,0 +1,28 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternFieldList](./kibana-plugin-plugins-data-public.indexpatternfieldlist.md) + +## IndexPatternFieldList class + +Signature: + +```typescript +export declare class FieldList extends Array implements IFieldList +``` + +## Constructors + +| Constructor | Modifiers | Description | +| --- | --- | --- | +| [(constructor)(indexPattern, specs, shortDotsEnable)](./kibana-plugin-plugins-data-public.indexpatternfieldlist._constructor_.md) | | Constructs a new instance of the FieldList class | + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [add](./kibana-plugin-plugins-data-public.indexpatternfieldlist.add.md) | | (field: Record<string, any>) => void | | +| [getByName](./kibana-plugin-plugins-data-public.indexpatternfieldlist.getbyname.md) | | (name: string) => Field | undefined | | +| [getByType](./kibana-plugin-plugins-data-public.indexpatternfieldlist.getbytype.md) | | (type: string) => any[] | | +| [remove](./kibana-plugin-plugins-data-public.indexpatternfieldlist.remove.md) | | (field: IFieldType) => void | | +| [update](./kibana-plugin-plugins-data-public.indexpatternfieldlist.update.md) | | (field: Field) => void | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.remove.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.remove.md new file mode 100644 index 0000000000000..1f2e0883d272e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.remove.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternFieldList](./kibana-plugin-plugins-data-public.indexpatternfieldlist.md) > [remove](./kibana-plugin-plugins-data-public.indexpatternfieldlist.remove.md) + +## IndexPatternFieldList.remove property + +Signature: + +```typescript +remove: (field: IFieldType) => void; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.update.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.update.md new file mode 100644 index 0000000000000..ca03ec4b72893 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternfieldlist.update.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternFieldList](./kibana-plugin-plugins-data-public.indexpatternfieldlist.md) > [update](./kibana-plugin-plugins-data-public.indexpatternfieldlist.update.md) + +## IndexPatternFieldList.update property + +Signature: + +```typescript +update: (field: Field) => void; +``` 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 new file mode 100644 index 0000000000000..fa97666a61b93 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterns.md @@ -0,0 +1,24 @@ + + +[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; + getFromSavedObject: typeof getFromSavedObject; + flattenHitWrapper: typeof flattenHitWrapper; + getRoutes: typeof getRoutes; + formatHitProvider: typeof formatHitProvider; +} +``` 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 new file mode 100644 index 0000000000000..f83ed272c089c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternscontract.md @@ -0,0 +1,11 @@ + + +[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.indexpatternselect._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect._constructor_.md new file mode 100644 index 0000000000000..4c08e8c862613 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect._constructor_.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) > [(constructor)](./kibana-plugin-plugins-data-public.indexpatternselect._constructor_.md) + +## IndexPatternSelect.(constructor) + +Constructs a new instance of the `IndexPatternSelect` class + +Signature: + +```typescript +constructor(props: IndexPatternSelectProps); +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| props | IndexPatternSelectProps | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.componentdidmount.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.componentdidmount.md new file mode 100644 index 0000000000000..cf70c2add8742 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.componentdidmount.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) > [componentDidMount](./kibana-plugin-plugins-data-public.indexpatternselect.componentdidmount.md) + +## IndexPatternSelect.componentDidMount() method + +Signature: + +```typescript +componentDidMount(): void; +``` +Returns: + +`void` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.componentwillunmount.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.componentwillunmount.md new file mode 100644 index 0000000000000..5f11208ecc317 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.componentwillunmount.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) > [componentWillUnmount](./kibana-plugin-plugins-data-public.indexpatternselect.componentwillunmount.md) + +## IndexPatternSelect.componentWillUnmount() method + +Signature: + +```typescript +componentWillUnmount(): void; +``` +Returns: + +`void` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.debouncedfetch.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.debouncedfetch.md new file mode 100644 index 0000000000000..5238e2f1913e4 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.debouncedfetch.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) > [debouncedFetch](./kibana-plugin-plugins-data-public.indexpatternselect.debouncedfetch.md) + +## IndexPatternSelect.debouncedFetch property + +Signature: + +```typescript +debouncedFetch: ((searchValue: string) => Promise) & _.Cancelable; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.fetchoptions.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.fetchoptions.md new file mode 100644 index 0000000000000..f5e388a86f4ae --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.fetchoptions.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) > [fetchOptions](./kibana-plugin-plugins-data-public.indexpatternselect.fetchoptions.md) + +## IndexPatternSelect.fetchOptions property + +Signature: + +```typescript +fetchOptions: (searchValue?: string) => void; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.fetchselectedindexpattern.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.fetchselectedindexpattern.md new file mode 100644 index 0000000000000..d5981c19b99af --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.fetchselectedindexpattern.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) > [fetchSelectedIndexPattern](./kibana-plugin-plugins-data-public.indexpatternselect.fetchselectedindexpattern.md) + +## IndexPatternSelect.fetchSelectedIndexPattern property + +Signature: + +```typescript +fetchSelectedIndexPattern: (indexPatternId: string) => Promise; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.md new file mode 100644 index 0000000000000..4f4feeb4caa8d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.md @@ -0,0 +1,37 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) + +## IndexPatternSelect class + +Signature: + +```typescript +export declare class IndexPatternSelect extends Component +``` + +## Constructors + +| Constructor | Modifiers | Description | +| --- | --- | --- | +| [(constructor)(props)](./kibana-plugin-plugins-data-public.indexpatternselect._constructor_.md) | | Constructs a new instance of the IndexPatternSelect class | + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [debouncedFetch](./kibana-plugin-plugins-data-public.indexpatternselect.debouncedfetch.md) | | ((searchValue: string) => Promise<void>) & _.Cancelable | | +| [fetchOptions](./kibana-plugin-plugins-data-public.indexpatternselect.fetchoptions.md) | | (searchValue?: string) => void | | +| [fetchSelectedIndexPattern](./kibana-plugin-plugins-data-public.indexpatternselect.fetchselectedindexpattern.md) | | (indexPatternId: string) => Promise<void> | | +| [onChange](./kibana-plugin-plugins-data-public.indexpatternselect.onchange.md) | | (selectedOptions: any) => void | | +| [state](./kibana-plugin-plugins-data-public.indexpatternselect.state.md) | | IndexPatternSelectState | | + +## Methods + +| Method | Modifiers | Description | +| --- | --- | --- | +| [componentDidMount()](./kibana-plugin-plugins-data-public.indexpatternselect.componentdidmount.md) | | | +| [componentWillUnmount()](./kibana-plugin-plugins-data-public.indexpatternselect.componentwillunmount.md) | | | +| [render()](./kibana-plugin-plugins-data-public.indexpatternselect.render.md) | | | +| [UNSAFE\_componentWillReceiveProps(nextProps)](./kibana-plugin-plugins-data-public.indexpatternselect.unsafe_componentwillreceiveprops.md) | | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.onchange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.onchange.md new file mode 100644 index 0000000000000..c0c2a2e6802e9 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.onchange.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) > [onChange](./kibana-plugin-plugins-data-public.indexpatternselect.onchange.md) + +## IndexPatternSelect.onChange property + +Signature: + +```typescript +onChange: (selectedOptions: any) => void; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.render.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.render.md new file mode 100644 index 0000000000000..1cb495e7f8795 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.render.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) > [render](./kibana-plugin-plugins-data-public.indexpatternselect.render.md) + +## IndexPatternSelect.render() method + +Signature: + +```typescript +render(): JSX.Element; +``` +Returns: + +`JSX.Element` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.state.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.state.md new file mode 100644 index 0000000000000..58fbcfe090235 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.state.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) > [state](./kibana-plugin-plugins-data-public.indexpatternselect.state.md) + +## IndexPatternSelect.state property + +Signature: + +```typescript +state: IndexPatternSelectState; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.unsafe_componentwillreceiveprops.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.unsafe_componentwillreceiveprops.md new file mode 100644 index 0000000000000..de9d6a69e216e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatternselect.unsafe_componentwillreceiveprops.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) > [UNSAFE\_componentWillReceiveProps](./kibana-plugin-plugins-data-public.indexpatternselect.unsafe_componentwillreceiveprops.md) + +## IndexPatternSelect.UNSAFE\_componentWillReceiveProps() method + +Signature: + +```typescript +UNSAFE_componentWillReceiveProps(nextProps: IndexPatternSelectProps): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| nextProps | IndexPatternSelectProps | | + +Returns: + +`void` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterntypemeta.aggs.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterntypemeta.aggs.md new file mode 100644 index 0000000000000..46cb435fb19bc --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterntypemeta.aggs.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternTypeMeta](./kibana-plugin-plugins-data-public.indexpatterntypemeta.md) > [aggs](./kibana-plugin-plugins-data-public.indexpatterntypemeta.aggs.md) + +## IndexPatternTypeMeta.aggs property + +Signature: + +```typescript +aggs?: Record; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterntypemeta.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterntypemeta.md new file mode 100644 index 0000000000000..e6690b244c9ea --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.indexpatterntypemeta.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IndexPatternTypeMeta](./kibana-plugin-plugins-data-public.indexpatterntypemeta.md) + +## IndexPatternTypeMeta interface + +Signature: + +```typescript +export interface TypeMeta +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [aggs](./kibana-plugin-plugins-data-public.indexpatterntypemeta.aggs.md) | Record<string, AggregationRestrictions> | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.inputtimerange.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.inputtimerange.md new file mode 100644 index 0000000000000..649355a5fffb5 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.inputtimerange.md @@ -0,0 +1,14 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [InputTimeRange](./kibana-plugin-plugins-data-public.inputtimerange.md) + +## InputTimeRange type + +Signature: + +```typescript +export declare type InputTimeRange = TimeRange | { + from: Moment; + to: Moment; +}; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.irequesttypesmap.es.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.irequesttypesmap.es.md new file mode 100644 index 0000000000000..0b31968f06425 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.irequesttypesmap.es.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IRequestTypesMap](./kibana-plugin-plugins-data-public.irequesttypesmap.md) > [es](./kibana-plugin-plugins-data-public.irequesttypesmap.es.md) + +## IRequestTypesMap.es property + +Signature: + +```typescript +[ES_SEARCH_STRATEGY]: IEsSearchRequest; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.irequesttypesmap.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.irequesttypesmap.md new file mode 100644 index 0000000000000..4ca5e9eab665a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.irequesttypesmap.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IRequestTypesMap](./kibana-plugin-plugins-data-public.irequesttypesmap.md) + +## IRequestTypesMap interface + +Signature: + +```typescript +export interface IRequestTypesMap +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [es](./kibana-plugin-plugins-data-public.irequesttypesmap.es.md) | IEsSearchRequest | | +| [SYNC\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-public.irequesttypesmap.sync_search_strategy.md) | ISyncSearchRequest | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.irequesttypesmap.sync_search_strategy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.irequesttypesmap.sync_search_strategy.md new file mode 100644 index 0000000000000..28b87111a75ad --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.irequesttypesmap.sync_search_strategy.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IRequestTypesMap](./kibana-plugin-plugins-data-public.irequesttypesmap.md) > [SYNC\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-public.irequesttypesmap.sync_search_strategy.md) + +## IRequestTypesMap.SYNC\_SEARCH\_STRATEGY property + +Signature: + +```typescript +[SYNC_SEARCH_STRATEGY]: ISyncSearchRequest; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iresponsetypesmap.es.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iresponsetypesmap.es.md new file mode 100644 index 0000000000000..8056d0b16a66e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iresponsetypesmap.es.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IResponseTypesMap](./kibana-plugin-plugins-data-public.iresponsetypesmap.md) > [es](./kibana-plugin-plugins-data-public.iresponsetypesmap.es.md) + +## IResponseTypesMap.es property + +Signature: + +```typescript +[ES_SEARCH_STRATEGY]: IEsSearchResponse; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iresponsetypesmap.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iresponsetypesmap.md new file mode 100644 index 0000000000000..b6ec3aa38c96a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iresponsetypesmap.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IResponseTypesMap](./kibana-plugin-plugins-data-public.iresponsetypesmap.md) + +## IResponseTypesMap interface + +Signature: + +```typescript +export interface IResponseTypesMap +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [es](./kibana-plugin-plugins-data-public.iresponsetypesmap.es.md) | IEsSearchResponse | | +| [SYNC\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-public.iresponsetypesmap.sync_search_strategy.md) | IKibanaSearchResponse | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iresponsetypesmap.sync_search_strategy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iresponsetypesmap.sync_search_strategy.md new file mode 100644 index 0000000000000..c9fad4ced534c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.iresponsetypesmap.sync_search_strategy.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [IResponseTypesMap](./kibana-plugin-plugins-data-public.iresponsetypesmap.md) > [SYNC\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-public.iresponsetypesmap.sync_search_strategy.md) + +## IResponseTypesMap.SYNC\_SEARCH\_STRATEGY property + +Signature: + +```typescript +[SYNC_SEARCH_STRATEGY]: IKibanaSearchResponse; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearch.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearch.md new file mode 100644 index 0000000000000..1a58b41052caf --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearch.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearch](./kibana-plugin-plugins-data-public.isearch.md) + +## ISearch type + +Signature: + +```typescript +export declare type ISearch = (request: IRequestTypesMap[T], options?: ISearchOptions) => Observable; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchcontext.core.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchcontext.core.md new file mode 100644 index 0000000000000..7a7ea43bd3d40 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchcontext.core.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchContext](./kibana-plugin-plugins-data-public.isearchcontext.md) > [core](./kibana-plugin-plugins-data-public.isearchcontext.core.md) + +## ISearchContext.core property + +Signature: + +```typescript +core: CoreStart; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchcontext.getsearchstrategy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchcontext.getsearchstrategy.md new file mode 100644 index 0000000000000..93ac88d200bb8 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchcontext.getsearchstrategy.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchContext](./kibana-plugin-plugins-data-public.isearchcontext.md) > [getSearchStrategy](./kibana-plugin-plugins-data-public.isearchcontext.getsearchstrategy.md) + +## ISearchContext.getSearchStrategy property + +Signature: + +```typescript +getSearchStrategy: (name: T) => TSearchStrategyProvider; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchcontext.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchcontext.md new file mode 100644 index 0000000000000..9b89f71434119 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchcontext.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchContext](./kibana-plugin-plugins-data-public.isearchcontext.md) + +## ISearchContext interface + +Signature: + +```typescript +export interface ISearchContext +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [core](./kibana-plugin-plugins-data-public.isearchcontext.core.md) | CoreStart | | +| [getSearchStrategy](./kibana-plugin-plugins-data-public.isearchcontext.getsearchstrategy.md) | <T extends TStrategyTypes>(name: T) => TSearchStrategyProvider<T> | | + 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 new file mode 100644 index 0000000000000..e118dac31c296 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchgeneric.md @@ -0,0 +1,11 @@ + + +[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: IRequestTypesMap[T], options?: ISearchOptions, strategy?: T) => Observable; +``` 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 new file mode 100644 index 0000000000000..05b7252606289 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.md @@ -0,0 +1,18 @@ + + +[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 | +| --- | --- | --- | +| [signal](./kibana-plugin-plugins-data-public.isearchoptions.signal.md) | AbortSignal | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.signal.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.signal.md new file mode 100644 index 0000000000000..10bd186d55baa --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchoptions.signal.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) > [signal](./kibana-plugin-plugins-data-public.isearchoptions.signal.md) + +## ISearchOptions.signal property + +Signature: + +```typescript +signal?: AbortSignal; +``` 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 new file mode 100644 index 0000000000000..a8154dff72a6a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchsource.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchSource](./kibana-plugin-plugins-data-public.isearchsource.md) + +## ISearchSource type + +Signature: + +```typescript +export declare type ISearchSource = Pick; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstrategy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstrategy.md new file mode 100644 index 0000000000000..9e74bc0e60a73 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstrategy.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStrategy](./kibana-plugin-plugins-data-public.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 | +| --- | --- | --- | +| [search](./kibana-plugin-plugins-data-public.isearchstrategy.search.md) | ISearch<T> | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstrategy.search.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstrategy.search.md new file mode 100644 index 0000000000000..e2e4264b7c6e0 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isearchstrategy.search.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISearchStrategy](./kibana-plugin-plugins-data-public.isearchstrategy.md) > [search](./kibana-plugin-plugins-data-public.isearchstrategy.search.md) + +## ISearchStrategy.search property + +Signature: + +```typescript +search: ISearch; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isyncsearchrequest.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isyncsearchrequest.md new file mode 100644 index 0000000000000..29befdbf295dc --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isyncsearchrequest.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISyncSearchRequest](./kibana-plugin-plugins-data-public.isyncsearchrequest.md) + +## ISyncSearchRequest interface + +Signature: + +```typescript +export interface ISyncSearchRequest extends IKibanaSearchRequest +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [serverStrategy](./kibana-plugin-plugins-data-public.isyncsearchrequest.serverstrategy.md) | string | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isyncsearchrequest.serverstrategy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isyncsearchrequest.serverstrategy.md new file mode 100644 index 0000000000000..f30f274a3b9b6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.isyncsearchrequest.serverstrategy.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [ISyncSearchRequest](./kibana-plugin-plugins-data-public.isyncsearchrequest.md) > [serverStrategy](./kibana-plugin-plugins-data-public.isyncsearchrequest.serverstrategy.md) + +## ISyncSearchRequest.serverStrategy property + +Signature: + +```typescript +serverStrategy: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kbn_field_types.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kbn_field_types.md new file mode 100644 index 0000000000000..e5ae8ffbd2877 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kbn_field_types.md @@ -0,0 +1,33 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [KBN\_FIELD\_TYPES](./kibana-plugin-plugins-data-public.kbn_field_types.md) + +## KBN\_FIELD\_TYPES enum + +\* + +Signature: + +```typescript +export declare enum KBN_FIELD_TYPES +``` + +## Enumeration Members + +| Member | Value | Description | +| --- | --- | --- | +| \_SOURCE | "_source" | | +| ATTACHMENT | "attachment" | | +| BOOLEAN | "boolean" | | +| CONFLICT | "conflict" | | +| DATE | "date" | | +| GEO\_POINT | "geo_point" | | +| GEO\_SHAPE | "geo_shape" | | +| IP | "ip" | | +| MURMUR3 | "murmur3" | | +| NESTED | "nested" | | +| NUMBER | "number" | | +| OBJECT | "object" | | +| STRING | "string" | | +| UNKNOWN | "unknown" | | + 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 new file mode 100644 index 0000000000000..276f25da8cb9f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kuerynode.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [KueryNode](./kibana-plugin-plugins-data-public.kuerynode.md) + +## KueryNode interface + +Signature: + +```typescript +export interface KueryNode +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [type](./kibana-plugin-plugins-data-public.kuerynode.type.md) | keyof NodeTypes | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kuerynode.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kuerynode.type.md new file mode 100644 index 0000000000000..2ff96b6421c2e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.kuerynode.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [KueryNode](./kibana-plugin-plugins-data-public.kuerynode.md) > [type](./kibana-plugin-plugins-data-public.kuerynode.type.md) + +## KueryNode.type property + +Signature: + +```typescript +type: keyof NodeTypes; +``` 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 new file mode 100644 index 0000000000000..740b83bb5c563 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.matchallfilter.md @@ -0,0 +1,14 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [MatchAllFilter](./kibana-plugin-plugins-data-public.matchallfilter.md) + +## MatchAllFilter type + +Signature: + +```typescript +export declare type MatchAllFilter = Filter & { + meta: MatchAllFilterMeta; + match_all: any; +}; +``` 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 new file mode 100644 index 0000000000000..4b85461e64097 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md @@ -0,0 +1,142 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) + +## kibana-plugin-plugins-data-public package + +## Classes + +| Class | Description | +| --- | --- | +| [FilterManager](./kibana-plugin-plugins-data-public.filtermanager.md) | | +| [IndexPattern](./kibana-plugin-plugins-data-public.indexpattern.md) | | +| [IndexPatternField](./kibana-plugin-plugins-data-public.indexpatternfield.md) | | +| [IndexPatternFieldList](./kibana-plugin-plugins-data-public.indexpatternfieldlist.md) | | +| [IndexPatternSelect](./kibana-plugin-plugins-data-public.indexpatternselect.md) | | +| [Plugin](./kibana-plugin-plugins-data-public.plugin.md) | | +| [SearchError](./kibana-plugin-plugins-data-public.searcherror.md) | | +| [SearchSource](./kibana-plugin-plugins-data-public.searchsource.md) | | +| [TimeHistory](./kibana-plugin-plugins-data-public.timehistory.md) | | + +## Enumerations + +| Enumeration | Description | +| --- | --- | +| [ES\_FIELD\_TYPES](./kibana-plugin-plugins-data-public.es_field_types.md) | \* | +| [KBN\_FIELD\_TYPES](./kibana-plugin-plugins-data-public.kbn_field_types.md) | \* | +| [QuerySuggestionTypes](./kibana-plugin-plugins-data-public.querysuggestiontypes.md) | | +| [SortDirection](./kibana-plugin-plugins-data-public.sortdirection.md) | | + +## Functions + +| Function | Description | +| --- | --- | +| [getDefaultQuery(language)](./kibana-plugin-plugins-data-public.getdefaultquery.md) | | +| [getEsPreference(uiSettings, sessionId)](./kibana-plugin-plugins-data-public.getespreference.md) | | +| [getQueryLog(uiSettings, storage, appName, language)](./kibana-plugin-plugins-data-public.getquerylog.md) | | +| [getSearchErrorType({ message })](./kibana-plugin-plugins-data-public.getsearcherrortype.md) | | +| [getTime(indexPattern, timeRange, forceNow)](./kibana-plugin-plugins-data-public.gettime.md) | | +| [parseInterval(interval)](./kibana-plugin-plugins-data-public.parseinterval.md) | | +| [plugin(initializerContext)](./kibana-plugin-plugins-data-public.plugin.md) | | + +## Interfaces + +| Interface | Description | +| --- | --- | +| [DataPublicPluginSetup](./kibana-plugin-plugins-data-public.datapublicpluginsetup.md) | | +| [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) | | +| [EsQueryConfig](./kibana-plugin-plugins-data-public.esqueryconfig.md) | | +| [FetchOptions](./kibana-plugin-plugins-data-public.fetchoptions.md) | | +| [FieldFormatConfig](./kibana-plugin-plugins-data-public.fieldformatconfig.md) | | +| [Filter](./kibana-plugin-plugins-data-public.filter.md) | | +| [IDataPluginServices](./kibana-plugin-plugins-data-public.idatapluginservices.md) | | +| [IEsSearchRequest](./kibana-plugin-plugins-data-public.iessearchrequest.md) | | +| [IEsSearchResponse](./kibana-plugin-plugins-data-public.iessearchresponse.md) | | +| [IFieldSubType](./kibana-plugin-plugins-data-public.ifieldsubtype.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) | Use data plugin interface instead | +| [IndexPatternTypeMeta](./kibana-plugin-plugins-data-public.indexpatterntypemeta.md) | | +| [IRequestTypesMap](./kibana-plugin-plugins-data-public.irequesttypesmap.md) | | +| [IResponseTypesMap](./kibana-plugin-plugins-data-public.iresponsetypesmap.md) | | +| [ISearchContext](./kibana-plugin-plugins-data-public.isearchcontext.md) | | +| [ISearchOptions](./kibana-plugin-plugins-data-public.isearchoptions.md) | | +| [ISearchStrategy](./kibana-plugin-plugins-data-public.isearchstrategy.md) | Search strategy interface contains a search method that takes in a request and returns a promise that resolves to a response. | +| [ISyncSearchRequest](./kibana-plugin-plugins-data-public.isyncsearchrequest.md) | | +| [KueryNode](./kibana-plugin-plugins-data-public.kuerynode.md) | | +| [Query](./kibana-plugin-plugins-data-public.query.md) | | +| [QueryState](./kibana-plugin-plugins-data-public.querystate.md) | All query state service state | +| [QuerySuggestionBasic](./kibana-plugin-plugins-data-public.querysuggestionbasic.md) | \* | +| [QuerySuggestionField](./kibana-plugin-plugins-data-public.querysuggestionfield.md) | \* | +| [QuerySuggestionGetFnArgs](./kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md) | \* | +| [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) | | +| [RefreshInterval](./kibana-plugin-plugins-data-public.refreshinterval.md) | | +| [SavedQuery](./kibana-plugin-plugins-data-public.savedquery.md) | | +| [SavedQueryAttributes](./kibana-plugin-plugins-data-public.savedqueryattributes.md) | | +| [SavedQueryService](./kibana-plugin-plugins-data-public.savedqueryservice.md) | | +| [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) | | +| [SearchStrategyProvider](./kibana-plugin-plugins-data-public.searchstrategyprovider.md) | | +| [TimefilterSetup](./kibana-plugin-plugins-data-public.timefiltersetup.md) | | +| [TimeRange](./kibana-plugin-plugins-data-public.timerange.md) | | + +## Variables + +| Variable | Description | +| --- | --- | +| [addSearchStrategy](./kibana-plugin-plugins-data-public.addsearchstrategy.md) | | +| [baseFormattersPublic](./kibana-plugin-plugins-data-public.baseformatterspublic.md) | | +| [castEsToKbnFieldTypeName](./kibana-plugin-plugins-data-public.castestokbnfieldtypename.md) | Get the KbnFieldType name for an esType string | +| [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) | | +| [defaultSearchStrategy](./kibana-plugin-plugins-data-public.defaultsearchstrategy.md) | | +| [ES\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-public.es_search_strategy.md) | | +| [esFilters](./kibana-plugin-plugins-data-public.esfilters.md) | | +| [esKuery](./kibana-plugin-plugins-data-public.eskuery.md) | | +| [esQuery](./kibana-plugin-plugins-data-public.esquery.md) | | +| [esSearchStrategyProvider](./kibana-plugin-plugins-data-public.essearchstrategyprovider.md) | | +| [fieldFormats](./kibana-plugin-plugins-data-public.fieldformats.md) | | +| [FilterBar](./kibana-plugin-plugins-data-public.filterbar.md) | | +| [getKbnTypeNames](./kibana-plugin-plugins-data-public.getkbntypenames.md) | Get the esTypes known by all kbnFieldTypes {Array} | +| [hasSearchStategyForIndexPattern](./kibana-plugin-plugins-data-public.hassearchstategyforindexpattern.md) | | +| [indexPatterns](./kibana-plugin-plugins-data-public.indexpatterns.md) | | +| [QueryStringInput](./kibana-plugin-plugins-data-public.querystringinput.md) | | +| [SearchBar](./kibana-plugin-plugins-data-public.searchbar.md) | | +| [SYNC\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-public.sync_search_strategy.md) | | +| [syncQueryStateWithUrl](./kibana-plugin-plugins-data-public.syncquerystatewithurl.md) | Helper to setup syncing of global data with the URL | + +## Type Aliases + +| Type Alias | Description | +| --- | --- | +| [CustomFilter](./kibana-plugin-plugins-data-public.customfilter.md) | | +| [EsQuerySortValue](./kibana-plugin-plugins-data-public.esquerysortvalue.md) | | +| [ExistsFilter](./kibana-plugin-plugins-data-public.existsfilter.md) | | +| [FieldFormatId](./kibana-plugin-plugins-data-public.fieldformatid.md) | id type is needed for creating custom converters. | +| [FieldFormatsContentType](./kibana-plugin-plugins-data-public.fieldformatscontenttype.md) | \* | +| [FieldFormatsGetConfigFn](./kibana-plugin-plugins-data-public.fieldformatsgetconfigfn.md) | | +| [IFieldFormat](./kibana-plugin-plugins-data-public.ifieldformat.md) | | +| [IFieldFormatsRegistry](./kibana-plugin-plugins-data-public.ifieldformatsregistry.md) | | +| [IndexPatternAggRestrictions](./kibana-plugin-plugins-data-public.indexpatternaggrestrictions.md) | | +| [IndexPatternsContract](./kibana-plugin-plugins-data-public.indexpatternscontract.md) | | +| [InputTimeRange](./kibana-plugin-plugins-data-public.inputtimerange.md) | | +| [ISearch](./kibana-plugin-plugins-data-public.isearch.md) | | +| [ISearchGeneric](./kibana-plugin-plugins-data-public.isearchgeneric.md) | | +| [ISearchSource](./kibana-plugin-plugins-data-public.isearchsource.md) | | +| [MatchAllFilter](./kibana-plugin-plugins-data-public.matchallfilter.md) | | +| [PhraseFilter](./kibana-plugin-plugins-data-public.phrasefilter.md) | | +| [PhrasesFilter](./kibana-plugin-plugins-data-public.phrasesfilter.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) | | +| [SavedQueryTimeFilter](./kibana-plugin-plugins-data-public.savedquerytimefilter.md) | | +| [SearchBarProps](./kibana-plugin-plugins-data-public.searchbarprops.md) | | +| [SearchRequest](./kibana-plugin-plugins-data-public.searchrequest.md) | | +| [SearchResponse](./kibana-plugin-plugins-data-public.searchresponse.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) | | +| [TSearchStrategyProvider](./kibana-plugin-plugins-data-public.tsearchstrategyprovider.md) | Search strategy provider creates an instance of a search strategy with the request handler context bound to it. This way every search strategy can use whatever information they require from the request context. | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parseinterval.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parseinterval.md new file mode 100644 index 0000000000000..1f5371fbf088a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.parseinterval.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [parseInterval](./kibana-plugin-plugins-data-public.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/public/kibana-plugin-plugins-data-public.phrasefilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasefilter.md new file mode 100644 index 0000000000000..090b78a7078cc --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasefilter.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [PhraseFilter](./kibana-plugin-plugins-data-public.phrasefilter.md) + +## PhraseFilter type + +Signature: + +```typescript +export declare type PhraseFilter = Filter & { + meta: PhraseFilterMeta; + script?: { + script: { + source?: any; + lang?: string; + params: any; + }; + }; +}; +``` 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 new file mode 100644 index 0000000000000..ab205cb62fd14 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.phrasesfilter.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [PhrasesFilter](./kibana-plugin-plugins-data-public.phrasesfilter.md) + +## PhrasesFilter type + +Signature: + +```typescript +export declare type PhrasesFilter = Filter & { + meta: PhrasesFilterMeta; +}; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin._constructor_.md new file mode 100644 index 0000000000000..5ec2d491295bf --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin._constructor_.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Plugin](./kibana-plugin-plugins-data-public.plugin.md) > [(constructor)](./kibana-plugin-plugins-data-public.plugin._constructor_.md) + +## Plugin.(constructor) + +Constructs a new instance of the `DataPublicPlugin` class + +Signature: + +```typescript +constructor(initializerContext: PluginInitializerContext); +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| initializerContext | PluginInitializerContext | | + 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 new file mode 100644 index 0000000000000..6cbc1f441c048 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.md @@ -0,0 +1,22 @@ + + +[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 | | + +Returns: + +`DataPublicPlugin` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.setup.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.setup.md new file mode 100644 index 0000000000000..98a954456d482 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.setup.md @@ -0,0 +1,23 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Plugin](./kibana-plugin-plugins-data-public.plugin.md) > [setup](./kibana-plugin-plugins-data-public.plugin.setup.md) + +## Plugin.setup() method + +Signature: + +```typescript +setup(core: CoreSetup, { uiActions }: DataSetupDependencies): DataPublicPluginSetup; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| core | CoreSetup | | +| { uiActions } | DataSetupDependencies | | + +Returns: + +`DataPublicPluginSetup` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.start.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.start.md new file mode 100644 index 0000000000000..56934e8a29edd --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.start.md @@ -0,0 +1,23 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Plugin](./kibana-plugin-plugins-data-public.plugin.md) > [start](./kibana-plugin-plugins-data-public.plugin.start.md) + +## Plugin.start() method + +Signature: + +```typescript +start(core: CoreStart, { uiActions }: DataStartDependencies): DataPublicPluginStart; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| core | CoreStart | | +| { uiActions } | DataStartDependencies | | + +Returns: + +`DataPublicPluginStart` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.stop.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.stop.md new file mode 100644 index 0000000000000..8b8b63db4e03a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.plugin.stop.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Plugin](./kibana-plugin-plugins-data-public.plugin.md) > [stop](./kibana-plugin-plugins-data-public.plugin.stop.md) + +## Plugin.stop() method + +Signature: + +```typescript +stop(): void; +``` +Returns: + +`void` + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.query.language.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.query.language.md new file mode 100644 index 0000000000000..127ee9210799e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.query.language.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Query](./kibana-plugin-plugins-data-public.query.md) > [language](./kibana-plugin-plugins-data-public.query.language.md) + +## Query.language property + +Signature: + +```typescript +language: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.query.md new file mode 100644 index 0000000000000..a1dffe5ff5fa4 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.query.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Query](./kibana-plugin-plugins-data-public.query.md) + +## Query interface + +Signature: + +```typescript +export interface Query +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [language](./kibana-plugin-plugins-data-public.query.language.md) | string | | +| [query](./kibana-plugin-plugins-data-public.query.query.md) | string | {
[key: string]: any;
} | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.query.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.query.query.md new file mode 100644 index 0000000000000..9fcd0310af0fe --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.query.query.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [Query](./kibana-plugin-plugins-data-public.query.md) > [query](./kibana-plugin-plugins-data-public.query.query.md) + +## Query.query property + +Signature: + +```typescript +query: string | { + [key: string]: any; + }; +``` 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 new file mode 100644 index 0000000000000..7155ea92d82ec --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.filters.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..cc489a0cb0367 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.md @@ -0,0 +1,22 @@ + + +[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[] | | +| [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.refreshinterval.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.refreshinterval.md new file mode 100644 index 0000000000000..04745f94a05af --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.refreshinterval.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..8d08c8250387a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystate.time.md @@ -0,0 +1,11 @@ + + +[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.querystringinput.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinput.md new file mode 100644 index 0000000000000..d0d4cc491e142 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querystringinput.md @@ -0,0 +1,11 @@ + + +[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: React.FC> +``` 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 new file mode 100644 index 0000000000000..5586b3843d777 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestion.md @@ -0,0 +1,13 @@ + + +[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 new file mode 100644 index 0000000000000..bc0a080739746 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.cursorindex.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..2e322c8225a27 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.description.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..a76e301ca257d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.end.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..ab8fc45cd49dd --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.md @@ -0,0 +1,25 @@ + + +[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 new file mode 100644 index 0000000000000..2b24fc9b2f078 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.start.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..4054b5e1623d0 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.text.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..1bce656d94b57 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionbasic.type.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..ce4e3a9afeb4e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.field.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..88eb29d4ed66f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.md @@ -0,0 +1,21 @@ + + +[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 new file mode 100644 index 0000000000000..185ee7dc47f22 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestionfield.type.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..30a4630d6a983 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfn.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..e5fecb8a2db16 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.boolfilter.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..2ad3b2ea63308 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.indexpatterns.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..adebd05d21a1f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.language.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..96e43ca836891 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.md @@ -0,0 +1,26 @@ + + +[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 | | +| [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 | | + 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 new file mode 100644 index 0000000000000..4cbe5a255841c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.query.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..458a28cb6b1fa --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionend.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..c253140468746 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.selectionstart.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..9a24fd2b47a14 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiongetfnargs.signal.md @@ -0,0 +1,11 @@ + + +[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.querysuggestiontypes.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiontypes.md new file mode 100644 index 0000000000000..fd5010167eaa1 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.querysuggestiontypes.md @@ -0,0 +1,22 @@ + + +[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 new file mode 100644 index 0000000000000..fbe04f5e0a2a9 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilter.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilter](./kibana-plugin-plugins-data-public.rangefilter.md) + +## RangeFilter type + +Signature: + +```typescript +export declare type RangeFilter = Filter & EsRangeFilter & { + meta: RangeFilterMeta; + script?: { + script: { + params: any; + lang: string; + source: any; + }; + }; + match_all?: any; +}; +``` 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 new file mode 100644 index 0000000000000..609e98cb6faa8 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefiltermeta.md @@ -0,0 +1,15 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterMeta](./kibana-plugin-plugins-data-public.rangefiltermeta.md) + +## RangeFilterMeta type + +Signature: + +```typescript +export declare type RangeFilterMeta = FilterMeta & { + params: RangeFilterParams; + field?: any; + formattedValue?: string; +}; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.format.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.format.md new file mode 100644 index 0000000000000..15926481923ab --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.format.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) > [format](./kibana-plugin-plugins-data-public.rangefilterparams.format.md) + +## RangeFilterParams.format property + +Signature: + +```typescript +format?: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.from.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.from.md new file mode 100644 index 0000000000000..99b8d75e9c316 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.from.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) > [from](./kibana-plugin-plugins-data-public.rangefilterparams.from.md) + +## RangeFilterParams.from property + +Signature: + +```typescript +from?: number | string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.gt.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.gt.md new file mode 100644 index 0000000000000..32bfc6eeb68cb --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.gt.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) > [gt](./kibana-plugin-plugins-data-public.rangefilterparams.gt.md) + +## RangeFilterParams.gt property + +Signature: + +```typescript +gt?: number | string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.gte.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.gte.md new file mode 100644 index 0000000000000..81345e4a81610 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.gte.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) > [gte](./kibana-plugin-plugins-data-public.rangefilterparams.gte.md) + +## RangeFilterParams.gte property + +Signature: + +```typescript +gte?: number | string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.lt.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.lt.md new file mode 100644 index 0000000000000..6250fecfe59d6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.lt.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) > [lt](./kibana-plugin-plugins-data-public.rangefilterparams.lt.md) + +## RangeFilterParams.lt property + +Signature: + +```typescript +lt?: number | string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.lte.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.lte.md new file mode 100644 index 0000000000000..c4f3cbf00b304 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.lte.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) > [lte](./kibana-plugin-plugins-data-public.rangefilterparams.lte.md) + +## RangeFilterParams.lte property + +Signature: + +```typescript +lte?: number | string; +``` 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 new file mode 100644 index 0000000000000..977559f5e6cb2 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) + +## RangeFilterParams interface + +Signature: + +```typescript +export interface RangeFilterParams +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [format](./kibana-plugin-plugins-data-public.rangefilterparams.format.md) | string | | +| [from](./kibana-plugin-plugins-data-public.rangefilterparams.from.md) | number | string | | +| [gt](./kibana-plugin-plugins-data-public.rangefilterparams.gt.md) | number | string | | +| [gte](./kibana-plugin-plugins-data-public.rangefilterparams.gte.md) | number | string | | +| [lt](./kibana-plugin-plugins-data-public.rangefilterparams.lt.md) | number | string | | +| [lte](./kibana-plugin-plugins-data-public.rangefilterparams.lte.md) | number | string | | +| [to](./kibana-plugin-plugins-data-public.rangefilterparams.to.md) | number | string | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.to.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.to.md new file mode 100644 index 0000000000000..c9d0069fb75f5 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.rangefilterparams.to.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RangeFilterParams](./kibana-plugin-plugins-data-public.rangefilterparams.md) > [to](./kibana-plugin-plugins-data-public.rangefilterparams.to.md) + +## RangeFilterParams.to property + +Signature: + +```typescript +to?: number | 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 new file mode 100644 index 0000000000000..6a6350d8ba4f6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [RefreshInterval](./kibana-plugin-plugins-data-public.refreshinterval.md) + +## RefreshInterval interface + +Signature: + +```typescript +export interface RefreshInterval +``` + +## 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 new file mode 100644 index 0000000000000..fb854fcbbc277 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.pause.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..021a01391b71e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.refreshinterval.value.md @@ -0,0 +1,11 @@ + + +[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/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 new file mode 100644 index 0000000000000..6c5277162fd51 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.attributes.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..386a1d048e937 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.id.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..14c143edf13c1 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquery.md @@ -0,0 +1,19 @@ + + +[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.savedqueryattributes.description.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.description.md new file mode 100644 index 0000000000000..859935480357c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.description.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryAttributes](./kibana-plugin-plugins-data-public.savedqueryattributes.md) > [description](./kibana-plugin-plugins-data-public.savedqueryattributes.description.md) + +## SavedQueryAttributes.description property + +Signature: + +```typescript +description: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.filters.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.filters.md new file mode 100644 index 0000000000000..c2c1ac681802b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.filters.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryAttributes](./kibana-plugin-plugins-data-public.savedqueryattributes.md) > [filters](./kibana-plugin-plugins-data-public.savedqueryattributes.filters.md) + +## SavedQueryAttributes.filters property + +Signature: + +```typescript +filters?: Filter[]; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.md new file mode 100644 index 0000000000000..612be6a1dabc6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryAttributes](./kibana-plugin-plugins-data-public.savedqueryattributes.md) + +## SavedQueryAttributes interface + +Signature: + +```typescript +export interface SavedQueryAttributes +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [description](./kibana-plugin-plugins-data-public.savedqueryattributes.description.md) | string | | +| [filters](./kibana-plugin-plugins-data-public.savedqueryattributes.filters.md) | Filter[] | | +| [query](./kibana-plugin-plugins-data-public.savedqueryattributes.query.md) | Query | | +| [timefilter](./kibana-plugin-plugins-data-public.savedqueryattributes.timefilter.md) | SavedQueryTimeFilter | | +| [title](./kibana-plugin-plugins-data-public.savedqueryattributes.title.md) | string | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.query.md new file mode 100644 index 0000000000000..96673fc3a8fde --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.query.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryAttributes](./kibana-plugin-plugins-data-public.savedqueryattributes.md) > [query](./kibana-plugin-plugins-data-public.savedqueryattributes.query.md) + +## SavedQueryAttributes.query property + +Signature: + +```typescript +query: Query; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.timefilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.timefilter.md new file mode 100644 index 0000000000000..b4edb059a3dfd --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.timefilter.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryAttributes](./kibana-plugin-plugins-data-public.savedqueryattributes.md) > [timefilter](./kibana-plugin-plugins-data-public.savedqueryattributes.timefilter.md) + +## SavedQueryAttributes.timefilter property + +Signature: + +```typescript +timefilter?: SavedQueryTimeFilter; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.title.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.title.md new file mode 100644 index 0000000000000..99ae1b83e8834 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryattributes.title.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SavedQueryAttributes](./kibana-plugin-plugins-data-public.savedqueryattributes.md) > [title](./kibana-plugin-plugins-data-public.savedqueryattributes.title.md) + +## SavedQueryAttributes.title property + +Signature: + +```typescript +title: 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 new file mode 100644 index 0000000000000..5dd12a011ceca --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.deletesavedquery.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..ef3f6ea1645f0 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.findsavedqueries.md @@ -0,0 +1,14 @@ + + +[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 new file mode 100644 index 0000000000000..ef5048f3b22b8 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getallsavedqueries.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..19c8fcc2a3f40 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getsavedquery.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..225c74abe289f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.getsavedquerycount.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..de48d867a9580 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.md @@ -0,0 +1,23 @@ + + +[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 new file mode 100644 index 0000000000000..64bced8ace292 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedqueryservice.savequery.md @@ -0,0 +1,13 @@ + + +[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 new file mode 100644 index 0000000000000..542ed16ec1ef6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.savedquerytimefilter.md @@ -0,0 +1,13 @@ + + +[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.searchbar.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbar.md new file mode 100644 index 0000000000000..89c5ca800a4d4 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbar.md @@ -0,0 +1,13 @@ + + +[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" | "isLoading" | "indexPatterns" | "filters" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, 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 new file mode 100644 index 0000000000000..7ab0c19fd37ba --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchbarprops.md @@ -0,0 +1,11 @@ + + +[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.searcherror._constructor_.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror._constructor_.md new file mode 100644 index 0000000000000..4d7691d24a79d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror._constructor_.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchError](./kibana-plugin-plugins-data-public.searcherror.md) > [(constructor)](./kibana-plugin-plugins-data-public.searcherror._constructor_.md) + +## SearchError.(constructor) + +Constructs a new instance of the `SearchError` class + +Signature: + +```typescript +constructor({ status, title, message, path, type }: SearchErrorOptions); +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| { status, title, message, path, type } | SearchErrorOptions | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.md new file mode 100644 index 0000000000000..06e60cadf4a85 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.md @@ -0,0 +1,29 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchError](./kibana-plugin-plugins-data-public.searcherror.md) + +## SearchError class + +Signature: + +```typescript +export declare class SearchError extends Error +``` + +## Constructors + +| Constructor | Modifiers | Description | +| --- | --- | --- | +| [(constructor)({ status, title, message, path, type })](./kibana-plugin-plugins-data-public.searcherror._constructor_.md) | | Constructs a new instance of the SearchError class | + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [message](./kibana-plugin-plugins-data-public.searcherror.message.md) | | string | | +| [name](./kibana-plugin-plugins-data-public.searcherror.name.md) | | string | | +| [path](./kibana-plugin-plugins-data-public.searcherror.path.md) | | string | | +| [status](./kibana-plugin-plugins-data-public.searcherror.status.md) | | string | | +| [title](./kibana-plugin-plugins-data-public.searcherror.title.md) | | string | | +| [type](./kibana-plugin-plugins-data-public.searcherror.type.md) | | string | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.message.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.message.md new file mode 100644 index 0000000000000..5e2de2fbf7f42 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.message.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchError](./kibana-plugin-plugins-data-public.searcherror.md) > [message](./kibana-plugin-plugins-data-public.searcherror.message.md) + +## SearchError.message property + +Signature: + +```typescript +message: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.name.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.name.md new file mode 100644 index 0000000000000..8ad7bb5fcfd81 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.name.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchError](./kibana-plugin-plugins-data-public.searcherror.md) > [name](./kibana-plugin-plugins-data-public.searcherror.name.md) + +## SearchError.name property + +Signature: + +```typescript +name: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.path.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.path.md new file mode 100644 index 0000000000000..833c16e73ea8e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.path.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchError](./kibana-plugin-plugins-data-public.searcherror.md) > [path](./kibana-plugin-plugins-data-public.searcherror.path.md) + +## SearchError.path property + +Signature: + +```typescript +path: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.status.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.status.md new file mode 100644 index 0000000000000..ae1a947da0abb --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.status.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchError](./kibana-plugin-plugins-data-public.searcherror.md) > [status](./kibana-plugin-plugins-data-public.searcherror.status.md) + +## SearchError.status property + +Signature: + +```typescript +status: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.title.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.title.md new file mode 100644 index 0000000000000..aa73ab3b5790c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.title.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchError](./kibana-plugin-plugins-data-public.searcherror.md) > [title](./kibana-plugin-plugins-data-public.searcherror.title.md) + +## SearchError.title property + +Signature: + +```typescript +title: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.type.md new file mode 100644 index 0000000000000..dde447a9059c5 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searcherror.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchError](./kibana-plugin-plugins-data-public.searcherror.md) > [type](./kibana-plugin-plugins-data-public.searcherror.type.md) + +## SearchError.type property + +Signature: + +```typescript +type: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchrequest.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchrequest.md new file mode 100644 index 0000000000000..dbb465839e52c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchrequest.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchRequest](./kibana-plugin-plugins-data-public.searchrequest.md) + +## SearchRequest type + +Signature: + +```typescript +export declare type SearchRequest = any; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchresponse.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchresponse.md new file mode 100644 index 0000000000000..6da31c8bced7e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchresponse.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchResponse](./kibana-plugin-plugins-data-public.searchresponse.md) + +## SearchResponse type + +Signature: + +```typescript +export declare type SearchResponse = any; +``` 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 new file mode 100644 index 0000000000000..e0c9e77b313a5 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource._constructor_.md @@ -0,0 +1,20 @@ + + +[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); +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| fields | SearchSourceFields | | + 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 new file mode 100644 index 0000000000000..b0a0201680ca8 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.create.md @@ -0,0 +1,15 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..3f17dc21cf514 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.createchild.md @@ -0,0 +1,22 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..f503a3dfc3299 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.createcopy.md @@ -0,0 +1,15 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..8a7cc5ee75d11 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.destroy.md @@ -0,0 +1,17 @@ + + +[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 new file mode 100644 index 0000000000000..208ce565fac13 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.fetch.md @@ -0,0 +1,25 @@ + + +[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 and reject the returned Promise on error + + +Signature: + +```typescript +fetch(options?: FetchOptions): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| options | FetchOptions | | + +Returns: + +`Promise` + 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 new file mode 100644 index 0000000000000..98ba815696cf6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getfield.md @@ -0,0 +1,25 @@ + + +[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 + +Get fields 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 new file mode 100644 index 0000000000000..4f4e575241e10 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getfields.md @@ -0,0 +1,49 @@ + + +[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 + +Signature: + +```typescript +getFields(): { + type?: string | undefined; + query?: import("../..").Query | undefined; + filter?: Filter | Filter[] | (() => Filter | Filter[] | undefined) | undefined; + sort?: Record | Record[] | undefined; + highlight?: any; + highlightAll?: boolean | undefined; + aggs?: any; + from?: number | undefined; + size?: number | undefined; + source?: string | boolean | string[] | undefined; + version?: boolean | undefined; + fields?: string | boolean | string[] | undefined; + index?: import("../..").IndexPattern | undefined; + searchAfter?: import("./types").EsQuerySearchAfter | undefined; + timeout?: string | undefined; + terminate_after?: number | undefined; + }; +``` +Returns: + +`{ + type?: string | undefined; + query?: import("../..").Query | undefined; + filter?: Filter | Filter[] | (() => Filter | Filter[] | undefined) | undefined; + sort?: Record | Record[] | undefined; + highlight?: any; + highlightAll?: boolean | undefined; + aggs?: any; + from?: number | undefined; + size?: number | undefined; + source?: string | boolean | string[] | undefined; + version?: boolean | undefined; + fields?: string | boolean | string[] | undefined; + index?: import("../..").IndexPattern | undefined; + searchAfter?: import("./types").EsQuerySearchAfter | undefined; + timeout?: string | undefined; + terminate_after?: number | undefined; + }` + 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 new file mode 100644 index 0000000000000..55aaa26ca62f3 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getid.md @@ -0,0 +1,15 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..d5a133772264e --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getownfield.md @@ -0,0 +1,24 @@ + + +[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 new file mode 100644 index 0000000000000..14578f7949ba6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getparent.md @@ -0,0 +1,17 @@ + + +[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 new file mode 100644 index 0000000000000..f3451c9391074 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.getsearchrequestbody.md @@ -0,0 +1,15 @@ + + +[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 + +Signature: + +```typescript +getSearchRequestBody(): Promise; +``` +Returns: + +`Promise` + 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 new file mode 100644 index 0000000000000..e77c9dac7239f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.history.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..8e1dbb6e2671d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.md @@ -0,0 +1,45 @@ + + +[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)](./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) | | | +| [createCopy()](./kibana-plugin-plugins-data-public.searchsource.createcopy.md) | | | +| [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 | +| [getField(field, recurse)](./kibana-plugin-plugins-data-public.searchsource.getfield.md) | | Get fields from the fields | +| [getFields()](./kibana-plugin-plugins-data-public.searchsource.getfields.md) | | | +| [getId()](./kibana-plugin-plugins-data-public.searchsource.getid.md) | | | +| [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) | | | +| [onRequestStart(handler)](./kibana-plugin-plugins-data-public.searchsource.onrequeststart.md) | | Add a handler that will be notified whenever requests start | +| [setField(field, value)](./kibana-plugin-plugins-data-public.searchsource.setfield.md) | | | +| [setFields(newFields)](./kibana-plugin-plugins-data-public.searchsource.setfields.md) | | | +| [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) | | \*\*\* PUBLIC API \*\*\* | + 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 new file mode 100644 index 0000000000000..092d057c69196 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.onrequeststart.md @@ -0,0 +1,24 @@ + + +[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: ISearchSource, options?: FetchOptions) => Promise): void; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| handler | (searchSource: ISearchSource, options?: FetchOptions) => Promise<unknown> | | + +Returns: + +`void` + 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 new file mode 100644 index 0000000000000..83b7c30281752 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setfield.md @@ -0,0 +1,23 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..fa9b265aa43b7 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setfields.md @@ -0,0 +1,22 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..19bf10bec210f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setparent.md @@ -0,0 +1,25 @@ + + +[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 new file mode 100644 index 0000000000000..8d8dbce9e60f6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsource.setpreferredsearchstrategyid.md @@ -0,0 +1,24 @@ + + +[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 + +\*\*\* PUBLIC API \*\*\* + +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 new file mode 100644 index 0000000000000..743646708b4c6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.aggs.md @@ -0,0 +1,11 @@ + + +[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 + +Signature: + +```typescript +aggs?: any; +``` 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 new file mode 100644 index 0000000000000..21d09910bd2b9 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fields.md @@ -0,0 +1,11 @@ + + +[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 + +Signature: + +```typescript +fields?: NameList; +``` 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 new file mode 100644 index 0000000000000..a14d33420a22d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.filter.md @@ -0,0 +1,11 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..0b8bbfc3ef378 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.from.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..0541fb7cf9212 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.highlight.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..82f18e73856a6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.highlightall.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..fa1d1a552a560 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.index.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..7a64af0f8b2b8 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.md @@ -0,0 +1,33 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchSourceFields](./kibana-plugin-plugins-data-public.searchsourcefields.md) + +## SearchSourceFields interface + +Signature: + +```typescript +export interface SearchSourceFields +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [aggs](./kibana-plugin-plugins-data-public.searchsourcefields.aggs.md) | any | | +| [fields](./kibana-plugin-plugins-data-public.searchsourcefields.fields.md) | NameList | | +| [filter](./kibana-plugin-plugins-data-public.searchsourcefields.filter.md) | Filter[] | Filter | (() => Filter[] | Filter | undefined) | | +| [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 | | +| [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[] | | +| [source](./kibana-plugin-plugins-data-public.searchsourcefields.source.md) | NameList | | +| [terminate\_after](./kibana-plugin-plugins-data-public.searchsourcefields.terminate_after.md) | number | | +| [timeout](./kibana-plugin-plugins-data-public.searchsourcefields.timeout.md) | string | | +| [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.query.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.query.md new file mode 100644 index 0000000000000..687dafce798d1 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.query.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..fca9efcae8406 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.searchafter.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..38a5f1856644b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.size.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..c10f556cef6d6 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.sort.md @@ -0,0 +1,11 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..0066e96d0dfc1 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.source.md @@ -0,0 +1,11 @@ + + +[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?: NameList; +``` 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 new file mode 100644 index 0000000000000..e863c8ef77ef7 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.terminate_after.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..04fcaf455323a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.timeout.md @@ -0,0 +1,11 @@ + + +[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.type.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.type.md new file mode 100644 index 0000000000000..97e5f469fb62f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.type.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..c940be14f3cde --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.version.md @@ -0,0 +1,11 @@ + + +[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.searchstrategyprovider.id.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.id.md new file mode 100644 index 0000000000000..d60ffba6a05ca --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.id.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchStrategyProvider](./kibana-plugin-plugins-data-public.searchstrategyprovider.md) > [id](./kibana-plugin-plugins-data-public.searchstrategyprovider.id.md) + +## SearchStrategyProvider.id property + +Signature: + +```typescript +id: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.isviable.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.isviable.md new file mode 100644 index 0000000000000..aa8ed49051ee9 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.isviable.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchStrategyProvider](./kibana-plugin-plugins-data-public.searchstrategyprovider.md) > [isViable](./kibana-plugin-plugins-data-public.searchstrategyprovider.isviable.md) + +## SearchStrategyProvider.isViable property + +Signature: + +```typescript +isViable: (indexPattern: IndexPattern) => boolean; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.md new file mode 100644 index 0000000000000..b271a921906a7 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchStrategyProvider](./kibana-plugin-plugins-data-public.searchstrategyprovider.md) + +## SearchStrategyProvider interface + +Signature: + +```typescript +export interface SearchStrategyProvider +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [id](./kibana-plugin-plugins-data-public.searchstrategyprovider.id.md) | string | | +| [isViable](./kibana-plugin-plugins-data-public.searchstrategyprovider.isviable.md) | (indexPattern: IndexPattern) => boolean | | +| [search](./kibana-plugin-plugins-data-public.searchstrategyprovider.search.md) | (params: SearchStrategySearchParams) => SearchStrategyResponse | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.search.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.search.md new file mode 100644 index 0000000000000..6e2561c3b0ad0 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchstrategyprovider.search.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SearchStrategyProvider](./kibana-plugin-plugins-data-public.searchstrategyprovider.md) > [search](./kibana-plugin-plugins-data-public.searchstrategyprovider.search.md) + +## SearchStrategyProvider.search property + +Signature: + +```typescript +search: (params: SearchStrategySearchParams) => SearchStrategyResponse; +``` 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 new file mode 100644 index 0000000000000..bea20c323b850 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.sortdirection.md @@ -0,0 +1,19 @@ + + +[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 new file mode 100644 index 0000000000000..7e10306857b8a --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.statefulsearchbarprops.md @@ -0,0 +1,16 @@ + + +[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.sync_search_strategy.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.sync_search_strategy.md new file mode 100644 index 0000000000000..3681fe6d6274c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.sync_search_strategy.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [SYNC\_SEARCH\_STRATEGY](./kibana-plugin-plugins-data-public.sync_search_strategy.md) + +## SYNC\_SEARCH\_STRATEGY variable + +Signature: + +```typescript +SYNC_SEARCH_STRATEGY = "SYNC_SEARCH_STRATEGY" +``` 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 new file mode 100644 index 0000000000000..aa1a54bcb6257 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.syncquerystatewithurl.md @@ -0,0 +1,31 @@ + + +[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<{ + filterManager: import("..").FilterManager; + timefilter: import("..").TimefilterSetup; + state$: import("rxjs").Observable<{ + changes: import("./types").QueryStateChange; + state: QueryState; + }>; + savedQueries: import("..").SavedQueryService; +} | { + filterManager: import("..").FilterManager; + timefilter: import("..").TimefilterSetup; + state$: import("rxjs").Observable<{ + changes: import("./types").QueryStateChange; + state: QueryState; + }>; +}, "state$" | "timefilter" | "filterManager">, 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 new file mode 100644 index 0000000000000..0e5e8707fec63 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltercontract.md @@ -0,0 +1,11 @@ + + +[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.timefiltersetup.history.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltersetup.history.md new file mode 100644 index 0000000000000..b2ef4a92c5fef --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltersetup.history.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimefilterSetup](./kibana-plugin-plugins-data-public.timefiltersetup.md) > [history](./kibana-plugin-plugins-data-public.timefiltersetup.history.md) + +## TimefilterSetup.history property + +Signature: + +```typescript +history: TimeHistoryContract; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltersetup.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltersetup.md new file mode 100644 index 0000000000000..3375b415e923b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltersetup.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimefilterSetup](./kibana-plugin-plugins-data-public.timefiltersetup.md) + +## TimefilterSetup interface + + +Signature: + +```typescript +export interface TimefilterSetup +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [history](./kibana-plugin-plugins-data-public.timefiltersetup.history.md) | TimeHistoryContract | | +| [timefilter](./kibana-plugin-plugins-data-public.timefiltersetup.timefilter.md) | TimefilterContract | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltersetup.timefilter.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltersetup.timefilter.md new file mode 100644 index 0000000000000..897ace53a282d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timefiltersetup.timefilter.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimefilterSetup](./kibana-plugin-plugins-data-public.timefiltersetup.md) > [timefilter](./kibana-plugin-plugins-data-public.timefiltersetup.timefilter.md) + +## TimefilterSetup.timefilter property + +Signature: + +```typescript +timefilter: TimefilterContract; +``` 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 new file mode 100644 index 0000000000000..3d0e7aea5be1f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory._constructor_.md @@ -0,0 +1,20 @@ + + +[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 new file mode 100644 index 0000000000000..393e10403652d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.add.md @@ -0,0 +1,22 @@ + + +[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 new file mode 100644 index 0000000000000..fc9983836cd0b --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.get.md @@ -0,0 +1,15 @@ + + +[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 new file mode 100644 index 0000000000000..86b9865cbd53f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistory.md @@ -0,0 +1,25 @@ + + +[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 new file mode 100644 index 0000000000000..15dea14c08b19 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timehistorycontract.md @@ -0,0 +1,11 @@ + + +[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.from.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.from.md new file mode 100644 index 0000000000000..b428bd9cd90ca --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.from.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimeRange](./kibana-plugin-plugins-data-public.timerange.md) > [from](./kibana-plugin-plugins-data-public.timerange.from.md) + +## TimeRange.from property + +Signature: + +```typescript +from: string; +``` 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 new file mode 100644 index 0000000000000..69078ca40d20d --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimeRange](./kibana-plugin-plugins-data-public.timerange.md) + +## TimeRange interface + +Signature: + +```typescript +export interface TimeRange +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [from](./kibana-plugin-plugins-data-public.timerange.from.md) | string | | +| [mode](./kibana-plugin-plugins-data-public.timerange.mode.md) | 'absolute' | 'relative' | | +| [to](./kibana-plugin-plugins-data-public.timerange.to.md) | string | | + diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.mode.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.mode.md new file mode 100644 index 0000000000000..fb9ebd3c9165f --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.mode.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimeRange](./kibana-plugin-plugins-data-public.timerange.md) > [mode](./kibana-plugin-plugins-data-public.timerange.mode.md) + +## TimeRange.mode property + +Signature: + +```typescript +mode?: 'absolute' | 'relative'; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.to.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.to.md new file mode 100644 index 0000000000000..342acd5e049f1 --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.timerange.to.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TimeRange](./kibana-plugin-plugins-data-public.timerange.md) > [to](./kibana-plugin-plugins-data-public.timerange.to.md) + +## TimeRange.to property + +Signature: + +```typescript +to: string; +``` diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.tsearchstrategyprovider.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.tsearchstrategyprovider.md new file mode 100644 index 0000000000000..3233bb48cea2c --- /dev/null +++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.tsearchstrategyprovider.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [TSearchStrategyProvider](./kibana-plugin-plugins-data-public.tsearchstrategyprovider.md) + +## TSearchStrategyProvider type + +Search strategy provider creates an instance of a search strategy with the request handler context bound to it. This way every search strategy can use whatever information they require from the request context. + +Signature: + +```typescript +export declare type TSearchStrategyProvider = (context: ISearchContext) => ISearchStrategy; +``` diff --git a/docs/development/plugins/data/server/index.md b/docs/development/plugins/data/server/index.md new file mode 100644 index 0000000000000..d2cba1b6c2d9c --- /dev/null +++ b/docs/development/plugins/data/server/index.md @@ -0,0 +1,12 @@ + + +[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.castestokbnfieldtypename.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.castestokbnfieldtypename.md new file mode 100644 index 0000000000000..68851503ae53c --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.castestokbnfieldtypename.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [castEsToKbnFieldTypeName](./kibana-plugin-plugins-data-server.castestokbnfieldtypename.md) + +## castEsToKbnFieldTypeName variable + +Get the KbnFieldType name for an esType string + +Signature: + +```typescript +castEsToKbnFieldTypeName: (esType: string) => KBN_FIELD_TYPES +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.es_field_types.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.es_field_types.md new file mode 100644 index 0000000000000..81a7cbca77c48 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.es_field_types.md @@ -0,0 +1,45 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ES\_FIELD\_TYPES](./kibana-plugin-plugins-data-server.es_field_types.md) + +## ES\_FIELD\_TYPES enum + +\* + +Signature: + +```typescript +export declare enum ES_FIELD_TYPES +``` + +## Enumeration Members + +| Member | Value | Description | +| --- | --- | --- | +| \_ID | "_id" | | +| \_INDEX | "_index" | | +| \_SOURCE | "_source" | | +| \_TYPE | "_type" | | +| ATTACHMENT | "attachment" | | +| BOOLEAN | "boolean" | | +| BYTE | "byte" | | +| DATE | "date" | | +| DATE\_NANOS | "date_nanos" | | +| DOUBLE | "double" | | +| FLOAT | "float" | | +| GEO\_POINT | "geo_point" | | +| GEO\_SHAPE | "geo_shape" | | +| HALF\_FLOAT | "half_float" | | +| INTEGER | "integer" | | +| IP | "ip" | | +| KEYWORD | "keyword" | | +| LONG | "long" | | +| MURMUR3 | "murmur3" | | +| NESTED | "nested" | | +| OBJECT | "object" | | +| SCALED\_FLOAT | "scaled_float" | | +| SHORT | "short" | | +| STRING | "string" | | +| TEXT | "text" | | +| TOKEN\_COUNT | "token_count" | | + 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 new file mode 100644 index 0000000000000..d7e80d94db4e6 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esfilters.md @@ -0,0 +1,21 @@ + + +[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: 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; +} +``` 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 new file mode 100644 index 0000000000000..19cb742785e7b --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.eskuery.md @@ -0,0 +1,15 @@ + + +[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("../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; +} +``` 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 new file mode 100644 index 0000000000000..ac9be23bc6b6f --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esquery.md @@ -0,0 +1,20 @@ + + +[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("../common").Filter[] | undefined, indexPattern: import("../common").IIndexPattern | undefined, ignoreFilterIfFieldNotInIndex?: boolean) => { + must: never[]; + filter: import("../common").Filter[]; + should: never[]; + must_not: import("../common").Filter[]; + }; + getEsQueryConfig: typeof getEsQueryConfig; + buildEsQuery: typeof buildEsQuery; +} +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.allowleadingwildcards.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.allowleadingwildcards.md new file mode 100644 index 0000000000000..ce8303d720747 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.allowleadingwildcards.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [EsQueryConfig](./kibana-plugin-plugins-data-server.esqueryconfig.md) > [allowLeadingWildcards](./kibana-plugin-plugins-data-server.esqueryconfig.allowleadingwildcards.md) + +## EsQueryConfig.allowLeadingWildcards property + +Signature: + +```typescript +allowLeadingWildcards: boolean; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.dateformattz.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.dateformattz.md new file mode 100644 index 0000000000000..d3e86f19709f8 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.dateformattz.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [EsQueryConfig](./kibana-plugin-plugins-data-server.esqueryconfig.md) > [dateFormatTZ](./kibana-plugin-plugins-data-server.esqueryconfig.dateformattz.md) + +## EsQueryConfig.dateFormatTZ property + +Signature: + +```typescript +dateFormatTZ?: string; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.ignorefilteriffieldnotinindex.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.ignorefilteriffieldnotinindex.md new file mode 100644 index 0000000000000..93b3e8915c482 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.ignorefilteriffieldnotinindex.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [EsQueryConfig](./kibana-plugin-plugins-data-server.esqueryconfig.md) > [ignoreFilterIfFieldNotInIndex](./kibana-plugin-plugins-data-server.esqueryconfig.ignorefilteriffieldnotinindex.md) + +## EsQueryConfig.ignoreFilterIfFieldNotInIndex property + +Signature: + +```typescript +ignoreFilterIfFieldNotInIndex: boolean; +``` 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 new file mode 100644 index 0000000000000..9ae604e07cabd --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [EsQueryConfig](./kibana-plugin-plugins-data-server.esqueryconfig.md) + +## EsQueryConfig interface + +Signature: + +```typescript +export interface EsQueryConfig +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [allowLeadingWildcards](./kibana-plugin-plugins-data-server.esqueryconfig.allowleadingwildcards.md) | boolean | | +| [dateFormatTZ](./kibana-plugin-plugins-data-server.esqueryconfig.dateformattz.md) | string | | +| [ignoreFilterIfFieldNotInIndex](./kibana-plugin-plugins-data-server.esqueryconfig.ignorefilteriffieldnotinindex.md) | boolean | | +| [queryStringOptions](./kibana-plugin-plugins-data-server.esqueryconfig.querystringoptions.md) | Record<string, any> | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.querystringoptions.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.querystringoptions.md new file mode 100644 index 0000000000000..437d36112d015 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.esqueryconfig.querystringoptions.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [EsQueryConfig](./kibana-plugin-plugins-data-server.esqueryconfig.md) > [queryStringOptions](./kibana-plugin-plugins-data-server.esqueryconfig.querystringoptions.md) + +## EsQueryConfig.queryStringOptions property + +Signature: + +```typescript +queryStringOptions: Record; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.es.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.es.md new file mode 100644 index 0000000000000..a3c3ddc4e1649 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.es.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldFormatConfig](./kibana-plugin-plugins-data-server.fieldformatconfig.md) > [es](./kibana-plugin-plugins-data-server.fieldformatconfig.es.md) + +## FieldFormatConfig.es property + +Signature: + +```typescript +es?: boolean; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.id.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.id.md new file mode 100644 index 0000000000000..c5173fba22533 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.id.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldFormatConfig](./kibana-plugin-plugins-data-server.fieldformatconfig.md) > [id](./kibana-plugin-plugins-data-server.fieldformatconfig.id.md) + +## FieldFormatConfig.id property + +Signature: + +```typescript +id: FieldFormatId; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.md new file mode 100644 index 0000000000000..5d5c13784bc57 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldFormatConfig](./kibana-plugin-plugins-data-server.fieldformatconfig.md) + +## FieldFormatConfig interface + +Signature: + +```typescript +export interface FieldFormatConfig +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [es](./kibana-plugin-plugins-data-server.fieldformatconfig.es.md) | boolean | | +| [id](./kibana-plugin-plugins-data-server.fieldformatconfig.id.md) | FieldFormatId | | +| [params](./kibana-plugin-plugins-data-server.fieldformatconfig.params.md) | Record<string, any> | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.params.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.params.md new file mode 100644 index 0000000000000..c5e5faef30860 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatconfig.params.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldFormatConfig](./kibana-plugin-plugins-data-server.fieldformatconfig.md) > [params](./kibana-plugin-plugins-data-server.fieldformatconfig.params.md) + +## FieldFormatConfig.params property + +Signature: + +```typescript +params: Record; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformats.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformats.md new file mode 100644 index 0000000000000..1cc1d829d01cd --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformats.md @@ -0,0 +1,29 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [fieldFormats](./kibana-plugin-plugins-data-server.fieldformats.md) + +## fieldFormats variable + +Signature: + +```typescript +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; +} +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatsgetconfigfn.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatsgetconfigfn.md new file mode 100644 index 0000000000000..c8815ed42d3b3 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.fieldformatsgetconfigfn.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [FieldFormatsGetConfigFn](./kibana-plugin-plugins-data-server.fieldformatsgetconfigfn.md) + +## FieldFormatsGetConfigFn type + +Signature: + +```typescript +export declare type FieldFormatsGetConfigFn = (key: string, defaultOverride?: T) => T; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter._state.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter._state.md new file mode 100644 index 0000000000000..079f352609a70 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter._state.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Filter](./kibana-plugin-plugins-data-server.filter.md) > [$state](./kibana-plugin-plugins-data-server.filter._state.md) + +## Filter.$state property + +Signature: + +```typescript +$state?: FilterState; +``` 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 new file mode 100644 index 0000000000000..4e4c49b222f01 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Filter](./kibana-plugin-plugins-data-server.filter.md) + +## Filter interface + +Signature: + +```typescript +export interface Filter +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [$state](./kibana-plugin-plugins-data-server.filter._state.md) | FilterState | | +| [meta](./kibana-plugin-plugins-data-server.filter.meta.md) | FilterMeta | | +| [query](./kibana-plugin-plugins-data-server.filter.query.md) | any | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.meta.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.meta.md new file mode 100644 index 0000000000000..6d11804704d82 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.meta.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Filter](./kibana-plugin-plugins-data-server.filter.md) > [meta](./kibana-plugin-plugins-data-server.filter.meta.md) + +## Filter.meta property + +Signature: + +```typescript +meta: FilterMeta; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.query.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.query.md new file mode 100644 index 0000000000000..942c7930f449d --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.filter.query.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Filter](./kibana-plugin-plugins-data-server.filter.md) > [query](./kibana-plugin-plugins-data-server.filter.query.md) + +## Filter.query property + +Signature: + +```typescript +query?: any; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getdefaultsearchparams.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getdefaultsearchparams.md new file mode 100644 index 0000000000000..9de005c1fd0dd --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.getdefaultsearchparams.md @@ -0,0 +1,30 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [getDefaultSearchParams](./kibana-plugin-plugins-data-server.getdefaultsearchparams.md) + +## getDefaultSearchParams() function + +Signature: + +```typescript +export declare function getDefaultSearchParams(config: SharedGlobalConfig): { + timeout: string; + ignoreUnavailable: boolean; + restTotalHitsAsInt: boolean; +}; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| config | SharedGlobalConfig | | + +Returns: + +`{ + timeout: string; + ignoreUnavailable: boolean; + restTotalHitsAsInt: boolean; +}` + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.icancel.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.icancel.md new file mode 100644 index 0000000000000..27141c68ae1a7 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.icancel.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ICancel](./kibana-plugin-plugins-data-server.icancel.md) + +## ICancel type + +Signature: + +```typescript +export declare type ICancel = (id: string) => Promise; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldformatsregistry.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldformatsregistry.md new file mode 100644 index 0000000000000..c284d2c87fcaa --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldformatsregistry.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldFormatsRegistry](./kibana-plugin-plugins-data-server.ifieldformatsregistry.md) + +## IFieldFormatsRegistry type + +Signature: + +```typescript +declare type IFieldFormatsRegistry = PublicMethodsOf; +``` 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 new file mode 100644 index 0000000000000..70140e51a7316 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldSubType](./kibana-plugin-plugins-data-server.ifieldsubtype.md) + +## IFieldSubType interface + +Signature: + +```typescript +export interface IFieldSubType +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [multi](./kibana-plugin-plugins-data-server.ifieldsubtype.multi.md) | {
parent: string;
} | | +| [nested](./kibana-plugin-plugins-data-server.ifieldsubtype.nested.md) | {
path: string;
} | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.multi.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.multi.md new file mode 100644 index 0000000000000..31a3bc53d6343 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.multi.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldSubType](./kibana-plugin-plugins-data-server.ifieldsubtype.md) > [multi](./kibana-plugin-plugins-data-server.ifieldsubtype.multi.md) + +## IFieldSubType.multi property + +Signature: + +```typescript +multi?: { + parent: string; + }; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.nested.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.nested.md new file mode 100644 index 0000000000000..b53a4406aedc2 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldsubtype.nested.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldSubType](./kibana-plugin-plugins-data-server.ifieldsubtype.md) > [nested](./kibana-plugin-plugins-data-server.ifieldsubtype.nested.md) + +## IFieldSubType.nested property + +Signature: + +```typescript +nested?: { + path: string; + }; +``` 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 new file mode 100644 index 0000000000000..74ea0e0181a11 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.aggregatable.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..81dfce2024fc9 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.count.md @@ -0,0 +1,11 @@ + + +[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.displayname.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.displayname.md new file mode 100644 index 0000000000000..b00f829c8909d --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.displayname.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..779e3d0ecedf4 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.estypes.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..eaf8e91e0fe7d --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.filterable.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..afdbfc9b65d05 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.format.md @@ -0,0 +1,11 @@ + + +[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.lang.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.lang.md new file mode 100644 index 0000000000000..d033804cb6fcb --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.lang.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [lang](./kibana-plugin-plugins-data-server.ifieldtype.lang.md) + +## IFieldType.lang property + +Signature: + +```typescript +lang?: string; +``` 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 new file mode 100644 index 0000000000000..5375cf2a2ef43 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.md @@ -0,0 +1,33 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) + +## IFieldType interface + +Signature: + +```typescript +export interface IFieldType +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [aggregatable](./kibana-plugin-plugins-data-server.ifieldtype.aggregatable.md) | boolean | | +| [count](./kibana-plugin-plugins-data-server.ifieldtype.count.md) | number | | +| [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 | | +| [lang](./kibana-plugin-plugins-data-server.ifieldtype.lang.md) | string | | +| [name](./kibana-plugin-plugins-data-server.ifieldtype.name.md) | string | | +| [readFromDocValues](./kibana-plugin-plugins-data-server.ifieldtype.readfromdocvalues.md) | boolean | | +| [script](./kibana-plugin-plugins-data-server.ifieldtype.script.md) | string | | +| [scripted](./kibana-plugin-plugins-data-server.ifieldtype.scripted.md) | boolean | | +| [searchable](./kibana-plugin-plugins-data-server.ifieldtype.searchable.md) | boolean | | +| [sortable](./kibana-plugin-plugins-data-server.ifieldtype.sortable.md) | boolean | | +| [subType](./kibana-plugin-plugins-data-server.ifieldtype.subtype.md) | IFieldSubType | | +| [type](./kibana-plugin-plugins-data-server.ifieldtype.type.md) | string | | +| [visualizable](./kibana-plugin-plugins-data-server.ifieldtype.visualizable.md) | boolean | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.name.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.name.md new file mode 100644 index 0000000000000..8be33a3f56d97 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.name.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [name](./kibana-plugin-plugins-data-server.ifieldtype.name.md) + +## IFieldType.name property + +Signature: + +```typescript +name: string; +``` 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 new file mode 100644 index 0000000000000..a77ce1821ed92 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.readfromdocvalues.md @@ -0,0 +1,11 @@ + + +[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.script.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.script.md new file mode 100644 index 0000000000000..b54a952a11253 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.script.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [script](./kibana-plugin-plugins-data-server.ifieldtype.script.md) + +## IFieldType.script property + +Signature: + +```typescript +script?: string; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.scripted.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.scripted.md new file mode 100644 index 0000000000000..f7a8ed9aee0df --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.scripted.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [scripted](./kibana-plugin-plugins-data-server.ifieldtype.scripted.md) + +## IFieldType.scripted property + +Signature: + +```typescript +scripted?: 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 new file mode 100644 index 0000000000000..002a48b60ec7d --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.searchable.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..c6c8bffc743be --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.sortable.md @@ -0,0 +1,11 @@ + + +[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.subtype.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.subtype.md new file mode 100644 index 0000000000000..fa78b23a2b558 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.subtype.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [subType](./kibana-plugin-plugins-data-server.ifieldtype.subtype.md) + +## IFieldType.subType property + +Signature: + +```typescript +subType?: IFieldSubType; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.type.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.type.md new file mode 100644 index 0000000000000..ef6a4dcc167c5 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) > [type](./kibana-plugin-plugins-data-server.ifieldtype.type.md) + +## IFieldType.type property + +Signature: + +```typescript +type: string; +``` 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 new file mode 100644 index 0000000000000..3d0987f685db4 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.ifieldtype.visualizable.md @@ -0,0 +1,11 @@ + + +[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.iindexpattern.fieldformatmap.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.fieldformatmap.md new file mode 100644 index 0000000000000..ab9e3171d7d7b --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.fieldformatmap.md @@ -0,0 +1,14 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IIndexPattern](./kibana-plugin-plugins-data-server.iindexpattern.md) > [fieldFormatMap](./kibana-plugin-plugins-data-server.iindexpattern.fieldformatmap.md) + +## IIndexPattern.fieldFormatMap property + +Signature: + +```typescript +fieldFormatMap?: Record; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.fields.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.fields.md new file mode 100644 index 0000000000000..fb6d046ff2174 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.fields.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IIndexPattern](./kibana-plugin-plugins-data-server.iindexpattern.md) > [fields](./kibana-plugin-plugins-data-server.iindexpattern.fields.md) + +## IIndexPattern.fields property + +Signature: + +```typescript +fields: IFieldType[]; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.id.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.id.md new file mode 100644 index 0000000000000..cac263df0f9aa --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.id.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IIndexPattern](./kibana-plugin-plugins-data-server.iindexpattern.md) > [id](./kibana-plugin-plugins-data-server.iindexpattern.id.md) + +## IIndexPattern.id property + +Signature: + +```typescript +id?: string; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.md new file mode 100644 index 0000000000000..24b56a9b98621 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.md @@ -0,0 +1,23 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IIndexPattern](./kibana-plugin-plugins-data-server.iindexpattern.md) + +## IIndexPattern interface + +Signature: + +```typescript +export interface IIndexPattern +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [fieldFormatMap](./kibana-plugin-plugins-data-server.iindexpattern.fieldformatmap.md) | Record<string, {
id: string;
params: unknown;
}> | | +| [fields](./kibana-plugin-plugins-data-server.iindexpattern.fields.md) | IFieldType[] | | +| [id](./kibana-plugin-plugins-data-server.iindexpattern.id.md) | string | | +| [timeFieldName](./kibana-plugin-plugins-data-server.iindexpattern.timefieldname.md) | string | | +| [title](./kibana-plugin-plugins-data-server.iindexpattern.title.md) | string | | +| [type](./kibana-plugin-plugins-data-server.iindexpattern.type.md) | string | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.timefieldname.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.timefieldname.md new file mode 100644 index 0000000000000..14cf514477da4 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.timefieldname.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IIndexPattern](./kibana-plugin-plugins-data-server.iindexpattern.md) > [timeFieldName](./kibana-plugin-plugins-data-server.iindexpattern.timefieldname.md) + +## IIndexPattern.timeFieldName property + +Signature: + +```typescript +timeFieldName?: string; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.title.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.title.md new file mode 100644 index 0000000000000..119963d7ff95d --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.title.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IIndexPattern](./kibana-plugin-plugins-data-server.iindexpattern.md) > [title](./kibana-plugin-plugins-data-server.iindexpattern.title.md) + +## IIndexPattern.title property + +Signature: + +```typescript +title: string; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.type.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.type.md new file mode 100644 index 0000000000000..6b89b71664b23 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iindexpattern.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IIndexPattern](./kibana-plugin-plugins-data-server.iindexpattern.md) > [type](./kibana-plugin-plugins-data-server.iindexpattern.type.md) + +## IIndexPattern.type property + +Signature: + +```typescript +type?: 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 new file mode 100644 index 0000000000000..58a4066c02b20 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.fields.md @@ -0,0 +1,11 @@ + + +[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.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.md new file mode 100644 index 0000000000000..1fcc49796f59e --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.md @@ -0,0 +1,28 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) + +## IndexPatternAttributes interface + +> Warning: This API is now obsolete. +> +> + +Use data plugin interface instead + +Signature: + +```typescript +export interface IndexPatternAttributes +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [fields](./kibana-plugin-plugins-data-server.indexpatternattributes.fields.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.timefieldname.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.timefieldname.md new file mode 100644 index 0000000000000..8e5f765020af4 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.timefieldname.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..28e4fd418fabc --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.title.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..e88be8fd31246 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.type.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..44fee7c1a6317 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternattributes.typemeta.md @@ -0,0 +1,11 @@ + + +[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.indexpatternfielddescriptor.aggregatable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.aggregatable.md new file mode 100644 index 0000000000000..92994b851ec85 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.aggregatable.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternFieldDescriptor](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md) > [aggregatable](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.aggregatable.md) + +## IndexPatternFieldDescriptor.aggregatable property + +Signature: + +```typescript +aggregatable: boolean; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.estypes.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.estypes.md new file mode 100644 index 0000000000000..f24ba9a48d85e --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.estypes.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternFieldDescriptor](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md) > [esTypes](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.estypes.md) + +## IndexPatternFieldDescriptor.esTypes property + +Signature: + +```typescript +esTypes: string[]; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md new file mode 100644 index 0000000000000..d84d0cba06ac6 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternFieldDescriptor](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md) + +## IndexPatternFieldDescriptor interface + +Signature: + +```typescript +export interface FieldDescriptor +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [aggregatable](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.aggregatable.md) | boolean | | +| [esTypes](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.estypes.md) | string[] | | +| [name](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.name.md) | string | | +| [readFromDocValues](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.readfromdocvalues.md) | boolean | | +| [searchable](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.searchable.md) | boolean | | +| [subType](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.subtype.md) | FieldSubType | | +| [type](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.type.md) | string | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.name.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.name.md new file mode 100644 index 0000000000000..16ea60c5b8ae2 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.name.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternFieldDescriptor](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md) > [name](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.name.md) + +## IndexPatternFieldDescriptor.name property + +Signature: + +```typescript +name: string; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.readfromdocvalues.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.readfromdocvalues.md new file mode 100644 index 0000000000000..fc8667196c879 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.readfromdocvalues.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternFieldDescriptor](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md) > [readFromDocValues](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.readfromdocvalues.md) + +## IndexPatternFieldDescriptor.readFromDocValues property + +Signature: + +```typescript +readFromDocValues: boolean; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.searchable.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.searchable.md new file mode 100644 index 0000000000000..7d159c65b40bd --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.searchable.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternFieldDescriptor](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md) > [searchable](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.searchable.md) + +## IndexPatternFieldDescriptor.searchable property + +Signature: + +```typescript +searchable: boolean; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.subtype.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.subtype.md new file mode 100644 index 0000000000000..7053eaf08138c --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.subtype.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternFieldDescriptor](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md) > [subType](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.subtype.md) + +## IndexPatternFieldDescriptor.subType property + +Signature: + +```typescript +subType?: FieldSubType; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.type.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.type.md new file mode 100644 index 0000000000000..bb571d1bee14a --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternfielddescriptor.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IndexPatternFieldDescriptor](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md) > [type](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.type.md) + +## IndexPatternFieldDescriptor.type property + +Signature: + +```typescript +type: string; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatterns.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatterns.md new file mode 100644 index 0000000000000..935d7fbacf946 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatterns.md @@ -0,0 +1,14 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [indexPatterns](./kibana-plugin-plugins-data-server.indexpatterns.md) + +## indexPatterns variable + +Signature: + +```typescript +indexPatterns: { + isFilterable: typeof isFilterable; + isNestedField: typeof isNestedField; +} +``` 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 new file mode 100644 index 0000000000000..f9bbcc5a356e1 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher._constructor_.md @@ -0,0 +1,20 @@ + + +[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(callDataCluster: APICaller); +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| callDataCluster | APICaller | | + 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 new file mode 100644 index 0000000000000..7d765d4c65eb1 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsfortimepattern.md @@ -0,0 +1,29 @@ + + +[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 new file mode 100644 index 0000000000000..6bd3bbf2433cd --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.getfieldsforwildcard.md @@ -0,0 +1,27 @@ + + +[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[]; + }): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| options | {
pattern: string | string[];
metaFields?: 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 new file mode 100644 index 0000000000000..f71a702f3381d --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.indexpatternsfetcher.md @@ -0,0 +1,25 @@ + + +[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)(callDataCluster)](./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 | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.irequesttypesmap.es.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.irequesttypesmap.es.md new file mode 100644 index 0000000000000..9cebff05dc9db --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.irequesttypesmap.es.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IRequestTypesMap](./kibana-plugin-plugins-data-server.irequesttypesmap.md) > [es](./kibana-plugin-plugins-data-server.irequesttypesmap.es.md) + +## IRequestTypesMap.es property + +Signature: + +```typescript +[ES_SEARCH_STRATEGY]: IEsSearchRequest; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.irequesttypesmap.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.irequesttypesmap.md new file mode 100644 index 0000000000000..a9bb8f1eb9d6d --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.irequesttypesmap.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IRequestTypesMap](./kibana-plugin-plugins-data-server.irequesttypesmap.md) + +## IRequestTypesMap interface + +Signature: + +```typescript +export interface IRequestTypesMap +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [es](./kibana-plugin-plugins-data-server.irequesttypesmap.es.md) | IEsSearchRequest | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iresponsetypesmap.es.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iresponsetypesmap.es.md new file mode 100644 index 0000000000000..1154fc141d6c7 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iresponsetypesmap.es.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IResponseTypesMap](./kibana-plugin-plugins-data-server.iresponsetypesmap.md) > [es](./kibana-plugin-plugins-data-server.iresponsetypesmap.es.md) + +## IResponseTypesMap.es property + +Signature: + +```typescript +[ES_SEARCH_STRATEGY]: IEsSearchResponse; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iresponsetypesmap.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iresponsetypesmap.md new file mode 100644 index 0000000000000..fe5fa0a5d3a33 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.iresponsetypesmap.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [IResponseTypesMap](./kibana-plugin-plugins-data-server.iresponsetypesmap.md) + +## IResponseTypesMap interface + +Signature: + +```typescript +export interface IResponseTypesMap +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [es](./kibana-plugin-plugins-data-server.iresponsetypesmap.es.md) | IEsSearchResponse | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearch.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearch.md new file mode 100644 index 0000000000000..6e037f5161b53 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearch.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearch](./kibana-plugin-plugins-data-server.isearch.md) + +## ISearch type + +Signature: + +```typescript +export declare type ISearch = (request: IRequestTypesMap[T], options?: ISearchOptions) => Promise; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchcontext.config_.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchcontext.config_.md new file mode 100644 index 0000000000000..364d44dba758a --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchcontext.config_.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchContext](./kibana-plugin-plugins-data-server.isearchcontext.md) > [config$](./kibana-plugin-plugins-data-server.isearchcontext.config_.md) + +## ISearchContext.config$ property + +Signature: + +```typescript +config$: Observable; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchcontext.core.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchcontext.core.md new file mode 100644 index 0000000000000..9d571c25d94bd --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchcontext.core.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchContext](./kibana-plugin-plugins-data-server.isearchcontext.md) > [core](./kibana-plugin-plugins-data-server.isearchcontext.core.md) + +## ISearchContext.core property + +Signature: + +```typescript +core: CoreSetup; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchcontext.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchcontext.md new file mode 100644 index 0000000000000..1c3c5ec78f894 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchcontext.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchContext](./kibana-plugin-plugins-data-server.isearchcontext.md) + +## ISearchContext interface + +Signature: + +```typescript +export interface ISearchContext +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [config$](./kibana-plugin-plugins-data-server.isearchcontext.config_.md) | Observable<SharedGlobalConfig> | | +| [core](./kibana-plugin-plugins-data-server.isearchcontext.core.md) | CoreSetup | | + 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 new file mode 100644 index 0000000000000..0319048f4418b --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.md @@ -0,0 +1,18 @@ + + +[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 | +| --- | --- | --- | +| [signal](./kibana-plugin-plugins-data-server.isearchoptions.signal.md) | AbortSignal | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.signal.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.signal.md new file mode 100644 index 0000000000000..7da5c182b2e0f --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.isearchoptions.signal.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) > [signal](./kibana-plugin-plugins-data-server.isearchoptions.signal.md) + +## ISearchOptions.signal property + +Signature: + +```typescript +signal?: AbortSignal; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kbn_field_types.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kbn_field_types.md new file mode 100644 index 0000000000000..40b81d2f6ac4d --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kbn_field_types.md @@ -0,0 +1,33 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [KBN\_FIELD\_TYPES](./kibana-plugin-plugins-data-server.kbn_field_types.md) + +## KBN\_FIELD\_TYPES enum + +\* + +Signature: + +```typescript +export declare enum KBN_FIELD_TYPES +``` + +## Enumeration Members + +| Member | Value | Description | +| --- | --- | --- | +| \_SOURCE | "_source" | | +| ATTACHMENT | "attachment" | | +| BOOLEAN | "boolean" | | +| CONFLICT | "conflict" | | +| DATE | "date" | | +| GEO\_POINT | "geo_point" | | +| GEO\_SHAPE | "geo_shape" | | +| IP | "ip" | | +| MURMUR3 | "murmur3" | | +| NESTED | "nested" | | +| NUMBER | "number" | | +| OBJECT | "object" | | +| STRING | "string" | | +| UNKNOWN | "unknown" | | + 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 new file mode 100644 index 0000000000000..3a258a5b98616 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kuerynode.md @@ -0,0 +1,18 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [KueryNode](./kibana-plugin-plugins-data-server.kuerynode.md) + +## KueryNode interface + +Signature: + +```typescript +export interface KueryNode +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [type](./kibana-plugin-plugins-data-server.kuerynode.type.md) | keyof NodeTypes | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kuerynode.type.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kuerynode.type.md new file mode 100644 index 0000000000000..192a2c05191c7 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.kuerynode.type.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [KueryNode](./kibana-plugin-plugins-data-server.kuerynode.md) > [type](./kibana-plugin-plugins-data-server.kuerynode.type.md) + +## KueryNode.type property + +Signature: + +```typescript +type: keyof NodeTypes; +``` 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 new file mode 100644 index 0000000000000..507e60971526b --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.md @@ -0,0 +1,73 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) + +## kibana-plugin-plugins-data-server package + +## Classes + +| Class | Description | +| --- | --- | +| [IndexPatternsFetcher](./kibana-plugin-plugins-data-server.indexpatternsfetcher.md) | | +| [Plugin](./kibana-plugin-plugins-data-server.plugin.md) | | + +## Enumerations + +| Enumeration | Description | +| --- | --- | +| [ES\_FIELD\_TYPES](./kibana-plugin-plugins-data-server.es_field_types.md) | \* | +| [KBN\_FIELD\_TYPES](./kibana-plugin-plugins-data-server.kbn_field_types.md) | \* | + +## Functions + +| Function | Description | +| --- | --- | +| [getDefaultSearchParams(config)](./kibana-plugin-plugins-data-server.getdefaultsearchparams.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 | +| --- | --- | +| [EsQueryConfig](./kibana-plugin-plugins-data-server.esqueryconfig.md) | | +| [FieldFormatConfig](./kibana-plugin-plugins-data-server.fieldformatconfig.md) | | +| [Filter](./kibana-plugin-plugins-data-server.filter.md) | | +| [IFieldSubType](./kibana-plugin-plugins-data-server.ifieldsubtype.md) | | +| [IFieldType](./kibana-plugin-plugins-data-server.ifieldtype.md) | | +| [IIndexPattern](./kibana-plugin-plugins-data-server.iindexpattern.md) | | +| [IndexPatternAttributes](./kibana-plugin-plugins-data-server.indexpatternattributes.md) | Use data plugin interface instead | +| [IndexPatternFieldDescriptor](./kibana-plugin-plugins-data-server.indexpatternfielddescriptor.md) | | +| [IRequestTypesMap](./kibana-plugin-plugins-data-server.irequesttypesmap.md) | | +| [IResponseTypesMap](./kibana-plugin-plugins-data-server.iresponsetypesmap.md) | | +| [ISearchContext](./kibana-plugin-plugins-data-server.isearchcontext.md) | | +| [ISearchOptions](./kibana-plugin-plugins-data-server.isearchoptions.md) | | +| [KueryNode](./kibana-plugin-plugins-data-server.kuerynode.md) | | +| [PluginSetup](./kibana-plugin-plugins-data-server.pluginsetup.md) | | +| [PluginStart](./kibana-plugin-plugins-data-server.pluginstart.md) | | +| [Query](./kibana-plugin-plugins-data-server.query.md) | | +| [RefreshInterval](./kibana-plugin-plugins-data-server.refreshinterval.md) | | +| [TimeRange](./kibana-plugin-plugins-data-server.timerange.md) | | + +## Variables + +| Variable | Description | +| --- | --- | +| [castEsToKbnFieldTypeName](./kibana-plugin-plugins-data-server.castestokbnfieldtypename.md) | Get the KbnFieldType name for an esType string | +| [esFilters](./kibana-plugin-plugins-data-server.esfilters.md) | | +| [esKuery](./kibana-plugin-plugins-data-server.eskuery.md) | | +| [esQuery](./kibana-plugin-plugins-data-server.esquery.md) | | +| [fieldFormats](./kibana-plugin-plugins-data-server.fieldformats.md) | | +| [indexPatterns](./kibana-plugin-plugins-data-server.indexpatterns.md) | | + +## Type Aliases + +| Type Alias | Description | +| --- | --- | +| [FieldFormatsGetConfigFn](./kibana-plugin-plugins-data-server.fieldformatsgetconfigfn.md) | | +| [ICancel](./kibana-plugin-plugins-data-server.icancel.md) | | +| [IFieldFormatsRegistry](./kibana-plugin-plugins-data-server.ifieldformatsregistry.md) | | +| [ISearch](./kibana-plugin-plugins-data-server.isearch.md) | | +| [TSearchStrategyProvider](./kibana-plugin-plugins-data-server.tsearchstrategyprovider.md) | Search strategy provider creates an instance of a search strategy with the request handler context bound to it. This way every search strategy can use whatever information they require from the request context. | + 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 new file mode 100644 index 0000000000000..c0cb9862973d7 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.parseinterval.md @@ -0,0 +1,22 @@ + + +[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 new file mode 100644 index 0000000000000..454d8a059a252 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin._constructor_.md @@ -0,0 +1,20 @@ + + +[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 | | + 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 new file mode 100644 index 0000000000000..b3ba75ce29ab6 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.md @@ -0,0 +1,24 @@ + + +[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 | | + +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 new file mode 100644 index 0000000000000..5c2f542204079 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.setup.md @@ -0,0 +1,33 @@ + + +[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, { usageCollection }: DataPluginSetupDependencies): { + fieldFormats: { + register: (customFieldFormat: import("../common").IFieldFormatType) => number; + }; + search: ISearchSetup; + }; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| core | CoreSetup | | +| { usageCollection } | DataPluginSetupDependencies | | + +Returns: + +`{ + fieldFormats: { + register: (customFieldFormat: import("../common").IFieldFormatType) => number; + }; + search: ISearchSetup; + }` + 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 new file mode 100644 index 0000000000000..2a30cd3e68158 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.start.md @@ -0,0 +1,30 @@ + + +[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: { + fieldFormatServiceFactory: (uiSettings: import("kibana/server").IUiSettingsClient) => Promise; + }; + }; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| core | CoreStart | | + +Returns: + +`{ + fieldFormats: { + fieldFormatServiceFactory: (uiSettings: import("kibana/server").IUiSettingsClient) => Promise; + }; + }` + 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 new file mode 100644 index 0000000000000..4b5b54f64128c --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.plugin.stop.md @@ -0,0 +1,15 @@ + + +[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 new file mode 100644 index 0000000000000..648e23e597f4d --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.fieldformats.md @@ -0,0 +1,11 @@ + + +[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 + +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 new file mode 100644 index 0000000000000..fa289c0a3f4bd --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.md @@ -0,0 +1,19 @@ + + +[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 new file mode 100644 index 0000000000000..eb1107604113b --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginsetup.search.md @@ -0,0 +1,11 @@ + + +[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 new file mode 100644 index 0000000000000..7a77c6c943cd7 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.fieldformats.md @@ -0,0 +1,11 @@ + + +[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 + +Signature: + +```typescript +fieldFormats: FieldFormatsStart; +``` 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 new file mode 100644 index 0000000000000..b7d6a7e8a83fd --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.pluginstart.md @@ -0,0 +1,18 @@ + + +[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 | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.query.language.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.query.language.md new file mode 100644 index 0000000000000..384fc77d801c0 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.query.language.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Query](./kibana-plugin-plugins-data-server.query.md) > [language](./kibana-plugin-plugins-data-server.query.language.md) + +## Query.language property + +Signature: + +```typescript +language: string; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.query.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.query.md new file mode 100644 index 0000000000000..5d61c75bc5e99 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.query.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Query](./kibana-plugin-plugins-data-server.query.md) + +## Query interface + +Signature: + +```typescript +export interface Query +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [language](./kibana-plugin-plugins-data-server.query.language.md) | string | | +| [query](./kibana-plugin-plugins-data-server.query.query.md) | string | {
[key: string]: any;
} | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.query.query.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.query.query.md new file mode 100644 index 0000000000000..5c2aa700bc603 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.query.query.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [Query](./kibana-plugin-plugins-data-server.query.md) > [query](./kibana-plugin-plugins-data-server.query.query.md) + +## Query.query property + +Signature: + +```typescript +query: string | { + [key: string]: any; + }; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.refreshinterval.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.refreshinterval.md new file mode 100644 index 0000000000000..ebb983de29942 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.refreshinterval.md @@ -0,0 +1,19 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [RefreshInterval](./kibana-plugin-plugins-data-server.refreshinterval.md) + +## RefreshInterval interface + +Signature: + +```typescript +export interface RefreshInterval +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [pause](./kibana-plugin-plugins-data-server.refreshinterval.pause.md) | boolean | | +| [value](./kibana-plugin-plugins-data-server.refreshinterval.value.md) | number | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.refreshinterval.pause.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.refreshinterval.pause.md new file mode 100644 index 0000000000000..d045a3c0b9a21 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.refreshinterval.pause.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [RefreshInterval](./kibana-plugin-plugins-data-server.refreshinterval.md) > [pause](./kibana-plugin-plugins-data-server.refreshinterval.pause.md) + +## RefreshInterval.pause property + +Signature: + +```typescript +pause: boolean; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.refreshinterval.value.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.refreshinterval.value.md new file mode 100644 index 0000000000000..8b48d97a649c0 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.refreshinterval.value.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [RefreshInterval](./kibana-plugin-plugins-data-server.refreshinterval.md) > [value](./kibana-plugin-plugins-data-server.refreshinterval.value.md) + +## RefreshInterval.value property + +Signature: + +```typescript +value: number; +``` 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 new file mode 100644 index 0000000000000..b62317cd75b50 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.shouldreadfieldfromdocvalues.md @@ -0,0 +1,23 @@ + + +[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.from.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.from.md new file mode 100644 index 0000000000000..b6f40cc2e4203 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.from.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [TimeRange](./kibana-plugin-plugins-data-server.timerange.md) > [from](./kibana-plugin-plugins-data-server.timerange.from.md) + +## TimeRange.from property + +Signature: + +```typescript +from: string; +``` 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 new file mode 100644 index 0000000000000..8280d924eb609 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.md @@ -0,0 +1,20 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [TimeRange](./kibana-plugin-plugins-data-server.timerange.md) + +## TimeRange interface + +Signature: + +```typescript +export interface TimeRange +``` + +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [from](./kibana-plugin-plugins-data-server.timerange.from.md) | string | | +| [mode](./kibana-plugin-plugins-data-server.timerange.mode.md) | 'absolute' | 'relative' | | +| [to](./kibana-plugin-plugins-data-server.timerange.to.md) | string | | + diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.mode.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.mode.md new file mode 100644 index 0000000000000..1408fb43cbf39 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.mode.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [TimeRange](./kibana-plugin-plugins-data-server.timerange.md) > [mode](./kibana-plugin-plugins-data-server.timerange.mode.md) + +## TimeRange.mode property + +Signature: + +```typescript +mode?: 'absolute' | 'relative'; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.to.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.to.md new file mode 100644 index 0000000000000..98aca5474d350 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.timerange.to.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [TimeRange](./kibana-plugin-plugins-data-server.timerange.md) > [to](./kibana-plugin-plugins-data-server.timerange.to.md) + +## TimeRange.to property + +Signature: + +```typescript +to: string; +``` diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.tsearchstrategyprovider.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.tsearchstrategyprovider.md new file mode 100644 index 0000000000000..f528f48a68f72 --- /dev/null +++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.tsearchstrategyprovider.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [kibana-plugin-plugins-data-server](./kibana-plugin-plugins-data-server.md) > [TSearchStrategyProvider](./kibana-plugin-plugins-data-server.tsearchstrategyprovider.md) + +## TSearchStrategyProvider type + +Search strategy provider creates an instance of a search strategy with the request handler context bound to it. This way every search strategy can use whatever information they require from the request context. + +Signature: + +```typescript +export declare type TSearchStrategyProvider = (context: ISearchContext, caller: APICaller, search: ISearchGeneric) => ISearchStrategy; +``` diff --git a/docs/maps/maps-aggregations.asciidoc b/docs/maps/maps-aggregations.asciidoc index 05d8c0c605e7f..692e30a6665ed 100644 --- a/docs/maps/maps-aggregations.asciidoc +++ b/docs/maps/maps-aggregations.asciidoc @@ -2,10 +2,25 @@ [[maps-aggregations]] == Plot big data without plotting too much data -Use {ref}/search-aggregations.html[aggregations] to plot large data sets without overwhemling your network or your browser. +Use {ref}/search-aggregations.html[aggregations] to plot large data sets without overwhelming your network or your browser. +When using aggregations, the documents stay in Elasticsearch and only the calculated values for each group are returned to your computer. Aggregations group your documents into buckets and calculate metrics for each bucket. -Your documents stay in Elasticsearch and only the metrics for each group are returned to your computer. +Use metric aggregations for <>. For example, use the count aggregation to shade world countries by web log traffic. + +You can add the following metric aggregations: + +* *Average.* The mean of the values. + +* *Count.* The number of documents. + +* *Max.* The highest value. + +* *Min.* The lowest value. + +* *Sum.* The total value. + +* *Unique count.* The number of distinct values. Use aggregated layers with document layers to show aggregated views when the map shows larger amounts of the globe and individual documents when the map shows smaller regions. diff --git a/docs/maps/vector-style.asciidoc b/docs/maps/vector-style.asciidoc index cd5b086508ae8..509b1fae4066a 100644 --- a/docs/maps/vector-style.asciidoc +++ b/docs/maps/vector-style.asciidoc @@ -45,11 +45,17 @@ image::maps/images/vector_style_dynamic.png[] Quantitative data driven styling symbolizes features from a range of numeric property values. -To ensure symbols are consistent as you pan, zoom, and filter the map, quantitative data driven styling uses {ref}/search-aggregations-metrics-extendedstats-aggregation.html[extended_stats aggregation] to retrieve statistical metadata. +Property values are fit from the domain range to the style range on a linear scale. +For example, let's symbolize <> documents by size. +The sample web logs `bytes` field ranges from 0 to 18,000. This is the domain range. +The smallest feature has a symbol radius of 1, and the largest feature has a symbol radius of 24. This is the style range. +The `bytes` property value for each feature will fit on a linear scale from the range of 0 to 18,000 to the style range of 1 to 24. -Click the gear icon image:maps/images/gear_icon.png[] to configure extended_stats. Set *Sigma* to a smaller value to minimize outliers by moving the range minimum and maximum closer to the average. Clear the *Calculate range from indices* checkbox to turn off the extended_stats aggregation request. +To ensure symbols are consistent as you pan, zoom, and filter the map, quantitative data driven styling uses {ref}/search-aggregations-metrics-extendedstats-aggregation.html[extended_stats aggregation] to retrieve statistical metadata. Extended_stats is not available for numeric property values from the <> count, sum, and unique count. -NOTE: When the *Calculate range from indices* checkbox is cleared, symbols might be inconsistent as users pan, zoom, and filter the map. Without extended_stats, the range is calulated with data from the local layer. The range is recalulcated when layer data changes. +To configure extended_stats,click the gear icon image:maps/images/gear_icon.png[] to configure extended_stats. Set *Sigma* to a smaller value to minimize outliers by moving the range minimum and maximum closer to the average. Clear the *Calculate range from indices* checkbox to turn off the extended_stats aggregation request. The gear icon is not available for numeric property values from the <> count, sum, and unique count. + +NOTE: When extended_stats is not used, symbols might be inconsistent as users pan, zoom, and filter the map. Without extended_stats, the range is calculated with data from the local layer. The range is re-calculated when layer data changes. [role="screenshot"] image::maps/images/extended_stats_config.png[] diff --git a/package.json b/package.json index 9f12f04223103..9f4d4450f459d 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "uiFramework:documentComponent": "cd packages/kbn-ui-framework && yarn documentComponent", "kbn:watch": "node scripts/kibana --dev --logging.json=false", "build:types": "tsc --p tsconfig.types.json", - "core:acceptApiChanges": "node scripts/check_core_api_changes.js --accept", + "docs:acceptApiChanges": "node scripts/check_published_api_changes.js --accept", "kbn:bootstrap": "yarn build:types && node scripts/register_git_hook", "spec_to_console": "node scripts/spec_to_console", "backport-skip-ci": "backport --prDescription \"[skip-ci]\"", @@ -126,7 +126,8 @@ "@elastic/numeral": "2.4.0", "@elastic/request-crypto": "^1.0.2", "@elastic/ui-ace": "0.2.3", - "@hapi/wreck": "^15.0.1", + "@hapi/good-squeeze": "5.2.1", + "@hapi/wreck": "^15.0.2", "@kbn/analytics": "1.0.0", "@kbn/babel-code-parser": "1.0.0", "@kbn/babel-preset": "1.0.0", @@ -179,7 +180,6 @@ "glob": "^7.1.2", "glob-all": "^3.1.0", "globby": "^8.0.1", - "good-squeeze": "2.1.0", "h2o2": "^8.1.2", "handlebars": "4.5.3", "hapi": "^17.5.3", @@ -203,7 +203,7 @@ "leaflet-responsive-popup": "0.6.4", "leaflet-vega": "^0.8.6", "leaflet.heat": "0.2.0", - "less": "^2.7.3", + "less": "^3.0.2", "less-loader": "5.0.0", "lodash": "npm:@elastic/lodash@3.10.1-kibana4", "lodash.clonedeep": "^4.5.0", @@ -246,6 +246,7 @@ "regenerator-runtime": "^0.13.3", "regression": "2.0.1", "request": "^2.88.0", + "require-in-the-middle": "^5.0.2", "reselect": "^4.0.0", "resize-observer-polyfill": "^1.5.0", "rison-node": "1.0.2", @@ -480,6 +481,7 @@ "strip-ansi": "^3.0.1", "supertest": "^3.1.0", "supertest-as-promised": "^4.0.2", + "tape": "^4.13.0", "tree-kill": "^1.2.2", "typescript": "3.7.2", "typings-tester": "^0.3.2", diff --git a/packages/kbn-interpreter/src/common/index.d.ts b/packages/kbn-interpreter/src/common/index.d.ts index bf03795d0a15c..ec6d1116b94cc 100644 --- a/packages/kbn-interpreter/src/common/index.d.ts +++ b/packages/kbn-interpreter/src/common/index.d.ts @@ -20,3 +20,4 @@ export { Registry } from './lib/registry'; export { fromExpression, toExpression, Ast, ExpressionFunctionAST } from './lib/ast'; +export { getType } from './lib/get_type'; diff --git a/packages/kbn-interpreter/src/common/lib/get_type.d.ts b/packages/kbn-interpreter/src/common/lib/get_type.d.ts new file mode 100644 index 0000000000000..db8592713abbf --- /dev/null +++ b/packages/kbn-interpreter/src/common/lib/get_type.d.ts @@ -0,0 +1,20 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +export declare function getType(node: any): string; diff --git a/scripts/check_core_api_changes.js b/scripts/check_published_api_changes.js similarity index 93% rename from scripts/check_core_api_changes.js rename to scripts/check_published_api_changes.js index 153491e0aecda..bea07dfd63377 100644 --- a/scripts/check_core_api_changes.js +++ b/scripts/check_published_api_changes.js @@ -18,4 +18,4 @@ */ require('../src/setup_node_env'); -require('../src/dev/run_check_core_api_changes'); +require('../src/dev/run_check_published_api_changes'); diff --git a/scripts/test_hardening.js b/scripts/test_hardening.js new file mode 100644 index 0000000000000..c0a20a9ff6cb4 --- /dev/null +++ b/scripts/test_hardening.js @@ -0,0 +1,41 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +var execFileSync = require('child_process').execFileSync; +var path = require('path'); +var syncGlob = require('glob').sync; +var program = require('commander'); + +program + .name('node scripts/test_hardening.js') + .arguments('[file...]') + .description( + 'Run the tests in test/harden directory. If no files are provided, all files within the directory will be run.' + ) + .action(function(globs) { + if (globs.length === 0) globs.push(path.join('test', 'harden', '*')); + globs.forEach(function(glob) { + syncGlob(glob).forEach(function(filename) { + if (path.basename(filename)[0] === '_') return; + console.log(process.argv[0], filename); + execFileSync(process.argv[0], [filename], { stdio: 'inherit' }); + }); + }); + }) + .parse(process.argv); diff --git a/src/core/MIGRATION.md b/src/core/MIGRATION.md index c5e649f7d9d5c..e04d45f77db5d 100644 --- a/src/core/MIGRATION.md +++ b/src/core/MIGRATION.md @@ -1210,6 +1210,7 @@ In server code, `core` can be accessed from either `server.newPlatform` or `kbnS | `kibana.Plugin.savedObjectSchemas` | [`core.savedObjects.registerType`](docs/development/core/server/kibana-plugin-server.savedobjectsservicesetup.registertype.md) | [Examples](./MIGRATION_EXAMPLES.md#saved-objects-types) | | `kibana.Plugin.mappings` | [`core.savedObjects.registerType`](docs/development/core/server/kibana-plugin-server.savedobjectsservicesetup.registertype.md) | [Examples](./MIGRATION_EXAMPLES.md#saved-objects-types) | | `kibana.Plugin.migrations` | [`core.savedObjects.registerType`](docs/development/core/server/kibana-plugin-server.savedobjectsservicesetup.registertype.md) | [Examples](./MIGRATION_EXAMPLES.md#saved-objects-types) | +| `kibana.Plugin.savedObjectsManagement` | [`core.savedObjects.registerType`](docs/development/core/server/kibana-plugin-server.savedobjectsservicesetup.registertype.md) | [Examples](./MIGRATION_EXAMPLES.md#saved-objects-types) | _See also: [Server's CoreSetup API Docs](/docs/development/core/server/kibana-plugin-server.coresetup.md)_ diff --git a/src/core/MIGRATION_EXAMPLES.md b/src/core/MIGRATION_EXAMPLES.md index 2953edb535f47..29edef476d7c3 100644 --- a/src/core/MIGRATION_EXAMPLES.md +++ b/src/core/MIGRATION_EXAMPLES.md @@ -749,7 +749,7 @@ using the core `savedObjects`'s `registerType` setup API. The most notable difference is that in the new platform, the type registration is performed in a single call to `registerType`, passing a new `SavedObjectsType` structure that is a superset of the legacy `schema`, `migrations` -and `mappings`. +`mappings` and `savedObjectsManagement`. ### Concrete example @@ -775,6 +775,32 @@ new kibana.Plugin({ isHidden: true, }, }, + savedObjectsManagement: { + 'first-type': { + isImportableAndExportable: true, + icon: 'myFirstIcon', + defaultSearchField: 'title', + getTitle(obj) { + return obj.attributes.title; + }, + getEditUrl(obj) { + return `/some-url/${encodeURIComponent(obj.id)}`; + }, + }, + 'second-type': { + isImportableAndExportable: false, + icon: 'mySecondIcon', + getTitle(obj) { + return obj.attributes.myTitleField; + }, + getInAppUrl(obj) { + return { + path: `/some-url/${encodeURIComponent(obj.id)}`, + uiCapabilitiesPath: 'myPlugin.myType.show', + }; + }, + }, + }, }, }) ``` @@ -844,6 +870,17 @@ export const firstType: SavedObjectsType = { '1.0.0': migrateFirstTypeToV1, '2.0.0': migrateFirstTypeToV2, }, + management: { + importableAndExportable: true, + icon: 'myFirstIcon', + defaultSearchField: 'title', + getTitle(obj) { + return obj.attributes.title; + }, + getEditUrl(obj) { + return `/some-url/${encodeURIComponent(obj.id)}`; + }, + }, }; ``` @@ -870,6 +907,19 @@ export const secondType: SavedObjectsType = { migrations: { '1.5.0': migrateSecondTypeToV15, }, + management: { + importableAndExportable: false, + icon: 'mySecondIcon', + getTitle(obj) { + return obj.attributes.myTitleField; + }, + getInAppUrl(obj) { + return { + path: `/some-url/${encodeURIComponent(obj.id)}`, + uiCapabilitiesPath: 'myPlugin.myType.show', + }; + }, + }, }; ``` @@ -895,6 +945,8 @@ The NP `registerType` expected input is very close to the legacy format. However - The `schema.indexPattern` was accepting either a `string` or a `(config: LegacyConfig) => string`. `SavedObjectsType.indexPattern` only accepts a string, as you can access the configuration during your plugin's setup phase. +- The `savedObjectsManagement.isImportableAndExportable` property has been renamed: `SavedObjectsType.management.importableAndExportable` + - The migration function signature has changed: In legacy, it was `(doc: SavedObjectUnsanitizedDoc, log: SavedObjectsMigrationLogger) => SavedObjectUnsanitizedDoc;` In new platform, it is now `(doc: SavedObjectUnsanitizedDoc, context: SavedObjectMigrationContext) => SavedObjectUnsanitizedDoc;` diff --git a/src/core/README.md b/src/core/README.md index f4539191d448b..b30c62e21b296 100644 --- a/src/core/README.md +++ b/src/core/README.md @@ -37,7 +37,7 @@ well documented. To reduce the chance of regressions, development on the Core AP process described below. Changes to the API signature which have not been accepted will cause the build to fail. When changes to the Core API's signatures are made, the following process needs to be followed: -1. After changes have been made, run `yarn core:acceptApiChanges` which performs the following: +1. After changes have been made, run `yarn docs:acceptApiChanges` which performs the following: - Recompiles all typescript typings files - Updates the API review files `src/core/public/kibana.api.md` and `src/core/server/kibana.api.md` - Updates the Core API documentation in `docs/development/core/` diff --git a/src/core/server/index.ts b/src/core/server/index.ts index 80eabe778ece3..e2faf49ba7a9e 100644 --- a/src/core/server/index.ts +++ b/src/core/server/index.ts @@ -51,7 +51,11 @@ import { PluginsServiceSetup, PluginsServiceStart, PluginOpaqueId } from './plug import { ContextSetup } from './context'; import { IUiSettingsClient, UiSettingsServiceSetup, UiSettingsServiceStart } from './ui_settings'; import { SavedObjectsClientContract } from './saved_objects/types'; -import { SavedObjectsServiceSetup, SavedObjectsServiceStart } from './saved_objects'; +import { + ISavedObjectTypeRegistry, + SavedObjectsServiceSetup, + SavedObjectsServiceStart, +} from './saved_objects'; import { CapabilitiesSetup, CapabilitiesStart } from './capabilities'; import { UuidServiceSetup } from './uuid'; import { MetricsServiceSetup } from './metrics'; @@ -233,6 +237,7 @@ export { SavedObjectTypeRegistry, ISavedObjectTypeRegistry, SavedObjectsType, + SavedObjectsTypeManagementDefinition, SavedObjectMigrationMap, SavedObjectMigrationFn, exportSavedObjectsToStream, @@ -289,11 +294,13 @@ export { /** * Plugin specific context passed to a route handler. * - * Provides the following clients: + * Provides the following clients and services: * - {@link IScopedRenderingClient | rendering} - Rendering client * which uses the data of the incoming request * - {@link SavedObjectsClient | savedObjects.client} - Saved Objects client * which uses the credentials of the incoming request + * - {@link ISavedObjectTypeRegistry | savedObjects.typeRegistry} - Type registry containing + * all the registered types. * - {@link ScopedClusterClient | elasticsearch.dataClient} - Elasticsearch * data client which uses the credentials of the incoming request * - {@link ScopedClusterClient | elasticsearch.adminClient} - Elasticsearch @@ -308,6 +315,7 @@ export interface RequestHandlerContext { rendering: IScopedRenderingClient; savedObjects: { client: SavedObjectsClientContract; + typeRegistry: ISavedObjectTypeRegistry; }; elasticsearch: { dataClient: IScopedClusterClient; diff --git a/src/core/server/mocks.ts b/src/core/server/mocks.ts index 93d8e2c632e38..a0bbe623289d8 100644 --- a/src/core/server/mocks.ts +++ b/src/core/server/mocks.ts @@ -26,6 +26,7 @@ import { httpServiceMock } from './http/http_service.mock'; import { contextServiceMock } from './context/context_service.mock'; import { savedObjectsServiceMock } from './saved_objects/saved_objects_service.mock'; import { savedObjectsClientMock } from './saved_objects/service/saved_objects_client.mock'; +import { typeRegistryMock as savedObjectsTypeRegistryMock } from './saved_objects/saved_objects_type_registry.mock'; import { uiSettingsServiceMock } from './ui_settings/ui_settings_service.mock'; import { SharedGlobalConfig } from './plugins'; import { InternalCoreSetup, InternalCoreStart } from './internal_types'; @@ -177,6 +178,7 @@ function createCoreRequestHandlerContextMock() { }, savedObjects: { client: savedObjectsClientMock.create(), + typeRegistry: savedObjectsTypeRegistryMock.create(), }, elasticsearch: { adminClient: elasticsearchServiceMock.createScopedClusterClient(), diff --git a/src/core/server/saved_objects/__snapshots__/utils.test.ts.snap b/src/core/server/saved_objects/__snapshots__/utils.test.ts.snap index 89ff2b542c60f..5431d2ca47892 100644 --- a/src/core/server/saved_objects/__snapshots__/utils.test.ts.snap +++ b/src/core/server/saved_objects/__snapshots__/utils.test.ts.snap @@ -6,6 +6,7 @@ Array [ "convertToAliasScript": undefined, "hidden": false, "indexPattern": undefined, + "management": undefined, "mappings": Object { "properties": Object { "fieldA": Object { @@ -21,6 +22,7 @@ Array [ "convertToAliasScript": undefined, "hidden": false, "indexPattern": undefined, + "management": undefined, "mappings": Object { "properties": Object { "fieldB": Object { @@ -36,6 +38,7 @@ Array [ "convertToAliasScript": undefined, "hidden": false, "indexPattern": undefined, + "management": undefined, "mappings": Object { "properties": Object { "fieldC": Object { @@ -56,6 +59,7 @@ Array [ "convertToAliasScript": undefined, "hidden": true, "indexPattern": "myIndex", + "management": undefined, "mappings": Object { "properties": Object { "fieldA": Object { @@ -74,6 +78,7 @@ Array [ "convertToAliasScript": "some alias script", "hidden": false, "indexPattern": undefined, + "management": undefined, "mappings": Object { "properties": Object { "anotherFieldB": Object { @@ -92,6 +97,7 @@ Array [ "convertToAliasScript": undefined, "hidden": false, "indexPattern": undefined, + "management": undefined, "mappings": Object { "properties": Object { "fieldC": Object { @@ -114,6 +120,7 @@ Array [ "convertToAliasScript": undefined, "hidden": true, "indexPattern": "fooBar", + "management": undefined, "mappings": Object { "properties": Object { "fieldA": Object { @@ -129,6 +136,7 @@ Array [ "convertToAliasScript": undefined, "hidden": false, "indexPattern": undefined, + "management": undefined, "mappings": Object { "properties": Object { "fieldC": Object { diff --git a/src/core/server/saved_objects/index.ts b/src/core/server/saved_objects/index.ts index 661c6cbb79e58..0af8ea7d0e830 100644 --- a/src/core/server/saved_objects/index.ts +++ b/src/core/server/saved_objects/index.ts @@ -70,7 +70,7 @@ export { SavedObjectMigrationContext, } from './migrations'; -export { SavedObjectsType } from './types'; +export { SavedObjectsType, SavedObjectsTypeManagementDefinition } from './types'; export { savedObjectsConfig, savedObjectsMigrationConfig } from './saved_objects_config'; export { SavedObjectTypeRegistry, ISavedObjectTypeRegistry } from './saved_objects_type_registry'; diff --git a/src/core/server/saved_objects/management/index.ts b/src/core/server/saved_objects/management/index.ts index c32639e74d079..a256a1333c5cc 100644 --- a/src/core/server/saved_objects/management/index.ts +++ b/src/core/server/saved_objects/management/index.ts @@ -17,4 +17,4 @@ * under the License. */ -export { SavedObjectsManagement, SavedObjectsManagementDefinition } from './management'; +export { SavedObjectsManagement } from './management'; diff --git a/src/core/server/saved_objects/management/management.mock.ts b/src/core/server/saved_objects/management/management.mock.ts index 2099cc0f77bcc..e7242c30d3961 100644 --- a/src/core/server/saved_objects/management/management.mock.ts +++ b/src/core/server/saved_objects/management/management.mock.ts @@ -24,6 +24,7 @@ const createManagementMock = () => { const mocked: jest.Mocked = { isImportAndExportable: jest.fn().mockReturnValue(true), getDefaultSearchField: jest.fn(), + getImportableAndExportableTypes: jest.fn(), getIcon: jest.fn(), getTitle: jest.fn(), getEditUrl: jest.fn(), diff --git a/src/core/server/saved_objects/management/management.test.ts b/src/core/server/saved_objects/management/management.test.ts index e936326d957f9..dc110dec020f0 100644 --- a/src/core/server/saved_objects/management/management.test.ts +++ b/src/core/server/saved_objects/management/management.test.ts @@ -18,157 +18,185 @@ */ import { SavedObjectsManagement } from './management'; +import { SavedObjectsType } from '../types'; +import { SavedObjectTypeRegistry } from '../saved_objects_type_registry'; -describe('isImportAndExportable()', () => { - it('returns false for unknown types', () => { - const management = new SavedObjectsManagement(); - const result = management.isImportAndExportable('bar'); - expect(result).toBe(false); - }); +describe('SavedObjectsManagement', () => { + let registry: SavedObjectTypeRegistry; + let management: SavedObjectsManagement; - it('returns true for explicitly importable and exportable type', () => { - const management = new SavedObjectsManagement({ - foo: { - isImportableAndExportable: true, - }, + const registerType = (type: Partial) => + registry.registerType({ + name: 'unknown', + hidden: false, + namespaceAgnostic: false, + mappings: { properties: {} }, + migrations: {}, + ...type, }); - const result = management.isImportAndExportable('foo'); - expect(result).toBe(true); + + beforeEach(() => { + registry = new SavedObjectTypeRegistry(); + management = new SavedObjectsManagement(registry); }); - it('returns false for explicitly importable and exportable type', () => { - const management = new SavedObjectsManagement({ - foo: { - isImportableAndExportable: false, - }, + describe('isImportAndExportable()', () => { + it('returns false for unknown types', () => { + const result = management.isImportAndExportable('bar'); + expect(result).toBe(false); }); - const result = management.isImportAndExportable('foo'); - expect(result).toBe(false); - }); -}); -describe('getDefaultSearchField()', () => { - it('returns empty for unknown types', () => { - const management = new SavedObjectsManagement(); - const result = management.getDefaultSearchField('bar'); - expect(result).toEqual(undefined); - }); + it('returns true for explicitly importable and exportable type', () => { + registerType({ + name: 'foo', + management: { + importableAndExportable: true, + }, + }); - it('returns explicit value', () => { - const management = new SavedObjectsManagement({ - foo: { - defaultSearchField: 'value', - }, + const result = management.isImportAndExportable('foo'); + expect(result).toBe(true); }); - const result = management.getDefaultSearchField('foo'); - expect(result).toEqual('value'); - }); -}); -describe('getIcon', () => { - it('returns empty for unknown types', () => { - const management = new SavedObjectsManagement(); - const result = management.getIcon('bar'); - expect(result).toEqual(undefined); - }); + it('returns false for explicitly importable and exportable type', () => { + registerType({ + name: 'foo', + management: { + importableAndExportable: false, + }, + }); - it('returns explicit value', () => { - const management = new SavedObjectsManagement({ - foo: { - icon: 'value', - }, + const result = management.isImportAndExportable('foo'); + expect(result).toBe(false); }); - const result = management.getIcon('foo'); - expect(result).toEqual('value'); }); -}); -describe('getTitle', () => { - it('returns empty for unknown type', () => { - const management = new SavedObjectsManagement(); - const result = management.getTitle({ - id: '1', - type: 'foo', - attributes: {}, - references: [], + describe('getDefaultSearchField()', () => { + it('returns empty for unknown types', () => { + const result = management.getDefaultSearchField('bar'); + expect(result).toEqual(undefined); }); - expect(result).toEqual(undefined); - }); - it('returns explicit value', () => { - const management = new SavedObjectsManagement({ - foo: { - getTitle() { - return 'called'; + it('returns explicit value', () => { + registerType({ + name: 'foo', + management: { + defaultSearchField: 'value', }, - }, - }); - const result = management.getTitle({ - id: '1', - type: 'foo', - attributes: {}, - references: [], + }); + + const result = management.getDefaultSearchField('foo'); + expect(result).toEqual('value'); }); - expect(result).toEqual('called'); }); -}); -describe('getEditUrl()', () => { - it('returns empty for unknown type', () => { - const management = new SavedObjectsManagement(); - const result = management.getEditUrl({ - id: '1', - type: 'foo', - attributes: {}, - references: [], + describe('getIcon()', () => { + it('returns empty for unknown types', () => { + const result = management.getIcon('bar'); + expect(result).toEqual(undefined); }); - expect(result).toEqual(undefined); - }); - it('returns explicit value', () => { - const management = new SavedObjectsManagement({ - foo: { - getEditUrl() { - return 'called'; + it('returns explicit value', () => { + registerType({ + name: 'foo', + management: { + icon: 'value', }, - }, - }); - const result = management.getEditUrl({ - id: '1', - type: 'foo', - attributes: {}, - references: [], + }); + const result = management.getIcon('foo'); + expect(result).toEqual('value'); }); - expect(result).toEqual('called'); }); -}); -describe('getInAppUrl()', () => { - it('returns empty array for unknown type', () => { - const management = new SavedObjectsManagement(); - const result = management.getInAppUrl({ - id: '1', - type: 'foo', - attributes: {}, - references: [], + describe('getTitle()', () => { + it('returns empty for unknown type', () => { + const result = management.getTitle({ + id: '1', + type: 'foo', + attributes: {}, + references: [], + }); + expect(result).toEqual(undefined); + }); + + it('returns explicit value', () => { + registerType({ + name: 'foo', + management: { + getTitle() { + return 'called'; + }, + }, + }); + const result = management.getTitle({ + id: '1', + type: 'foo', + attributes: {}, + references: [], + }); + expect(result).toEqual('called'); }); - expect(result).toEqual(undefined); }); - it('returns explicit value', () => { - const management = new SavedObjectsManagement({ - foo: { - getInAppUrl() { - return { path: 'called', uiCapabilitiesPath: 'my.path' }; + describe('getEditUrl()', () => { + it('returns empty for unknown type', () => { + const result = management.getEditUrl({ + id: '1', + type: 'foo', + attributes: {}, + references: [], + }); + expect(result).toEqual(undefined); + }); + + it('returns explicit value', () => { + registerType({ + name: 'foo', + management: { + getEditUrl() { + return 'called'; + }, }, - }, + }); + + const result = management.getEditUrl({ + id: '1', + type: 'foo', + attributes: {}, + references: [], + }); + expect(result).toEqual('called'); + }); + }); + + describe('getInAppUrl()', () => { + it('returns empty array for unknown type', () => { + const result = management.getInAppUrl({ + id: '1', + type: 'foo', + attributes: {}, + references: [], + }); + expect(result).toEqual(undefined); }); - const result = management.getInAppUrl({ - id: '1', - type: 'foo', - attributes: {}, - references: [], + + it('returns explicit value', () => { + registerType({ + name: 'foo', + management: { + getInAppUrl() { + return { path: 'called', uiCapabilitiesPath: 'my.path' }; + }, + }, + }); + + const result = management.getInAppUrl({ + id: '1', + type: 'foo', + attributes: {}, + references: [], + }); + expect(result).toEqual({ path: 'called', uiCapabilitiesPath: 'my.path' }); }); - expect(result).toEqual({ path: 'called', uiCapabilitiesPath: 'my.path' }); }); }); diff --git a/src/core/server/saved_objects/management/management.ts b/src/core/server/saved_objects/management/management.ts index b7dce2c087c5f..db759c4aec752 100644 --- a/src/core/server/saved_objects/management/management.ts +++ b/src/core/server/saved_objects/management/management.ts @@ -18,74 +18,42 @@ */ import { SavedObject } from '../types'; - -interface SavedObjectsManagementTypeDefinition { - isImportableAndExportable?: boolean; - defaultSearchField?: string; - icon?: string; - getTitle?: (savedObject: SavedObject) => string; - getEditUrl?: (savedObject: SavedObject) => string; - getInAppUrl?: (savedObject: SavedObject) => { path: string; uiCapabilitiesPath: string }; -} - -export interface SavedObjectsManagementDefinition { - [key: string]: SavedObjectsManagementTypeDefinition; -} +import { ISavedObjectTypeRegistry } from '../saved_objects_type_registry'; export class SavedObjectsManagement { - private readonly definition?: SavedObjectsManagementDefinition; + constructor(private readonly registry: ISavedObjectTypeRegistry) {} - constructor(managementDefinition?: SavedObjectsManagementDefinition) { - this.definition = managementDefinition; + public getImportableAndExportableTypes() { + return this.registry + .getAllTypes() + .map(type => type.name) + .filter(type => this.isImportAndExportable(type)); } public isImportAndExportable(type: string) { - if (this.definition && this.definition.hasOwnProperty(type)) { - return this.definition[type].isImportableAndExportable === true; - } - - return false; + return this.registry.isImportableAndExportable(type); } public getDefaultSearchField(type: string) { - if (this.definition && this.definition.hasOwnProperty(type)) { - return this.definition[type].defaultSearchField; - } + return this.registry.getType(type)?.management?.defaultSearchField; } public getIcon(type: string) { - if (this.definition && this.definition.hasOwnProperty(type)) { - return this.definition[type].icon; - } + return this.registry.getType(type)?.management?.icon; } public getTitle(savedObject: SavedObject) { - const { type } = savedObject; - if (this.definition && this.definition.hasOwnProperty(type) && this.definition[type].getTitle) { - const { getTitle } = this.definition[type]; - if (getTitle) { - return getTitle(savedObject); - } - } + const getTitle = this.registry.getType(savedObject.type)?.management?.getTitle; + return getTitle ? getTitle(savedObject) : undefined; } public getEditUrl(savedObject: SavedObject) { - const { type } = savedObject; - if (this.definition && this.definition.hasOwnProperty(type)) { - const { getEditUrl } = this.definition[type]; - if (getEditUrl) { - return getEditUrl(savedObject); - } - } + const getEditUrl = this.registry.getType(savedObject.type)?.management?.getEditUrl; + return getEditUrl ? getEditUrl(savedObject) : undefined; } public getInAppUrl(savedObject: SavedObject) { - const { type } = savedObject; - if (this.definition && this.definition.hasOwnProperty(type)) { - const { getInAppUrl } = this.definition[type]; - if (getInAppUrl) { - return getInAppUrl(savedObject); - } - } + const getInAppUrl = this.registry.getType(savedObject.type)?.management?.getInAppUrl; + return getInAppUrl ? getInAppUrl(savedObject) : undefined; } } diff --git a/src/core/server/saved_objects/mappings/types.ts b/src/core/server/saved_objects/mappings/types.ts index bc556c0429981..47fc29f8cf7d2 100644 --- a/src/core/server/saved_objects/mappings/types.ts +++ b/src/core/server/saved_objects/mappings/types.ts @@ -45,7 +45,7 @@ * @public */ export interface SavedObjectsTypeMappingDefinition { - /** The dynamic property of the mapping. either `false` or 'strict'. Defaults to strict */ + /** The dynamic property of the mapping. either `false` or 'strict'. Defaults to `false` */ dynamic?: false | 'strict'; /** The underlying properties of the type mapping */ properties: SavedObjectsMappingProperties; diff --git a/src/core/server/saved_objects/migrations/core/__snapshots__/build_active_mappings.test.ts.snap b/src/core/server/saved_objects/migrations/core/__snapshots__/build_active_mappings.test.ts.snap index 68f90ea70a0c6..fc26d7e9cf6e9 100644 --- a/src/core/server/saved_objects/migrations/core/__snapshots__/build_active_mappings.test.ts.snap +++ b/src/core/server/saved_objects/migrations/core/__snapshots__/build_active_mappings.test.ts.snap @@ -6,7 +6,6 @@ Object { "migrationMappingPropertyHashes": Object { "aaa": "625b32086eb1d1203564cf85062dd22e", "bbb": "18c78c995965207ed3f6e7fc5c6e55fe", - "config": "87aca8fdb053154f11383fce3dbf3edf", "migrationVersion": "4a1746014a75ade3a714e1db5763276f", "namespace": "2f4316de49999235636386fe51dc06c1", "references": "7997cf5a56cc02bdc9c93361bde732b0", @@ -22,14 +21,6 @@ Object { "bbb": Object { "type": "long", }, - "config": Object { - "dynamic": "true", - "properties": Object { - "buildNum": Object { - "type": "keyword", - }, - }, - }, "migrationVersion": Object { "dynamic": "true", "type": "object", @@ -65,7 +56,6 @@ exports[`buildActiveMappings handles the \`dynamic\` property of types 1`] = ` Object { "_meta": Object { "migrationMappingPropertyHashes": Object { - "config": "87aca8fdb053154f11383fce3dbf3edf", "firstType": "635418ab953d81d93f1190b70a8d3f57", "migrationVersion": "4a1746014a75ade3a714e1db5763276f", "namespace": "2f4316de49999235636386fe51dc06c1", @@ -78,14 +68,6 @@ Object { }, "dynamic": "strict", "properties": Object { - "config": Object { - "dynamic": "true", - "properties": Object { - "buildNum": Object { - "type": "keyword", - }, - }, - }, "firstType": Object { "dynamic": "strict", "properties": Object { diff --git a/src/core/server/saved_objects/migrations/core/build_active_mappings.ts b/src/core/server/saved_objects/migrations/core/build_active_mappings.ts index 3afe8aae119d9..4d1a607414ca6 100644 --- a/src/core/server/saved_objects/migrations/core/build_active_mappings.ts +++ b/src/core/server/saved_objects/migrations/core/build_active_mappings.ts @@ -132,14 +132,6 @@ function defaultMapping(): IndexMapping { return { dynamic: 'strict', properties: { - config: { - dynamic: 'true', - properties: { - buildNum: { - type: 'keyword', - }, - }, - }, migrationVersion: { dynamic: 'true', type: 'object', diff --git a/src/core/server/saved_objects/migrations/core/index_migrator.test.ts b/src/core/server/saved_objects/migrations/core/index_migrator.test.ts index a9d0a339c229f..1c2d3f501ff80 100644 --- a/src/core/server/saved_objects/migrations/core/index_migrator.test.ts +++ b/src/core/server/saved_objects/migrations/core/index_migrator.test.ts @@ -58,7 +58,6 @@ describe('IndexMigrator', () => { dynamic: 'strict', _meta: { migrationMappingPropertyHashes: { - config: '87aca8fdb053154f11383fce3dbf3edf', foo: '18c78c995965207ed3f6e7fc5c6e55fe', migrationVersion: '4a1746014a75ade3a714e1db5763276f', namespace: '2f4316de49999235636386fe51dc06c1', @@ -68,10 +67,6 @@ describe('IndexMigrator', () => { }, }, properties: { - config: { - dynamic: 'true', - properties: { buildNum: { type: 'keyword' } }, - }, foo: { type: 'long' }, migrationVersion: { dynamic: 'true', type: 'object' }, namespace: { type: 'keyword' }, @@ -180,7 +175,6 @@ describe('IndexMigrator', () => { dynamic: 'strict', _meta: { migrationMappingPropertyHashes: { - config: '87aca8fdb053154f11383fce3dbf3edf', foo: '625b32086eb1d1203564cf85062dd22e', migrationVersion: '4a1746014a75ade3a714e1db5763276f', namespace: '2f4316de49999235636386fe51dc06c1', @@ -191,10 +185,6 @@ describe('IndexMigrator', () => { }, properties: { author: { type: 'text' }, - config: { - dynamic: 'true', - properties: { buildNum: { type: 'keyword' } }, - }, foo: { type: 'text' }, migrationVersion: { dynamic: 'true', type: 'object' }, namespace: { type: 'keyword' }, diff --git a/src/core/server/saved_objects/migrations/kibana/__snapshots__/kibana_migrator.test.ts.snap b/src/core/server/saved_objects/migrations/kibana/__snapshots__/kibana_migrator.test.ts.snap index 37a73b11bbc48..507c0b0d9339f 100644 --- a/src/core/server/saved_objects/migrations/kibana/__snapshots__/kibana_migrator.test.ts.snap +++ b/src/core/server/saved_objects/migrations/kibana/__snapshots__/kibana_migrator.test.ts.snap @@ -6,7 +6,6 @@ Object { "migrationMappingPropertyHashes": Object { "amap": "510f1f0adb69830cf8a1c5ce2923ed82", "bmap": "510f1f0adb69830cf8a1c5ce2923ed82", - "config": "87aca8fdb053154f11383fce3dbf3edf", "migrationVersion": "4a1746014a75ade3a714e1db5763276f", "namespace": "2f4316de49999235636386fe51dc06c1", "references": "7997cf5a56cc02bdc9c93361bde732b0", @@ -30,14 +29,6 @@ Object { }, }, }, - "config": Object { - "dynamic": "true", - "properties": Object { - "buildNum": Object { - "type": "keyword", - }, - }, - }, "migrationVersion": Object { "dynamic": "true", "type": "object", diff --git a/src/core/server/saved_objects/routes/export.ts b/src/core/server/saved_objects/routes/export.ts index 04d310681aec5..7205699ddc702 100644 --- a/src/core/server/saved_objects/routes/export.ts +++ b/src/core/server/saved_objects/routes/export.ts @@ -27,32 +27,21 @@ import { import { IRouter } from '../../http'; import { SavedObjectConfig } from '../saved_objects_config'; import { exportSavedObjectsToStream } from '../export'; +import { validateTypes, validateObjects } from './utils'; -export const registerExportRoute = ( - router: IRouter, - config: SavedObjectConfig, - supportedTypes: string[] -) => { +export const registerExportRoute = (router: IRouter, config: SavedObjectConfig) => { const { maxImportExportSize } = config; - const typeSchema = schema.string({ - validate: (type: string) => { - if (!supportedTypes.includes(type)) { - return `${type} is not exportable`; - } - }, - }); - router.post( { path: '/_export', validate: { body: schema.object({ - type: schema.maybe(schema.oneOf([typeSchema, schema.arrayOf(typeSchema)])), + type: schema.maybe(schema.oneOf([schema.string(), schema.arrayOf(schema.string())])), objects: schema.maybe( schema.arrayOf( schema.object({ - type: typeSchema, + type: schema.string(), id: schema.string(), }), { maxSize: maxImportExportSize } @@ -67,9 +56,36 @@ export const registerExportRoute = ( router.handleLegacyErrors(async (context, req, res) => { const savedObjectsClient = context.core.savedObjects.client; const { type, objects, search, excludeExportDetails, includeReferencesDeep } = req.body; + const types = typeof type === 'string' ? [type] : type; + + // need to access the registry for type validation, can't use the schema for this + const supportedTypes = context.core.savedObjects.typeRegistry + .getImportableAndExportableTypes() + .map(t => t.name); + if (types) { + const validationError = validateTypes(types, supportedTypes); + if (validationError) { + return res.badRequest({ + body: { + message: validationError, + }, + }); + } + } + if (objects) { + const validationError = validateObjects(objects, supportedTypes); + if (validationError) { + return res.badRequest({ + body: { + message: validationError, + }, + }); + } + } + const exportStream = await exportSavedObjectsToStream({ savedObjectsClient, - types: typeof type === 'string' ? [type] : type, + types, search, objects, exportSizeLimit: maxImportExportSize, diff --git a/src/core/server/saved_objects/routes/import.ts b/src/core/server/saved_objects/routes/import.ts index 313e84c0b301d..0731d4159356d 100644 --- a/src/core/server/saved_objects/routes/import.ts +++ b/src/core/server/saved_objects/routes/import.ts @@ -31,11 +31,7 @@ interface FileStream extends Readable { }; } -export const registerImportRoute = ( - router: IRouter, - config: SavedObjectConfig, - supportedTypes: string[] -) => { +export const registerImportRoute = (router: IRouter, config: SavedObjectConfig) => { const { maxImportExportSize, maxImportPayloadBytes } = config; router.post( @@ -65,6 +61,10 @@ export const registerImportRoute = ( return res.badRequest({ body: `Invalid file extension ${fileExtension}` }); } + const supportedTypes = context.core.savedObjects.typeRegistry + .getImportableAndExportableTypes() + .map(type => type.name); + const result = await importSavedObjectsFromStream({ supportedTypes, savedObjectsClient: context.core.savedObjects.client, diff --git a/src/core/server/saved_objects/routes/index.ts b/src/core/server/saved_objects/routes/index.ts index 0afa24b18760b..fd57a9f3059e3 100644 --- a/src/core/server/saved_objects/routes/index.ts +++ b/src/core/server/saved_objects/routes/index.ts @@ -39,13 +39,11 @@ export function registerRoutes({ http, logger, config, - importableExportableTypes, migratorPromise, }: { http: InternalHttpServiceSetup; logger: Logger; config: SavedObjectConfig; - importableExportableTypes: string[]; migratorPromise: Promise; }) { const router = http.createRouter('/api/saved_objects/'); @@ -59,9 +57,9 @@ export function registerRoutes({ registerBulkCreateRoute(router); registerBulkUpdateRoute(router); registerLogLegacyImportRoute(router, logger); - registerExportRoute(router, config, importableExportableTypes); - registerImportRoute(router, config, importableExportableTypes); - registerResolveImportErrorsRoute(router, config, importableExportableTypes); + registerExportRoute(router, config); + registerImportRoute(router, config); + registerResolveImportErrorsRoute(router, config); const internalRouter = http.createRouter('/internal/saved_objects/'); diff --git a/src/core/server/saved_objects/routes/integration_tests/export.test.ts b/src/core/server/saved_objects/routes/integration_tests/export.test.ts index a81079b6825d6..858d34d5a93bf 100644 --- a/src/core/server/saved_objects/routes/integration_tests/export.test.ts +++ b/src/core/server/saved_objects/routes/integration_tests/export.test.ts @@ -27,7 +27,7 @@ import supertest from 'supertest'; import { UnwrapPromise } from '@kbn/utility-types'; import { SavedObjectConfig } from '../../saved_objects_config'; import { registerExportRoute } from '../export'; -import { setupServer } from './test_utils'; +import { setupServer, createExportableType } from './test_utils'; type setupServerReturn = UnwrapPromise>; const exportSavedObjectsToStream = exportMock.exportSavedObjectsToStream as jest.Mock; @@ -40,12 +40,16 @@ const config = { describe('POST /api/saved_objects/_export', () => { let server: setupServerReturn['server']; let httpSetup: setupServerReturn['httpSetup']; + let handlerContext: setupServerReturn['handlerContext']; beforeEach(async () => { - ({ server, httpSetup } = await setupServer()); + ({ server, httpSetup, handlerContext } = await setupServer()); + handlerContext.savedObjects.typeRegistry.getImportableAndExportableTypes.mockReturnValue( + allowedTypes.map(createExportableType) + ); const router = httpSetup.createRouter('/api/saved_objects/'); - registerExportRoute(router, config, allowedTypes); + registerExportRoute(router, config); await server.start(); }); diff --git a/src/core/server/saved_objects/routes/integration_tests/import.test.ts b/src/core/server/saved_objects/routes/integration_tests/import.test.ts index 954e6d9e4831a..c72d3e241b882 100644 --- a/src/core/server/saved_objects/routes/integration_tests/import.test.ts +++ b/src/core/server/saved_objects/routes/integration_tests/import.test.ts @@ -22,7 +22,7 @@ import { UnwrapPromise } from '@kbn/utility-types'; import { registerImportRoute } from '../import'; import { savedObjectsClientMock } from '../../../../../core/server/mocks'; import { SavedObjectConfig } from '../../saved_objects_config'; -import { setupServer } from './test_utils'; +import { setupServer, createExportableType } from './test_utils'; type setupServerReturn = UnwrapPromise>; @@ -47,12 +47,15 @@ describe('POST /internal/saved_objects/_import', () => { beforeEach(async () => { ({ server, httpSetup, handlerContext } = await setupServer()); - savedObjectsClient = handlerContext.savedObjects.client; + handlerContext.savedObjects.typeRegistry.getImportableAndExportableTypes.mockReturnValue( + allowedTypes.map(createExportableType) + ); + savedObjectsClient = handlerContext.savedObjects.client; savedObjectsClient.find.mockResolvedValue(emptyResponse); const router = httpSetup.createRouter('/internal/saved_objects/'); - registerImportRoute(router, config, allowedTypes); + registerImportRoute(router, config); await server.start(); }); diff --git a/src/core/server/saved_objects/routes/integration_tests/resolve_import_errors.test.ts b/src/core/server/saved_objects/routes/integration_tests/resolve_import_errors.test.ts index c2974395217f8..a36f246f9dbc5 100644 --- a/src/core/server/saved_objects/routes/integration_tests/resolve_import_errors.test.ts +++ b/src/core/server/saved_objects/routes/integration_tests/resolve_import_errors.test.ts @@ -21,7 +21,7 @@ import supertest from 'supertest'; import { UnwrapPromise } from '@kbn/utility-types'; import { registerResolveImportErrorsRoute } from '../resolve_import_errors'; import { savedObjectsClientMock } from '../../../../../core/server/mocks'; -import { setupServer } from './test_utils'; +import { setupServer, createExportableType } from './test_utils'; import { SavedObjectConfig } from '../../saved_objects_config'; type setupServerReturn = UnwrapPromise>; @@ -40,10 +40,14 @@ describe('POST /api/saved_objects/_resolve_import_errors', () => { beforeEach(async () => { ({ server, httpSetup, handlerContext } = await setupServer()); + handlerContext.savedObjects.typeRegistry.getImportableAndExportableTypes.mockReturnValue( + allowedTypes.map(createExportableType) + ); + savedObjectsClient = handlerContext.savedObjects.client; const router = httpSetup.createRouter('/api/saved_objects/'); - registerResolveImportErrorsRoute(router, config, allowedTypes); + registerResolveImportErrorsRoute(router, config); await server.start(); }); diff --git a/src/core/server/saved_objects/routes/integration_tests/test_utils.ts b/src/core/server/saved_objects/routes/integration_tests/test_utils.ts index 093b36a413214..82a889f75d3c1 100644 --- a/src/core/server/saved_objects/routes/integration_tests/test_utils.ts +++ b/src/core/server/saved_objects/routes/integration_tests/test_utils.ts @@ -20,6 +20,7 @@ import { ContextService } from '../../../context'; import { createHttpServer, createCoreContext } from '../../../http/test_utils'; import { coreMock } from '../../../mocks'; +import { SavedObjectsType } from '../../types'; const coreId = Symbol('core'); @@ -43,3 +44,17 @@ export const setupServer = async () => { handlerContext, }; }; + +export const createExportableType = (name: string): SavedObjectsType => { + return { + name, + hidden: false, + namespaceAgnostic: false, + mappings: { + properties: {}, + }, + management: { + importableAndExportable: true, + }, + }; +}; diff --git a/src/core/server/saved_objects/routes/resolve_import_errors.ts b/src/core/server/saved_objects/routes/resolve_import_errors.ts index a10a19ba1d8ff..05bff871b3520 100644 --- a/src/core/server/saved_objects/routes/resolve_import_errors.ts +++ b/src/core/server/saved_objects/routes/resolve_import_errors.ts @@ -31,11 +31,7 @@ interface FileStream extends Readable { }; } -export const registerResolveImportErrorsRoute = ( - router: IRouter, - config: SavedObjectConfig, - supportedTypes: string[] -) => { +export const registerResolveImportErrorsRoute = (router: IRouter, config: SavedObjectConfig) => { const { maxImportExportSize, maxImportPayloadBytes } = config; router.post( @@ -75,6 +71,11 @@ export const registerResolveImportErrorsRoute = ( if (fileExtension !== '.ndjson') { return res.badRequest({ body: `Invalid file extension ${fileExtension}` }); } + + const supportedTypes = context.core.savedObjects.typeRegistry + .getImportableAndExportableTypes() + .map(type => type.name); + const result = await resolveSavedObjectsImportErrors({ supportedTypes, savedObjectsClient: context.core.savedObjects.client, diff --git a/src/core/server/saved_objects/routes/utils.test.ts b/src/core/server/saved_objects/routes/utils.test.ts index 83dceda2e1398..24719724785af 100644 --- a/src/core/server/saved_objects/routes/utils.test.ts +++ b/src/core/server/saved_objects/routes/utils.test.ts @@ -17,7 +17,7 @@ * under the License. */ -import { createSavedObjectsStreamFromNdJson } from './utils'; +import { createSavedObjectsStreamFromNdJson, validateTypes, validateObjects } from './utils'; import { Readable } from 'stream'; import { createPromiseFromStreams, createConcatStream } from '../../../../legacy/utils/streams'; @@ -104,3 +104,53 @@ describe('createSavedObjectsStreamFromNdJson', () => { ]); }); }); + +describe('validateTypes', () => { + const allowedTypes = ['config', 'index-pattern', 'dashboard']; + + it('returns an error message if some types are not allowed', () => { + expect(validateTypes(['config', 'not-allowed-type'], allowedTypes)).toMatchInlineSnapshot( + `"Trying to export non-exportable type(s): not-allowed-type"` + ); + expect( + validateTypes(['index-pattern', 'not-allowed-type', 'not-allowed-type-2'], allowedTypes) + ).toMatchInlineSnapshot( + `"Trying to export non-exportable type(s): not-allowed-type, not-allowed-type-2"` + ); + }); + it('returns undefined if all types are allowed', () => { + expect(validateTypes(allowedTypes, allowedTypes)).toBeUndefined(); + expect(validateTypes(['config'], allowedTypes)).toBeUndefined(); + }); +}); + +describe('validateObjects', () => { + const allowedTypes = ['config', 'index-pattern', 'dashboard']; + + it('returns an error message if some objects have types that are not allowed', () => { + expect( + validateObjects( + [ + { id: '1', type: 'config' }, + { id: '1', type: 'not-allowed' }, + { id: '42', type: 'not-allowed-either' }, + ], + allowedTypes + ) + ).toMatchInlineSnapshot( + `"Trying to export object(s) with non-exportable types: not-allowed:1, not-allowed-either:42"` + ); + }); + it('returns undefined if all objects have allowed types', () => { + expect( + validateObjects( + [ + { id: '1', type: 'config' }, + { id: '2', type: 'config' }, + { id: '1', type: 'index-pattern' }, + ], + allowedTypes + ) + ).toBeUndefined(); + }); +}); diff --git a/src/core/server/saved_objects/routes/utils.ts b/src/core/server/saved_objects/routes/utils.ts index 5536391341da3..5f0db3c4d548c 100644 --- a/src/core/server/saved_objects/routes/utils.ts +++ b/src/core/server/saved_objects/routes/utils.ts @@ -41,3 +41,22 @@ export function createSavedObjectsStreamFromNdJson(ndJsonStream: Readable) { ) ); } + +export function validateTypes(types: string[], supportedTypes: string[]): string | undefined { + const invalidTypes = types.filter(t => !supportedTypes.includes(t)); + if (invalidTypes.length) { + return `Trying to export non-exportable type(s): ${invalidTypes.join(', ')}`; + } +} + +export function validateObjects( + objects: Array<{ id: string; type: string }>, + supportedTypes: string[] +): string | undefined { + const invalidObjects = objects.filter(obj => !supportedTypes.includes(obj.type)); + if (invalidObjects.length) { + return `Trying to export object(s) with non-exportable types: ${invalidObjects + .map(obj => `${obj.type}:${obj.id}`) + .join(', ')}`; + } +} diff --git a/src/core/server/saved_objects/saved_objects_service.test.ts b/src/core/server/saved_objects/saved_objects_service.test.ts index 554acf8d43dcb..58b9abfbcdb3a 100644 --- a/src/core/server/saved_objects/saved_objects_service.test.ts +++ b/src/core/server/saved_objects/saved_objects_service.test.ts @@ -23,7 +23,7 @@ import { clientProviderInstanceMock, typeRegistryInstanceMock, } from './saved_objects_service.test.mocks'; - +import { BehaviorSubject } from 'rxjs'; import { ByteSizeValue } from '@kbn/config-schema'; import { SavedObjectsService } from './saved_objects_service'; import { mockCoreContext } from '../core_context.mock'; @@ -34,7 +34,6 @@ import { elasticsearchServiceMock } from '../elasticsearch/elasticsearch_service import { legacyServiceMock } from '../legacy/legacy_service.mock'; import { httpServiceMock } from '../http/http_service.mock'; import { SavedObjectsClientFactoryProvider } from './service/lib'; -import { BehaviorSubject } from 'rxjs'; import { NodesVersionCompatibility } from '../elasticsearch/version_check/ensure_es_version'; describe('SavedObjectsService', () => { diff --git a/src/core/server/saved_objects/saved_objects_service.ts b/src/core/server/saved_objects/saved_objects_service.ts index 89f7990c771c8..175eac3c1bd95 100644 --- a/src/core/server/saved_objects/saved_objects_service.ts +++ b/src/core/server/saved_objects/saved_objects_service.ts @@ -38,7 +38,7 @@ import { SavedObjectConfig, } from './saved_objects_config'; import { KibanaRequest, InternalHttpServiceSetup } from '../http'; -import { SavedObjectsClientContract, SavedObjectsType, SavedObjectsLegacyUiExports } from './types'; +import { SavedObjectsClientContract, SavedObjectsType } from './types'; import { ISavedObjectsRepository, SavedObjectsRepository } from './service/lib/repository'; import { SavedObjectsClientFactoryProvider, @@ -301,10 +301,6 @@ export class SavedObjectsService legacyTypes.forEach(type => this.typeRegistry.registerType(type)); this.validations = setupDeps.legacyPlugins.uiExports.savedObjectValidations || {}; - const importableExportableTypes = getImportableAndExportableTypes( - setupDeps.legacyPlugins.uiExports - ); - const savedObjectsConfig = await this.coreContext.configService .atPath('savedObjects') .pipe(first()) @@ -320,7 +316,6 @@ export class SavedObjectsService logger: this.logger, config: this.config, migratorPromise: this.migrator$.pipe(first()).toPromise(), - importableExportableTypes, }); return { @@ -479,16 +474,3 @@ export class SavedObjectsService }); } } - -function getImportableAndExportableTypes({ - savedObjectMappings = [], - savedObjectsManagement = {}, -}: SavedObjectsLegacyUiExports) { - const visibleTypes = savedObjectMappings.reduce( - (types, mapping) => [...types, ...Object.keys(mapping.properties)], - [] as string[] - ); - return visibleTypes.filter( - type => savedObjectsManagement[type]?.isImportableAndExportable === true ?? false - ); -} diff --git a/src/core/server/saved_objects/saved_objects_type_registry.mock.ts b/src/core/server/saved_objects/saved_objects_type_registry.mock.ts index 435e352335ecf..8c8458d7a5ce4 100644 --- a/src/core/server/saved_objects/saved_objects_type_registry.mock.ts +++ b/src/core/server/saved_objects/saved_objects_type_registry.mock.ts @@ -25,14 +25,20 @@ const createRegistryMock = (): jest.Mocked type === 'global'); + mock.isImportableAndExportable.mockReturnValue(true); return mock; }; diff --git a/src/core/server/saved_objects/saved_objects_type_registry.test.ts b/src/core/server/saved_objects/saved_objects_type_registry.test.ts index 4268ab7718f8d..4d1d5c1eacc25 100644 --- a/src/core/server/saved_objects/saved_objects_type_registry.test.ts +++ b/src/core/server/saved_objects/saved_objects_type_registry.test.ts @@ -212,4 +212,45 @@ describe('SavedObjectTypeRegistry', () => { expect(registry.getIndex('unknownType')).toBeUndefined(); }); }); + + describe('#isImportableAndExportable', () => { + it('returns correct value for the type', () => { + registry.registerType( + createType({ name: 'typeA', management: { importableAndExportable: true } }) + ); + registry.registerType( + createType({ name: 'typeB', management: { importableAndExportable: false } }) + ); + + expect(registry.isImportableAndExportable('typeA')).toBe(true); + expect(registry.isImportableAndExportable('typeB')).toBe(false); + }); + it('returns false when the type is not registered', () => { + registry.registerType(createType({ name: 'typeA', management: {} })); + registry.registerType(createType({ name: 'typeB', management: {} })); + + expect(registry.isImportableAndExportable('typeA')).toBe(false); + }); + it('returns false when management is not defined for the type', () => { + registry.registerType(createType({ name: 'typeA' })); + expect(registry.isImportableAndExportable('unknownType')).toBe(false); + }); + }); + + describe('#getImportableAndExportableTypes', () => { + it('returns all registered types that are importable/exportable', () => { + const typeA = createType({ name: 'typeA', management: { importableAndExportable: true } }); + const typeB = createType({ name: 'typeB' }); + const typeC = createType({ name: 'typeC', management: { importableAndExportable: false } }); + const typeD = createType({ name: 'typeD', management: { importableAndExportable: true } }); + registry.registerType(typeA); + registry.registerType(typeB); + registry.registerType(typeC); + registry.registerType(typeD); + + const types = registry.getImportableAndExportableTypes(); + expect(types.length).toEqual(2); + expect(types.map(t => t.name)).toEqual(['typeA', 'typeD']); + }); + }); }); diff --git a/src/core/server/saved_objects/saved_objects_type_registry.ts b/src/core/server/saved_objects/saved_objects_type_registry.ts index b73c80ad9dff7..5580ce3815d0d 100644 --- a/src/core/server/saved_objects/saved_objects_type_registry.ts +++ b/src/core/server/saved_objects/saved_objects_type_registry.ts @@ -27,7 +27,13 @@ import { SavedObjectsType } from './types'; */ export type ISavedObjectTypeRegistry = Pick< SavedObjectTypeRegistry, - 'getType' | 'getAllTypes' | 'getIndex' | 'isNamespaceAgnostic' | 'isHidden' + | 'getType' + | 'getAllTypes' + | 'getIndex' + | 'isNamespaceAgnostic' + | 'isHidden' + | 'getImportableAndExportableTypes' + | 'isImportableAndExportable' >; /** @@ -63,6 +69,13 @@ export class SavedObjectTypeRegistry { return [...this.types.values()]; } + /** + * Return all {@link SavedObjectsType | types} currently registered that are importable/exportable. + */ + public getImportableAndExportableTypes() { + return this.getAllTypes().filter(type => this.isImportableAndExportable(type.name)); + } + /** * Returns the `namespaceAgnostic` property for given type, or `false` if * the type is not registered. @@ -86,4 +99,12 @@ export class SavedObjectTypeRegistry { public getIndex(type: string) { return this.types.get(type)?.indexPattern; } + + /** + * Returns the `management.importableAndExportable` property for given type, or + * `false` if the type is not registered or does not define a management section. + */ + public isImportableAndExportable(type: string) { + return this.types.get(type)?.management?.importableAndExportable ?? false; + } } diff --git a/src/core/server/saved_objects/service/lib/repository_create_repository.test.ts b/src/core/server/saved_objects/service/lib/repository_create_repository.test.ts index 4a87bb1043ca2..a6b580e9b3461 100644 --- a/src/core/server/saved_objects/service/lib/repository_create_repository.test.ts +++ b/src/core/server/saved_objects/service/lib/repository_create_repository.test.ts @@ -102,7 +102,6 @@ describe('SavedObjectsRepository#createRepository', () => { expect(repository).toBeDefined(); expect(RepositoryConstructor.mock.calls[0][0].allowedTypes).toMatchInlineSnapshot(` Array [ - "config", "nsAgnosticType", "nsType", ] @@ -121,7 +120,6 @@ describe('SavedObjectsRepository#createRepository', () => { expect(repository).toBeDefined(); expect(RepositoryConstructor.mock.calls[0][0].allowedTypes).toMatchInlineSnapshot(` Array [ - "config", "nsAgnosticType", "nsType", "hiddenType", diff --git a/src/core/server/saved_objects/types.ts b/src/core/server/saved_objects/types.ts index c9c672d0f8b1c..1d927211b43e5 100644 --- a/src/core/server/saved_objects/types.ts +++ b/src/core/server/saved_objects/types.ts @@ -21,7 +21,6 @@ import { SavedObjectsClient } from './service/saved_objects_client'; import { SavedObjectsTypeMappingDefinition, SavedObjectsTypeMappingDefinitions } from './mappings'; import { SavedObjectMigrationMap } from './migrations'; import { PropertyValidators } from './validation'; -import { SavedObjectsManagementDefinition } from './management'; export { SavedObjectsImportResponse, @@ -246,6 +245,50 @@ export interface SavedObjectsType { * An optional map of {@link SavedObjectMigrationFn | migrations} to be used to migrate the type. */ migrations?: SavedObjectMigrationMap; + /** + * An optional {@link SavedObjectsTypeManagementDefinition | saved objects management section} definition for the type. + */ + management?: SavedObjectsTypeManagementDefinition; +} + +/** + * Configuration options for the {@link SavedObjectsType | type}'s management section. + * + * @public + */ +export interface SavedObjectsTypeManagementDefinition { + /** + * Is the type importable or exportable. Defaults to `false`. + */ + importableAndExportable?: boolean; + /** + * The default search field to use for this type. Defaults to `id`. + */ + defaultSearchField?: string; + /** + * The eui icon name to display in the management table. + * If not defined, the default icon will be used. + */ + icon?: string; + /** + * Function returning the title to display in the management table. + * If not defined, will use the object's type and id to generate a label. + */ + getTitle?: (savedObject: SavedObject) => string; + /** + * Function returning the url to use to redirect to the editing page of this object. + * If not defined, editing will not be allowed. + */ + getEditUrl?: (savedObject: SavedObject) => string; + /** + * Function returning the url to use to redirect to this object from the management section. + * If not defined, redirecting to the object will not be allowed. + * + * @returns an object containing a `path` and `uiCapabilitiesPath` properties. the `path` is the path to + * the object page, relative to the base path. `uiCapabilitiesPath` is the path to check in the + * {@link Capabilities | uiCapabilities} to check if the user has permission to access the object. + */ + getInAppUrl?: (savedObject: SavedObject) => { path: string; uiCapabilitiesPath: string }; } /** @@ -257,7 +300,7 @@ export interface SavedObjectsLegacyUiExports { savedObjectMigrations: SavedObjectsLegacyMigrationDefinitions; savedObjectSchemas: SavedObjectsLegacySchemaDefinitions; savedObjectValidations: PropertyValidators; - savedObjectsManagement: SavedObjectsManagementDefinition; + savedObjectsManagement: SavedObjectsLegacyManagementDefinition; } /** @@ -269,6 +312,28 @@ export interface SavedObjectsLegacyMapping { properties: SavedObjectsTypeMappingDefinitions; } +/** + * @internal + * @deprecated Use {@link SavedObjectsTypeManagementDefinition | management definition} when registering + * from new platform plugins + */ +export interface SavedObjectsLegacyManagementDefinition { + [key: string]: SavedObjectsLegacyManagementTypeDefinition; +} + +/** + * @internal + * @deprecated + */ +export interface SavedObjectsLegacyManagementTypeDefinition { + isImportableAndExportable?: boolean; + defaultSearchField?: string; + icon?: string; + getTitle?: (savedObject: SavedObject) => string; + getEditUrl?: (savedObject: SavedObject) => string; + getInAppUrl?: (savedObject: SavedObject) => { path: string; uiCapabilitiesPath: string }; +} + /** * @internal * @deprecated diff --git a/src/core/server/saved_objects/utils.test.ts b/src/core/server/saved_objects/utils.test.ts index 0a56535ac8509..0719fe7138e8a 100644 --- a/src/core/server/saved_objects/utils.test.ts +++ b/src/core/server/saved_objects/utils.test.ts @@ -235,6 +235,75 @@ describe('convertLegacyTypes', () => { expect(legacyMigration).toHaveBeenCalledWith(doc, context.log); }); + it('imports type management information', () => { + const uiExports: SavedObjectsLegacyUiExports = { + savedObjectMappings: [ + { + pluginId: 'pluginA', + properties: { + typeA: { + properties: { + fieldA: { type: 'text' }, + }, + }, + }, + }, + { + pluginId: 'pluginB', + properties: { + typeB: { + properties: { + fieldB: { type: 'text' }, + }, + }, + typeC: { + properties: { + fieldC: { type: 'text' }, + }, + }, + }, + }, + ], + savedObjectsManagement: { + typeA: { + isImportableAndExportable: true, + icon: 'iconA', + defaultSearchField: 'searchFieldA', + getTitle: savedObject => savedObject.id, + }, + typeB: { + isImportableAndExportable: false, + icon: 'iconB', + getEditUrl: savedObject => `/some-url/${savedObject.id}`, + getInAppUrl: savedObject => ({ path: 'path', uiCapabilitiesPath: 'ui-path' }), + }, + }, + savedObjectMigrations: {}, + savedObjectSchemas: {}, + savedObjectValidations: {}, + }; + + const converted = convertLegacyTypes(uiExports, legacyConfig); + expect(converted.length).toEqual(3); + const [typeA, typeB, typeC] = converted; + + expect(typeA.management).toEqual({ + importableAndExportable: true, + icon: 'iconA', + defaultSearchField: 'searchFieldA', + getTitle: uiExports.savedObjectsManagement.typeA.getTitle, + }); + + expect(typeB.management).toEqual({ + importableAndExportable: false, + icon: 'iconB', + getEditUrl: uiExports.savedObjectsManagement.typeB.getEditUrl, + getInAppUrl: uiExports.savedObjectsManagement.typeB.getInAppUrl, + }); + + expect(typeC.management).toBeUndefined(); + }); + it('merges everything when all are present', () => { const uiExports: SavedObjectsLegacyUiExports = { savedObjectMappings: [ diff --git a/src/core/server/saved_objects/utils.ts b/src/core/server/saved_objects/utils.ts index bb2c42c6a362c..ea90efd8b9fbd 100644 --- a/src/core/server/saved_objects/utils.ts +++ b/src/core/server/saved_objects/utils.ts @@ -23,6 +23,8 @@ import { SavedObjectsType, SavedObjectsLegacyUiExports, SavedObjectLegacyMigrationMap, + SavedObjectsLegacyManagementTypeDefinition, + SavedObjectsTypeManagementDefinition, } from './types'; import { SavedObjectsSchemaDefinition } from './schema'; @@ -35,15 +37,17 @@ export const convertLegacyTypes = ( savedObjectMappings = [], savedObjectMigrations = {}, savedObjectSchemas = {}, + savedObjectsManagement = {}, }: SavedObjectsLegacyUiExports, legacyConfig: LegacyConfig ): SavedObjectsType[] => { - return savedObjectMappings.reduce((types, { pluginId, properties }) => { + return savedObjectMappings.reduce((types, { properties }) => { return [ ...types, ...Object.entries(properties).map(([type, mappings]) => { const schema = savedObjectSchemas[type]; const migrations = savedObjectMigrations[type]; + const management = savedObjectsManagement[type]; return { name: type, hidden: schema?.hidden ?? false, @@ -55,6 +59,7 @@ export const convertLegacyTypes = ( : schema?.indexPattern, convertToAliasScript: schema?.convertToAliasScript, migrations: convertLegacyMigrations(migrations ?? {}), + management: management ? convertLegacyTypeManagement(management) : undefined, }; }), ]; @@ -90,3 +95,16 @@ const convertLegacyMigrations = ( }; }, {} as SavedObjectMigrationMap); }; + +const convertLegacyTypeManagement = ( + legacyTypeManagement: SavedObjectsLegacyManagementTypeDefinition +): SavedObjectsTypeManagementDefinition => { + return { + importableAndExportable: legacyTypeManagement.isImportableAndExportable, + defaultSearchField: legacyTypeManagement.defaultSearchField, + icon: legacyTypeManagement.icon, + getTitle: legacyTypeManagement.getTitle, + getEditUrl: legacyTypeManagement.getEditUrl, + getInAppUrl: legacyTypeManagement.getInAppUrl, + }; +}; diff --git a/src/core/server/server.api.md b/src/core/server/server.api.md index f7afe7a6a290a..5ede98a1e6e6d 100644 --- a/src/core/server/server.api.md +++ b/src/core/server/server.api.md @@ -968,7 +968,7 @@ export type IsAuthenticated = (request: KibanaRequest | LegacyRequest) => boolea export type ISavedObjectsRepository = Pick; // @public -export type ISavedObjectTypeRegistry = Pick; +export type ISavedObjectTypeRegistry = Pick; // @public export type IScopedClusterClient = Pick; @@ -1456,6 +1456,7 @@ export interface RequestHandlerContext { rendering: IScopedRenderingClient; savedObjects: { client: SavedObjectsClientContract; + typeRegistry: ISavedObjectTypeRegistry; }; elasticsearch: { dataClient: IScopedClusterClient; @@ -2150,12 +2151,26 @@ export interface SavedObjectsType { convertToAliasScript?: string; hidden: boolean; indexPattern?: string; + management?: SavedObjectsTypeManagementDefinition; mappings: SavedObjectsTypeMappingDefinition; migrations?: SavedObjectMigrationMap; name: string; namespaceAgnostic: boolean; } +// @public +export interface SavedObjectsTypeManagementDefinition { + defaultSearchField?: string; + getEditUrl?: (savedObject: SavedObject) => string; + getInAppUrl?: (savedObject: SavedObject) => { + path: string; + uiCapabilitiesPath: string; + }; + getTitle?: (savedObject: SavedObject) => string; + icon?: string; + importableAndExportable?: boolean; +} + // @public export interface SavedObjectsTypeMappingDefinition { dynamic?: false | 'strict'; @@ -2180,9 +2195,11 @@ export interface SavedObjectsUpdateResponse extends Omit { + let service: UiSettingsService; + let setupDeps: SetupDeps; + let savedObjectsClient: ReturnType; + + beforeEach(() => { + const coreContext = mockCoreContext.create(); + coreContext.configService.atPath.mockReturnValue(new BehaviorSubject({ overrides })); + const httpSetup = httpServiceMock.createSetupContract(); + const savedObjectsSetup = savedObjectsServiceMock.createInternalSetupContract(); + setupDeps = { http: httpSetup, savedObjects: savedObjectsSetup }; + savedObjectsClient = savedObjectsClientMock.create(); + service = new UiSettingsService(coreContext); + }); -afterEach(() => { - MockUiSettingsClientConstructor.mockClear(); -}); + afterEach(() => { + MockUiSettingsClientConstructor.mockClear(); + }); -describe('uiSettings', () => { describe('#setup', () => { + it('registers the uiSettings type to the savedObjects registry', async () => { + await service.setup(setupDeps); + expect(setupDeps.savedObjects.registerType).toHaveBeenCalledTimes(1); + expect(setupDeps.savedObjects.registerType).toHaveBeenCalledWith(uiSettingsType); + }); + describe('#asScopedToClient', () => { it('passes saved object type "config" to UiSettingsClient', async () => { - const service = new UiSettingsService(coreContext); const setup = await service.setup(setupDeps); setup.asScopedToClient(savedObjectsClient); expect(MockUiSettingsClientConstructor).toBeCalledTimes(1); @@ -60,7 +73,6 @@ describe('uiSettings', () => { }); it('passes overrides to UiSettingsClient', async () => { - const service = new UiSettingsService(coreContext); const setup = await service.setup(setupDeps); setup.asScopedToClient(savedObjectsClient); expect(MockUiSettingsClientConstructor).toBeCalledTimes(1); @@ -69,7 +81,6 @@ describe('uiSettings', () => { }); it('passes a copy of set defaults to UiSettingsClient', async () => { - const service = new UiSettingsService(coreContext); const setup = await service.setup(setupDeps); setup.register(defaults); @@ -83,7 +94,6 @@ describe('uiSettings', () => { describe('#register', () => { it('throws if registers the same key twice', async () => { - const service = new UiSettingsService(coreContext); const setup = await service.setup(setupDeps); setup.register(defaults); expect(() => setup.register(defaults)).toThrowErrorMatchingInlineSnapshot( @@ -96,7 +106,6 @@ describe('uiSettings', () => { describe('#start', () => { describe('#asScopedToClient', () => { it('passes saved object type "config" to UiSettingsClient', async () => { - const service = new UiSettingsService(coreContext); await service.setup(setupDeps); const start = await service.start(); start.asScopedToClient(savedObjectsClient); @@ -106,7 +115,6 @@ describe('uiSettings', () => { }); it('passes overrides to UiSettingsClient', async () => { - const service = new UiSettingsService(coreContext); await service.setup(setupDeps); const start = await service.start(); start.asScopedToClient(savedObjectsClient); @@ -116,7 +124,6 @@ describe('uiSettings', () => { }); it('passes a copy of set defaults to UiSettingsClient', async () => { - const service = new UiSettingsService(coreContext); const setup = await service.setup(setupDeps); setup.register(defaults); const start = await service.start(); diff --git a/src/core/server/ui_settings/ui_settings_service.ts b/src/core/server/ui_settings/ui_settings_service.ts index 942c2625ac8e7..de2cc9d510e0c 100644 --- a/src/core/server/ui_settings/ui_settings_service.ts +++ b/src/core/server/ui_settings/ui_settings_service.ts @@ -24,6 +24,7 @@ import { CoreContext } from '../core_context'; import { Logger } from '../logging'; import { SavedObjectsClientContract } from '../saved_objects/types'; +import { InternalSavedObjectsServiceSetup } from '../saved_objects'; import { InternalHttpServiceSetup } from '../http'; import { UiSettingsConfigType, config as uiConfigDefinition } from './ui_settings_config'; import { UiSettingsClient } from './ui_settings_client'; @@ -33,11 +34,12 @@ import { UiSettingsParams, } from './types'; import { mapToObject } from '../../utils/'; - +import { uiSettingsType } from './saved_objects'; import { registerRoutes } from './routes'; -interface SetupDeps { +export interface SetupDeps { http: InternalHttpServiceSetup; + savedObjects: InternalSavedObjectsServiceSetup; } /** @internal */ @@ -53,9 +55,11 @@ export class UiSettingsService this.config$ = coreContext.configService.atPath(uiConfigDefinition.path); } - public async setup(deps: SetupDeps): Promise { - registerRoutes(deps.http.createRouter('')); + public async setup({ http, savedObjects }: SetupDeps): Promise { this.log.debug('Setting up ui settings service'); + + savedObjects.registerType(uiSettingsType); + registerRoutes(http.createRouter('')); const config = await this.config$.pipe(first()).toPromise(); this.overrides = config.overrides; diff --git a/src/dev/jest/config.js b/src/dev/jest/config.js index 807a3fbf4782b..e54384be7323f 100644 --- a/src/dev/jest/config.js +++ b/src/dev/jest/config.js @@ -68,7 +68,10 @@ export default { '/src/dev/jest/setup/polyfills.js', '/src/dev/jest/setup/enzyme.js', ], - setupFilesAfterEnv: ['/src/dev/jest/setup/mocks.js'], + setupFilesAfterEnv: [ + '/src/dev/jest/setup/mocks.js', + '/src/dev/jest/setup/react_testing_library.js', + ], coverageDirectory: '/target/kibana-coverage/jest', coverageReporters: !!process.env.CODE_COVERAGE ? ['json'] : ['html', 'text'], moduleFileExtensions: ['js', 'json', 'ts', 'tsx'], diff --git a/src/dev/jest/setup/react_testing_library.js b/src/dev/jest/setup/react_testing_library.js new file mode 100644 index 0000000000000..879292b540ba6 --- /dev/null +++ b/src/dev/jest/setup/react_testing_library.js @@ -0,0 +1,32 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import '@testing-library/jest-dom/extend-expect'; +/** + * Have to import "/pure" here to not register afterEach() hook clean up + * in the very beginning. There are couple tests which fail with clean up hook. + * On CI they run before first test which imports '@testing-library/react' + * and registers afterEach hook so the whole suite is passing. + * This have to be fixed as we depend on test order execution + * https://github.com/elastic/kibana/issues/59469 + */ +import { configure } from '@testing-library/react/pure'; + +// instead of default 'data-testid', use kibana's 'data-test-subj' +configure({ testIdAttribute: 'data-test-subj' }); diff --git a/src/dev/run_check_core_api_changes.ts b/src/dev/run_check_published_api_changes.ts similarity index 83% rename from src/dev/run_check_core_api_changes.ts rename to src/dev/run_check_published_api_changes.ts index 48f31c261c445..b12638d9b8661 100644 --- a/src/dev/run_check_core_api_changes.ts +++ b/src/dev/run_check_published_api_changes.ts @@ -17,6 +17,8 @@ * under the License. */ +/* eslint-disable no-console */ + import { ToolingLog } from '@kbn/dev-utils'; import { Extractor, @@ -33,23 +35,35 @@ import fs from 'fs'; import path from 'path'; import getopts from 'getopts'; +/* + * Step 1: execute build:types + * This users tsconfig.types.json to generate types in `target/types` + * Step 2: run Api Extractor to detect API changes + * Step 3: generate new docs if needed + */ + +const getReportFileName = (folder: string) => { + return folder.indexOf('public') > -1 ? 'public' : 'server'; +}; + const apiExtractorConfig = (folder: string): ExtractorConfig => { + const fname = getReportFileName(folder); const config: IConfigFile = { newlineKind: 'lf', compiler: { tsconfigFilePath: '/tsconfig.json', }, projectFolder: path.resolve('./'), - mainEntryPointFilePath: `target/types/core/${folder}/index.d.ts`, + mainEntryPointFilePath: `target/types/${folder}/index.d.ts`, apiReport: { enabled: true, - reportFileName: `${folder}.api.md`, - reportFolder: `/src/core/${folder}/`, + reportFileName: `${fname}.api.md`, + reportFolder: `/src/${folder}/`, reportTempFolder: `/build/${folder}/`, }, docModel: { enabled: true, - apiJsonFilePath: `./build/${folder}/${folder}.api.json`, + apiJsonFilePath: `./build/${folder}/${fname}.api.json`, }, tsdocMetadata: { enabled: false, @@ -81,20 +95,21 @@ const runBuildTypes = async () => { }; const runApiDocumenter = async (folder: string) => { - await execa( - 'api-documenter', - ['generate', '-i', `./build/${folder}`, '-o', `./docs/development/core/${folder}`], - { - preferLocal: true, - } - ); + const sourceFolder = `./build/${folder}`; + const targetFolder = `./docs/development/${folder}`; + console.log(`Generating docs from ${sourceFolder} into ${targetFolder}...`); + await execa('api-documenter', ['generate', '-i', sourceFolder, '-o', targetFolder], { + preferLocal: true, + }); }; const renameExtractedApiPackageName = async (folder: string) => { - const json = JSON.parse(fs.readFileSync(`build/${folder}/${folder}.api.json`).toString()); - json.canonicalReference = `kibana-plugin-${folder}`; - json.name = `kibana-plugin-${folder}`; - fs.writeFileSync(`build/${folder}/${folder}.api.json`, JSON.stringify(json, null, 2)); + const fname = getReportFileName(folder); + const jsonApiFile = `build/${folder}/${fname}.api.json`; + console.log(`Updating ${jsonApiFile}...`); + const json = JSON.parse(fs.readFileSync(jsonApiFile).toString()); + json.name = json.canonicalReference = `kibana-plugin-${folder.replace(/\//g, '-')}`; + fs.writeFileSync(jsonApiFile, JSON.stringify(json, null, 2)); }; /** @@ -243,10 +258,14 @@ async function run( return false; } - const folders = ['public', 'server']; + const folders = ['core/public', 'core/server', 'plugins/data/server', 'plugins/data/public']; + const results = await Promise.all(folders.map(folder => run(folder, { log, opts }))); if (results.find(r => r === false) !== undefined) { process.exitCode = 1; } -})(); +})().catch(e => { + console.log(e); + process.exitCode = 1; +}); diff --git a/src/legacy/core_plugins/kibana/index.js b/src/legacy/core_plugins/kibana/index.js index 221133a17d59a..092eed924f330 100644 --- a/src/legacy/core_plugins/kibana/index.js +++ b/src/legacy/core_plugins/kibana/index.js @@ -201,18 +201,6 @@ export default function(kibana) { return `/goto/${encodeURIComponent(obj.id)}`; }, }, - config: { - isImportableAndExportable: true, - getInAppUrl() { - return { - path: `/app/kibana#/management/kibana/settings`, - uiCapabilitiesPath: 'advancedSettings.show', - }; - }, - getTitle(obj) { - return `Advanced Settings [${obj.id}]`; - }, - }, }, savedObjectSchemas: { diff --git a/src/legacy/plugin_discovery/plugin_spec/plugin_spec_options.d.ts b/src/legacy/plugin_discovery/plugin_spec/plugin_spec_options.d.ts index 228ef96f8c9f3..d668739436726 100644 --- a/src/legacy/plugin_discovery/plugin_spec/plugin_spec_options.d.ts +++ b/src/legacy/plugin_discovery/plugin_spec/plugin_spec_options.d.ts @@ -19,13 +19,13 @@ import { Server } from '../../server/kbn_server'; import { Capabilities } from '../../../core/server'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { SavedObjectsManagementDefinition } from '../../../core/server/saved_objects/management'; +import { SavedObjectsLegacyManagementDefinition } from '../../../core/server/saved_objects/types'; export type InitPluginFunction = (server: Server) => void; export interface UiExports { injectDefaultVars?: (server: Server) => { [key: string]: any }; styleSheetPaths?: string; - savedObjectsManagement?: SavedObjectsManagementDefinition; + savedObjectsManagement?: SavedObjectsLegacyManagementDefinition; mappings?: unknown; visTypes?: string[]; interpreter?: string[]; diff --git a/src/legacy/plugin_discovery/types.ts b/src/legacy/plugin_discovery/types.ts index 9425003eae874..4d8090a138ffb 100644 --- a/src/legacy/plugin_discovery/types.ts +++ b/src/legacy/plugin_discovery/types.ts @@ -23,7 +23,7 @@ import { Capabilities } from '../../core/server'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths import { SavedObjectsSchemaDefinition } from '../../core/server/saved_objects/schema'; // eslint-disable-next-line @kbn/eslint/no-restricted-paths -import { SavedObjectsManagementDefinition } from '../../core/server/saved_objects/management'; +import { SavedObjectsLegacyManagementDefinition } from '../../core/server/saved_objects/types'; import { AppCategory } from '../../core/types'; /** @@ -73,7 +73,7 @@ export interface LegacyPluginOptions { mappings: any; migrations: any; savedObjectSchemas: SavedObjectsSchemaDefinition; - savedObjectsManagement: SavedObjectsManagementDefinition; + savedObjectsManagement: SavedObjectsLegacyManagementDefinition; visTypes: string[]; embeddableActions?: string[]; embeddableFactories?: string[]; diff --git a/src/legacy/server/kbn_server.d.ts b/src/legacy/server/kbn_server.d.ts index 8da1b3b05fa76..68b5a63871372 100644 --- a/src/legacy/server/kbn_server.d.ts +++ b/src/legacy/server/kbn_server.d.ts @@ -77,7 +77,7 @@ declare module 'hapi' { addScopedTutorialContextFactory: ( scopedTutorialContextFactory: (...args: any[]) => any ) => void; - savedObjectsManagement(): SavedObjectsManagement; + getSavedObjectsManagement(): SavedObjectsManagement; getInjectedUiAppVars: (pluginName: string) => { [key: string]: any }; getUiNavLinks(): Array<{ _id: string }>; addMemoizedFactoryToRequest: ( diff --git a/src/legacy/server/logging/log_reporter.js b/src/legacy/server/logging/log_reporter.js index b64f08c1cbbb6..6e62a5ee284e3 100644 --- a/src/legacy/server/logging/log_reporter.js +++ b/src/legacy/server/logging/log_reporter.js @@ -17,7 +17,7 @@ * under the License. */ -import { Squeeze } from 'good-squeeze'; +import { Squeeze } from '@hapi/good-squeeze'; import { createWriteStream as writeStr } from 'fs'; import LogFormatJson from './log_format_json'; diff --git a/src/legacy/server/saved_objects/saved_objects_mixin.js b/src/legacy/server/saved_objects/saved_objects_mixin.js index 0039fb19bb086..cc63099c8a211 100644 --- a/src/legacy/server/saved_objects/saved_objects_mixin.js +++ b/src/legacy/server/saved_objects/saved_objects_mixin.js @@ -43,7 +43,7 @@ export function savedObjectsMixin(kbnServer, server) { server.decorate( 'server', 'getSavedObjectsManagement', - () => new SavedObjectsManagement(kbnServer.uiExports.savedObjectsManagement) + () => new SavedObjectsManagement(typeRegistry) ); const warn = message => server.log(['warning', 'saved-objects'], message); diff --git a/src/legacy/server/saved_objects/saved_objects_mixin.test.js b/src/legacy/server/saved_objects/saved_objects_mixin.test.js index b8636d510b979..3745f0b92123c 100644 --- a/src/legacy/server/saved_objects/saved_objects_mixin.test.js +++ b/src/legacy/server/saved_objects/saved_objects_mixin.test.js @@ -201,7 +201,7 @@ describe('Saved Objects Mixin', () => { it('should return all but hidden types', async () => { expect(service).toBeDefined(); - expect(service.types).toEqual(['config', 'testtype', 'doc1', 'doc2']); + expect(service.types).toEqual(['testtype', 'doc1', 'doc2']); }); const mockCallEs = jest.fn(); @@ -215,16 +215,12 @@ describe('Saved Objects Mixin', () => { it('should create a repository without hidden types', () => { const repository = service.getSavedObjectsRepository(mockCallEs); expect(repository).toBeDefined(); - expect(repository._allowedTypes).toEqual(['config', 'testtype', 'doc1', 'doc2']); + expect(repository._allowedTypes).toEqual(['testtype', 'doc1', 'doc2']); }); it('should create a repository with a unique list of allowed types', () => { - const repository = service.getSavedObjectsRepository(mockCallEs, [ - 'config', - 'config', - 'config', - ]); - expect(repository._allowedTypes).toEqual(['config', 'testtype', 'doc1', 'doc2']); + const repository = service.getSavedObjectsRepository(mockCallEs, ['doc1', 'doc1', 'doc1']); + expect(repository._allowedTypes).toEqual(['testtype', 'doc1', 'doc2']); }); it('should create a repository with extraTypes minus duplicate', () => { @@ -232,13 +228,7 @@ describe('Saved Objects Mixin', () => { 'hiddentype', 'hiddentype', ]); - expect(repository._allowedTypes).toEqual([ - 'config', - 'testtype', - 'doc1', - 'doc2', - 'hiddentype', - ]); + expect(repository._allowedTypes).toEqual(['testtype', 'doc1', 'doc2', 'hiddentype']); }); it('should not allow a repository without a callCluster function', () => { diff --git a/src/plugins/console/public/application/index.tsx b/src/plugins/console/public/application/index.tsx index 1fef52da6f31b..051eaea27a7de 100644 --- a/src/plugins/console/public/application/index.tsx +++ b/src/plugins/console/public/application/index.tsx @@ -22,16 +22,11 @@ import { render, unmountComponentAtNode } from 'react-dom'; import { NotificationsSetup } from 'src/core/public'; import { ServicesContextProvider, EditorContextProvider, RequestContextProvider } from './contexts'; import { Main } from './containers'; -import { createStorage, createHistory, createSettings, Settings } from '../services'; +import { createStorage, createHistory, createSettings } from '../services'; import * as localStorageObjectClient from '../lib/local_storage_object_client'; import { createUsageTracker } from '../services/tracker'; import { UsageCollectionSetup } from '../../../usage_collection/public'; -let settingsRef: Settings; -export function legacyBackDoorToSettings() { - return settingsRef; -} - export interface BootDependencies { docLinkVersion: string; I18nContext: any; @@ -59,7 +54,6 @@ export function renderApp({ const history = createHistory({ storage }); const settings = createSettings({ storage }); const objectStorageClient = localStorageObjectClient.create(storage); - settingsRef = settings; render( diff --git a/src/plugins/console/public/application/models/sense_editor/sense_editor.test.mocks.ts b/src/plugins/console/public/application/models/sense_editor/sense_editor.test.mocks.ts index 8df9bb8ef9a0b..76556fd0e1880 100644 --- a/src/plugins/console/public/application/models/sense_editor/sense_editor.test.mocks.ts +++ b/src/plugins/console/public/application/models/sense_editor/sense_editor.test.mocks.ts @@ -20,9 +20,6 @@ import '../legacy_core_editor/legacy_core_editor.test.mocks'; -// TODO: Remove this mock -jest.mock('../../../application', () => ({ legacyBackDoorToSettings: () => {} })); - import jQuery from 'jquery'; jest.spyOn(jQuery, 'ajax').mockImplementation( () => diff --git a/src/plugins/data/common/field_formats/field_formats_registry.ts b/src/plugins/data/common/field_formats/field_formats_registry.ts index 9fdf1ad9c80fb..15b1687e22312 100644 --- a/src/plugins/data/common/field_formats/field_formats_registry.ts +++ b/src/plugins/data/common/field_formats/field_formats_registry.ts @@ -20,8 +20,6 @@ // eslint-disable-next-line max-classes-per-file import { forOwn, isFunction, memoize, identity } from 'lodash'; -import { ES_FIELD_TYPES, IFieldFormat, KBN_FIELD_TYPES } from '../../common'; - import { FieldFormatsGetConfigFn, FieldFormatConfig, @@ -29,10 +27,12 @@ import { IFieldFormatType, FieldFormatId, IFieldFormatMetaParams, + IFieldFormat, } from './types'; import { baseFormatters } from './constants/base_formatters'; import { FieldFormat } from './field_format'; import { SerializedFieldFormat } from '../../../expressions/common/types'; +import { ES_FIELD_TYPES, KBN_FIELD_TYPES } from '../types'; export class FieldFormatsRegistry { protected fieldFormats: Map = new Map(); diff --git a/src/plugins/data/public/public.api.md b/src/plugins/data/public/public.api.md new file mode 100644 index 0000000000000..c41a4ef531443 --- /dev/null +++ b/src/plugins/data/public/public.api.md @@ -0,0 +1,1575 @@ +## API Report File for "kibana" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import _ from 'lodash'; +import { Action } from 'history'; +import { Breadcrumb } from '@elastic/eui'; +import { Component } from 'react'; +import { CoreSetup } from 'src/core/public'; +import { CoreStart } from 'kibana/public'; +import { CoreStart as CoreStart_2 } from 'src/core/public'; +import { EuiButtonEmptyProps } from '@elastic/eui'; +import { EuiComboBoxProps } from '@elastic/eui'; +import { EuiConfirmModalProps } from '@elastic/eui'; +import { EuiFieldText } from '@elastic/eui'; +import { EuiGlobalToastListToast } from '@elastic/eui'; +import { ExclusiveUnion } from '@elastic/eui'; +import { History } from 'history'; +import { HttpSetup } from 'src/core/public'; +import { HttpStart } from 'src/core/public'; +import { IconType } from '@elastic/eui'; +import { InjectedIntl } from '@kbn/i18n/react'; +import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; +import { IUiSettingsClient } from 'src/core/public'; +import { Location } from 'history'; +import { LocationDescriptorObject } from 'history'; +import { MaybePromise } from '@kbn/utility-types'; +import { Moment } from 'moment'; +import moment from 'moment'; +import { NameList } from 'elasticsearch'; +import { Observable } from 'rxjs'; +import { Plugin as Plugin_2 } from 'src/core/public'; +import { PluginInitializerContext as PluginInitializerContext_2 } from 'src/core/public'; +import { PopoverAnchorPosition } from '@elastic/eui'; +import React from 'react'; +import * as React_2 from 'react'; +import { Required } from '@kbn/utility-types'; +import * as Rx from 'rxjs'; +import { SavedObject as SavedObject_2 } from 'src/core/public'; +import { SavedObjectsClientContract } from 'src/core/public'; +import { SearchParams } from 'elasticsearch'; +import { SearchResponse as SearchResponse_2 } from 'elasticsearch'; +import { SimpleSavedObject } from 'src/core/public'; +import { UiActionsSetup } from 'src/plugins/ui_actions/public'; +import { UiActionsStart } from 'src/plugins/ui_actions/public'; +import { UiSettingsParams } from 'src/core/server/types'; +import { UnregisterCallback } from 'history'; +import { UserProvidedValues } from 'src/core/server/types'; + +// Warning: (ae-missing-release-tag) "addSearchStrategy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const addSearchStrategy: (searchStrategy: SearchStrategyProvider) => void; + +// Warning: (ae-forgotten-export) The symbol "DateFormat" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "baseFormattersPublic" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const baseFormattersPublic: (import("../../common").IFieldFormatType | typeof DateFormat)[]; + +// 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; + +// 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, state$, }: Pick<{ + filterManager: import("..").FilterManager; + timefilter: import("..").TimefilterSetup; + state$: import("rxjs").Observable<{ + changes: QueryStateChange; + state: QueryState; + }>; + savedQueries: import("..").SavedQueryService; +} | { + filterManager: import("..").FilterManager; + timefilter: import("..").TimefilterSetup; + state$: import("rxjs").Observable<{ + changes: QueryStateChange; + state: QueryState; + }>; +}, "state$" | "timefilter" | "filterManager">, stateContainer: BaseStateContainer, syncConfig: { + time?: boolean | undefined; + refreshInterval?: boolean | undefined; + filters?: boolean | FilterStateStore | undefined; +}) => () => 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: Pick) => 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 (undocumented) +export type CustomFilter = Filter & { + query: any; +}; + +// Warning: (ae-missing-release-tag) "DataPublicPluginSetup" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface DataPublicPluginSetup { + // Warning: (ae-forgotten-export) The symbol "AutocompleteSetup" needs to be exported by the entry point index.d.ts + // + // (undocumented) + autocomplete: AutocompleteSetup; + // Warning: (ae-forgotten-export) The symbol "FieldFormatsSetup" needs to be exported by the entry point index.d.ts + // + // (undocumented) + fieldFormats: FieldFormatsSetup; + // Warning: (ae-forgotten-export) The symbol "QuerySetup" needs to be exported by the entry point index.d.ts + // + // (undocumented) + query: QuerySetup; + // Warning: (ae-forgotten-export) The symbol "ISearchSetup" needs to be exported by the entry point index.d.ts + // + // (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 (undocumented) +export interface DataPublicPluginStart { + // Warning: (ae-forgotten-export) The symbol "AutocompleteStart" needs to be exported by the entry point index.d.ts + // + // (undocumented) + autocomplete: AutocompleteStart; + // Warning: (ae-forgotten-export) The symbol "FieldFormatsStart" needs to be exported by the entry point index.d.ts + // + // (undocumented) + fieldFormats: FieldFormatsStart; + // (undocumented) + indexPatterns: IndexPatternsContract; + // Warning: (ae-forgotten-export) The symbol "QueryStart" needs to be exported by the entry point index.d.ts + // + // (undocumented) + query: QueryStart; + // Warning: (ae-forgotten-export) The symbol "ISearchStart" needs to be exported by the entry point index.d.ts + // + // (undocumented) + search: ISearchStart; + // (undocumented) + ui: { + IndexPatternSelect: React.ComponentType; + SearchBar: React.ComponentType; + }; +} + +// Warning: (ae-missing-release-tag) "defaultSearchStrategy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const defaultSearchStrategy: SearchStrategyProvider; + +// @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) "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: { + FilterLabel: typeof FilterLabel; + FILTERS: typeof FILTERS; + FilterStateStore: typeof FilterStateStore; + buildEmptyFilter: (isPinned: boolean, index?: string | undefined) => import("../common").Filter; + buildPhrasesFilter: (field: import("../common").IFieldType, params: any[], indexPattern: import("../common").IIndexPattern) => import("../common").PhrasesFilter; + buildExistsFilter: (field: import("../common").IFieldType, indexPattern: import("../common").IIndexPattern) => import("../common").ExistsFilter; + buildPhraseFilter: (field: import("../common").IFieldType, value: any, indexPattern: import("../common").IIndexPattern) => import("../common").PhraseFilter; + buildQueryFilter: (query: any, index: string, alias: string) => import("../common").QueryStringFilter; + buildRangeFilter: (field: import("../common").IFieldType, params: import("../common").RangeFilterParams, indexPattern: import("../common").IIndexPattern, formattedValue?: string | undefined) => import("../common").RangeFilter; + isPhraseFilter: (filter: any) => filter is import("../common").PhraseFilter; + isExistsFilter: (filter: any) => filter is import("../common").ExistsFilter; + isPhrasesFilter: (filter: any) => filter is import("../common").PhrasesFilter; + isRangeFilter: (filter: any) => filter is import("../common").RangeFilter; + isMatchAllFilter: (filter: any) => filter is import("../common").MatchAllFilter; + isMissingFilter: (filter: any) => filter is import("../common").MissingFilter; + isQueryStringFilter: (filter: any) => filter is import("../common").QueryStringFilter; + isFilterPinned: (filter: import("../common").Filter) => boolean | undefined; + toggleFilterNegated: (filter: import("../common").Filter) => { + meta: { + negate: boolean; + alias: string | null; + disabled: boolean; + controlledBy?: string | undefined; + index?: string | undefined; + type?: string | undefined; + key?: string | undefined; + params?: any; + value?: string | ((formatter?: import("../common").FilterValueFormatter | undefined) => string) | undefined; + }; + $state?: import("../common").FilterState | undefined; + query?: any; + }; + disableFilter: (filter: import("../common").Filter) => import("../common").Filter; + getPhraseFilterField: (filter: import("../common").PhraseFilter) => string; + getPhraseFilterValue: (filter: import("../common").PhraseFilter) => string | number | boolean; + getDisplayValueFromFilter: typeof getDisplayValueFromFilter; + compareFilters: (first: import("../common").Filter | import("../common").Filter[], second: import("../common").Filter | import("../common").Filter[], comparatorOptions?: import("./query/filter_manager/lib/compare_filters").FilterCompareOptions) => boolean; + COMPARE_ALL_OPTIONS: import("./query/filter_manager/lib/compare_filters").FilterCompareOptions; + generateFilters: typeof generateFilters; + onlyDisabledFiltersChanged: (newFilters?: import("../common").Filter[] | undefined, oldFilters?: import("../common").Filter[] | undefined) => boolean; + changeTimeFilter: typeof changeTimeFilter; + mapAndFlattenFilters: (filters: import("../common").Filter[]) => import("../common").Filter[]; + extractTimeFilter: typeof extractTimeFilter; +}; + +// 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: { + buildEsQuery: typeof buildEsQuery; + getEsQueryConfig: typeof getEsQueryConfig; + buildQueryFromFilters: (filters: import("../common").Filter[] | undefined, indexPattern: import("../common").IIndexPattern | undefined, ignoreFilterIfFieldNotInIndex?: boolean) => { + must: never[]; + filter: import("../common").Filter[]; + should: never[]; + must_not: import("../common").Filter[]; + }; + luceneStringToDsl: typeof luceneStringToDsl; + decorateQuery: typeof 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 (undocumented) +export interface EsQueryConfig { + // (undocumented) + allowLeadingWildcards: boolean; + // (undocumented) + dateFormatTZ?: string; + // (undocumented) + ignoreFilterIfFieldNotInIndex: boolean; + // (undocumented) + queryStringOptions: Record; +} + +// Warning: (ae-forgotten-export) The symbol "SortDirectionNumeric" 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) "esSearchStrategyProvider" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const esSearchStrategyProvider: TSearchStrategyProvider; + +// Warning: (ae-missing-release-tag) "ExistsFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type ExistsFilter = Filter & { + meta: ExistsFilterMeta; + exists?: FilterExistsProperty; +}; + +// Warning: (ae-missing-release-tag) "FetchOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface FetchOptions { + // (undocumented) + abortSignal?: AbortSignal; + // (undocumented) + searchStrategyId?: string; +} + +// 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; + // (undocumented) + id: FieldFormatId; + // (undocumented) + params: Record; +} + +// Warning: (ae-forgotten-export) The symbol "FIELD_FORMAT_IDS" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "FieldFormatId" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export type FieldFormatId = FIELD_FORMAT_IDS | string; + +// 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: { + FieldFormat: typeof FieldFormat; + FieldFormatsRegistry: typeof FieldFormatsRegistry; + serialize: (agg: import("../../../legacy/core_plugins/data/public/search").AggConfig) => import("../../expressions/common").SerializedFieldFormat; + DEFAULT_CONVERTER_COLOR: { + range: string; + regex: string; + text: string; + background: string; + }; + HTML_CONTEXT_TYPE: import("../common").FieldFormatsContentType; + TEXT_CONTEXT_TYPE: import("../common").FieldFormatsContentType; + FIELD_FORMAT_IDS: typeof FIELD_FORMAT_IDS; + BoolFormat: typeof BoolFormat; + BytesFormat: typeof BytesFormat; + ColorFormat: typeof ColorFormat; + DateFormat: typeof DateFormat; + 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; +}; + +// @public (undocumented) +export type FieldFormatsContentType = 'html' | 'text'; + +// 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-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "FilterBar" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const FilterBar: React.ComponentClass, any> & { + WrappedComponent: React.ComponentType; +}; + +// 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 { + constructor(uiSettings: IUiSettingsClient); + // (undocumented) + addFilters(filters: Filter[] | Filter, pinFilterStatus?: boolean): void; + // (undocumented) + getAppFilters(): Filter[]; + // (undocumented) + getFetches$(): import("rxjs").Observable; + // (undocumented) + getFilters(): Filter[]; + // (undocumented) + getGlobalFilters(): Filter[]; + // 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) + removeAll(): void; + // (undocumented) + removeFilter(filter: Filter): void; + setAppFilters(newAppFilters: Filter[]): void; + // (undocumented) + setFilters(newFilters: Filter[], pinFilterStatus?: boolean): void; + // (undocumented) + static setFiltersStore(filters: Filter[], store: FilterStateStore, shouldOverrideStore?: boolean): void; + setGlobalFilters(newGlobalFilters: Filter[]): void; + } + +// 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-forgotten-export) The symbol "IUiSettingsClient" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "getEsPreference" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export function getEsPreference(uiSettings: IUiSettingsClient_2, sessionId?: string): any; + +// Warning: (ae-missing-release-tag) "getKbnTypeNames" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public +export const getKbnTypeNames: () => string[]; + +// Warning: (ae-forgotten-export) The symbol "PersistedLog" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "getQueryLog" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export function getQueryLog(uiSettings: IUiSettingsClient, storage: IStorageWrapper, appName: string, language: string): PersistedLog; + +// Warning: (ae-missing-release-tag) "getSearchErrorType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export function getSearchErrorType({ message }: Pick): "UNSUPPORTED_QUERY" | undefined; + +// 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, forceNow?: Date): import("../..").RangeFilter | undefined; + +// Warning: (ae-missing-release-tag) "hasSearchStategyForIndexPattern" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const hasSearchStategyForIndexPattern: (indexPattern: IndexPattern) => boolean; + +// 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-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) + params: SearchParams; +} + +// 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 interface IEsSearchResponse extends IKibanaSearchResponse { + // (undocumented) + rawResponse: SearchResponse_2; +} + +// Warning: (ae-missing-release-tag) "IFieldFormat" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type IFieldFormat = PublicMethodsOf; + +// 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) "IKibanaSearchRequest" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface IKibanaSearchRequest { + debug?: boolean; + id?: string; +} + +// 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; + loaded?: number; + total?: number; +} + +// 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 "IIndexPatternsApiClient" needs to be exported by the entry point index.d.ts + constructor(id: string | undefined, getConfig: any, savedObjectsClient: SavedObjectsClientContract, apiClient: IIndexPatternsApiClient, patternCache: any); + // (undocumented) + [key: string]: any; + // (undocumented) + addScriptedField(name: string, script: string, fieldType: string | undefined, lang: string): Promise; + // (undocumented) + create(allowOverride?: boolean): Promise; + // (undocumented) + destroy(): Promise<{}> | undefined; + // (undocumented) + _fetchFields(): Promise; + // (undocumented) + fieldFormatMap: any; + // Warning: (ae-forgotten-export) The symbol "IFieldList" needs to be exported by the entry point index.d.ts + // + // (undocumented) + fields: IFieldList; + // (undocumented) + fieldsFetcher: any; + // (undocumented) + flattenHit: any; + // (undocumented) + formatField: any; + // (undocumented) + formatHit: any; + // (undocumented) + getAggregationRestrictions(): Record> | undefined; + // (undocumented) + getComputedFields(): { + storedFields: string[]; + scriptFields: any; + docvalueFields: { + field: any; + format: string; + }[]; + }; + // (undocumented) + getFieldByName(name: string): IndexPatternField | void; + // (undocumented) + getNonScriptedFields(): IndexPatternField[]; + // (undocumented) + getScriptedFields(): IndexPatternField[]; + // (undocumented) + getSourceFiltering(): { + excludes: any[]; + }; + // (undocumented) + getTimeField(): IndexPatternField | undefined; + // (undocumented) + id?: string; + // (undocumented) + init(forceFieldRefresh?: boolean): Promise; + // (undocumented) + isTimeBased(): boolean; + // (undocumented) + isTimeBasedWildcard(): boolean; + // (undocumented) + isTimeNanosBased(): boolean; + // (undocumented) + isWildcard(): boolean; + // (undocumented) + metaFields: string[]; + // (undocumented) + popularizeField(fieldName: string, unit?: number): Promise; + // (undocumented) + prepBody(): { + [key: string]: any; + }; + // (undocumented) + refreshFields(): Promise; + // (undocumented) + removeScriptedField(field: IFieldType): Promise; + // (undocumented) + get routes(): { + edit: string; + addField: string; + indexedFields: string; + scriptedFields: string; + sourceFilters: string; + }; + // (undocumented) + save(saveAttempts?: number): Promise; + // (undocumented) + timeFieldName: string | undefined; + // (undocumented) + title: string; + // (undocumented) + toJSON(): string | undefined; + // (undocumented) + toString(): string; + // (undocumented) + type?: string; + // (undocumented) + typeMeta?: IndexPatternTypeMeta; + } + +// 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) +export type IndexPatternAggRestrictions = Record; + +// 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) "Field" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class IndexPatternField implements IFieldType { + // Warning: (ae-forgotten-export) The symbol "FieldSpec" needs to be exported by the entry point index.d.ts + // + // (undocumented) + $$spec: FieldSpec; + constructor(indexPattern: IndexPattern, spec: FieldSpec | IndexPatternField, shortDotsEnable?: boolean); + // (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) + routes: Record; + // (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) "FieldList" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class IndexPatternFieldList extends Array implements IFieldList { + constructor(indexPattern: IndexPattern, specs?: FieldSpec[], shortDotsEnable?: boolean); + // (undocumented) + add: (field: Record) => void; + // (undocumented) + getByName: (name: string) => IndexPatternField | undefined; + // (undocumented) + getByType: (type: string) => any[]; + // (undocumented) + remove: (field: IFieldType) => void; + // (undocumented) + update: (field: IndexPatternField) => void; +} + +// 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; + getFromSavedObject: typeof getFromSavedObject; + flattenHitWrapper: typeof flattenHitWrapper; + getRoutes: typeof getRoutes; + formatHitProvider: typeof formatHitProvider; +}; + +// Warning: (ae-forgotten-export) The symbol "IndexPatternsService" needs to be exported by the entry point index.d.ts +// 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) "IndexPatternSelect" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class IndexPatternSelect extends Component { + constructor(props: IndexPatternSelectProps); + // (undocumented) + componentDidMount(): void; + // (undocumented) + componentWillUnmount(): void; + // (undocumented) + debouncedFetch: ((searchValue: string) => Promise) & _.Cancelable; + // (undocumented) + fetchOptions: (searchValue?: string) => void; + // (undocumented) + fetchSelectedIndexPattern: (indexPatternId: string) => Promise; + // (undocumented) + onChange: (selectedOptions: any) => void; + // (undocumented) + render(): JSX.Element; + // Warning: (ae-forgotten-export) The symbol "IndexPatternSelectState" needs to be exported by the entry point index.d.ts + // + // (undocumented) + state: IndexPatternSelectState; + // (undocumented) + UNSAFE_componentWillReceiveProps(nextProps: IndexPatternSelectProps): void; +} + +// 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 IndexPatternTypeMeta { + // (undocumented) + [key: string]: any; + // (undocumented) + aggs?: Record; +} + +// Warning: (ae-missing-release-tag) "InputTimeRange" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type InputTimeRange = TimeRange | { + from: Moment; + to: Moment; +}; + +// 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 { + // (undocumented) + [key: string]: IKibanaSearchRequest; + // (undocumented) + [ES_SEARCH_STRATEGY]: IEsSearchRequest; + // (undocumented) + [SYNC_SEARCH_STRATEGY]: ISyncSearchRequest; +} + +// 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 { + // (undocumented) + [key: string]: IKibanaSearchResponse; + // (undocumented) + [ES_SEARCH_STRATEGY]: IEsSearchResponse; + // (undocumented) + [SYNC_SEARCH_STRATEGY]: IKibanaSearchResponse; +} + +// Warning: (ae-forgotten-export) The symbol "TStrategyTypes" needs to be exported by the entry point index.d.ts +// Warning: (ae-forgotten-export) The symbol "DEFAULT_SEARCH_STRATEGY" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "ISearch" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type ISearch = (request: IRequestTypesMap[T], options?: ISearchOptions) => Observable; + +// 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 { + // (undocumented) + core: CoreStart; + // (undocumented) + getSearchStrategy: (name: T) => TSearchStrategyProvider; +} + +// 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: IRequestTypesMap[T], options?: ISearchOptions, strategy?: T) => 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 { + // (undocumented) + signal?: AbortSignal; +} + +// Warning: (ae-missing-release-tag) "ISearchSource" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type ISearchSource = Pick; + +// 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) + search: ISearch; +} + +// Warning: (ae-missing-release-tag) "ISyncSearchRequest" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface ISyncSearchRequest extends IKibanaSearchRequest { + // (undocumented) + serverStrategy: string; +} + +// @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) "MatchAllFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type MatchAllFilter = Filter & { + meta: MatchAllFilterMeta; + match_all: any; +}; + +// 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-missing-release-tag) "PhraseFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type PhraseFilter = Filter & { + meta: PhraseFilterMeta; + script?: { + script: { + source?: any; + lang?: string; + params: any; + }; + }; +}; + +// Warning: (ae-missing-release-tag) "PhrasesFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type PhrasesFilter = Filter & { + meta: PhrasesFilterMeta; +}; + +// 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 Plugin implements Plugin_2 { + constructor(initializerContext: PluginInitializerContext_2); + // Warning: (ae-forgotten-export) The symbol "DataSetupDependencies" needs to be exported by the entry point index.d.ts + // + // (undocumented) + setup(core: CoreSetup, { uiActions }: DataSetupDependencies): DataPublicPluginSetup; + // Warning: (ae-forgotten-export) The symbol "DataStartDependencies" needs to be exported by the entry point index.d.ts + // + // (undocumented) + start(core: CoreStart_2, { uiActions }: DataStartDependencies): DataPublicPluginStart; + // (undocumented) + stop(): void; + } + +// 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): Plugin; + +// 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) "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) + refreshInterval?: RefreshInterval; + // (undocumented) + time?: TimeRange; +} + +// Warning: (ae-forgotten-export) The symbol "Props" needs to be exported by the entry point index.d.ts +// 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: React.FC>; + +// @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; + // (undocumented) + query: string; + // (undocumented) + selectionEnd: number; + // (undocumented) + selectionStart: number; + // (undocumented) + signal?: AbortSignal; +} + +// 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-forgotten-export) The symbol "EsRangeFilter" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "RangeFilter" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type RangeFilter = Filter & EsRangeFilter & { + meta: RangeFilterMeta; + script?: { + script: { + params: any; + lang: string; + source: any; + }; + }; + match_all?: any; +}; + +// Warning: (ae-missing-release-tag) "RangeFilterMeta" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type RangeFilterMeta = FilterMeta & { + params: RangeFilterParams; + field?: any; + formattedValue?: string; +}; + +// Warning: (ae-missing-release-tag) "RangeFilterParams" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface RangeFilterParams { + // (undocumented) + format?: string; + // (undocumented) + from?: number | string; + // (undocumented) + gt?: number | string; + // (undocumented) + gte?: number | string; + // (undocumented) + lt?: number | string; + // (undocumented) + lte?: number | string; + // (undocumented) + to?: number | 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 interface RefreshInterval { + // (undocumented) + 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) +// +// @public (undocumented) +export interface SavedQuery { + // (undocumented) + attributes: SavedQueryAttributes; + // (undocumented) + id: string; +} + +// Warning: (ae-missing-release-tag) "SavedQueryAttributes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface SavedQueryAttributes { + // (undocumented) + description: string; + // (undocumented) + filters?: Filter[]; + // (undocumented) + query: Query; + // (undocumented) + timefilter?: SavedQueryTimeFilter; + // (undocumented) + title: 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) "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" | "isLoading" | "indexPatterns" | "filters" | "refreshInterval" | "screenTitle" | "dataTestSubj" | "customSubmitButton" | "showQueryBar" | "showQueryInput" | "showFilterBar" | "showDatePicker" | "showAutoRefreshOnly" | "isRefreshPaused" | "dateRangeFrom" | "dateRangeTo" | "showSaveQuery" | "savedQuery" | "onQueryChange" | "onQuerySubmit" | "onSaved" | "onSavedQueryUpdated" | "onClearSavedQuery" | "onRefresh" | "timeHistory" | "onFiltersUpdated" | "onRefreshChange">, 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; + +// Warning: (ae-missing-release-tag) "SearchError" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class SearchError extends Error { + // Warning: (ae-forgotten-export) The symbol "SearchErrorOptions" needs to be exported by the entry point index.d.ts + constructor({ status, title, message, path, type }: SearchErrorOptions); + // (undocumented) + message: string; + // (undocumented) + name: string; + // (undocumented) + path: string; + // (undocumented) + status: string; + // (undocumented) + title: string; + // (undocumented) + type: string; +} + +// Warning: (ae-missing-release-tag) "SearchRequest" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type SearchRequest = any; + +// Warning: (ae-missing-release-tag) "SearchResponse" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type SearchResponse = any; + +// Warning: (ae-missing-release-tag) "SearchSource" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export class SearchSource { + constructor(fields?: SearchSourceFields); + // (undocumented) + create(): SearchSource; + // (undocumented) + createChild(options?: {}): SearchSource; + // (undocumented) + createCopy(): SearchSource; + destroy(): void; + fetch(options?: FetchOptions): Promise; + getField(field: K, recurse?: boolean): SearchSourceFields[K]; + // (undocumented) + getFields(): { + type?: string | undefined; + query?: import("../..").Query | undefined; + filter?: Filter | Filter[] | (() => Filter | Filter[] | undefined) | undefined; + sort?: Record | Record[] | undefined; + highlight?: any; + highlightAll?: boolean | undefined; + aggs?: any; + from?: number | undefined; + size?: number | undefined; + source?: string | boolean | string[] | undefined; + version?: boolean | undefined; + fields?: string | boolean | string[] | undefined; + index?: import("../..").IndexPattern | undefined; + searchAfter?: import("./types").EsQuerySearchAfter | undefined; + timeout?: string | undefined; + terminate_after?: number | undefined; + }; + // (undocumented) + getId(): string; + getOwnField(field: K): SearchSourceFields[K]; + getParent(): SearchSource | undefined; + // (undocumented) + getSearchRequestBody(): Promise; + // (undocumented) + history: SearchRequest[]; + onRequestStart(handler: (searchSource: ISearchSource, options?: FetchOptions) => Promise): void; + // (undocumented) + setField(field: K, value: SearchSourceFields[K]): this; + // (undocumented) + 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 (undocumented) +export interface SearchSourceFields { + // (undocumented) + aggs?: any; + // (undocumented) + fields?: NameList; + // (undocumented) + filter?: Filter[] | Filter | (() => Filter[] | Filter | undefined); + // (undocumented) + from?: number; + // (undocumented) + highlight?: any; + // (undocumented) + highlightAll?: boolean; + // (undocumented) + index?: IndexPattern; + // (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?: NameList; + // (undocumented) + terminate_after?: number; + // (undocumented) + timeout?: string; + // (undocumented) + type?: string; + // (undocumented) + version?: boolean; +} + +// Warning: (ae-missing-release-tag) "SearchStrategyProvider" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface SearchStrategyProvider { + // (undocumented) + id: string; + // (undocumented) + isViable: (indexPattern: IndexPattern) => boolean; + // Warning: (ae-forgotten-export) The symbol "SearchStrategySearchParams" needs to be exported by the entry point index.d.ts + // Warning: (ae-forgotten-export) The symbol "SearchStrategyResponse" needs to be exported by the entry point index.d.ts + // + // (undocumented) + search: (params: SearchStrategySearchParams) => SearchStrategyResponse; +} + +// 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-missing-release-tag) "SYNC_SEARCH_STRATEGY" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export const SYNC_SEARCH_STRATEGY = "SYNC_SEARCH_STRATEGY"; + +// 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<{ + filterManager: import("..").FilterManager; + timefilter: import("..").TimefilterSetup; + state$: import("rxjs").Observable<{ + changes: import("./types").QueryStateChange; + state: QueryState; + }>; + savedQueries: import("..").SavedQueryService; +} | { + filterManager: import("..").FilterManager; + timefilter: import("..").TimefilterSetup; + state$: import("rxjs").Observable<{ + changes: import("./types").QueryStateChange; + state: QueryState; + }>; +}, "state$" | "timefilter" | "filterManager">, 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; + +// @public (undocumented) +export interface TimefilterSetup { + // (undocumented) + history: TimeHistoryContract; + // (undocumented) + timefilter: TimefilterContract; +} + +// 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 interface TimeRange { + // (undocumented) + from: string; + // (undocumented) + mode?: 'absolute' | 'relative'; + // (undocumented) + to: string; +} + +// 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) => ISearchStrategy; + + +// Warnings were encountered during analysis: +// +// src/plugins/data/common/es_query/filters/exists_filter.ts:30:3 - (ae-forgotten-export) The symbol "ExistsFilterMeta" needs to be exported by the entry point index.d.ts +// src/plugins/data/common/es_query/filters/exists_filter.ts:31:3 - (ae-forgotten-export) The symbol "FilterExistsProperty" needs to be exported by the entry point index.d.ts +// src/plugins/data/common/es_query/filters/match_all_filter.ts:28:3 - (ae-forgotten-export) The symbol "MatchAllFilterMeta" needs to be exported by the entry point index.d.ts +// src/plugins/data/common/es_query/filters/phrase_filter.ts:33:3 - (ae-forgotten-export) The symbol "PhraseFilterMeta" needs to be exported by the entry point index.d.ts +// src/plugins/data/common/es_query/filters/phrases_filter.ts:31:3 - (ae-forgotten-export) The symbol "PhrasesFilterMeta" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:65:23 - (ae-forgotten-export) The symbol "FilterLabel" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:65:23 - (ae-forgotten-export) The symbol "FILTERS" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:65:23 - (ae-forgotten-export) The symbol "getDisplayValueFromFilter" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:65:23 - (ae-forgotten-export) The symbol "generateFilters" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:65:23 - (ae-forgotten-export) The symbol "changeTimeFilter" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:65:23 - (ae-forgotten-export) The symbol "extractTimeFilter" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:135:21 - (ae-forgotten-export) The symbol "buildEsQuery" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:135:21 - (ae-forgotten-export) The symbol "getEsQueryConfig" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:135:21 - (ae-forgotten-export) The symbol "luceneStringToDsl" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:135:21 - (ae-forgotten-export) The symbol "decorateQuery" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "FieldFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "FieldFormatsRegistry" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "BoolFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "BytesFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "ColorFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "DateNanosFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "DurationFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "IpFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "NumberFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "PercentFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "RelativeDateFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "SourceFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "StaticLookupFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "UrlFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "StringFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:177:26 - (ae-forgotten-export) The symbol "TruncateFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:234:27 - (ae-forgotten-export) The symbol "isFilterable" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:234:27 - (ae-forgotten-export) The symbol "isNestedField" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:234:27 - (ae-forgotten-export) The symbol "validateIndexPattern" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:234:27 - (ae-forgotten-export) The symbol "getFromSavedObject" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:234:27 - (ae-forgotten-export) The symbol "flattenHitWrapper" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:234:27 - (ae-forgotten-export) The symbol "getRoutes" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/index.ts:234:27 - (ae-forgotten-export) The symbol "formatHitProvider" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/query/state_sync/connect_to_query_state.ts:34:33 - (ae-forgotten-export) The symbol "FilterStateStore" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/query/state_sync/connect_to_query_state.ts:38:1 - (ae-forgotten-export) The symbol "QueryStateChange" needs to be exported by the entry point index.d.ts +// src/plugins/data/public/types.ts:54:5 - (ae-forgotten-export) The symbol "IndexPatternSelectProps" needs to be exported by the entry point index.d.ts + +// (No @packageDocumentation comment for this package) + +``` diff --git a/src/plugins/data/public/types.ts b/src/plugins/data/public/types.ts index 80646bb4668d2..c1480920809dd 100644 --- a/src/plugins/data/public/types.ts +++ b/src/plugins/data/public/types.ts @@ -17,6 +17,7 @@ * under the License. */ +import React from 'react'; import { CoreStart } from 'src/core/public'; import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; import { UiActionsSetup, UiActionsStart } from 'src/plugins/ui_actions/public'; diff --git a/src/plugins/data/public/ui/index.ts b/src/plugins/data/public/ui/index.ts index 5a1ad9957d7d7..cb46a838a8c30 100644 --- a/src/plugins/data/public/ui/index.ts +++ b/src/plugins/data/public/ui/index.ts @@ -17,7 +17,7 @@ * under the License. */ -export { SuggestionsComponent } from './typeahead/suggestions_component'; +export { SuggestionsComponent } from './typeahead'; export { IndexPatternSelect } from './index_pattern_select'; export { FilterBar } from './filter_bar'; export { QueryStringInput } from './query_string_input/query_string_input'; diff --git a/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx b/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx index f9a0ae4e803c4..7183f14bdb255 100644 --- a/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx +++ b/src/plugins/data/public/ui/saved_query_form/save_query_form.tsx @@ -17,7 +17,7 @@ * under the License. */ -import React, { FunctionComponent, useEffect, useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { EuiButtonEmpty, EuiOverlayMask, @@ -53,14 +53,14 @@ export interface SavedQueryMeta { shouldIncludeTimefilter: boolean; } -export const SaveQueryForm: FunctionComponent = ({ +export function SaveQueryForm({ savedQuery, savedQueryService, onSave, onClose, showFilterOption = true, showTimeFilterOption = true, -}) => { +}: Props) { const [title, setTitle] = useState(savedQuery ? savedQuery.title : ''); const [description, setDescription] = useState(savedQuery ? savedQuery.description : ''); const [savedQueries, setSavedQueries] = useState([]); @@ -254,4 +254,4 @@ export const SaveQueryForm: FunctionComponent = ({ ); -}; +} diff --git a/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx b/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx index 55615dea9fdb7..6ca1b7582001f 100644 --- a/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx +++ b/src/plugins/data/public/ui/saved_query_management/saved_query_management_component.tsx @@ -33,7 +33,7 @@ import { } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import React, { FunctionComponent, useEffect, useState, Fragment, useRef } from 'react'; +import React, { useEffect, useState, Fragment, useRef } from 'react'; import { sortBy } from 'lodash'; import { SavedQuery, SavedQueryService } from '../..'; import { SavedQueryListItem } from './saved_query_list_item'; @@ -49,7 +49,7 @@ interface Props { onClearSavedQuery: () => void; } -export const SavedQueryManagementComponent: FunctionComponent = ({ +export function SavedQueryManagementComponent({ showSaveQuery, loadedSavedQuery, onSave, @@ -57,7 +57,7 @@ export const SavedQueryManagementComponent: FunctionComponent = ({ onLoad, onClearSavedQuery, savedQueryService, -}) => { +}: Props) { const [isOpen, setIsOpen] = useState(false); const [savedQueries, setSavedQueries] = useState([] as SavedQuery[]); const [count, setTotalCount] = useState(0); @@ -316,4 +316,4 @@ export const SavedQueryManagementComponent: FunctionComponent = ({ ); -}; +} diff --git a/src/plugins/data/public/ui/search_bar/create_search_bar.tsx b/src/plugins/data/public/ui/search_bar/create_search_bar.tsx index 7d65e947c0f04..5ca334d6bdcfe 100644 --- a/src/plugins/data/public/ui/search_bar/create_search_bar.tsx +++ b/src/plugins/data/public/ui/search_bar/create_search_bar.tsx @@ -21,12 +21,13 @@ import React, { useState, useEffect, useRef } from 'react'; import { CoreStart } from 'src/core/public'; import { IStorageWrapper } from 'src/plugins/kibana_utils/public'; import { KibanaContextProvider } from '../../../../kibana_react/public'; -import { DataPublicPluginStart, Filter, Query, TimeRange, SavedQuery } from '../..'; -import { QueryStart } from '../../query'; +import { QueryStart, SavedQuery } from '../../query'; import { SearchBarOwnProps, SearchBar } from './search_bar'; import { useFilterManager } from './lib/use_filter_manager'; import { useTimefilter } from './lib/use_timefilter'; import { useSavedQuery } from './lib/use_saved_query'; +import { DataPublicPluginStart } from '../../types'; +import { Filter, Query, TimeRange } from '../../../common'; interface StatefulSearchBarDeps { core: CoreStart; diff --git a/src/plugins/data/public/ui/search_bar/search_bar.test.tsx b/src/plugins/data/public/ui/search_bar/search_bar.test.tsx index 56d444761153f..cf438eaa0e972 100644 --- a/src/plugins/data/public/ui/search_bar/search_bar.test.tsx +++ b/src/plugins/data/public/ui/search_bar/search_bar.test.tsx @@ -35,7 +35,7 @@ const mockTimeHistory = { }, }; -jest.mock('../..', () => { +jest.mock('..', () => { return { FilterBar: () =>
, }; diff --git a/src/plugins/data/public/ui/search_bar/search_bar.tsx b/src/plugins/data/public/ui/search_bar/search_bar.tsx index 5083a1e68c6dd..2371ccdde068c 100644 --- a/src/plugins/data/public/ui/search_bar/search_bar.tsx +++ b/src/plugins/data/public/ui/search_bar/search_bar.tsx @@ -25,18 +25,12 @@ import ResizeObserver from 'resize-observer-polyfill'; import { get, isEqual } from 'lodash'; import { withKibana, KibanaReactContextValue } from '../../../../kibana_react/public'; -import { - IDataPluginServices, - TimeRange, - Query, - Filter, - IIndexPattern, - FilterBar, - SavedQuery, -} from '../..'; + import { QueryBarTopRow } from '../query_string_input/query_bar_top_row'; -import { SavedQueryAttributes, TimeHistoryContract } from '../../query'; -import { SavedQueryMeta, SavedQueryManagementComponent, SaveQueryForm } from '..'; +import { SavedQueryAttributes, TimeHistoryContract, SavedQuery } from '../../query'; +import { IDataPluginServices } from '../../types'; +import { TimeRange, Query, Filter, IIndexPattern } from '../../../common'; +import { SavedQueryMeta, SavedQueryManagementComponent, SaveQueryForm, FilterBar } from '..'; interface SearchBarInjectedDeps { kibana: KibanaReactContextValue; diff --git a/src/plugins/data/public/ui/typeahead/index.ts b/src/plugins/data/public/ui/typeahead/index.ts new file mode 100644 index 0000000000000..38b51622b85f7 --- /dev/null +++ b/src/plugins/data/public/ui/typeahead/index.ts @@ -0,0 +1,20 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +export { SuggestionsComponent } from './suggestions_component'; diff --git a/src/plugins/data/public/ui/typeahead/suggestion_component.tsx b/src/plugins/data/public/ui/typeahead/suggestion_component.tsx index 4c46c4f802e6a..951e47165819f 100644 --- a/src/plugins/data/public/ui/typeahead/suggestion_component.tsx +++ b/src/plugins/data/public/ui/typeahead/suggestion_component.tsx @@ -19,7 +19,7 @@ import { EuiIcon } from '@elastic/eui'; import classNames from 'classnames'; -import React, { FunctionComponent } from 'react'; +import React from 'react'; import { QuerySuggestion } from '../../autocomplete'; function getEuiIconType(type: string) { @@ -48,7 +48,7 @@ interface Props { ariaId: string; } -export const SuggestionComponent: FunctionComponent = props => { +export function SuggestionComponent(props: Props) { return ( // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/interactive-supports-focus
= props => {
); -}; +} diff --git a/src/plugins/data/public/ui/typeahead/suggestions_component.tsx b/src/plugins/data/public/ui/typeahead/suggestions_component.tsx index 375bc63a2318c..cdc6cd5b9e772 100644 --- a/src/plugins/data/public/ui/typeahead/suggestions_component.tsx +++ b/src/plugins/data/public/ui/typeahead/suggestions_component.tsx @@ -19,7 +19,7 @@ import { isEmpty } from 'lodash'; import React, { Component } from 'react'; -import { QuerySuggestion } from '../..'; +import { QuerySuggestion } from '../../autocomplete'; import { SuggestionComponent } from './suggestion_component'; interface Props { diff --git a/src/plugins/data/server/plugins_data_server.api.md b/src/plugins/data/server/plugins_data_server.api.md new file mode 100644 index 0000000000000..0f0abe7df8a39 --- /dev/null +++ b/src/plugins/data/server/plugins_data_server.api.md @@ -0,0 +1,695 @@ +## 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 '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'; +import { ResponseObject } from 'hapi'; +import { ResponseToolkit } from '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 new file mode 100644 index 0000000000000..a1f59b776328c --- /dev/null +++ b/src/plugins/data/server/server.api.md @@ -0,0 +1,711 @@ +## 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 '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'; +import { ResponseObject } from 'hapi'; +import { ResponseToolkit } from '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: { + buildQueryFromFilters: (filters: import("../common").Filter[] | undefined, indexPattern: import("../common").IIndexPattern | undefined, ignoreFilterIfFieldNotInIndex?: boolean) => { + must: never[]; + filter: import("../common").Filter[]; + should: never[]; + must_not: import("../common").Filter[]; + }; + 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-forgotten-export) The symbol "SharedGlobalConfig" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "getDefaultSearchParams" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export function getDefaultSearchParams(config: SharedGlobalConfig): { + timeout: string; + ignoreUnavailable: boolean; + restTotalHitsAsInt: boolean; +}; + +// Warning: (ae-forgotten-export) The symbol "TStrategyTypes" needs to be exported by the entry point index.d.ts +// Warning: (ae-missing-release-tag) "ICancel" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type ICancel = (id: string) => Promise; + +// 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) "ISearch" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export type ISearch = (request: IRequestTypesMap[T], options?: ISearchOptions) => Promise; + +// 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 { + // (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) "ISearchOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal) +// +// @public (undocumented) +export interface ISearchOptions { + // (undocumented) + signal?: AbortSignal; +} + +// @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) + mode?: 'absolute' | 'relative'; + // (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; + + +// 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:70:21 - (ae-forgotten-export) The symbol "getEsQueryConfig" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:70:21 - (ae-forgotten-export) The symbol "buildEsQuery" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "FieldFormatsRegistry" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "FieldFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "BoolFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "BytesFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "ColorFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "DateNanosFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "DurationFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "IpFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "NumberFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "PercentFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "RelativeDateFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "SourceFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "StaticLookupFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "UrlFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "StringFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:102:26 - (ae-forgotten-export) The symbol "TruncateFormat" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:130:27 - (ae-forgotten-export) The symbol "isFilterable" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/index.ts:130:27 - (ae-forgotten-export) The symbol "isNestedField" needs to be exported by the entry point index.d.ts +// src/plugins/data/server/plugin.ts:62:14 - (ae-forgotten-export) The symbol "ISearchSetup" needs to be exported by the entry point index.d.ts + +// (No @packageDocumentation comment for this package) + +``` diff --git a/src/setup_node_env/harden.js b/src/setup_node_env/harden.js new file mode 100644 index 0000000000000..466cbfa0d92cf --- /dev/null +++ b/src/setup_node_env/harden.js @@ -0,0 +1,24 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +var hook = require('require-in-the-middle'); + +hook(['child_process'], function(exports, name) { + return require(`./patches/${name}`)(exports); // eslint-disable-line import/no-dynamic-require +}); diff --git a/src/setup_node_env/index.js b/src/setup_node_env/index.js index 897b7e617d8e1..0f51f47572be6 100644 --- a/src/setup_node_env/index.js +++ b/src/setup_node_env/index.js @@ -17,6 +17,7 @@ * under the License. */ +require('./harden'); // this require MUST be executed before any others require('symbol-observable'); require('./root'); require('./node_version_validator'); diff --git a/src/setup_node_env/patches/child_process.js b/src/setup_node_env/patches/child_process.js new file mode 100644 index 0000000000000..b89190d8085e6 --- /dev/null +++ b/src/setup_node_env/patches/child_process.js @@ -0,0 +1,76 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +// Ensure, when spawning a new child process, that the `options` and the +// `options.env` object passed to the child process function doesn't inherit +// from `Object.prototype`. This protects against similar RCE vulnerabilities +// as described in CVE-2019-7609 +module.exports = function(cp) { + // The `exec` function is currently just a wrapper around `execFile`. So for + // now there's no need to patch it. If this changes in the future, our tests + // will fail and we can uncomment the line below. + // + // cp.exec = new Proxy(cp.exec, { apply: patchOptions() }); + + cp.execFile = new Proxy(cp.execFile, { apply: patchOptions(true) }); + cp.fork = new Proxy(cp.fork, { apply: patchOptions(true) }); + cp.spawn = new Proxy(cp.spawn, { apply: patchOptions(true) }); + cp.execFileSync = new Proxy(cp.execFileSync, { apply: patchOptions(true) }); + cp.execSync = new Proxy(cp.execSync, { apply: patchOptions() }); + cp.spawnSync = new Proxy(cp.spawnSync, { apply: patchOptions(true) }); + + return cp; +}; + +function patchOptions(hasArgs) { + return function apply(target, thisArg, args) { + var pos = 1; + if (pos === args.length) { + // fn(arg1) + args[pos] = prototypelessSpawnOpts(); + } else if (pos < args.length) { + if (hasArgs && (Array.isArray(args[pos]) || args[pos] == null)) { + // fn(arg1, args, ...) + pos++; + } + + if (typeof args[pos] === 'object' && args[pos] !== null) { + // fn(arg1, {}, ...) + // fn(arg1, args, {}, ...) + args[pos] = prototypelessSpawnOpts(args[pos]); + } else if (args[pos] == null) { + // fn(arg1, null/undefined, ...) + // fn(arg1, args, null/undefined, ...) + args[pos] = prototypelessSpawnOpts(); + } else if (typeof args[pos] === 'function') { + // fn(arg1, callback) + // fn(arg1, args, callback) + args.splice(pos, 0, prototypelessSpawnOpts()); + } + } + + return target.apply(thisArg, args); + }; +} + +function prototypelessSpawnOpts(obj) { + var prototypelessObj = Object.assign(Object.create(null), obj); + prototypelessObj.env = Object.assign(Object.create(null), prototypelessObj.env || process.env); + return prototypelessObj; +} diff --git a/tasks/config/run.js b/tasks/config/run.js index a47634a93ef14..e19de8e894e33 100644 --- a/tasks/config/run.js +++ b/tasks/config/run.js @@ -118,10 +118,10 @@ module.exports = function(grunt) { // used by the test tasks // runs the check_core_api_changes script to ensure API changes are explictily accepted - checkCoreApiChanges: scriptWithGithubChecks({ + checkDocApiChanges: scriptWithGithubChecks({ title: 'Check core API changes', cmd: NODE, - args: ['scripts/check_core_api_changes'], + args: ['scripts/check_published_api_changes'], }), // used by the test and jenkins:unit tasks @@ -210,6 +210,12 @@ module.exports = function(grunt) { args: ['scripts/notice', '--validate'], }), + test_hardening: scriptWithGithubChecks({ + title: 'Node.js hardening tests', + cmd: NODE, + args: ['scripts/test_hardening.js'], + }), + apiIntegrationTests: scriptWithGithubChecks({ title: 'API integration tests', cmd: NODE, diff --git a/tasks/jenkins.js b/tasks/jenkins.js index b40908c9b56c3..33cbb0c6b2e17 100644 --- a/tasks/jenkins.js +++ b/tasks/jenkins.js @@ -24,7 +24,7 @@ module.exports = function(grunt) { 'run:eslint', 'run:sasslint', 'run:checkTsProjects', - 'run:checkCoreApiChanges', + 'run:checkDocApiChanges', 'run:typeCheck', 'run:i18nCheck', 'run:checkFileCasing', @@ -37,6 +37,7 @@ module.exports = function(grunt) { 'run:test_jest_integration', 'run:test_projects', 'run:test_karma_ci', + 'run:test_hardening', 'run:apiIntegrationTests', ]); }; diff --git a/tasks/test.js b/tasks/test.js index c995502836378..504247f5b5355 100644 --- a/tasks/test.js +++ b/tasks/test.js @@ -72,7 +72,7 @@ module.exports = function(grunt) { !grunt.option('quick') && 'run:eslint', !grunt.option('quick') && 'run:sasslint', !grunt.option('quick') && 'run:checkTsProjects', - !grunt.option('quick') && 'run:checkCoreApiChanges', + !grunt.option('quick') && 'run:checkDocApiChanges', !grunt.option('quick') && 'run:typeCheck', !grunt.option('quick') && 'run:i18nCheck', 'run:checkFileCasing', diff --git a/test/api_integration/apis/saved_objects/export.js b/test/api_integration/apis/saved_objects/export.js index ace65f190dec2..fc9ab8140869c 100644 --- a/test/api_integration/apis/saved_objects/export.js +++ b/test/api_integration/apis/saved_objects/export.js @@ -191,10 +191,28 @@ export default function({ getService }) { expect(resp.body).to.eql({ statusCode: 400, error: 'Bad Request', - message: - '[request body.type]: types that failed validation:\n' + - '- [request body.type.0]: expected value of type [string] but got [Array]\n' + - '- [request body.type.1.0]: wigwags is not exportable', + message: 'Trying to export non-exportable type(s): wigwags', + }); + }); + }); + + it(`should return 400 when exporting objects with unsupported type`, async () => { + await supertest + .post('/api/saved_objects/_export') + .send({ + objects: [ + { + type: 'wigwags', + id: '1', + }, + ], + }) + .expect(400) + .then(resp => { + expect(resp.body).to.eql({ + statusCode: 400, + error: 'Bad Request', + message: 'Trying to export object(s) with non-exportable types: wigwags:1', }); }); }); diff --git a/test/harden/_echo.sh b/test/harden/_echo.sh new file mode 100755 index 0000000000000..a0114be41d1d7 --- /dev/null +++ b/test/harden/_echo.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env sh + +echo $POLLUTED$custom diff --git a/test/harden/_fork.js b/test/harden/_fork.js new file mode 100644 index 0000000000000..c088737f02e6d --- /dev/null +++ b/test/harden/_fork.js @@ -0,0 +1,20 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +console.log(`${process.env.POLLUTED || ''}${process.env.custom || ''}`); diff --git a/test/harden/child_process.js b/test/harden/child_process.js new file mode 100644 index 0000000000000..11e2eeb07e0b6 --- /dev/null +++ b/test/harden/child_process.js @@ -0,0 +1,587 @@ +/* + * Licensed to Elasticsearch B.V. under one or more contributor + * license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright + * ownership. Elasticsearch B.V. licenses this file to you under + * the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +require('../../src/setup_node_env'); + +const cp = require('child_process'); +const path = require('path'); +const test = require('tape'); + +Object.prototype.POLLUTED = 'polluted!'; // eslint-disable-line no-extend-native + +const notSet = [null, undefined]; + +test.onFinish(() => { + delete Object.prototype.POLLUTED; +}); + +test('test setup ok', t => { + t.equal({}.POLLUTED, 'polluted!'); + t.end(); +}); + +// TODO: fork() has been omitted as it doesn't validate its arguments in +// Node.js 10 and will throw an internal error asynchronously. This is fixed in +// newer versions. See https://github.com/elastic/kibana/issues/59628 +const functions = ['exec', 'execFile', 'spawn', 'execFileSync', 'execSync', 'spawnSync']; +for (const name of functions) { + test(`${name}()`, t => { + t.throws(() => cp[name](), /argument must be of type string/); + t.end(); + }); +} + +{ + const command = 'echo $POLLUTED$custom'; + + test('exec(command)', t => { + assertProcess(t, cp.exec(command)); + }); + + test('exec(command, callback)', t => { + cp.exec(command, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), ''); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + test('exec(command, options)', t => { + assertProcess(t, cp.exec(command, {})); + }); + + test('exec(command, options) - with custom env', t => { + assertProcess(t, cp.exec(command, { env: { custom: 'custom' } }), { stdout: 'custom' }); + }); + + test('exec(command, options, callback)', t => { + cp.exec(command, {}, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), ''); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + test('exec(command, options, callback) - with custom env', t => { + cp.exec(command, { env: { custom: 'custom' } }, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), 'custom'); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + for (const unset of notSet) { + test(`exec(command, ${unset})`, t => { + assertProcess(t, cp.exec(command, unset)); + }); + + test(`exec(command, ${unset}, callback)`, t => { + cp.exec(command, unset, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), ''); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + } +} + +{ + const file = path.join('test', 'harden', '_echo.sh'); + + test('execFile(file)', t => { + assertProcess(t, cp.execFile(file)); + }); + + test('execFile(file, args)', t => { + assertProcess(t, cp.execFile(file, [])); + }); + + test('execFile(file, callback)', t => { + cp.execFile(file, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), ''); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + test('execFile(file, options)', t => { + assertProcess(t, cp.execFile(file, {})); + }); + + test('execFile(file, options) - with custom env', t => { + assertProcess(t, cp.execFile(file, { env: { custom: 'custom' } }), { stdout: 'custom' }); + }); + + test('execFile(file, options, callback)', t => { + cp.execFile(file, {}, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), ''); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + test('execFile(file, options, callback) - with custom env', t => { + cp.execFile(file, { env: { custom: 'custom' } }, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), 'custom'); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + test('execFile(file, args, callback)', t => { + cp.execFile(file, [], (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), ''); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + test('execFile(file, args, options)', t => { + assertProcess(t, cp.execFile(file, [], {})); + }); + + test('execFile(file, args, options) - with custom env', t => { + assertProcess(t, cp.execFile(file, [], { env: { custom: 'custom' } }), { stdout: 'custom' }); + }); + + test('execFile(file, args, options, callback)', t => { + cp.execFile(file, [], {}, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), ''); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + test('execFile(file, args, options, callback) - with custom env', t => { + cp.execFile(file, [], { env: { custom: 'custom' } }, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), 'custom'); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + for (const unset of notSet) { + test(`execFile(file, ${unset})`, t => { + assertProcess(t, cp.execFile(file, unset)); + }); + + test(`execFile(file, ${unset}, ${unset})`, t => { + assertProcess(t, cp.execFile(file, unset, unset)); + }); + + test(`execFile(file, ${unset}, callback)`, t => { + cp.execFile(file, unset, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), ''); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + test(`execFile(file, ${unset}, ${unset}, callback)`, t => { + cp.execFile(file, unset, unset, (err, stdout, stderr) => { + t.error(err); + t.equal(stdout.trim(), ''); + t.equal(stderr.trim(), ''); + t.end(); + }); + }); + + test(`execFile(file, ${unset}, options)`, t => { + assertProcess(t, cp.execFile(file, unset, {})); + }); + } +} + +{ + const modulePath = path.join('test', 'harden', '_fork.js'); + + // NOTE: Forked processes don't have any stdout we can monitor without providing options + test.skip('fork(modulePath)', t => { + assertProcess(t, cp.fork(modulePath)); + }); + + // NOTE: Forked processes don't have any stdout we can monitor without providing options + test.skip('execFile(file, args)', t => { + assertProcess(t, cp.fork(modulePath, [])); + }); + + test('fork(modulePath, options)', t => { + assertProcess( + t, + cp.fork(modulePath, { + stdio: ['pipe', 'pipe', 'pipe', 'ipc'], + }) + ); + }); + + test('fork(modulePath, options) - with custom env', t => { + assertProcess( + t, + cp.fork(modulePath, { + stdio: ['pipe', 'pipe', 'pipe', 'ipc'], + env: { custom: 'custom' }, + }), + { stdout: 'custom' } + ); + }); + + test('fork(modulePath, args, options)', t => { + assertProcess( + t, + cp.fork(modulePath, [], { + stdio: ['pipe', 'pipe', 'pipe', 'ipc'], + }) + ); + }); + + test('fork(modulePath, args, options) - with custom env', t => { + assertProcess( + t, + cp.fork(modulePath, [], { + stdio: ['pipe', 'pipe', 'pipe', 'ipc'], + env: { custom: 'custom' }, + }), + { stdout: 'custom' } + ); + }); + + for (const unset of notSet) { + // NOTE: Forked processes don't have any stdout we can monitor without providing options + test.skip(`fork(modulePath, ${unset})`, t => { + assertProcess(t, cp.fork(modulePath, unset)); + }); + + // NOTE: Forked processes don't have any stdout we can monitor without providing options + test.skip(`fork(modulePath, ${unset}, ${unset})`, t => { + assertProcess(t, cp.fork(modulePath, unset, unset)); + }); + + test(`fork(modulePath, ${unset}, options)`, t => { + assertProcess( + t, + cp.fork(modulePath, unset, { + stdio: ['pipe', 'pipe', 'pipe', 'ipc'], + }) + ); + }); + } +} + +{ + const command = path.join('test', 'harden', '_echo.sh'); + + test('spawn(command)', t => { + assertProcess(t, cp.spawn(command)); + }); + + test('spawn(command, args)', t => { + assertProcess(t, cp.spawn(command, [])); + }); + + test('spawn(command, options)', t => { + assertProcess(t, cp.spawn(command, {})); + }); + + test('spawn(command, options) - with custom env', t => { + assertProcess(t, cp.spawn(command, { env: { custom: 'custom' } }), { stdout: 'custom' }); + }); + + test('spawn(command, args, options)', t => { + assertProcess(t, cp.spawn(command, [], {})); + }); + + test('spawn(command, args, options) - with custom env', t => { + assertProcess(t, cp.spawn(command, [], { env: { custom: 'custom' } }), { stdout: 'custom' }); + }); + + for (const unset of notSet) { + test(`spawn(command, ${unset})`, t => { + assertProcess(t, cp.spawn(command, unset)); + }); + + test(`spawn(command, ${unset}, ${unset})`, t => { + assertProcess(t, cp.spawn(command, unset, unset)); + }); + + test(`spawn(command, ${unset}, options)`, t => { + assertProcess(t, cp.spawn(command, unset, {})); + }); + } +} + +{ + const file = path.join('test', 'harden', '_echo.sh'); + + test('execFileSync(file)', t => { + t.equal( + cp + .execFileSync(file) + .toString() + .trim(), + '' + ); + t.end(); + }); + + test('execFileSync(file, args)', t => { + t.equal( + cp + .execFileSync(file, []) + .toString() + .trim(), + '' + ); + t.end(); + }); + + test('execFileSync(file, options)', t => { + t.equal( + cp + .execFileSync(file, {}) + .toString() + .trim(), + '' + ); + t.end(); + }); + + test('execFileSync(file, options) - with custom env', t => { + t.equal( + cp + .execFileSync(file, { env: { custom: 'custom' } }) + .toString() + .trim(), + 'custom' + ); + t.end(); + }); + + test('execFileSync(file, args, options)', t => { + t.equal( + cp + .execFileSync(file, [], {}) + .toString() + .trim(), + '' + ); + t.end(); + }); + + test('execFileSync(file, args, options) - with custom env', t => { + t.equal( + cp + .execFileSync(file, [], { env: { custom: 'custom' } }) + .toString() + .trim(), + 'custom' + ); + t.end(); + }); + + for (const unset of notSet) { + test(`execFileSync(file, ${unset})`, t => { + t.equal( + cp + .execFileSync(file, unset) + .toString() + .trim(), + '' + ); + t.end(); + }); + + test(`execFileSync(file, ${unset}, ${unset})`, t => { + t.equal( + cp + .execFileSync(file, unset, unset) + .toString() + .trim(), + '' + ); + t.end(); + }); + + test(`execFileSync(file, ${unset}, options)`, t => { + t.equal( + cp + .execFileSync(file, unset, {}) + .toString() + .trim(), + '' + ); + t.end(); + }); + } +} + +{ + const command = 'echo $POLLUTED$custom'; + + test('execSync(command)', t => { + t.equal( + cp + .execSync(command) + .toString() + .trim(), + '' + ); + t.end(); + }); + + test('execSync(command, options)', t => { + t.equal( + cp + .execSync(command, {}) + .toString() + .trim(), + '' + ); + t.end(); + }); + + test('execSync(command, options) - with custom env', t => { + t.equal( + cp + .execSync(command, { env: { custom: 'custom' } }) + .toString() + .trim(), + 'custom' + ); + t.end(); + }); + + for (const unset of notSet) { + test(`execSync(command, ${unset})`, t => { + t.equal( + cp + .execSync(command, unset) + .toString() + .trim(), + '' + ); + t.end(); + }); + } +} + +{ + const command = path.join('test', 'harden', '_echo.sh'); + + test('spawnSync(command)', t => { + const result = cp.spawnSync(command); + t.error(result.error); + t.equal(result.stdout.toString().trim(), ''); + t.equal(result.stderr.toString().trim(), ''); + t.end(); + }); + + test('spawnSync(command, args)', t => { + const result = cp.spawnSync(command, []); + t.error(result.error); + t.equal(result.stdout.toString().trim(), ''); + t.equal(result.stderr.toString().trim(), ''); + t.end(); + }); + + test('spawnSync(command, options)', t => { + const result = cp.spawnSync(command, {}); + t.error(result.error); + t.equal(result.stdout.toString().trim(), ''); + t.equal(result.stderr.toString().trim(), ''); + t.end(); + }); + + test('spawnSync(command, options) - with custom env', t => { + const result = cp.spawnSync(command, { env: { custom: 'custom' } }); + t.error(result.error); + t.equal(result.stdout.toString().trim(), 'custom'); + t.equal(result.stderr.toString().trim(), ''); + t.end(); + }); + + test('spawnSync(command, args, options)', t => { + const result = cp.spawnSync(command, [], {}); + t.error(result.error); + t.equal(result.stdout.toString().trim(), ''); + t.equal(result.stderr.toString().trim(), ''); + t.end(); + }); + + test('spawnSync(command, args, options) - with custom env', t => { + const result = cp.spawnSync(command, [], { env: { custom: 'custom' } }); + t.error(result.error); + t.equal(result.stdout.toString().trim(), 'custom'); + t.equal(result.stderr.toString().trim(), ''); + t.end(); + }); + + for (const unset of notSet) { + test(`spawnSync(command, ${unset})`, t => { + const result = cp.spawnSync(command, unset); + t.error(result.error); + t.equal(result.stdout.toString().trim(), ''); + t.equal(result.stderr.toString().trim(), ''); + t.end(); + }); + + test(`spawnSync(command, ${unset}, ${unset})`, t => { + const result = cp.spawnSync(command, unset, unset); + t.error(result.error); + t.equal(result.stdout.toString().trim(), ''); + t.equal(result.stderr.toString().trim(), ''); + t.end(); + }); + + test(`spawnSync(command, ${unset}, options)`, t => { + const result = cp.spawnSync(command, unset, {}); + t.error(result.error); + t.equal(result.stdout.toString().trim(), ''); + t.equal(result.stderr.toString().trim(), ''); + t.end(); + }); + } +} + +function assertProcess(t, cmd, { stdout = '' } = {}) { + t.plan(2); + + cmd.stdout.on('data', data => { + t.equal(data.toString().trim(), stdout); + }); + + cmd.stderr.on('data', data => { + t.fail(`Unexpected data on STDERR: "${data}"`); + }); + + cmd.on('close', code => { + t.equal(code, 0); + t.end(); + }); +} diff --git a/x-pack/dev-tools/jest/create_jest_config.js b/x-pack/dev-tools/jest/create_jest_config.js index 2d8a0be7a416f..6d15072f720c1 100644 --- a/x-pack/dev-tools/jest/create_jest_config.js +++ b/x-pack/dev-tools/jest/create_jest_config.js @@ -40,6 +40,7 @@ export function createJestConfig({ kibanaDirectory, xPackKibanaDirectory }) { setupFilesAfterEnv: [ `/dev-tools/jest/setup/setup_test.js`, `${kibanaDirectory}/src/dev/jest/setup/mocks.js`, + `${kibanaDirectory}/src/dev/jest/setup/react_testing_library.js`, ], testMatch: ['**/*.test.{js,ts,tsx}'], transform: { diff --git a/x-pack/dev-tools/jest/setup/setup_test.js b/x-pack/dev-tools/jest/setup/setup_test.js index f54be89f30955..533ea58a561ac 100644 --- a/x-pack/dev-tools/jest/setup/setup_test.js +++ b/x-pack/dev-tools/jest/setup/setup_test.js @@ -10,4 +10,3 @@ */ import 'jest-styled-components'; -import '@testing-library/jest-dom/extend-expect'; diff --git a/x-pack/legacy/plugins/apm/public/components/app/ServiceMap/Cytoscape.tsx b/x-pack/legacy/plugins/apm/public/components/app/ServiceMap/Cytoscape.tsx index 64b82fc8886ca..d636f8b1f4d52 100644 --- a/x-pack/legacy/plugins/apm/public/components/app/ServiceMap/Cytoscape.tsx +++ b/x-pack/legacy/plugins/apm/public/components/app/ServiceMap/Cytoscape.tsx @@ -78,11 +78,11 @@ function getLayoutOptions( }; } -function selectRoots(elements: cytoscape.ElementDefinition[]): string[] { - const nodes = cytoscape({ elements }).nodes(); - const unconnectedNodes = nodes.roots().intersection(nodes.leaves()); +function selectRoots(cy: cytoscape.Core): string[] { + const nodes = cy.nodes(); + const roots = nodes.roots(); const rumNodes = nodes.filter(node => isRumAgentName(node.data('agentName'))); - return rumNodes.union(unconnectedNodes).map(node => node.id()); + return rumNodes.union(roots).map(node => node.id()); } export function Cytoscape({ @@ -118,7 +118,7 @@ export function Cytoscape({ } if (event.cy.elements().length > 0) { - const selectedRoots = selectRoots(elements); + const selectedRoots = selectRoots(event.cy); const layout = cy.layout( getLayoutOptions(selectedRoots, height, width) ); @@ -130,7 +130,7 @@ export function Cytoscape({ } } }, - [cy, serviceName, elements, height, width] + [cy, serviceName, height, width] ); // Trigger a custom "data" event when data changes diff --git a/x-pack/legacy/plugins/apm/public/components/app/ServiceMap/get_cytoscape_elements.ts b/x-pack/legacy/plugins/apm/public/components/app/ServiceMap/get_cytoscape_elements.ts index bc619b1ecdfe5..9ba70646598fc 100644 --- a/x-pack/legacy/plugins/apm/public/components/app/ServiceMap/get_cytoscape_elements.ts +++ b/x-pack/legacy/plugins/apm/public/components/app/ServiceMap/get_cytoscape_elements.ts @@ -136,12 +136,15 @@ export function getCytoscapeElements( // instead of adding connections in two directions, // we add a `bidirectional` flag to use in styling + // and hide the inverse edge when rendering const dedupedConnections = (sortBy( Object.values(connectionsById), // make sure that order is stable 'id' ) as ConnectionWithId[]).reduce< - Array + Array< + ConnectionWithId & { bidirectional?: boolean; isInverseEdge?: boolean } + > >((prev, connection) => { const reversedConnection = prev.find( c => @@ -151,7 +154,10 @@ export function getCytoscapeElements( if (reversedConnection) { reversedConnection.bidirectional = true; - return prev; + return prev.concat({ + ...connection, + isInverseEdge: true + }); } return prev.concat(connection); @@ -160,6 +166,7 @@ export function getCytoscapeElements( const cyEdges = dedupedConnections.map(connection => { return { group: 'edges' as const, + classes: connection.isInverseEdge ? 'invisible' : undefined, data: { id: connection.id, source: connection.source.id, diff --git a/x-pack/legacy/plugins/apm/public/components/shared/KeyValueTable/index.tsx b/x-pack/legacy/plugins/apm/public/components/shared/KeyValueTable/index.tsx index b58f142f1abaa..e8ed39bf9ac33 100644 --- a/x-pack/legacy/plugins/apm/public/components/shared/KeyValueTable/index.tsx +++ b/x-pack/legacy/plugins/apm/public/components/shared/KeyValueTable/index.tsx @@ -28,9 +28,9 @@ export function KeyValueTable({ {keyValuePairs.map(({ key, value }) => ( - {key} + {key} - + diff --git a/x-pack/legacy/plugins/canvas/.storybook/webpack.config.js b/x-pack/legacy/plugins/canvas/.storybook/webpack.config.js index e566952eea86b..85cb6d45c595d 100644 --- a/x-pack/legacy/plugins/canvas/.storybook/webpack.config.js +++ b/x-pack/legacy/plugins/canvas/.storybook/webpack.config.js @@ -49,7 +49,7 @@ module.exports = async ({ config }) => { // Parse props data for .tsx files // This is notoriously slow, and is making Storybook unusable. Disabling for now. // See: https://github.com/storybookjs/storybook/issues/7998 - // + // // config.module.rules.push({ // test: /\.tsx$/, // // Exclude example files, as we don't display props info for them @@ -177,14 +177,6 @@ module.exports = async ({ config }) => { config.resolve.alias['ui/chrome'] = path.resolve(__dirname, '../tasks/mocks/uiChrome'); config.resolve.alias.ui = path.resolve(KIBANA_ROOT, 'src/legacy/ui/public'); config.resolve.alias.ng_mock$ = path.resolve(KIBANA_ROOT, 'src/test_utils/public/ng_mock'); - config.resolve.alias['plugins/interpreter/interpreter'] = path.resolve( - KIBANA_ROOT, - 'packages/kbn-interpreter/target/common' - ); - config.resolve.alias['plugins/interpreter/registries'] = path.resolve( - KIBANA_ROOT, - 'packages/kbn-interpreter/target/common/registries' - ); return config; }; diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/functions/common/staticColumn.ts b/x-pack/legacy/plugins/canvas/canvas_plugin_src/functions/common/staticColumn.ts index 2354f2405de76..228d879c91a9c 100644 --- a/x-pack/legacy/plugins/canvas/canvas_plugin_src/functions/common/staticColumn.ts +++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/functions/common/staticColumn.ts @@ -6,7 +6,11 @@ // @ts-ignore untyped Elastic library import { getType } from '@kbn/interpreter/common'; -import { ExpressionFunctionDefinition, Datatable } from 'src/plugins/expressions/common'; +import { + ExpressionFunctionDefinition, + Datatable, + DatatableColumnType, +} from 'src/plugins/expressions/common'; import { getFunctionHelp } from '../../../i18n'; interface Arguments { @@ -42,7 +46,7 @@ export function staticColumn(): ExpressionFunctionDefinition< }, fn: (input, args) => { const rows = input.rows.map(row => ({ ...row, [args.name]: args.value })); - const type = getType(args.value); + const type = getType(args.value) as DatatableColumnType; const columns = [...input.columns]; const existingColumnIndex = columns.findIndex(({ name }) => name === args.name); const newColumn = { name: args.name, type }; diff --git a/x-pack/legacy/plugins/canvas/canvas_plugin_src/plugin.ts b/x-pack/legacy/plugins/canvas/canvas_plugin_src/plugin.ts new file mode 100644 index 0000000000000..7cd1efe9e27c8 --- /dev/null +++ b/x-pack/legacy/plugins/canvas/canvas_plugin_src/plugin.ts @@ -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; + * you may not use this file except in compliance with the Elastic License. + */ + +import { CoreSetup, CoreStart, Plugin } from 'src/core/public'; +import { CanvasSetup } from '../public'; + +import { functions } from './functions/browser'; +import { typeFunctions } from './expression_types'; +// @ts-ignore: untyped local +import { renderFunctions } from './renderers'; + +import { elementSpecs } from './elements'; +// @ts-ignore Untyped Local +import { transformSpecs } from './uis/transforms'; +// @ts-ignore Untyped Local +import { datasourceSpecs } from './uis/datasources'; +// @ts-ignore Untyped Local +import { modelSpecs } from './uis/models'; +// @ts-ignore Untyped Local +import { viewSpecs } from './uis/views'; +// @ts-ignore Untyped Local +import { args as argSpecs } from './uis/arguments'; +import { tagSpecs } from './uis/tags'; +import { templateSpecs } from './templates'; + +interface SetupDeps { + canvas: CanvasSetup; +} + +/** @internal */ +export class CanvasSrcPlugin implements Plugin<{}, {}, SetupDeps, {}> { + public setup(core: CoreSetup, plugins: SetupDeps) { + plugins.canvas.addFunctions(functions); + plugins.canvas.addTypes(typeFunctions); + plugins.canvas.addRenderers(renderFunctions); + + plugins.canvas.addElements(elementSpecs); + plugins.canvas.addDatasourceUIs(datasourceSpecs); + plugins.canvas.addModelUIs(modelSpecs); + plugins.canvas.addViewUIs(viewSpecs); + plugins.canvas.addArgumentUIs(argSpecs); + plugins.canvas.addTagUIs(tagSpecs); + plugins.canvas.addTemplates(templateSpecs); + plugins.canvas.addTransformUIs(transformSpecs); + + return {}; + } + + public start(core: CoreStart, plugins: {}) { + return {}; + } +} diff --git a/x-pack/legacy/plugins/canvas/i18n/functions/dict/filters.ts b/x-pack/legacy/plugins/canvas/i18n/functions/dict/filters.ts index 4f5cb395b9d88..d0aad05ddd5d3 100644 --- a/x-pack/legacy/plugins/canvas/i18n/functions/dict/filters.ts +++ b/x-pack/legacy/plugins/canvas/i18n/functions/dict/filters.ts @@ -3,13 +3,12 @@ * or more contributor license agreements. Licensed under the Elastic License; * you may not use this file except in compliance with the Elastic License. */ - import { i18n } from '@kbn/i18n'; -import { filters } from '../../../public/functions/filters'; +import { filtersFunctionFactory } from '../../../public/functions/filters'; import { FunctionHelp } from '../function_help'; import { FunctionFactory } from '../../../types'; -export const help: FunctionHelp> = { +export const help: FunctionHelp>> = { help: i18n.translate('xpack.canvas.functions.filtersHelpText', { defaultMessage: 'Aggregates element filters from the workpad for use elsewhere, usually a data source.', diff --git a/x-pack/legacy/plugins/canvas/i18n/functions/dict/to.ts b/x-pack/legacy/plugins/canvas/i18n/functions/dict/to.ts index 2cf812cfb13db..c618f84aeaf2b 100644 --- a/x-pack/legacy/plugins/canvas/i18n/functions/dict/to.ts +++ b/x-pack/legacy/plugins/canvas/i18n/functions/dict/to.ts @@ -5,12 +5,12 @@ */ import { i18n } from '@kbn/i18n'; -import { to } from '../../../public/functions/to'; +import { toFunctionFactory } from '../../../public/functions/to'; import { FunctionHelp } from '../function_help'; import { FunctionFactory } from '../../../types'; import { CONTEXT } from '../../constants'; -export const help: FunctionHelp> = { +export const help: FunctionHelp>> = { help: i18n.translate('xpack.canvas.functions.toHelpText', { defaultMessage: 'Explicitly casts the type of the {CONTEXT} to the specified type.', values: { diff --git a/x-pack/legacy/plugins/canvas/index.js b/x-pack/legacy/plugins/canvas/index.js index b357ec9c0b61e..489b9600f200e 100644 --- a/x-pack/legacy/plugins/canvas/index.js +++ b/x-pack/legacy/plugins/canvas/index.js @@ -26,11 +26,7 @@ export function canvas(kibana) { main: 'plugins/canvas/legacy_start', category: DEFAULT_APP_CATEGORIES.analyze, }, - interpreter: [ - 'plugins/canvas/browser_functions', - 'plugins/canvas/renderers', - 'plugins/canvas/interpreter_expression_types', - ], + interpreter: ['plugins/canvas/legacy_register_interpreter'], styleSheetPaths: resolve(__dirname, 'public/style/index.scss'), hacks: [ // window.onerror override diff --git a/x-pack/legacy/plugins/canvas/public/application.tsx b/x-pack/legacy/plugins/canvas/public/application.tsx index 9bdc8e6308e07..15b5d2543fbc6 100644 --- a/x-pack/legacy/plugins/canvas/public/application.tsx +++ b/x-pack/legacy/plugins/canvas/public/application.tsx @@ -12,13 +12,14 @@ import { Provider } from 'react-redux'; import { AppMountParameters, CoreStart } from 'kibana/public'; +import { CanvasStartDeps } from './plugin'; // @ts-ignore Untyped local import { App } from './components/app'; import { KibanaContextProvider } from '../../../../../src/plugins/kibana_react/public'; export const renderApp = ( coreStart: CoreStart, - plugins: object, + plugins: CanvasStartDeps, { element }: AppMountParameters, canvasStore: Store ) => { diff --git a/x-pack/legacy/plugins/canvas/public/components/app/index.js b/x-pack/legacy/plugins/canvas/public/components/app/index.js index 65b811fe68134..36af5477631b4 100644 --- a/x-pack/legacy/plugins/canvas/public/components/app/index.js +++ b/x-pack/legacy/plugins/canvas/public/components/app/index.js @@ -4,35 +4,11 @@ * you may not use this file except in compliance with the Elastic License. */ -import { register, addRegistries } from '@kbn/interpreter/common'; import { connect } from 'react-redux'; import { compose, withProps } from 'recompose'; -import { registries } from 'plugins/interpreter/registries'; -import { getInterpreter } from 'plugins/interpreter/interpreter'; -import { loadLegacyServerFunctionWrappers } from 'plugins/interpreter/canvas/load_legacy_server_function_wrappers'; import { getAppReady, getBasePath } from '../../state/selectors/app'; import { appReady, appError } from '../../state/actions/app'; -import { elementsRegistry } from '../../lib/elements_registry'; -import { registerLanguage } from '../../lib/monaco_language_def'; -import { templatesRegistry } from '../../lib/templates_registry'; -import { tagsRegistry } from '../../lib/tags_registry'; -import { elementSpecs } from '../../../canvas_plugin_src/elements'; -import { transformSpecs } from '../../../canvas_plugin_src/uis/transforms'; -import { modelSpecs } from '../../../canvas_plugin_src/uis/models'; -import { viewSpecs } from '../../../canvas_plugin_src/uis/views'; -import { datasourceSpecs } from '../../../canvas_plugin_src/uis/datasources'; -import { args as argSpecs } from '../../../canvas_plugin_src/uis/arguments'; -import { tagSpecs } from '../../../canvas_plugin_src/uis/tags'; -import { templateSpecs } from '../../../canvas_plugin_src/templates'; -import { clientFunctions } from '../../functions'; -import { - argTypeRegistry, - datasourceRegistry, - modelRegistry, - transformRegistry, - viewRegistry, -} from '../../expression_types'; import { App as Component } from './app'; import { trackRouteChange } from './track_route_change'; @@ -46,38 +22,9 @@ const mapStateToProps = state => { }; }; -addRegistries(registries, { - elements: elementsRegistry, - transformUIs: transformRegistry, - datasourceUIs: datasourceRegistry, - modelUIs: modelRegistry, - viewUIs: viewRegistry, - argumentUIs: argTypeRegistry, - templates: templatesRegistry, - tagUIs: tagsRegistry, -}); - -register(registries, { - elements: elementSpecs, - transformUIs: transformSpecs, - modelUIs: modelSpecs, - viewUIs: viewSpecs, - datasourceUIs: datasourceSpecs, - argumentUIs: argSpecs, - browserFunctions: clientFunctions, - templates: templateSpecs, - tagUIs: tagSpecs, -}); - const mapDispatchToProps = dispatch => ({ setAppReady: () => async () => { try { - await loadLegacyServerFunctionWrappers(); - await getInterpreter(); - - // Register the expression language with the Monaco Editor - registerLanguage(); - // set app state to ready dispatch(appReady()); } catch (e) { diff --git a/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_preview/index.js b/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_preview/index.js index 5030e5cfeaae3..045e98bab870e 100644 --- a/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_preview/index.js +++ b/x-pack/legacy/plugins/canvas/public/components/datasource/datasource_preview/index.js @@ -6,7 +6,7 @@ import { pure, compose, lifecycle, withState, branch, renderComponent } from 'recompose'; import { PropTypes } from 'prop-types'; -import { interpretAst } from 'plugins/interpreter/interpreter'; +import { interpretAst } from '../../../lib/run_interpreter'; import { Loading } from '../../loading'; import { DatasourcePreview as Component } from './datasource_preview'; diff --git a/x-pack/legacy/plugins/canvas/public/components/element_content/index.js b/x-pack/legacy/plugins/canvas/public/components/element_content/index.js index f05222452b1ee..df411b6d11f1c 100644 --- a/x-pack/legacy/plugins/canvas/public/components/element_content/index.js +++ b/x-pack/legacy/plugins/canvas/public/components/element_content/index.js @@ -8,8 +8,8 @@ import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { compose, withProps } from 'recompose'; import { get } from 'lodash'; -import { npStart } from 'ui/new_platform'; import { getSelectedPage, getPageById } from '../../state/selectors/workpad'; +import { withKibana } from '../../../../../../../src/plugins/kibana_react/public'; import { ElementContent as Component } from './element_content'; const mapStateToProps = state => ({ @@ -18,8 +18,9 @@ const mapStateToProps = state => ({ export const ElementContent = compose( connect(mapStateToProps), - withProps(({ renderable }) => ({ - renderFunction: npStart.plugins.expressions.getRenderer(get(renderable, 'as')), + withKibana, + withProps(({ renderable, kibana }) => ({ + renderFunction: kibana.services.expressions.getRenderer(get(renderable, 'as')), })) )(Component); diff --git a/x-pack/legacy/plugins/canvas/public/components/expression/index.js b/x-pack/legacy/plugins/canvas/public/components/expression/index.js index d6eefca4e1461..29d22c0e1804a 100644 --- a/x-pack/legacy/plugins/canvas/public/components/expression/index.js +++ b/x-pack/legacy/plugins/canvas/public/components/expression/index.js @@ -15,16 +15,15 @@ import { renderComponent, } from 'recompose'; import { fromExpression } from '@kbn/interpreter/common'; +import { withKibana } from '../../../../../../../src/plugins/kibana_react/public'; import { getSelectedPage, getSelectedElement } from '../../state/selectors/workpad'; import { setExpression, flushContext } from '../../state/actions/elements'; -import { getFunctionDefinitions } from '../../lib/function_definitions'; import { ElementNotSelected } from './element_not_selected'; import { Expression as Component } from './expression'; const mapStateToProps = state => ({ pageId: getSelectedPage(state), element: getSelectedElement(state), - functionDefinitionsPromise: getFunctionDefinitions(state), }); const mapDispatchToProps = dispatch => ({ @@ -47,9 +46,12 @@ const mergeProps = (stateProps, dispatchProps, ownProps) => { const { expression } = element; + const functions = Object.values(allProps.kibana.services.expressions.getFunctions()); + return { ...allProps, expression, + functionDefinitions: functions, setExpression: dispatchProps.setExpression(element.id, pageId), }; }; @@ -66,15 +68,11 @@ const expressionLifecycle = lifecycle({ }); } }, - componentDidMount() { - const { functionDefinitionsPromise, setFunctionDefinitions } = this.props; - functionDefinitionsPromise.then(defs => setFunctionDefinitions(defs)); - }, }); export const Expression = compose( + withKibana, connect(mapStateToProps, mapDispatchToProps, mergeProps), - withState('functionDefinitions', 'setFunctionDefinitions', []), withState('formState', 'setFormState', ({ expression }) => ({ expression, dirty: false, diff --git a/x-pack/legacy/plugins/canvas/public/components/function_form_list/index.js b/x-pack/legacy/plugins/canvas/public/components/function_form_list/index.js index 80159b69ad994..a903847a7b6c5 100644 --- a/x-pack/legacy/plugins/canvas/public/components/function_form_list/index.js +++ b/x-pack/legacy/plugins/canvas/public/components/function_form_list/index.js @@ -7,7 +7,7 @@ import { compose, withProps } from 'recompose'; import { get } from 'lodash'; import { toExpression } from '@kbn/interpreter/common'; -import { interpretAst } from 'plugins/interpreter/interpreter'; +import { interpretAst } from '../../lib/run_interpreter'; import { modelRegistry, viewRegistry, transformRegistry } from '../../expression_types'; import { FunctionFormList as Component } from './function_form_list'; diff --git a/x-pack/legacy/plugins/canvas/public/functions/filters.ts b/x-pack/legacy/plugins/canvas/public/functions/filters.ts index 44b321e00091a..2a3bc481d7dae 100644 --- a/x-pack/legacy/plugins/canvas/public/functions/filters.ts +++ b/x-pack/legacy/plugins/canvas/public/functions/filters.ts @@ -6,16 +6,14 @@ import { fromExpression } from '@kbn/interpreter/common'; import { get } from 'lodash'; -// @ts-ignore untyped Elastic lib -import { interpretAst } from 'plugins/interpreter/interpreter'; -// @ts-ignore untyped Elastic lib -import { registries } from 'plugins/interpreter/registries'; import { ExpressionFunctionDefinition } from 'src/plugins/expressions/public'; +import { interpretAst } from '../lib/run_interpreter'; // @ts-ignore untyped local import { getState } from '../state/store'; import { getGlobalFilters } from '../state/selectors/workpad'; import { Filter } from '../../types'; import { getFunctionHelp } from '../../i18n'; +import { InitializeArguments } from '.'; interface Arguments { group: string[]; @@ -43,39 +41,45 @@ function getFiltersByGroup(allFilters: string[], groups?: string[], ungrouped = }); } -export function filters(): ExpressionFunctionDefinition<'filters', null, Arguments, Filter> { - const { help, args: argHelp } = getFunctionHelp().filters; +type FiltersFunction = ExpressionFunctionDefinition<'filters', null, Arguments, Filter>; - return { - name: 'filters', - type: 'filter', - help, - inputTypes: ['null'], - args: { - group: { - aliases: ['_'], - types: ['string'], - help: argHelp.group, - multi: true, +export function filtersFunctionFactory(initialize: InitializeArguments): () => FiltersFunction { + return function filters(): FiltersFunction { + const { help, args: argHelp } = getFunctionHelp().filters; + + return { + name: 'filters', + type: 'filter', + help, + context: { + types: ['null'], }, - ungrouped: { - aliases: ['nogroup', 'nogroups'], - types: ['boolean'], - help: argHelp.ungrouped, - default: false, + args: { + group: { + aliases: ['_'], + types: ['string'], + help: argHelp.group, + multi: true, + }, + ungrouped: { + aliases: ['nogroup', 'nogroups'], + types: ['boolean'], + help: argHelp.ungrouped, + default: false, + }, }, - }, - fn: (input, { group, ungrouped }) => { - const filterList = getFiltersByGroup(getGlobalFilters(getState()), group, ungrouped); + fn: (input, { group, ungrouped }) => { + const filterList = getFiltersByGroup(getGlobalFilters(getState()), group, ungrouped); - if (filterList && filterList.length) { - const filterExpression = filterList.join(' | '); - const filterAST = fromExpression(filterExpression); - return interpretAst(filterAST); - } else { - const filterType = registries.types.get('filter'); - return filterType.from(null); - } - }, + if (filterList && filterList.length) { + const filterExpression = filterList.join(' | '); + const filterAST = fromExpression(filterExpression); + return interpretAst(filterAST); + } else { + const filterType = initialize.typesRegistry.get('filter'); + return filterType?.from(null, {}); + } + }, + }; }; } diff --git a/x-pack/legacy/plugins/canvas/public/functions/index.ts b/x-pack/legacy/plugins/canvas/public/functions/index.ts index 63d87a673f820..27fb7d83274a4 100644 --- a/x-pack/legacy/plugins/canvas/public/functions/index.ts +++ b/x-pack/legacy/plugins/canvas/public/functions/index.ts @@ -4,9 +4,16 @@ * you may not use this file except in compliance with the Elastic License. */ +import { ExpressionsSetup } from 'src/plugins/expressions/public'; import { asset } from './asset'; -import { filters } from './filters'; +import { filtersFunctionFactory } from './filters'; import { timelion } from './timelion'; -import { to } from './to'; +import { toFunctionFactory } from './to'; -export const clientFunctions = [asset, filters, timelion, to]; +export interface InitializeArguments { + typesRegistry: ExpressionsSetup['__LEGACY']['types']; +} + +export function initFunctions(initialize: InitializeArguments) { + return [asset, filtersFunctionFactory(initialize), timelion, toFunctionFactory(initialize)]; +} diff --git a/x-pack/legacy/plugins/canvas/public/functions/to.ts b/x-pack/legacy/plugins/canvas/public/functions/to.ts index 7c24926b5aa6a..64d25b28a8aa0 100644 --- a/x-pack/legacy/plugins/canvas/public/functions/to.ts +++ b/x-pack/legacy/plugins/canvas/public/functions/to.ts @@ -7,35 +7,39 @@ // @ts-ignore untyped Elastic library import { castProvider } from '@kbn/interpreter/common'; import { ExpressionFunctionDefinition } from 'src/plugins/expressions/public'; -import { npStart } from 'ui/new_platform'; import { getFunctionHelp, getFunctionErrors } from '../../i18n'; +import { InitializeArguments } from '.'; interface Arguments { type: string[]; } -export function to(): ExpressionFunctionDefinition<'to', any, Arguments, any> { - const { help, args: argHelp } = getFunctionHelp().to; - const errors = getFunctionErrors().to; +type ToFunction = ExpressionFunctionDefinition<'to', any, Arguments, any>; - return { - name: 'to', - aliases: [], - help, - args: { - type: { - types: ['string'], - help: argHelp.type, - aliases: ['_'], - multi: true, +export function toFunctionFactory(initialize: InitializeArguments): () => ToFunction { + return function to(): ToFunction { + const { help, args: argHelp } = getFunctionHelp().to; + const errors = getFunctionErrors().to; + + return { + name: 'to', + aliases: [], + help, + args: { + type: { + types: ['string'], + help: argHelp.type, + aliases: ['_'], + multi: true, + }, }, - }, - fn: (input, args) => { - if (!args.type) { - throw errors.missingType(); - } + fn: (input, args) => { + if (!args.type) { + throw errors.missingType(); + } - return castProvider(npStart.plugins.expressions.getTypes())(input, args.type); - }, + return castProvider(initialize.typesRegistry.toJS())(input, args.type); + }, + }; }; } diff --git a/x-pack/legacy/plugins/canvas/public/interpreter_expression_types.ts b/x-pack/legacy/plugins/canvas/public/interpreter_expression_types.ts deleted file mode 100644 index e443f7e40879f..0000000000000 --- a/x-pack/legacy/plugins/canvas/public/interpreter_expression_types.ts +++ /dev/null @@ -1,12 +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; - * you may not use this file except in compliance with the Elastic License. - */ - -import { typesRegistry } from '../../../../../src/legacy/core_plugins/interpreter/public/registries'; -import { typeFunctions } from '../canvas_plugin_src/expression_types'; - -typeFunctions.forEach(r => { - typesRegistry.register(r); -}); diff --git a/x-pack/legacy/plugins/canvas/public/legacy.ts b/x-pack/legacy/plugins/canvas/public/legacy.ts index 0d2e77637f19d..9bccc958f7263 100644 --- a/x-pack/legacy/plugins/canvas/public/legacy.ts +++ b/x-pack/legacy/plugins/canvas/public/legacy.ts @@ -5,7 +5,7 @@ */ import { npSetup, npStart } from 'ui/new_platform'; -import { CanvasStartDeps } from './plugin'; // eslint-disable-line import/order +import { CanvasStartDeps, CanvasSetupDeps } from './plugin'; // eslint-disable-line import/order // @ts-ignore Untyped Kibana Lib import chrome, { loadingCount } from 'ui/chrome'; // eslint-disable-line import/order @@ -19,12 +19,14 @@ const shimCoreSetup = { const shimCoreStart = { ...npStart.core, }; -const shimSetupPlugins = { + +const shimSetupPlugins: CanvasSetupDeps = { + expressions: npSetup.plugins.expressions, home: npSetup.plugins.home, }; - const shimStartPlugins: CanvasStartDeps = { ...npStart.plugins, + expressions: npStart.plugins.expressions, __LEGACY: { // ToDo: Copy directly into canvas absoluteToParsedUrl, diff --git a/x-pack/legacy/plugins/canvas/public/legacy_plugin_support.ts b/x-pack/legacy/plugins/canvas/public/legacy_plugin_support.ts new file mode 100644 index 0000000000000..cfc3de8f6d54c --- /dev/null +++ b/x-pack/legacy/plugins/canvas/public/legacy_plugin_support.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +// @ts-ignore +import { Registry, registryFactory } from '@kbn/interpreter/common'; + +type specFn = (...args: any[]) => { name: string }; + +const fnWrapper = (fn: specFn) => { + const obj = fn(); + return () => ({ + name: obj.name, + fn, + }); +}; + +class LegacyRegistry extends Registry { + register(fn: specFn) { + super.register(fnWrapper(fn)); + } + + getOriginalFns() { + return this.toArray().map(entry => entry.fn); + } +} + +export const legacyRegistries = { + browserFunctions: new LegacyRegistry(), + renderers: new LegacyRegistry(), + types: new LegacyRegistry(), + elements: new LegacyRegistry(), + transformUIs: new LegacyRegistry(), + datasourceUIs: new LegacyRegistry(), + modelUIs: new LegacyRegistry(), + viewUIs: new LegacyRegistry(), + argumentUIs: new LegacyRegistry(), + templates: new LegacyRegistry(), + tagUIs: new LegacyRegistry(), +}; + +(global as any).kbnInterpreter = Object.assign( + (global as any).kbnInterpreter || {}, + registryFactory(legacyRegistries) +); diff --git a/x-pack/legacy/plugins/canvas/public/browser_functions.ts b/x-pack/legacy/plugins/canvas/public/legacy_register_interpreter.ts similarity index 62% rename from x-pack/legacy/plugins/canvas/public/browser_functions.ts rename to x-pack/legacy/plugins/canvas/public/legacy_register_interpreter.ts index 011fe8b4504bc..274a9875d123d 100644 --- a/x-pack/legacy/plugins/canvas/public/browser_functions.ts +++ b/x-pack/legacy/plugins/canvas/public/legacy_register_interpreter.ts @@ -6,8 +6,13 @@ import { npSetup } from 'ui/new_platform'; import { functions } from '../canvas_plugin_src/functions/browser'; +import { typeFunctions } from '../canvas_plugin_src/expression_types'; +// @ts-ignore untyped local +import { renderFunctions } from '../canvas_plugin_src/renderers'; functions.forEach(npSetup.plugins.expressions.registerFunction); +typeFunctions.forEach(npSetup.plugins.expressions.registerType); +renderFunctions.forEach(npSetup.plugins.expressions.registerRenderer); // eslint-disable-next-line import/no-default-export export default functions; diff --git a/x-pack/legacy/plugins/canvas/public/legacy_start.ts b/x-pack/legacy/plugins/canvas/public/legacy_start.ts index d7d1a940d3b43..ac647fe8a5a93 100644 --- a/x-pack/legacy/plugins/canvas/public/legacy_start.ts +++ b/x-pack/legacy/plugins/canvas/public/legacy_start.ts @@ -13,12 +13,7 @@ import 'uiExports/spyModes'; import 'uiExports/embeddableFactories'; import 'uiExports/interpreter'; -// TODO: These dependencies should be moved into plugin startup methods -// Load the interpreter so that the kbnInterpreter global will be available when plugins load -import 'plugins/interpreter/interpreter'; -// Load our app component to initialize registries -import './components/app'; - +import './legacy_plugin_support'; // load application code import 'uiExports/canvas'; diff --git a/x-pack/legacy/plugins/canvas/public/lib/monaco_language_def.ts b/x-pack/legacy/plugins/canvas/public/lib/monaco_language_def.ts index cd054bff3b7d2..5dac7fcc9bc50 100644 --- a/x-pack/legacy/plugins/canvas/public/lib/monaco_language_def.ts +++ b/x-pack/legacy/plugins/canvas/public/lib/monaco_language_def.ts @@ -5,7 +5,7 @@ */ import { monaco } from '@kbn/ui-shared-deps/monaco'; -import { npSetup } from 'ui/new_platform'; +import { ExpressionFunction } from '../../types'; export const LANGUAGE_ID = 'canvas-expression'; @@ -94,9 +94,8 @@ export const language: Language = { }, }; -export function registerLanguage() { - const functions = Object.values(npSetup.plugins.expressions.getFunctions()); - language.keywords = functions.map(({ name }) => name); +export function registerLanguage(functions: ExpressionFunction[]) { + language.keywords = functions.map(fn => fn.name); monaco.languages.register({ id: LANGUAGE_ID }); monaco.languages.setMonarchTokensProvider(LANGUAGE_ID, language); diff --git a/x-pack/legacy/plugins/canvas/public/lib/run_interpreter.js b/x-pack/legacy/plugins/canvas/public/lib/run_interpreter.js deleted file mode 100644 index 7fc33c9add8f9..0000000000000 --- a/x-pack/legacy/plugins/canvas/public/lib/run_interpreter.js +++ /dev/null @@ -1,42 +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; - * you may not use this file except in compliance with the Elastic License. - */ - -import { fromExpression, getType } from '@kbn/interpreter/common'; -import { interpretAst } from 'plugins/interpreter/interpreter'; -import { loadLegacyServerFunctionWrappers } from 'plugins/interpreter/canvas/load_legacy_server_function_wrappers'; -import { notify } from './notify'; - -/** - * Runs interpreter, usually in the browser - * - * @param {object} ast - Executable AST - * @param {any} context - Initial context for AST execution - * @param {object} options - * @param {boolean} options.castToRender - try to cast to a type: render object? - * @param {boolean} options.retryRenderCasting - - * @returns {promise} - */ -export function runInterpreter(ast, context = null, options = {}) { - return loadLegacyServerFunctionWrappers() - .then(() => interpretAst(ast, context)) - .then(renderable => { - if (getType(renderable) === 'render') { - return renderable; - } - - if (options.castToRender) { - return runInterpreter(fromExpression('render'), renderable, { - castToRender: false, - }); - } - - return new Error(`Ack! I don't know how to render a '${getType(renderable)}'`); - }) - .catch(err => { - notify.error(err); - throw err; - }); -} diff --git a/x-pack/legacy/plugins/canvas/public/lib/run_interpreter.ts b/x-pack/legacy/plugins/canvas/public/lib/run_interpreter.ts new file mode 100644 index 0000000000000..d2f4cca8fe97d --- /dev/null +++ b/x-pack/legacy/plugins/canvas/public/lib/run_interpreter.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; + * you may not use this file except in compliance with the Elastic License. + */ + +import { fromExpression, getType } from '@kbn/interpreter/common'; +import { ExpressionValue, ExpressionAstExpression } from 'src/plugins/expressions/public'; +// @ts-ignore Untyped Local +import { notify } from './notify'; + +import { CanvasStartDeps, CanvasSetupDeps } from '../plugin'; + +let expressionsStarting: Promise; + +export const initInterpreter = function( + expressionsStart: CanvasStartDeps['expressions'], + expressionsSetup: CanvasSetupDeps['expressions'] +) { + expressionsStarting = startExpressions(expressionsStart, expressionsSetup); + + return expressionsStarting; +}; + +async function startExpressions( + expressionsStart: CanvasStartDeps['expressions'], + expressionsSetup: CanvasSetupDeps['expressions'] +) { + await expressionsSetup.__LEGACY.loadLegacyServerFunctionWrappers(); + return expressionsStart; +} + +interface Options { + castToRender?: boolean; +} + +/** + * Meant to be a replacement for plugins/interpreter/interpretAST + */ +export async function interpretAst(ast: ExpressionAstExpression): Promise { + if (!expressionsStarting) { + throw new Error('Interpreter has not been initialized'); + } + + const expressions = await expressionsStarting; + return await expressions.execute(ast).getData(); +} + +/** + * Runs interpreter, usually in the browser + * + * @param {object} ast - Executable AST + * @param {any} input - Initial input for AST execution + * @param {object} options + * @param {boolean} options.castToRender - try to cast to a type: render object? + * @returns {promise} + */ +export async function runInterpreter( + ast: ExpressionAstExpression, + input: ExpressionValue, + options: Options = {} +): Promise { + if (!expressionsStarting) { + throw new Error('Interpreter has not been initialized'); + } + + const expressions = await expressionsStarting; + + try { + const renderable = await expressions.execute(ast, input).getData(); + + if (getType(renderable) === 'render') { + return renderable; + } + + if (options.castToRender) { + return runInterpreter(fromExpression('render'), renderable, { + castToRender: false, + }); + } + + throw new Error(`Ack! I don't know how to render a '${getType(renderable)}'`); + } catch (err) { + notify.error(err); + throw err; + } +} diff --git a/x-pack/legacy/plugins/canvas/public/plugin.tsx b/x-pack/legacy/plugins/canvas/public/plugin.tsx index a5fbbccb4299f..6644b927dd884 100644 --- a/x-pack/legacy/plugins/canvas/public/plugin.tsx +++ b/x-pack/legacy/plugins/canvas/public/plugin.tsx @@ -28,6 +28,33 @@ import { getDocumentationLinks } from './lib/documentation_links'; // @ts-ignore: untyped local import { initClipboard } from './lib/clipboard'; import { featureCatalogueEntry } from './feature_catalogue_entry'; +import { ExpressionsSetup, ExpressionsStart } from '../../../../../src/plugins/expressions/public'; +// @ts-ignore untyped local +import { datasourceSpecs } from './expression_types/datasources'; +// @ts-ignore untyped local +import { argTypeSpecs } from './expression_types/arg_types'; +import { transitions } from './transitions'; +import { registerLanguage } from './lib/monaco_language_def'; + +import { initInterpreter } from './lib/run_interpreter'; +import { legacyRegistries } from './legacy_plugin_support'; +import { getPluginApi, CanvasApi, SetupRegistries } from './plugin_api'; +import { + initRegistries, + addElements, + addTransformUIs, + addDatasourceUIs, + addModelUIs, + addViewUIs, + addArgumentUIs, + addTagUIs, + addTemplates, + addTransitions, +} from './registries'; + +import { initFunctions } from './functions'; + +import { CanvasSrcPlugin } from '../canvas_plugin_src/plugin'; export { CoreStart }; /** @@ -36,9 +63,12 @@ export { CoreStart }; */ // This interface will be built out as we require other plugins for setup export interface CanvasSetupDeps { + expressions: ExpressionsSetup; home: HomePublicPluginSetup; } + export interface CanvasStartDeps { + expressions: ExpressionsStart; __LEGACY: { absoluteToParsedUrl: (url: string, basePath: string) => any; formatMsg: any; @@ -53,16 +83,18 @@ export interface CanvasStartDeps { */ // These interfaces are empty for now but will be populate as we need to export // things for other plugins to use at startup or runtime -export interface CanvasSetup {} // eslint-disable-line @typescript-eslint/no-empty-interface +export type CanvasSetup = CanvasApi; export interface CanvasStart {} // eslint-disable-line @typescript-eslint/no-empty-interface /** @internal */ export class CanvasPlugin implements Plugin { - public setup(core: CoreSetup, plugins: CanvasSetupDeps) { - // This is where any setup actions need to occur. - // Things like registering functions to the interpreter that need - // to be available everywhere, not just in Canvas + private expressionSetup: CanvasSetupDeps['expressions'] | undefined; + private registries: SetupRegistries | undefined; + + public setup(core: CoreSetup, plugins: CanvasSetupDeps) { + const { api: canvasApi, registries } = getPluginApi(plugins.expressions); + this.registries = registries; core.application.register({ id: 'canvas', @@ -82,15 +114,51 @@ export class CanvasPlugin }); plugins.home.featureCatalogue.register(featureCatalogueEntry); + this.expressionSetup = plugins.expressions; - return {}; + // Register Legacy plugin stuff + canvasApi.addFunctions(legacyRegistries.browserFunctions.getOriginalFns()); + canvasApi.addElements(legacyRegistries.elements.getOriginalFns()); + + // TODO: Do we want to completely move canvas_plugin_src into it's own plugin? + const srcPlugin = new CanvasSrcPlugin(); + srcPlugin.setup(core, { canvas: canvasApi }); + + // Register core canvas stuff + canvasApi.addFunctions(initFunctions({ typesRegistry: plugins.expressions.__LEGACY.types })); + canvasApi.addDatasourceUIs(datasourceSpecs); + canvasApi.addArgumentUIs(argTypeSpecs); + canvasApi.addTransitions(transitions); + + return { + ...canvasApi, + }; } public start(core: CoreStart, plugins: CanvasStartDeps) { - loadExpressionTypes(); - loadTransitions(); - initLoadingIndicator(core.http.addLoadingCountSource); + initRegistries(); + + if (this.expressionSetup) { + const expressionSetup = this.expressionSetup; + initInterpreter(plugins.expressions, expressionSetup).then(() => { + registerLanguage(Object.values(plugins.expressions.getFunctions())); + }); + } + + if (this.registries) { + addElements(this.registries.elements); + addTransformUIs(this.registries.transformUIs); + addDatasourceUIs(this.registries.datasourceUIs); + addModelUIs(this.registries.modelUIs); + addViewUIs(this.registries.viewUIs); + addArgumentUIs(this.registries.argumentUIs); + addTemplates(this.registries.templates); + addTagUIs(this.registries.tagUIs); + addTransitions(this.registries.transitions); + } else { + throw new Error('Unable to initialize Canvas registries'); + } core.chrome.setBadge( core.application.capabilities.canvas && core.application.capabilities.canvas.save diff --git a/x-pack/legacy/plugins/canvas/public/plugin_api.ts b/x-pack/legacy/plugins/canvas/public/plugin_api.ts new file mode 100644 index 0000000000000..a7346c0b4376e --- /dev/null +++ b/x-pack/legacy/plugins/canvas/public/plugin_api.ts @@ -0,0 +1,89 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ +import { + AnyExpressionFunctionDefinition, + AnyExpressionTypeDefinition, + RendererFactory, +} from '../types'; +import { ElementFactory } from '../types'; +import { ExpressionsSetup } from '../../../../../src/plugins/expressions/public'; + +type AddToRegistry = (add: T[]) => void; + +export interface CanvasApi { + addArgumentUIs: AddToRegistry; + addDatasourceUIs: AddToRegistry; + addElements: AddToRegistry; + addFunctions: AddToRegistry<() => AnyExpressionFunctionDefinition>; + addModelUIs: AddToRegistry; + addRenderers: AddToRegistry; + addTagUIs: AddToRegistry; + addTemplates: AddToRegistry; + addTransformUIs: AddToRegistry; + addTransitions: AddToRegistry; + addTypes: AddToRegistry<() => AnyExpressionTypeDefinition>; + addViewUIs: AddToRegistry; +} + +export interface SetupRegistries { + elements: ElementFactory[]; + transformUIs: any[]; + datasourceUIs: any[]; + modelUIs: any[]; + viewUIs: any[]; + argumentUIs: any[]; + templates: any[]; + tagUIs: any[]; + transitions: any[]; +} + +export function getPluginApi( + expressionsPluginSetup: ExpressionsSetup +): { api: CanvasApi; registries: SetupRegistries } { + const registries: SetupRegistries = { + elements: [], + transformUIs: [], + datasourceUIs: [], + modelUIs: [], + viewUIs: [], + argumentUIs: [], + templates: [], + tagUIs: [], + transitions: [], + }; + + const api: CanvasApi = { + // Functions, types and renderers are registered directly to expression plugin + addFunctions: fns => { + fns.forEach(fn => { + expressionsPluginSetup.registerFunction(fn); + }); + }, + addTypes: types => { + types.forEach(type => { + expressionsPluginSetup.registerType(type as any); + }); + }, + addRenderers: renderers => { + renderers.forEach((r: any) => { + expressionsPluginSetup.registerRenderer(r); + }); + }, + + // All these others are local to canvas, and they will only register on start + addElements: elements => registries.elements.push(...elements), + addTransformUIs: transforms => registries.transformUIs.push(...transforms), + addDatasourceUIs: datasources => registries.datasourceUIs.push(...datasources), + addModelUIs: models => registries.modelUIs.push(...models), + addViewUIs: views => registries.viewUIs.push(...views), + addArgumentUIs: args => registries.argumentUIs.push(...args), + addTemplates: templates => registries.templates.push(...templates), + addTagUIs: tags => registries.tagUIs.push(...tags), + addTransitions: transitions => registries.transitions.push(...transitions), + }; + + return { api, registries }; +} diff --git a/x-pack/legacy/plugins/canvas/public/registries.ts b/x-pack/legacy/plugins/canvas/public/registries.ts new file mode 100644 index 0000000000000..d175ab3934eed --- /dev/null +++ b/x-pack/legacy/plugins/canvas/public/registries.ts @@ -0,0 +1,81 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +// @ts-ignore untyped module +import { addRegistries, register } from '@kbn/interpreter/common'; +// @ts-ignore untyped local +import { elementsRegistry } from './lib/elements_registry'; +// @ts-ignore untyped local +import { templatesRegistry } from './lib/templates_registry'; +import { tagsRegistry } from './lib/tags_registry'; +import { ElementFactory } from '../types'; +// @ts-ignore untyped local +import { transitionsRegistry } from './lib/transitions_registry'; + +import { + argTypeRegistry, + datasourceRegistry, + modelRegistry, + transformRegistry, + viewRegistry, + // @ts-ignore untyped local +} from './expression_types'; + +export const registries = {}; + +export function initRegistries() { + addRegistries(registries, { + elements: elementsRegistry, + transformUIs: transformRegistry, + datasourceUIs: datasourceRegistry, + modelUIs: modelRegistry, + viewUIs: viewRegistry, + argumentUIs: argTypeRegistry, + templates: templatesRegistry, + tagUIs: tagsRegistry, + transitions: transitionsRegistry, + }); +} + +export function addElements(elements: ElementFactory[]) { + register(registries, { elements }); +} + +export function addTransformUIs(transformUIs: any[]) { + register(registries, { transformUIs }); +} + +export function addDatasourceUIs(datasourceUIs: any[]) { + register(registries, { datasourceUIs }); +} + +export function addModelUIs(modelUIs: any[]) { + register(registries, { modelUIs }); +} + +export function addViewUIs(viewUIs: any[]) { + register(registries, { viewUIs }); +} + +export function addArgumentUIs(argumentUIs: any[]) { + register(registries, { argumentUIs }); +} + +export function addTemplates(templates: any[]) { + register(registries, { templates }); +} + +export function addTagUIs(tagUIs: any[]) { + register(registries, { tagUIs }); +} + +export function addTransitions(transitions: any[]) { + register(registries, { transitions }); +} + +export function addBrowserFunctions(browserFunctions: any[]) { + register(registries, { browserFunctions }); +} diff --git a/x-pack/legacy/plugins/canvas/public/renderers.js b/x-pack/legacy/plugins/canvas/public/renderers.js deleted file mode 100644 index 0c278789bc1aa..0000000000000 --- a/x-pack/legacy/plugins/canvas/public/renderers.js +++ /dev/null @@ -1,12 +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; - * you may not use this file except in compliance with the Elastic License. - */ - -import { npSetup } from 'ui/new_platform'; -import { renderFunctions } from '../canvas_plugin_src/renderers'; - -renderFunctions.forEach(npSetup.plugins.expressions.registerRenderer); - -export default renderFunctions; diff --git a/x-pack/legacy/plugins/canvas/public/state/actions/elements.js b/x-pack/legacy/plugins/canvas/public/state/actions/elements.js index 8b49d16e87b21..1798aaab22f06 100644 --- a/x-pack/legacy/plugins/canvas/public/state/actions/elements.js +++ b/x-pack/legacy/plugins/canvas/public/state/actions/elements.js @@ -9,13 +9,12 @@ import { createThunk } from 'redux-thunks'; import immutable from 'object-path-immutable'; import { get, pick, cloneDeep, without } from 'lodash'; import { toExpression, safeElementFromExpression } from '@kbn/interpreter/common'; -import { interpretAst } from 'plugins/interpreter/interpreter'; import { getPages, getNodeById, getNodes, getSelectedPageIndex } from '../selectors/workpad'; import { getValue as getResolvedArgsValue } from '../selectors/resolved_args'; import { getDefaultElement } from '../defaults'; import { ErrorStrings } from '../../../i18n'; import { notify } from '../../lib/notify'; -import { runInterpreter } from '../../lib/run_interpreter'; +import { runInterpreter, interpretAst } from '../../lib/run_interpreter'; import { subMultitree } from '../../lib/aeroelastic/functional'; import { selectToplevelNodes } from './transient'; import * as args from './resolved_args'; diff --git a/x-pack/legacy/plugins/canvas/server/plugin.ts b/x-pack/legacy/plugins/canvas/server/plugin.ts index 014ff244e6e0c..61cb81c91279a 100644 --- a/x-pack/legacy/plugins/canvas/server/plugin.ts +++ b/x-pack/legacy/plugins/canvas/server/plugin.ts @@ -5,10 +5,7 @@ */ import { CoreSetup, PluginsSetup } from './shim'; -import { functions } from '../canvas_plugin_src/functions/server'; export class Plugin { - public setup(core: CoreSetup, plugins: PluginsSetup) { - plugins.interpreter.register({ serverFunctions: functions }); - } + public setup(core: CoreSetup, plugins: PluginsSetup) {} } diff --git a/x-pack/legacy/plugins/canvas/types/functions.ts b/x-pack/legacy/plugins/canvas/types/functions.ts index 3344f9b3ae9f2..afe5614ac6e5a 100644 --- a/x-pack/legacy/plugins/canvas/types/functions.ts +++ b/x-pack/legacy/plugins/canvas/types/functions.ts @@ -8,7 +8,7 @@ import { ExpressionFunctionDefinition } from 'src/plugins/expressions/common'; import { functions as commonFunctions } from '../canvas_plugin_src/functions/common'; import { functions as browserFunctions } from '../canvas_plugin_src/functions/browser'; import { functions as serverFunctions } from '../canvas_plugin_src/functions/server'; -import { clientFunctions } from '../public/functions'; +import { initFunctions } from '../public/functions'; /** * A `ExpressionFunctionFactory` is a powerful type used for any function that produces @@ -87,7 +87,9 @@ export type FunctionFactory = type CommonFunction = FunctionFactory; type BrowserFunction = FunctionFactory; type ServerFunction = FunctionFactory; -type ClientFunctions = FunctionFactory; +type ClientFunctions = FunctionFactory< + ReturnType extends Array ? U : never +>; /** * A collection of all Canvas Functions. diff --git a/x-pack/legacy/plugins/ml/public/application/components/job_selector/custom_selection_table/custom_selection_table.js b/x-pack/legacy/plugins/ml/public/application/components/job_selector/custom_selection_table/custom_selection_table.js index c6667ef1df55e..a7edb7184df00 100644 --- a/x-pack/legacy/plugins/ml/public/application/components/job_selector/custom_selection_table/custom_selection_table.js +++ b/x-pack/legacy/plugins/ml/public/application/components/job_selector/custom_selection_table/custom_selection_table.js @@ -256,7 +256,7 @@ export function CustomSelectionTable({ {!singleSelection && ( toggleItem(item.id)} type="inList" @@ -265,7 +265,7 @@ export function CustomSelectionTable({ {singleSelection && ( toggleItem(item.id)} disabled={timeseriesOnly && item.isSingleMetricViewerJob === false} diff --git a/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/analytics_list/action_delete.test.tsx b/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/analytics_list/action_delete.test.tsx index 08cc54ec39c6f..6d1db5033863b 100644 --- a/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/analytics_list/action_delete.test.tsx +++ b/x-pack/legacy/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/analytics_list/action_delete.test.tsx @@ -8,7 +8,6 @@ import React from 'react'; import { render } from '@testing-library/react'; import * as CheckPrivilige from '../../../../../privilege/check_privilege'; -import { queryByTestSubj } from '../../../../../util/test_utils'; import { DeleteAction } from './action_delete'; @@ -21,24 +20,22 @@ jest.mock('../../../../../privilege/check_privilege', () => ({ describe('DeleteAction', () => { test('When canDeleteDataFrameAnalytics permission is false, button should be disabled.', () => { - const { container } = render(); - expect(queryByTestSubj(container, 'mlAnalyticsJobDeleteButton')).toHaveAttribute('disabled'); + const { getByTestId } = render(); + expect(getByTestId('mlAnalyticsJobDeleteButton')).toHaveAttribute('disabled'); }); test('When canDeleteDataFrameAnalytics permission is true, button should not be disabled.', () => { const mock = jest.spyOn(CheckPrivilige, 'checkPermission'); mock.mockImplementation(p => p === 'canDeleteDataFrameAnalytics'); - const { container } = render(); + const { getByTestId } = render(); - expect(queryByTestSubj(container, 'mlAnalyticsJobDeleteButton')).not.toHaveAttribute( - 'disabled' - ); + expect(getByTestId('mlAnalyticsJobDeleteButton')).not.toHaveAttribute('disabled'); mock.mockRestore(); }); test('When job is running, delete button should be disabled.', () => { - const { container } = render( + const { getByTestId } = render( { /> ); - expect(queryByTestSubj(container, 'mlAnalyticsJobDeleteButton')).toHaveAttribute('disabled'); + expect(getByTestId('mlAnalyticsJobDeleteButton')).toHaveAttribute('disabled'); }); }); diff --git a/x-pack/legacy/plugins/ml/public/application/settings/calendars/edit/calendar_form/__snapshots__/calendar_form.test.js.snap b/x-pack/legacy/plugins/ml/public/application/settings/calendars/edit/calendar_form/__snapshots__/calendar_form.test.js.snap index acce01f1994db..e5026778fec1c 100644 --- a/x-pack/legacy/plugins/ml/public/application/settings/calendars/edit/calendar_form/__snapshots__/calendar_form.test.js.snap +++ b/x-pack/legacy/plugins/ml/public/application/settings/calendars/edit/calendar_form/__snapshots__/calendar_form.test.js.snap @@ -149,7 +149,7 @@ exports[`CalendarForm Renders calendar form 1`] = ` grow={false} > , ( { onDeleteClick(event.event_id); @@ -106,7 +106,7 @@ export const EventsTable = ({ { instance.setState(testState); wrapper.update(); expect(wrapper.state('selectedEvents').length).toBe(2); - const deleteButton = wrapper.find('[data-testid="event_delete"]'); + const deleteButton = wrapper.find('[data-test-subj="event_delete"]'); const button = deleteButton.find('EuiButtonEmpty').first(); button.simulate('click'); diff --git a/x-pack/legacy/plugins/ml/public/application/settings/calendars/edit/new_calendar.test.js b/x-pack/legacy/plugins/ml/public/application/settings/calendars/edit/new_calendar.test.js index 5f61ccf47e9d7..f9f236496904d 100644 --- a/x-pack/legacy/plugins/ml/public/application/settings/calendars/edit/new_calendar.test.js +++ b/x-pack/legacy/plugins/ml/public/application/settings/calendars/edit/new_calendar.test.js @@ -117,7 +117,7 @@ describe('NewCalendar', () => { test('Import modal shown on Import Events button click', () => { const wrapper = mountWithIntl(); - const importButton = wrapper.find('[data-testid="ml_import_events"]'); + const importButton = wrapper.find('[data-test-subj="ml_import_events"]'); const button = importButton.find('EuiButton'); button.simulate('click'); @@ -127,7 +127,7 @@ describe('NewCalendar', () => { test('New event modal shown on New event button click', () => { const wrapper = mountWithIntl(); - const importButton = wrapper.find('[data-testid="ml_new_event"]'); + const importButton = wrapper.find('[data-test-subj="ml_new_event"]'); const button = importButton.find('EuiButton'); button.simulate('click'); @@ -154,7 +154,7 @@ describe('NewCalendar', () => { const wrapper = mountWithIntl(); - const buttons = wrapper.find('[data-testid="ml_save_calendar_button"]'); + const buttons = wrapper.find('[data-test-subj="ml_save_calendar_button"]'); const saveButton = buttons.find('EuiButton'); expect(saveButton.prop('isDisabled')).toBe(true); diff --git a/x-pack/legacy/plugins/ml/public/application/util/test_utils.ts b/x-pack/legacy/plugins/ml/public/application/util/test_utils.ts deleted file mode 100644 index 5c020840182e5..0000000000000 --- a/x-pack/legacy/plugins/ml/public/application/util/test_utils.ts +++ /dev/null @@ -1,18 +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; - * you may not use this file except in compliance with the Elastic License. - */ - -import { queryHelpers } from '@testing-library/react'; - -/** - * 'react-testing-library provides 'queryByTestId()' to get - * elements with a 'data-testid' attribut. This custom method - * supports querying for the Kibana style 'data-test-subj' attribute. - * @param {HTMLElement} container The wrapping HTML element. - * @param {Matcher} id The 'data-test-subj' id. - * @returns {HTMLElement | null} - */ - -export const queryByTestSubj = queryHelpers.queryByAttribute.bind(null, 'data-test-subj'); diff --git a/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/README.md b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/README.md index 582c9df731a15..a3aa55199425c 100644 --- a/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/README.md +++ b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/README.md @@ -125,8 +125,77 @@ server log [17:32:10.060] [warning][actions][actions][plugins] \ ## http endpoints -An HTTP endpoint is provided to return the values the alertType would calculate, -over a series of time. This is intended to be used in the alerting UI to +The following endpoints are provided for this alert type: + +- `POST /api/alerting_builtins/index_threshold/_indices` +- `POST /api/alerting_builtins/index_threshold/_fields` +- `POST /api/alerting_builtins/index_threshold/_time_series_query` + +### `POST .../_indices` + +This HTTP endpoint is provided for the alerting ui to list the available +"index names" for the user to select to use with the alert. This API also +returns aliases which match the supplied pattern. + +The request body is expected to be a JSON object in the following form, where the +`pattern` value may include comma-separated names and wildcards. + +```js +{ + pattern: "index-name-pattern" +} +``` + +The response body is a JSON object in the following form, where each element +of the `indices` array is the name of an index or alias. The number of elements +returned is limited, as this API is intended to be used to help narrow down +index names to use with the alert, and not support pagination, etc. + +```js +{ + indices: ["index-name-1", "alias-name-1", ...] +} +``` + +### `POST .../_fields` + +This HTTP endpoint is provided for the alerting ui to list the available +fields for the user to select to use with the alert. + +The request body is expected to be a JSON object in the following form, where the +`indexPatterns` array elements may include comma-separated names and wildcards. + +```js +{ + indexPatterns: ["index-pattern-1", "index-pattern-2"] +} +``` + +The response body is a JSON object in the following form, where each element +fields array is a field object. + +```js +{ + fields: [fieldObject1, fieldObject2, ...] +} +``` + +A field object is the following shape: + +```typescript +{ + name: string, // field name + type: string, // field type - eg 'keyword', 'date', 'long', etc + normalizedType: string, // for numeric types, this will be 'number' + aggregatable: true, // value from elasticsearch field capabilities + searchable: true, // value from elasticsearch field capabilities +} +``` + +### `POST .../_time_series_query` + +This HTTP endpoint is provided to return the values the alertType would calculate, +over a series of time. It is intended to be used in the alerting UI to provide a "preview" of the alert during creation/editing based on recent data, and could be used to show a "simulation" of the the alert over an arbitrary range of time. diff --git a/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/index.ts b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/index.ts index 05c6101e0a515..fbe107054ce9d 100644 --- a/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/index.ts +++ b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/index.ts @@ -7,7 +7,7 @@ import { Service, AlertingSetup, IRouter } from '../../types'; import { timeSeriesQuery } from './lib/time_series_query'; import { getAlertType } from './alert_type'; -import { createTimeSeriesQueryRoute } from './routes'; +import { registerRoutes } from './routes'; // future enhancement: make these configurable? export const MAX_INTERVALS = 1000; @@ -32,6 +32,6 @@ export function register(params: RegisterParams) { alerting.registerType(getAlertType(service)); - const alertTypeBaseRoute = `${baseRoute}/index_threshold`; - createTimeSeriesQueryRoute(service, router, alertTypeBaseRoute); + const baseBuiltInRoute = `${baseRoute}/index_threshold`; + registerRoutes({ service, router, baseRoute: baseBuiltInRoute }); } diff --git a/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/fields.ts b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/fields.ts new file mode 100644 index 0000000000000..c862d96828eb4 --- /dev/null +++ b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/fields.ts @@ -0,0 +1,142 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +// the business logic of this code is from watcher, in: +// x-pack/plugins/watcher/server/routes/api/register_list_fields_route.ts + +import { schema, TypeOf } from '@kbn/config-schema'; +import { + IRouter, + RequestHandlerContext, + KibanaRequest, + IKibanaResponse, + KibanaResponseFactory, + IScopedClusterClient, +} from 'kibana/server'; +import { Service } from '../../../types'; + +const bodySchema = schema.object({ + indexPatterns: schema.arrayOf(schema.string()), +}); + +type RequestBody = TypeOf; + +export function createFieldsRoute(service: Service, router: IRouter, baseRoute: string) { + const path = `${baseRoute}/_fields`; + service.logger.debug(`registering indexThreshold route POST ${path}`); + router.post( + { + path, + validate: { + body: bodySchema, + }, + }, + handler + ); + async function handler( + ctx: RequestHandlerContext, + req: KibanaRequest, + res: KibanaResponseFactory + ): Promise { + service.logger.debug(`route ${path} request: ${JSON.stringify(req.body)}`); + + let rawFields: RawFields; + + // special test for no patterns, otherwise all are returned! + if (req.body.indexPatterns.length === 0) { + return res.ok({ body: { fields: [] } }); + } + + try { + rawFields = await getRawFields(ctx.core.elasticsearch.dataClient, req.body.indexPatterns); + } catch (err) { + service.logger.debug(`route ${path} error: ${err.message}`); + return res.internalError({ body: 'error getting field data' }); + } + + const result = { fields: getFieldsFromRawFields(rawFields) }; + + service.logger.debug(`route ${path} response: ${JSON.stringify(result)}`); + return res.ok({ body: result }); + } +} + +// RawFields is a structure with the following shape: +// { +// "fields": { +// "_routing": { "_routing": { "type": "_routing", "searchable": true, "aggregatable": false}}, +// "host": { "keyword": { "type": "keyword", "searchable": true, "aggregatable": true}}, +// ... +// } +interface RawFields { + fields: Record>; +} + +interface RawField { + type: string; + searchable: boolean; + aggregatable: boolean; +} + +interface Field { + name: string; + type: string; + normalizedType: string; + searchable: boolean; + aggregatable: boolean; +} + +async function getRawFields( + dataClient: IScopedClusterClient, + indexes: string[] +): Promise { + const params = { + index: indexes, + fields: ['*'], + ignoreUnavailable: true, + allowNoIndices: true, + ignore: 404, + }; + const result = await dataClient.callAsCurrentUser('fieldCaps', params); + return result as RawFields; +} + +function getFieldsFromRawFields(rawFields: RawFields): Field[] { + const result: Field[] = []; + + if (!rawFields || !rawFields.fields) { + return []; + } + + for (const name of Object.keys(rawFields.fields)) { + const rawField = rawFields.fields[name]; + const type = Object.keys(rawField)[0]; + const values = rawField[type]; + + if (!type || type.startsWith('_')) continue; + if (!values) continue; + + const normalizedType = normalizedFieldTypes[type] || type; + const aggregatable = values.aggregatable; + const searchable = values.searchable; + + result.push({ name, type, normalizedType, aggregatable, searchable }); + } + + result.sort((a, b) => a.name.localeCompare(b.name)); + return result; +} + +const normalizedFieldTypes: Record = { + long: 'number', + integer: 'number', + short: 'number', + byte: 'number', + double: 'number', + float: 'number', + half_float: 'number', + scaled_float: 'number', +}; diff --git a/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/index.ts b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/index.ts new file mode 100644 index 0000000000000..8410e48dd46d9 --- /dev/null +++ b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/index.ts @@ -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; + * you may not use this file except in compliance with the Elastic License. + */ + +import { Service, IRouter } from '../../../types'; +import { createTimeSeriesQueryRoute } from './time_series_query'; +import { createFieldsRoute } from './fields'; +import { createIndicesRoute } from './indices'; + +interface RegisterRoutesParams { + service: Service; + router: IRouter; + baseRoute: string; +} +export function registerRoutes(params: RegisterRoutesParams) { + const { service, router, baseRoute } = params; + createTimeSeriesQueryRoute(service, router, baseRoute); + createFieldsRoute(service, router, baseRoute); + createIndicesRoute(service, router, baseRoute); +} diff --git a/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/indices.ts b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/indices.ts new file mode 100644 index 0000000000000..760ed21078de2 --- /dev/null +++ b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/indices.ts @@ -0,0 +1,136 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +// the business logic of this code is from watcher, in: +// x-pack/plugins/watcher/server/routes/api/indices/register_get_route.ts + +const MAX_INDICES = 20; + +import { schema, TypeOf } from '@kbn/config-schema'; +import { + IRouter, + RequestHandlerContext, + KibanaRequest, + IKibanaResponse, + KibanaResponseFactory, + IScopedClusterClient, +} from 'kibana/server'; +import { Service } from '../../../types'; + +const bodySchema = schema.object({ + pattern: schema.string(), +}); + +type RequestBody = TypeOf; + +export function createIndicesRoute(service: Service, router: IRouter, baseRoute: string) { + const path = `${baseRoute}/_indices`; + service.logger.debug(`registering indexThreshold route POST ${path}`); + router.post( + { + path, + validate: { + body: bodySchema, + }, + }, + handler + ); + async function handler( + ctx: RequestHandlerContext, + req: KibanaRequest, + res: KibanaResponseFactory + ): Promise { + const pattern = req.body.pattern; + service.logger.debug(`route ${path} request: ${JSON.stringify(req.body)}`); + + if (pattern.trim() === '') { + return res.ok({ body: { indices: [] } }); + } + + let aliases: string[] = []; + try { + aliases = await getAliasesFromPattern(ctx.core.elasticsearch.dataClient, pattern); + } catch (err) { + service.logger.debug(`route ${path} error: ${err.message}`); + return res.internalError({ body: 'error getting alias data' }); + } + let indices: string[] = []; + try { + indices = await getIndicesFromPattern(ctx.core.elasticsearch.dataClient, pattern); + } catch (err) { + service.logger.debug(`route ${path} error: ${err.message}`); + return res.internalError({ body: 'error getting index data' }); + } + + const result = { indices: uniqueCombined(aliases, indices, MAX_INDICES) }; + + service.logger.debug(`route ${path} response: ${JSON.stringify(result)}`); + return res.ok({ body: result }); + } +} + +function uniqueCombined(list1: string[], list2: string[], limit: number) { + const set = new Set(list1.concat(list2)); + const result = Array.from(set); + result.sort((string1, string2) => string1.localeCompare(string2)); + return result.slice(0, limit); +} + +async function getIndicesFromPattern( + dataClient: IScopedClusterClient, + pattern: string +): Promise { + const params = { + index: pattern, + ignore: [404], + ignoreUnavailable: true, + body: { + size: 0, // no hits + aggs: { + indices: { + terms: { + field: '_index', + size: MAX_INDICES, + }, + }, + }, + }, + }; + const response = await dataClient.callAsCurrentUser('search', params); + if (response.status === 404 || !response.aggregations) { + return []; + } + + return response.aggregations.indices.buckets.map((bucket: any) => bucket.key); +} + +async function getAliasesFromPattern( + dataClient: IScopedClusterClient, + pattern: string +): Promise { + const params = { + index: pattern, + ignoreUnavailable: true, + ignore: [404], + }; + const result: string[] = []; + + const response = await dataClient.callAsCurrentUser('indices.getAlias', params); + + if (response.status === 404) { + return result; + } + + for (const index of Object.keys(response)) { + const aliasRecord = response[index]; + if (aliasRecord.aliases) { + const aliases = Object.keys(aliasRecord.aliases); + result.push(...aliases); + } + } + + return result; +} diff --git a/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes.ts b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/time_series_query.ts similarity index 83% rename from x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes.ts rename to x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/time_series_query.ts index 1aabca8af0715..16864d250a747 100644 --- a/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes.ts +++ b/x-pack/plugins/alerting_builtins/server/alert_types/index_threshold/routes/time_series_query.ts @@ -12,13 +12,13 @@ import { KibanaResponseFactory, } from 'kibana/server'; -import { Service } from '../../types'; -import { TimeSeriesQuery, TimeSeriesQuerySchema, TimeSeriesResult } from './lib/time_series_types'; -export { TimeSeriesQuery, TimeSeriesResult } from './lib/time_series_types'; +import { Service } from '../../../types'; +import { TimeSeriesQuery, TimeSeriesQuerySchema, TimeSeriesResult } from '../lib/time_series_types'; +export { TimeSeriesQuery, TimeSeriesResult } from '../lib/time_series_types'; export function createTimeSeriesQueryRoute(service: Service, router: IRouter, baseRoute: string) { const path = `${baseRoute}/_time_series_query`; - service.logger.debug(`registering indexThreshold timeSeriesQuery route POST ${path}`); + service.logger.debug(`registering indexThreshold route POST ${path}`); router.post( { path, @@ -33,7 +33,7 @@ export function createTimeSeriesQueryRoute(service: Service, router: IRouter, ba req: KibanaRequest, res: KibanaResponseFactory ): Promise { - service.logger.debug(`route query_data request: ${JSON.stringify(req.body, null, 4)}`); + service.logger.debug(`route query_data request: ${JSON.stringify(req.body)}`); let result: TimeSeriesResult; try { @@ -47,7 +47,7 @@ export function createTimeSeriesQueryRoute(service: Service, router: IRouter, ba return res.internalError({ body: 'error running time series query' }); } - service.logger.debug(`route query_data response: ${JSON.stringify(result, null, 4)}`); + service.logger.debug(`route query_data response: ${JSON.stringify(result)}`); return res.ok({ body: result }); } } diff --git a/x-pack/plugins/canvas/kibana.json b/x-pack/plugins/canvas/kibana.json index 6e12164b61c5e..3cc442d591f3f 100644 --- a/x-pack/plugins/canvas/kibana.json +++ b/x-pack/plugins/canvas/kibana.json @@ -5,6 +5,6 @@ "configPath": ["xpack", "canvas"], "server": true, "ui": false, - "requiredPlugins": ["features", "home"], + "requiredPlugins": ["expressions", "features", "home"], "optionalPlugins": ["usageCollection"] } diff --git a/x-pack/plugins/canvas/server/plugin.ts b/x-pack/plugins/canvas/server/plugin.ts index a94c711b56e05..bfda7ef5885bc 100644 --- a/x-pack/plugins/canvas/server/plugin.ts +++ b/x-pack/plugins/canvas/server/plugin.ts @@ -6,17 +6,20 @@ import { first } from 'rxjs/operators'; import { CoreSetup, PluginInitializerContext, Plugin, Logger } from 'src/core/server'; +import { ExpressionsServerSetup } from 'src/plugins/expressions/server'; import { UsageCollectionSetup } from 'src/plugins/usage_collection/server'; import { HomeServerPluginSetup } from 'src/plugins/home/server'; import { PluginSetupContract as FeaturesPluginSetup } from '../../features/server'; import { initRoutes } from './routes'; import { registerCanvasUsageCollector } from './collectors'; import { loadSampleData } from './sample_data'; +import { setupInterpreter } from './setup_interpreter'; interface PluginsSetup { - usageCollection?: UsageCollectionSetup; + expressions: ExpressionsServerSetup; features: FeaturesPluginSetup; home: HomeServerPluginSetup; + usageCollection?: UsageCollectionSetup; } export class CanvasPlugin implements Plugin { @@ -65,6 +68,8 @@ export class CanvasPlugin implements Plugin { .pipe(first()) .toPromise(); registerCanvasUsageCollector(plugins.usageCollection, globalConfig.kibana.index); + + setupInterpreter(plugins.expressions); } public start() {} diff --git a/x-pack/plugins/canvas/server/setup_interpreter.ts b/x-pack/plugins/canvas/server/setup_interpreter.ts new file mode 100644 index 0000000000000..74dd8decbea69 --- /dev/null +++ b/x-pack/plugins/canvas/server/setup_interpreter.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; + * you may not use this file except in compliance with the Elastic License. + */ + +import { ExpressionsServerSetup } from 'src/plugins/expressions/server'; +import { functions } from '../../../legacy/plugins/canvas/canvas_plugin_src/functions/server'; + +export function setupInterpreter(expressions: ExpressionsServerSetup) { + expressions.__LEGACY.register({ types: [], serverFunctions: functions }); +} diff --git a/x-pack/plugins/drilldowns/public/service/drilldown_service.ts b/x-pack/plugins/drilldowns/public/service/drilldown_service.ts index 7209045191e94..7745c30b4e335 100644 --- a/x-pack/plugins/drilldowns/public/service/drilldown_service.ts +++ b/x-pack/plugins/drilldowns/public/service/drilldown_service.ts @@ -5,7 +5,7 @@ */ import { CoreSetup } from 'src/core/public'; -import { CONTEXT_MENU_TRIGGER } from '../../../../../src/plugins/embeddable/public'; +// import { CONTEXT_MENU_TRIGGER } from '../../../../../src/plugins/embeddable/public'; import { FlyoutCreateDrilldownAction, FlyoutEditDrilldownAction } from '../actions'; import { DrilldownsSetupDependencies } from '../plugin'; @@ -15,11 +15,11 @@ export class DrilldownService { const actionFlyoutCreateDrilldown = new FlyoutCreateDrilldownAction({ overlays }); uiActions.registerAction(actionFlyoutCreateDrilldown); - uiActions.attachAction(CONTEXT_MENU_TRIGGER, actionFlyoutCreateDrilldown); + // uiActions.attachAction(CONTEXT_MENU_TRIGGER, actionFlyoutCreateDrilldown); const actionFlyoutEditDrilldown = new FlyoutEditDrilldownAction({ overlays }); uiActions.registerAction(actionFlyoutEditDrilldown); - uiActions.attachAction(CONTEXT_MENU_TRIGGER, actionFlyoutEditDrilldown); + // uiActions.attachAction(CONTEXT_MENU_TRIGGER, actionFlyoutEditDrilldown); } /** diff --git a/x-pack/plugins/endpoint/public/applications/endpoint/components/header_nav.tsx b/x-pack/plugins/endpoint/public/applications/endpoint/components/header_nav.tsx index 84570fe82ed44..f7d6551f9093b 100644 --- a/x-pack/plugins/endpoint/public/applications/endpoint/components/header_nav.tsx +++ b/x-pack/plugins/endpoint/public/applications/endpoint/components/header_nav.tsx @@ -55,7 +55,6 @@ export const HeaderNavigation: React.FunctionComponent<{ basename: string }> = R return tabs.map((tab, index) => { return ( { let history: MemoryHistory; let store: ReturnType; - /** - * @testing-library/react provides `queryByTestId`, but that uses the data attribute - * 'data-testid' whereas our FTR and EUI's tests all use 'data-test-subj'. While @testing-library/react - * could be configured to use 'data-test-subj', it is not currently configured that way. - * - * This provides an equivalent function to `queryByTestId` but that uses our 'data-test-subj' attribute. - */ - let queryByTestSubjId: ( - renderResult: reactTestingLibrary.RenderResult, - testSubjId: string - ) => Promise; - beforeEach(async () => { /** * Create a 'history' instance that is only in-memory and causes no side effects to the testing environment. @@ -70,17 +58,6 @@ describe('when on the alerting page', () => { ); }; - queryByTestSubjId = async (renderResult, testSubjId) => { - return await waitForElement( - /** - * Use document.body instead of container because EUI renders things like popover out of the DOM heirarchy. - */ - () => document.body.querySelector(`[data-test-subj="${testSubjId}"]`), - { - container: renderResult.container, - } - ); - }; }); it('should show a data grid', async () => { await render().findByTestId('alertListGrid'); @@ -147,7 +124,7 @@ describe('when on the alerting page', () => { /** * Use our helper function to find the flyout's close button, as it uses a different test ID attribute. */ - const closeButton = await queryByTestSubjId(renderResult, 'euiFlyoutCloseButton'); + const closeButton = await renderResult.findByTestId('euiFlyoutCloseButton'); if (closeButton) { fireEvent.click(closeButton); } @@ -169,16 +146,13 @@ describe('when on the alerting page', () => { describe('when the user changes page size to 10', () => { beforeEach(async () => { const renderResult = render(); - const paginationButton = await queryByTestSubjId( - renderResult, - 'tablePaginationPopoverButton' - ); + const paginationButton = await renderResult.findByTestId('tablePaginationPopoverButton'); if (paginationButton) { act(() => { fireEvent.click(paginationButton); }); } - const show10RowsButton = await queryByTestSubjId(renderResult, 'tablePagination-10-rows'); + const show10RowsButton = await renderResult.findByTestId('tablePagination-10-rows'); if (show10RowsButton) { act(() => { fireEvent.click(show10RowsButton); diff --git a/x-pack/plugins/endpoint/public/applications/endpoint/view/alerts/index.tsx b/x-pack/plugins/endpoint/public/applications/endpoint/view/alerts/index.tsx index 5d405f8c6fbae..4cda2001de3c3 100644 --- a/x-pack/plugins/endpoint/public/applications/endpoint/view/alerts/index.tsx +++ b/x-pack/plugins/endpoint/public/applications/endpoint/view/alerts/index.tsx @@ -142,7 +142,7 @@ export const AlertIndex = memo(() => { if (columnId === 'alert_type') { return ( history.push(urlFromQueryParams({ ...queryParams, selected_alert: row.id })) } @@ -211,7 +211,7 @@ export const AlertIndex = memo(() => { return ( <> {hasSelectedAlert && ( - +

@@ -226,7 +226,7 @@ export const AlertIndex = memo(() => { )} - + @@ -250,7 +250,6 @@ export const AlertIndex = memo(() => { renderCellValue={renderCellValue} pagination={pagination} data-test-subj="alertListGrid" - data-testid="alertListGrid" /> diff --git a/x-pack/plugins/endpoint/public/applications/endpoint/view/alerts/resolver.tsx b/x-pack/plugins/endpoint/public/applications/endpoint/view/alerts/resolver.tsx index d2e07f84e5735..e254479b98dde 100644 --- a/x-pack/plugins/endpoint/public/applications/endpoint/view/alerts/resolver.tsx +++ b/x-pack/plugins/endpoint/public/applications/endpoint/view/alerts/resolver.tsx @@ -20,7 +20,7 @@ export const AlertDetailResolver = styled( const { store } = storeFactory(context); return ( -
+
diff --git a/x-pack/plugins/endpoint/public/applications/endpoint/view/managing/index.test.tsx b/x-pack/plugins/endpoint/public/applications/endpoint/view/managing/index.test.tsx index 216e4df61b0dd..74742a0ea1ef8 100644 --- a/x-pack/plugins/endpoint/public/applications/endpoint/view/managing/index.test.tsx +++ b/x-pack/plugins/endpoint/public/applications/endpoint/view/managing/index.test.tsx @@ -22,11 +22,6 @@ describe('when on the managing page', () => { let history: MemoryHistory; let store: ReturnType; - let queryByTestSubjId: ( - renderResult: reactTestingLibrary.RenderResult, - testSubjId: string - ) => Promise; - beforeEach(async () => { history = createMemoryHistory(); store = appStoreFactory(coreMock.createStart(), true); @@ -43,20 +38,11 @@ describe('when on the managing page', () => { ); }; - - queryByTestSubjId = async (renderResult, testSubjId) => { - return await reactTestingLibrary.waitForElement( - () => document.body.querySelector(`[data-test-subj="${testSubjId}"]`), - { - container: renderResult.container, - } - ); - }; }); it('should show a table', async () => { const renderResult = render(); - const table = await queryByTestSubjId(renderResult, 'managementListTable'); + const table = await renderResult.findByTestId('managementListTable'); expect(table).not.toBeNull(); }); @@ -64,7 +50,7 @@ describe('when on the managing page', () => { it('should not show the flyout', () => { const renderResult = render(); expect.assertions(1); - return queryByTestSubjId(renderResult, 'managementDetailsFlyout').catch(e => { + return renderResult.findByTestId('managementDetailsFlyout').catch(e => { expect(e).not.toBeNull(); }); }); @@ -89,14 +75,14 @@ describe('when on the managing page', () => { let renderResult: reactTestingLibrary.RenderResult; beforeEach(async () => { renderResult = render(); - const detailsLink = await queryByTestSubjId(renderResult, 'hostnameCellLink'); + const detailsLink = await renderResult.findByTestId('hostnameCellLink'); if (detailsLink) { reactTestingLibrary.fireEvent.click(detailsLink); } }); it('should show the flyout', () => { - return queryByTestSubjId(renderResult, 'managementDetailsFlyout').then(flyout => { + return renderResult.findByTestId('managementDetailsFlyout').then(flyout => { expect(flyout).not.toBeNull(); }); }); @@ -115,7 +101,7 @@ describe('when on the managing page', () => { }); it('should show the flyout', () => { const renderResult = render(); - return queryByTestSubjId(renderResult, 'managementDetailsFlyout').then(flyout => { + return renderResult.findByTestId('managementDetailsFlyout').then(flyout => { expect(flyout).not.toBeNull(); }); }); diff --git a/x-pack/plugins/endpoint/public/embeddables/resolver/view/use_camera.test.tsx b/x-pack/plugins/endpoint/public/embeddables/resolver/view/use_camera.test.tsx index 3845e452265c2..6e83fc19a922e 100644 --- a/x-pack/plugins/endpoint/public/embeddables/resolver/view/use_camera.test.tsx +++ b/x-pack/plugins/endpoint/public/embeddables/resolver/view/use_camera.test.tsx @@ -32,7 +32,7 @@ describe('useCamera on an unpainted element', () => { const camera = useCamera(); const { ref, onMouseDown } = camera; projectionMatrix = camera.projectionMatrix; - return
; + return
; }; simulator = sideEffectSimulator(); diff --git a/x-pack/plugins/infra/public/components/logging/log_analysis_results/analyze_in_ml_button.tsx b/x-pack/plugins/infra/public/components/logging/log_analysis_results/analyze_in_ml_button.tsx index 6b946898f6330..7d523faafdb3c 100644 --- a/x-pack/plugins/infra/public/components/logging/log_analysis_results/analyze_in_ml_button.tsx +++ b/x-pack/plugins/infra/public/components/logging/log_analysis_results/analyze_in_ml_button.tsx @@ -8,22 +8,19 @@ import { EuiButton } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import React from 'react'; import { encode } from 'rison-node'; -import url from 'url'; -import { stringify } from 'query-string'; -import { useKibana } from '../../../../../../../src/plugins/kibana_react/public'; import { TimeRange } from '../../../../common/http_api/shared/time_range'; -import { url as urlUtils } from '../../../../../../../src/plugins/kibana_utils/public'; +import { useLinkProps, LinkDescriptor } from '../../../hooks/use_link_props'; export const AnalyzeInMlButton: React.FunctionComponent<{ jobId: string; partition?: string; timeRange: TimeRange; }> = ({ jobId, partition, timeRange }) => { - const prependBasePath = useKibana().services.http?.basePath?.prepend; - if (!prependBasePath) { - return null; - } - const pathname = prependBasePath('/app/ml'); + const linkProps = useLinkProps( + typeof partition === 'string' + ? getPartitionSpecificSingleMetricViewerLinkDescriptor(jobId, partition, timeRange) + : getOverallAnomalyExplorerLinkDescriptor(jobId, timeRange) + ); const buttonLabel = ( ); return typeof partition === 'string' ? ( - + {buttonLabel} ) : ( - + {buttonLabel} ); }; -const getOverallAnomalyExplorerLink = (pathname: string, jobId: string, timeRange: TimeRange) => { +const getOverallAnomalyExplorerLinkDescriptor = ( + jobId: string, + timeRange: TimeRange +): LinkDescriptor => { const { from, to } = convertTimeRangeToParams(timeRange); const _g = encode({ @@ -62,20 +54,18 @@ const getOverallAnomalyExplorerLink = (pathname: string, jobId: string, timeRang }, }); - const hash = `/explorer?${stringify(urlUtils.encodeQuery({ _g }), { encode: false })}`; - - return url.format({ - pathname, - hash, - }); + return { + app: 'ml', + hash: '/explorer', + search: { _g }, + }; }; -const getPartitionSpecificSingleMetricViewerLink = ( - pathname: string, +const getPartitionSpecificSingleMetricViewerLinkDescriptor = ( jobId: string, partition: string, timeRange: TimeRange -) => { +): LinkDescriptor => { const { from, to } = convertTimeRangeToParams(timeRange); const _g = encode({ @@ -95,15 +85,11 @@ const getPartitionSpecificSingleMetricViewerLink = ( }, }); - const hash = `/timeseriesexplorer?${stringify(urlUtils.encodeQuery({ _g, _a }), { - sort: false, - encode: false, - })}`; - - return url.format({ - pathname, - hash, - }); + return { + app: 'ml', + hash: '/timeseriesexplorer', + search: { _g, _a }, + }; }; const convertTimeRangeToParams = (timeRange: TimeRange): { from: string; to: string } => { diff --git a/x-pack/plugins/infra/public/components/logging/log_analysis_setup/user_management_link.tsx b/x-pack/plugins/infra/public/components/logging/log_analysis_setup/user_management_link.tsx index 9a2bbd3dabffc..e045e78471513 100644 --- a/x-pack/plugins/infra/public/components/logging/log_analysis_setup/user_management_link.tsx +++ b/x-pack/plugins/infra/public/components/logging/log_analysis_setup/user_management_link.tsx @@ -7,12 +7,19 @@ import { EuiButton, EuiButtonProps } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import React from 'react'; +import { useLinkProps } from '../../../hooks/use_link_props'; -export const UserManagementLink: React.FunctionComponent = props => ( - - - -); +export const UserManagementLink: React.FunctionComponent = props => { + const linkProps = useLinkProps({ + app: 'kibana', + hash: '/management/security/users', + }); + return ( + + + + ); +}; diff --git a/x-pack/plugins/infra/public/components/logging/log_entry_flyout/log_entry_actions_menu.test.tsx b/x-pack/plugins/infra/public/components/logging/log_entry_flyout/log_entry_actions_menu.test.tsx index 16a91e3727c98..b4fa6b8800fba 100644 --- a/x-pack/plugins/infra/public/components/logging/log_entry_flyout/log_entry_actions_menu.test.tsx +++ b/x-pack/plugins/infra/public/components/logging/log_entry_flyout/log_entry_actions_menu.test.tsx @@ -10,22 +10,35 @@ import { act } from 'react-dom/test-utils'; import { mount } from 'enzyme'; import { LogEntryActionsMenu } from './log_entry_actions_menu'; +import { KibanaContextProvider } from '../../../../../../../src/plugins/kibana_react/public'; +import { coreMock } from 'src/core/public/mocks'; + +const coreStartMock = coreMock.createStart(); +coreStartMock.application.getUrlForApp.mockImplementation((app, options) => { + return `/test-basepath/s/test-space/app/${app}${options?.path}`; +}); + +const ProviderWrapper: React.FC = ({ children }) => { + return {children}; +}; describe('LogEntryActionsMenu component', () => { describe('uptime link', () => { it('renders with a host ip filter when present in log entry', () => { const elementWrapper = mount( - + + + ); act(() => { @@ -38,22 +51,24 @@ describe('LogEntryActionsMenu component', () => { expect( elementWrapper.find(`a${testSubject('~uptimeLogEntryActionsMenuItem')}`).prop('href') - ).toMatchInlineSnapshot(`"/app/uptime#/?search=(host.ip:HOST_IP)"`); + ).toBe('/test-basepath/s/test-space/app/uptime#/?search=host.ip:HOST_IP'); }); it('renders with a container id filter when present in log entry', () => { const elementWrapper = mount( - + + + ); act(() => { @@ -66,22 +81,24 @@ describe('LogEntryActionsMenu component', () => { expect( elementWrapper.find(`a${testSubject('~uptimeLogEntryActionsMenuItem')}`).prop('href') - ).toMatchInlineSnapshot(`"/app/uptime#/?search=(container.id:CONTAINER_ID)"`); + ).toBe('/test-basepath/s/test-space/app/uptime#/?search=container.id:CONTAINER_ID'); }); it('renders with a pod uid filter when present in log entry', () => { const elementWrapper = mount( - + + + ); act(() => { @@ -94,26 +111,28 @@ describe('LogEntryActionsMenu component', () => { expect( elementWrapper.find(`a${testSubject('~uptimeLogEntryActionsMenuItem')}`).prop('href') - ).toMatchInlineSnapshot(`"/app/uptime#/?search=(kubernetes.pod.uid:POD_UID)"`); + ).toBe('/test-basepath/s/test-space/app/uptime#/?search=kubernetes.pod.uid:POD_UID'); }); it('renders with a disjunction of filters when multiple present in log entry', () => { const elementWrapper = mount( - + + + ); act(() => { @@ -126,24 +145,26 @@ describe('LogEntryActionsMenu component', () => { expect( elementWrapper.find(`a${testSubject('~uptimeLogEntryActionsMenuItem')}`).prop('href') - ).toMatchInlineSnapshot( - `"/app/uptime#/?search=(container.id:CONTAINER_ID OR host.ip:HOST_IP OR kubernetes.pod.uid:POD_UID)"` + ).toBe( + '/test-basepath/s/test-space/app/uptime#/?search=container.id:CONTAINER_ID%20or%20host.ip:HOST_IP%20or%20kubernetes.pod.uid:POD_UID' ); }); it('renders as disabled when no supported field is present in log entry', () => { const elementWrapper = mount( - + + + ); act(() => { @@ -165,17 +186,19 @@ describe('LogEntryActionsMenu component', () => { describe('apm link', () => { it('renders with a trace id filter when present in log entry', () => { const elementWrapper = mount( - + + + ); act(() => { @@ -194,20 +217,22 @@ describe('LogEntryActionsMenu component', () => { it('renders with a trace id filter and timestamp when present in log entry', () => { const timestamp = '2019-06-27T17:44:08.693Z'; const elementWrapper = mount( - + + + ); act(() => { @@ -225,17 +250,19 @@ describe('LogEntryActionsMenu component', () => { it('renders as disabled when no supported field is present in log entry', () => { const elementWrapper = mount( - + + + ); act(() => { diff --git a/x-pack/plugins/infra/public/components/logging/log_entry_flyout/log_entry_actions_menu.tsx b/x-pack/plugins/infra/public/components/logging/log_entry_flyout/log_entry_actions_menu.tsx index 60e50f486d22a..206e9821190fb 100644 --- a/x-pack/plugins/infra/public/components/logging/log_entry_flyout/log_entry_actions_menu.tsx +++ b/x-pack/plugins/infra/public/components/logging/log_entry_flyout/log_entry_actions_menu.tsx @@ -4,41 +4,44 @@ * you may not use this file except in compliance with the Elastic License. */ +import * as rt from 'io-ts'; import { EuiButtonEmpty, EuiContextMenuItem, EuiContextMenuPanel, EuiPopover } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; import React, { useMemo } from 'react'; -import url from 'url'; -import { useKibana } from '../../../../../../../src/plugins/kibana_react/public'; import { useVisibilityState } from '../../../utils/use_visibility_state'; import { getTraceUrl } from '../../../../../../legacy/plugins/apm/public/components/shared/Links/apm/ExternalLinks'; import { LogEntriesItem } from '../../../../common/http_api'; +import { useLinkProps, LinkDescriptor } from '../../../hooks/use_link_props'; +import { decodeOrThrow } from '../../../../common/runtime_types'; const UPTIME_FIELDS = ['container.id', 'host.ip', 'kubernetes.pod.uid']; export const LogEntryActionsMenu: React.FunctionComponent<{ logItem: LogEntriesItem; }> = ({ logItem }) => { - const prependBasePath = useKibana().services.http?.basePath?.prepend; const { hide, isVisible, show } = useVisibilityState(false); - const uptimeLink = useMemo(() => { - const link = getUptimeLink(logItem); - return prependBasePath && link ? prependBasePath(link) : link; - }, [logItem, prependBasePath]); + const apmLinkDescriptor = useMemo(() => getAPMLink(logItem), [logItem]); + const uptimeLinkDescriptor = useMemo(() => getUptimeLink(logItem), [logItem]); - const apmLink = useMemo(() => { - const link = getAPMLink(logItem); - return prependBasePath && link ? prependBasePath(link) : link; - }, [logItem, prependBasePath]); + const uptimeLinkProps = useLinkProps({ + app: 'uptime', + ...(uptimeLinkDescriptor ? uptimeLinkDescriptor : {}), + }); + + const apmLinkProps = useLinkProps({ + app: 'apm', + ...(apmLinkDescriptor ? apmLinkDescriptor : {}), + }); const menuItems = useMemo( () => [ , , ], - [apmLink, uptimeLink] + [uptimeLinkDescriptor, apmLinkDescriptor, apmLinkProps, uptimeLinkProps] ); const hasMenuItems = useMemo(() => menuItems.length > 0, [menuItems]); @@ -89,22 +92,32 @@ export const LogEntryActionsMenu: React.FunctionComponent<{ ); }; -const getUptimeLink = (logItem: LogEntriesItem) => { +const getUptimeLink = (logItem: LogEntriesItem): LinkDescriptor | undefined => { const searchExpressions = logItem.fields .filter(({ field, value }) => value != null && UPTIME_FIELDS.includes(field)) - .map(({ field, value }) => `${field}:${value}`); + .reduce((acc, fieldItem) => { + const { field, value } = fieldItem; + try { + const parsedValue = decodeOrThrow(rt.array(rt.string))(JSON.parse(value)); + return acc.concat(parsedValue.map(val => `${field}:${val}`)); + } catch (e) { + return acc.concat([`${field}:${value}`]); + } + }, []); if (searchExpressions.length === 0) { return undefined; } - - return url.format({ - pathname: '/app/uptime', - hash: `/?search=(${searchExpressions.join(' OR ')})`, - }); + return { + app: 'uptime', + hash: '/', + search: { + search: `${searchExpressions.join(' or ')}`, + }, + }; }; -const getAPMLink = (logItem: LogEntriesItem) => { +const getAPMLink = (logItem: LogEntriesItem): LinkDescriptor | undefined => { const traceIdEntry = logItem.fields.find( ({ field, value }) => value != null && field === 'trace.id' ); @@ -127,8 +140,8 @@ const getAPMLink = (logItem: LogEntriesItem) => { })() : { rangeFrom: 'now-1y', rangeTo: 'now' }; - return url.format({ - pathname: '/app/apm', + return { + app: 'apm', hash: getTraceUrl({ traceId: traceIdEntry.value, rangeFrom, rangeTo }), - }); + }; }; diff --git a/x-pack/plugins/infra/public/components/metrics_explorer/chart_context_menu.test.tsx b/x-pack/plugins/infra/public/components/metrics_explorer/chart_context_menu.test.tsx index 9c3319d467ae2..a23a2739a8e23 100644 --- a/x-pack/plugins/infra/public/components/metrics_explorer/chart_context_menu.test.tsx +++ b/x-pack/plugins/infra/public/components/metrics_explorer/chart_context_menu.test.tsx @@ -8,10 +8,11 @@ import React from 'react'; import { MetricsExplorerChartContextMenu, createNodeDetailLink, Props } from './chart_context_menu'; import { ReactWrapper, mount } from 'enzyme'; import { options, source, timeRange, chartOptions } from '../../utils/fixtures/metrics_explorer'; -import DateMath from '@elastic/datemath'; import { Capabilities } from 'src/core/public'; import { KibanaContextProvider } from '../../../../../../src/plugins/kibana_react/public'; +import { coreMock } from 'src/core/public/mocks'; +const coreStartMock = coreMock.createStart(); const series = { id: 'exmaple-01', rows: [], columns: [] }; const uiCapabilities: Capabilities = { navLinks: { show: false }, @@ -25,17 +26,8 @@ const getTestSubject = (component: ReactWrapper, name: string) => { }; const mountComponentWithProviders = (props: Props): ReactWrapper => { - const services = { - http: { - fetch: jest.fn(), - }, - application: { - getUrlForApp: jest.fn(), - }, - }; - return mount( - + ); @@ -159,10 +151,12 @@ describe('MetricsExplorerChartContextMenu', () => { test('createNodeDetailLink()', () => { const fromDateStrig = '2019-01-01T11:00:00Z'; const toDateStrig = '2019-01-01T12:00:00Z'; - const to = DateMath.parse(toDateStrig, { roundUp: true })!; - const from = DateMath.parse(fromDateStrig)!; const link = createNodeDetailLink('host', 'example-01', fromDateStrig, toDateStrig); - expect(link).toBe(`link-to/host-detail/example-01?to=${to.valueOf()}&from=${from.valueOf()}`); + expect(link).toStrictEqual({ + app: 'metrics', + pathname: 'link-to/host-detail/example-01', + search: { from: '1546340400000', to: '1546344000000' }, + }); }); }); }); diff --git a/x-pack/plugins/infra/public/components/metrics_explorer/chart_context_menu.tsx b/x-pack/plugins/infra/public/components/metrics_explorer/chart_context_menu.tsx index f7c97033f8d50..c50550f1de56f 100644 --- a/x-pack/plugins/infra/public/components/metrics_explorer/chart_context_menu.tsx +++ b/x-pack/plugins/infra/public/components/metrics_explorer/chart_context_menu.tsx @@ -24,7 +24,7 @@ import { createTSVBLink } from './helpers/create_tsvb_link'; import { getNodeDetailUrl } from '../../pages/link_to/redirect_to_node_detail'; import { SourceConfiguration } from '../../utils/source_configuration'; import { InventoryItemType } from '../../../common/inventory_models/types'; -import { usePrefixPathWithBasepath } from '../../hooks/use_prefix_path_with_basepath'; +import { useLinkProps } from '../../hooks/use_link_props'; export interface Props { options: MetricsExplorerOptions; @@ -80,7 +80,6 @@ export const MetricsExplorerChartContextMenu: React.FC = ({ uiCapabilities, chartOptions, }: Props) => { - const urlPrefixer = usePrefixPathWithBasepath(); const [isPopoverOpen, setPopoverState] = useState(false); const supportFiltering = options.groupBy != null && onFilter != null; const handleFilter = useCallback(() => { @@ -92,8 +91,6 @@ export const MetricsExplorerChartContextMenu: React.FC = ({ setPopoverState(false); }, [supportFiltering, options.groupBy, series.id, onFilter]); - const tsvbUrl = createTSVBLink(source, options, series, timeRange, chartOptions); - // Only display the "Add Filter" option if it's supported const filterByItem = supportFiltering ? [ @@ -109,6 +106,13 @@ export const MetricsExplorerChartContextMenu: React.FC = ({ : []; const nodeType = source && options.groupBy && fieldToNodeType(source, options.groupBy); + const nodeDetailLinkProps = useLinkProps({ + app: 'metrics', + ...(nodeType ? createNodeDetailLink(nodeType, series.id, timeRange.from, timeRange.to) : {}), + }); + const tsvbLinkProps = useLinkProps({ + ...createTSVBLink(source, options, series, timeRange, chartOptions), + }); const viewNodeDetail = nodeType ? [ { @@ -117,10 +121,7 @@ export const MetricsExplorerChartContextMenu: React.FC = ({ values: { name: nodeType }, }), icon: 'metricsApp', - href: urlPrefixer( - 'metrics', - createNodeDetailLink(nodeType, series.id, timeRange.from, timeRange.to) - ), + ...(nodeType ? nodeDetailLinkProps : {}), 'data-test-subj': 'metricsExplorerAction-ViewNodeMetrics', }, ] @@ -132,7 +133,7 @@ export const MetricsExplorerChartContextMenu: React.FC = ({ name: i18n.translate('xpack.infra.metricsExplorer.openInTSVB', { defaultMessage: 'Open in Visualize', }), - href: tsvbUrl, + ...tsvbLinkProps, icon: 'visualizeApp', disabled: options.metrics.length === 0, 'data-test-subj': 'metricsExplorerAction-OpenInTSVB', diff --git a/x-pack/plugins/infra/public/components/metrics_explorer/helpers/create_tsvb_link.test.ts b/x-pack/plugins/infra/public/components/metrics_explorer/helpers/create_tsvb_link.test.ts index 111f6678081f7..05637642b8dd9 100644 --- a/x-pack/plugins/infra/public/components/metrics_explorer/helpers/create_tsvb_link.test.ts +++ b/x-pack/plugins/infra/public/components/metrics_explorer/helpers/create_tsvb_link.test.ts @@ -22,9 +22,16 @@ const series = { id: 'example-01', rows: [], columns: [] }; describe('createTSVBLink()', () => { it('should just work', () => { const link = createTSVBLink(source, options, series, timeRange, chartOptions); - expect(link).toBe( - "../app/kibana#/visualize/create?type=metrics&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))&_a=(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:%236092C0,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))" - ); + expect(link).toStrictEqual({ + app: 'kibana', + hash: '/visualize/create', + search: { + _a: + "(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:#6092C0,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))", + _g: '(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))', + type: 'metrics', + }, + }); }); it('should work with rates', () => { @@ -33,16 +40,30 @@ describe('createTSVBLink()', () => { metrics: [{ aggregation: 'rate', field: 'system.network.out.bytes' }], }; const link = createTSVBLink(source, customOptions, series, timeRange, chartOptions); - expect(link).toBe( - "../app/kibana#/visualize/create?type=metrics&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))&_a=(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:%236092C0,fill:0,formatter:bytes,id:test-id,label:'rate(system.network.out.bytes)',line_width:2,metrics:!((field:system.network.out.bytes,id:test-id,type:max),(field:test-id,id:test-id,type:derivative,unit:'1s'),(field:test-id,id:test-id,type:positive_only)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}}/s)),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))" - ); + expect(link).toStrictEqual({ + app: 'kibana', + hash: '/visualize/create', + search: { + _a: + "(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:#6092C0,fill:0,formatter:bytes,id:test-id,label:'rate(system.network.out.bytes)',line_width:2,metrics:!((field:system.network.out.bytes,id:test-id,type:max),(field:test-id,id:test-id,type:derivative,unit:'1s'),(field:test-id,id:test-id,type:positive_only)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}}/s)),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))", + _g: '(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))', + type: 'metrics', + }, + }); }); it('should work with time range', () => { const customTimeRange = { ...timeRange, from: 'now-10m', to: 'now' }; const link = createTSVBLink(source, options, series, customTimeRange, chartOptions); - expect(link).toBe( - "../app/kibana#/visualize/create?type=metrics&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-10m,to:now))&_a=(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:%236092C0,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))" - ); + expect(link).toStrictEqual({ + app: 'kibana', + hash: '/visualize/create', + search: { + _a: + "(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:#6092C0,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))", + _g: '(refreshInterval:(pause:!t,value:0),time:(from:now-10m,to:now))', + type: 'metrics', + }, + }); }); it('should work with source', () => { const customSource = { @@ -51,9 +72,16 @@ describe('createTSVBLink()', () => { fields: { ...source.fields, timestamp: 'time' }, }; const link = createTSVBLink(customSource, options, series, timeRange, chartOptions); - expect(link).toBe( - "../app/kibana#/visualize/create?type=metrics&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))&_a=(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'my-beats-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'my-beats-*',interval:auto,series:!((axis_position:right,chart_type:line,color:%236092C0,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:time,type:timeseries),title:example-01,type:metrics))" - ); + expect(link).toStrictEqual({ + app: 'kibana', + hash: '/visualize/create', + search: { + _a: + "(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'my-beats-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'my-beats-*',interval:auto,series:!((axis_position:right,chart_type:line,color:#6092C0,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:time,type:timeseries),title:example-01,type:metrics))", + _g: '(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))', + type: 'metrics', + }, + }); }); it('should work with filterQuery', () => { const customSource = { @@ -63,25 +91,46 @@ describe('createTSVBLink()', () => { }; const customOptions = { ...options, filterQuery: 'system.network.name:lo*' }; const link = createTSVBLink(customSource, customOptions, series, timeRange, chartOptions); - expect(link).toBe( - "../app/kibana#/visualize/create?type=metrics&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))&_a=(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'my-beats-*',filter:(language:kuery,query:'system.network.name:lo* and host.name : \"example-01\"'),id:test-id,index_pattern:'my-beats-*',interval:auto,series:!((axis_position:right,chart_type:line,color:%236092C0,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:time,type:timeseries),title:example-01,type:metrics))" - ); + expect(link).toStrictEqual({ + app: 'kibana', + hash: '/visualize/create', + search: { + _a: + "(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'my-beats-*',filter:(language:kuery,query:'system.network.name:lo* and host.name : \"example-01\"'),id:test-id,index_pattern:'my-beats-*',interval:auto,series:!((axis_position:right,chart_type:line,color:#6092C0,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:time,type:timeseries),title:example-01,type:metrics))", + _g: '(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))', + type: 'metrics', + }, + }); }); it('should remove axis_min from link', () => { const customChartOptions = { ...chartOptions, yAxisMode: MetricsExplorerYAxisMode.auto }; const link = createTSVBLink(source, options, series, timeRange, customChartOptions); - expect(link).toBe( - "../app/kibana#/visualize/create?type=metrics&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))&_a=(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:%236092C0,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))" - ); + expect(link).toStrictEqual({ + app: 'kibana', + hash: '/visualize/create', + search: { + _a: + "(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:#6092C0,fill:0,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))", + _g: '(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))', + type: 'metrics', + }, + }); }); it('should change series to area', () => { const customChartOptions = { ...chartOptions, type: MetricsExplorerChartType.area }; const link = createTSVBLink(source, options, series, timeRange, customChartOptions); - expect(link).toBe( - "../app/kibana#/visualize/create?type=metrics&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))&_a=(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:%236092C0,fill:0.5,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))" - ); + expect(link).toStrictEqual({ + app: 'kibana', + hash: '/visualize/create', + search: { + _a: + "(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:#6092C0,fill:0.5,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:none,value_template:{{value}})),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))", + _g: '(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))', + type: 'metrics', + }, + }); }); it('should change series to area and stacked', () => { @@ -91,9 +140,16 @@ describe('createTSVBLink()', () => { stack: true, }; const link = createTSVBLink(source, options, series, timeRange, customChartOptions); - expect(link).toBe( - "../app/kibana#/visualize/create?type=metrics&_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))&_a=(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:%236092C0,fill:0.5,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:stacked,value_template:{{value}})),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))" - ); + expect(link).toStrictEqual({ + app: 'kibana', + hash: '/visualize/create', + search: { + _a: + "(filters:!(),linked:!f,query:(language:kuery,query:''),uiState:(),vis:(aggs:!(),params:(axis_formatter:number,axis_min:0,axis_position:left,axis_scale:normal,default_index_pattern:'metricbeat-*',filter:(language:kuery,query:'host.name : \"example-01\"'),id:test-id,index_pattern:'metricbeat-*',interval:auto,series:!((axis_position:right,chart_type:line,color:#6092C0,fill:0.5,formatter:percent,id:test-id,label:'avg(system.cpu.user.pct)',line_width:2,metrics:!((field:system.cpu.user.pct,id:test-id,type:avg)),point_size:0,separate_axis:0,split_mode:everything,stacked:stacked,value_template:{{value}})),show_grid:1,show_legend:1,time_field:'@timestamp',type:timeseries),title:example-01,type:metrics))", + _g: '(refreshInterval:(pause:!t,value:0),time:(from:now-1h,to:now))', + type: 'metrics', + }, + }); }); test('createFilterFromOptions()', () => { diff --git a/x-pack/plugins/infra/public/components/metrics_explorer/helpers/create_tsvb_link.ts b/x-pack/plugins/infra/public/components/metrics_explorer/helpers/create_tsvb_link.ts index cb23a96b9c163..20706f563ec63 100644 --- a/x-pack/plugins/infra/public/components/metrics_explorer/helpers/create_tsvb_link.ts +++ b/x-pack/plugins/infra/public/components/metrics_explorer/helpers/create_tsvb_link.ts @@ -21,6 +21,7 @@ import { metricToFormat } from './metric_to_format'; import { InfraFormatterType } from '../../../lib/lib'; import { SourceQuery } from '../../../graphql/types'; import { createMetricLabel } from './create_metric_label'; +import { LinkDescriptor } from '../../../hooks/use_link_props'; export const metricsExplorerMetricToTSVBMetric = (metric: MetricsExplorerOptionsMetric) => { if (metric.aggregation === 'rate') { @@ -64,10 +65,9 @@ const mapMetricToSeries = (chartOptions: MetricsExplorerChartOptions) => ( label: createMetricLabel(metric), axis_position: 'right', chart_type: 'line', - color: encodeURIComponent( + color: (metric.color && colorTransformer(metric.color)) || - colorTransformer(MetricsExplorerColor.color0) - ), + colorTransformer(MetricsExplorerColor.color0), fill: chartOptions.type === MetricsExplorerChartType.area ? 0.5 : 0, formatter: format === InfraFormatterType.bits ? InfraFormatterType.bytes : format, value_template: 'rate' === metric.aggregation ? '{{value}}/s' : '{{value}}', @@ -102,7 +102,7 @@ export const createTSVBLink = ( series: MetricsExplorerSeries, timeRange: MetricsExplorerTimeOptions, chartOptions: MetricsExplorerChartOptions -) => { +): LinkDescriptor => { const appState = { filters: [], linked: false, @@ -139,7 +139,13 @@ export const createTSVBLink = ( time: { from: timeRange.from, to: timeRange.to }, }; - return `../app/kibana#/visualize/create?type=metrics&_g=${encode(globalState)}&_a=${encode( - appState as any - )}`; + return { + app: 'kibana', + hash: '/visualize/create', + search: { + type: 'metrics', + _g: encode(globalState), + _a: encode(appState as any), + }, + }; }; diff --git a/x-pack/plugins/infra/public/components/navigation/routed_tabs.tsx b/x-pack/plugins/infra/public/components/navigation/routed_tabs.tsx index 2838ac6cda6dd..d9ea44e2f1f6a 100644 --- a/x-pack/plugins/infra/public/components/navigation/routed_tabs.tsx +++ b/x-pack/plugins/infra/public/components/navigation/routed_tabs.tsx @@ -9,55 +9,51 @@ import React from 'react'; import { Route } from 'react-router-dom'; import { euiStyled } from '../../../../observability/public'; +import { useLinkProps } from '../../hooks/use_link_props'; +import { LinkDescriptor } from '../../hooks/use_link_props'; -interface TabConfiguration { +interface TabConfig { title: string | React.ReactNode; - path: string; } +type TabConfiguration = TabConfig & LinkDescriptor; + interface RoutedTabsProps { tabs: TabConfiguration[]; } const noop = () => {}; -export class RoutedTabs extends React.Component { - public render() { - return {this.renderTabs()}; - } - - private renderTabs() { - return this.props.tabs.map(tab => { - return ( - { - return ( - - {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} - ) => { - e.preventDefault(); - history.push(tab.path); - }} - > - - {tab.title} - - - - ); - }} - /> - ); - }); - } -} +export const RoutedTabs = ({ tabs }: RoutedTabsProps) => { + return ( + + {tabs.map(tab => { + return ; + })} + + ); +}; + +const Tab = ({ title, pathname, app }: TabConfiguration) => { + const linkProps = useLinkProps({ app, pathname }); + return ( + { + return ( + + {/* eslint-disable-next-line @elastic/eui/href-or-on-click */} + + + {title} + + + + ); + }} + /> + ); +}; const TabContainer = euiStyled.div` .euiLink { diff --git a/x-pack/plugins/infra/public/components/source_configuration/view_source_configuration_button.tsx b/x-pack/plugins/infra/public/components/source_configuration/view_source_configuration_button.tsx index 9c3a40fb7ecf0..93cec8a1c7242 100644 --- a/x-pack/plugins/infra/public/components/source_configuration/view_source_configuration_button.tsx +++ b/x-pack/plugins/infra/public/components/source_configuration/view_source_configuration_button.tsx @@ -6,28 +6,23 @@ import { EuiButton } from '@elastic/eui'; import React from 'react'; -import { Route } from 'react-router-dom'; +import { useLinkProps } from '../../hooks/use_link_props'; interface ViewSourceConfigurationButtonProps { 'data-test-subj'?: string; children: React.ReactNode; + app: 'logs' | 'metrics'; } export const ViewSourceConfigurationButton = ({ 'data-test-subj': dataTestSubj, + app, children, }: ViewSourceConfigurationButtonProps) => { - const href = '/settings'; - + const linkProps = useLinkProps({ app, pathname: '/settings' }); return ( - ( - history.push(href)}> - {children} - - )} - /> + + {children} + ); }; diff --git a/x-pack/plugins/infra/public/components/waffle/lib/create_uptime_link.test.ts b/x-pack/plugins/infra/public/components/waffle/lib/create_uptime_link.test.ts index fb9791fae9b5e..18e5838a15b56 100644 --- a/x-pack/plugins/infra/public/components/waffle/lib/create_uptime_link.test.ts +++ b/x-pack/plugins/infra/public/components/waffle/lib/create_uptime_link.test.ts @@ -46,7 +46,11 @@ describe('createUptimeLink()', () => { avg: 0.6, }, }; - expect(createUptimeLink(options, 'host', node)).toBe('#/?search=host.ip:"10.0.1.2"'); + expect(createUptimeLink(options, 'host', node)).toStrictEqual({ + app: 'uptime', + hash: '/', + search: { search: 'host.ip:"10.0.1.2"' }, + }); }); it('should work for hosts without ip', () => { @@ -62,7 +66,11 @@ describe('createUptimeLink()', () => { avg: 0.6, }, }; - expect(createUptimeLink(options, 'host', node)).toBe('#/?search=host.name:"host-01"'); + expect(createUptimeLink(options, 'host', node)).toStrictEqual({ + app: 'uptime', + hash: '/', + search: { search: 'host.name:"host-01"' }, + }); }); it('should work for pods', () => { @@ -78,9 +86,11 @@ describe('createUptimeLink()', () => { avg: 0.6, }, }; - expect(createUptimeLink(options, 'pod', node)).toBe( - '#/?search=kubernetes.pod.uid:"29193-pod-02939"' - ); + expect(createUptimeLink(options, 'pod', node)).toStrictEqual({ + app: 'uptime', + hash: '/', + search: { search: 'kubernetes.pod.uid:"29193-pod-02939"' }, + }); }); it('should work for container', () => { @@ -96,8 +106,10 @@ describe('createUptimeLink()', () => { avg: 0.6, }, }; - expect(createUptimeLink(options, 'container', node)).toBe( - '#/?search=container.id:"docker-1234"' - ); + expect(createUptimeLink(options, 'container', node)).toStrictEqual({ + app: 'uptime', + hash: '/', + search: { search: 'container.id:"docker-1234"' }, + }); }); }); diff --git a/x-pack/plugins/infra/public/components/waffle/lib/create_uptime_link.ts b/x-pack/plugins/infra/public/components/waffle/lib/create_uptime_link.ts index 023a1a4b6ecef..72b46f4fb5c7b 100644 --- a/x-pack/plugins/infra/public/components/waffle/lib/create_uptime_link.ts +++ b/x-pack/plugins/infra/public/components/waffle/lib/create_uptime_link.ts @@ -7,15 +7,28 @@ import { get } from 'lodash'; import { InfraWaffleMapNode, InfraWaffleMapOptions } from '../../../lib/lib'; import { InventoryItemType } from '../../../../common/inventory_models/types'; +import { LinkDescriptor } from '../../../hooks/use_link_props'; export const createUptimeLink = ( options: InfraWaffleMapOptions, nodeType: InventoryItemType, node: InfraWaffleMapNode -) => { +): LinkDescriptor => { if (nodeType === 'host' && node.ip) { - return `#/?search=host.ip:"${node.ip}"`; + return { + app: 'uptime', + hash: '/', + search: { + search: `host.ip:"${node.ip}"`, + }, + }; } const field = get(options, ['fields', nodeType], ''); - return `#/?search=${field ? field + ':' : ''}"${node.id}"`; + return { + app: 'uptime', + hash: '/', + search: { + search: `${field ? field + ':' : ''}"${node.id}"`, + }, + }; }; diff --git a/x-pack/plugins/infra/public/components/waffle/node_context_menu.tsx b/x-pack/plugins/infra/public/components/waffle/node_context_menu.tsx index 43d27bb8259b3..cc6a94c8a41a2 100644 --- a/x-pack/plugins/infra/public/components/waffle/node_context_menu.tsx +++ b/x-pack/plugins/infra/public/components/waffle/node_context_menu.tsx @@ -24,7 +24,7 @@ import { SectionLinks, SectionLink, } from '../../../../observability/public'; -import { usePrefixPathWithBasepath } from '../../hooks/use_prefix_path_with_basepath'; +import { useLinkProps } from '../../hooks/use_link_props'; interface Props { options: InfraWaffleMapOptions; @@ -46,10 +46,9 @@ export const NodeContextMenu: React.FC = ({ nodeType, popoverPosition, }) => { - const urlPrefixer = usePrefixPathWithBasepath(); - const uiCapabilities = useKibana().services.application?.capabilities; const inventoryModel = findInventoryModel(nodeType); const nodeDetailFrom = currentTime - inventoryModel.metrics.defaultTimeRangeInSeconds * 1000; + const uiCapabilities = useKibana().services.application?.capabilities; // Due to the changing nature of the fields between APM and this UI, // We need to have some exceptions until 7.0 & ECS is finalized. Reference // #26620 for the details for these fields. @@ -81,19 +80,37 @@ export const NodeContextMenu: React.FC = ({ return { label: '', value: '' }; }, [nodeType, node.ip, node.id, options.fields]); + const nodeLogsMenuItemLinkProps = useLinkProps({ + app: 'logs', + ...getNodeLogsUrl({ + nodeType, + nodeId: node.id, + time: currentTime, + }), + }); + const nodeDetailMenuItemLinkProps = useLinkProps({ + ...getNodeDetailUrl({ + nodeType, + nodeId: node.id, + from: nodeDetailFrom, + to: currentTime, + }), + }); + const apmTracesMenuItemLinkProps = useLinkProps({ + app: 'apm', + hash: 'traces', + search: { + kuery: `${apmField}:"${node.id}"`, + }, + }); + const uptimeMenuItemLinkProps = useLinkProps(createUptimeLink(options, nodeType, node)); + const nodeLogsMenuItem: SectionLinkProps = { label: i18n.translate('xpack.infra.nodeContextMenu.viewLogsName', { defaultMessage: '{inventoryName} logs', values: { inventoryName: inventoryModel.singularDisplayName }, }), - href: urlPrefixer( - 'logs', - getNodeLogsUrl({ - nodeType, - nodeId: node.id, - time: currentTime, - }) - ), + ...nodeLogsMenuItemLinkProps, 'data-test-subj': 'viewLogsContextMenuItem', isDisabled: !showLogsLink, }; @@ -103,15 +120,7 @@ export const NodeContextMenu: React.FC = ({ defaultMessage: '{inventoryName} metrics', values: { inventoryName: inventoryModel.singularDisplayName }, }), - href: urlPrefixer( - 'metrics', - getNodeDetailUrl({ - nodeType, - nodeId: node.id, - from: nodeDetailFrom, - to: currentTime, - }) - ), + ...nodeDetailMenuItemLinkProps, isDisabled: !showDetail, }; @@ -120,7 +129,7 @@ export const NodeContextMenu: React.FC = ({ defaultMessage: '{inventoryName} APM traces', values: { inventoryName: inventoryModel.singularDisplayName }, }), - href: urlPrefixer('apm', `#traces?_g=()&kuery=${apmField}:"${node.id}"`), + ...apmTracesMenuItemLinkProps, 'data-test-subj': 'viewApmTracesContextMenuItem', isDisabled: !showAPMTraceLink, }; @@ -130,7 +139,7 @@ export const NodeContextMenu: React.FC = ({ defaultMessage: '{inventoryName} in Uptime', values: { inventoryName: inventoryModel.singularDisplayName }, }), - href: urlPrefixer('uptime', createUptimeLink(options, nodeType, node)), + ...uptimeMenuItemLinkProps, isDisabled: !showUptimeLink, }; @@ -163,28 +172,10 @@ export const NodeContextMenu: React.FC = ({ )} - - - - + + + +
diff --git a/x-pack/plugins/infra/public/hooks/use_link_props.test.tsx b/x-pack/plugins/infra/public/hooks/use_link_props.test.tsx new file mode 100644 index 0000000000000..13e054de2dcf7 --- /dev/null +++ b/x-pack/plugins/infra/public/hooks/use_link_props.test.tsx @@ -0,0 +1,186 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { encode } from 'rison-node'; +import { createMemoryHistory, LocationDescriptorObject } from 'history'; +import { renderHook } from '@testing-library/react-hooks'; +import React from 'react'; +import { KibanaContextProvider } from '../../../../../src/plugins/kibana_react/public'; +import { HistoryContext } from '../utils/history_context'; +import { coreMock } from 'src/core/public/mocks'; +import { useLinkProps, LinkDescriptor } from './use_link_props'; + +const PREFIX = '/test-basepath/s/test-space/app/'; + +const coreStartMock = coreMock.createStart(); + +coreStartMock.application.getUrlForApp.mockImplementation((app, options) => { + return `${PREFIX}${app}${options?.path}`; +}); + +const INTERNAL_APP = 'metrics'; + +// Note: Memory history doesn't support basename, +// we'll work around this by re-assigning 'createHref' so that +// it includes a basename, this then acts as our browserHistory instance would. +const history = createMemoryHistory(); +const originalCreateHref = history.createHref; +history.createHref = (location: LocationDescriptorObject): string => { + return `${PREFIX}${INTERNAL_APP}${originalCreateHref.call(history, location)}`; +}; + +const ProviderWrapper: React.FC = ({ children }) => { + return ( + + {children}; + + ); +}; + +const renderUseLinkPropsHook = (props?: Partial) => { + return renderHook(() => useLinkProps({ app: INTERNAL_APP, ...props }), { + wrapper: ProviderWrapper, + }); +}; +describe('useLinkProps hook', () => { + describe('Handles internal linking', () => { + it('Provides the correct baseline props', () => { + const { result } = renderUseLinkPropsHook({ pathname: '/' }); + expect(result.current.href).toBe('/test-basepath/s/test-space/app/metrics/'); + expect(result.current.onClick).toBeDefined(); + }); + + it('Provides the correct props with options', () => { + const { result } = renderUseLinkPropsHook({ + pathname: '/inventory', + search: { + type: 'host', + id: 'some-id', + count: '12345', + }, + }); + expect(result.current.href).toBe( + '/test-basepath/s/test-space/app/metrics/inventory?type=host&id=some-id&count=12345' + ); + expect(result.current.onClick).toBeDefined(); + }); + + it('Provides the correct props with more complex encoding', () => { + const { result } = renderUseLinkPropsHook({ + pathname: '/inventory', + search: { + type: 'host + host', + name: 'this name has spaces and ** and %', + id: 'some-id', + count: '12345', + animals: ['dog', 'cat', 'bear'], + }, + }); + expect(result.current.href).toBe( + '/test-basepath/s/test-space/app/metrics/inventory?type=host%20%2B%20host&name=this%20name%20has%20spaces%20and%20**%20and%20%25&id=some-id&count=12345&animals=dog,cat,bear' + ); + expect(result.current.onClick).toBeDefined(); + }); + + it('Provides the correct props with a consumer using Rison encoding for search', () => { + const state = { + refreshInterval: { pause: true, value: 0 }, + time: { from: 12345, to: 54321 }, + }; + const { result } = renderUseLinkPropsHook({ + pathname: '/inventory', + search: { + type: 'host + host', + state: encode(state), + }, + }); + expect(result.current.href).toBe( + '/test-basepath/s/test-space/app/metrics/inventory?type=host%20%2B%20host&state=(refreshInterval:(pause:!t,value:0),time:(from:12345,to:54321))' + ); + expect(result.current.onClick).toBeDefined(); + }); + }); + + describe('Handles external linking', () => { + it('Provides the correct baseline props', () => { + const { result } = renderUseLinkPropsHook({ + app: 'ml', + pathname: '/', + }); + expect(result.current.href).toBe('/test-basepath/s/test-space/app/ml/'); + expect(result.current.onClick).not.toBeDefined(); + }); + + it('Provides the correct props with pathname options', () => { + const { result } = renderUseLinkPropsHook({ + app: 'ml', + pathname: '/explorer', + search: { + type: 'host', + id: 'some-id', + count: '12345', + }, + }); + expect(result.current.href).toBe( + '/test-basepath/s/test-space/app/ml/explorer?type=host&id=some-id&count=12345' + ); + expect(result.current.onClick).not.toBeDefined(); + }); + + it('Provides the correct props with hash options', () => { + const { result } = renderUseLinkPropsHook({ + app: 'ml', + hash: '/explorer', + search: { + type: 'host', + id: 'some-id', + count: '12345', + }, + }); + expect(result.current.href).toBe( + '/test-basepath/s/test-space/app/ml#/explorer?type=host&id=some-id&count=12345' + ); + expect(result.current.onClick).not.toBeDefined(); + }); + + it('Provides the correct props with more complex encoding', () => { + const { result } = renderUseLinkPropsHook({ + app: 'ml', + hash: '/explorer', + search: { + type: 'host + host', + name: 'this name has spaces and ** and %', + id: 'some-id', + count: '12345', + animals: ['dog', 'cat', 'bear'], + }, + }); + expect(result.current.href).toBe( + '/test-basepath/s/test-space/app/ml#/explorer?type=host%20%2B%20host&name=this%20name%20has%20spaces%20and%20**%20and%20%25&id=some-id&count=12345&animals=dog,cat,bear' + ); + expect(result.current.onClick).not.toBeDefined(); + }); + + it('Provides the correct props with a consumer using Rison encoding for search', () => { + const state = { + refreshInterval: { pause: true, value: 0 }, + time: { from: 12345, to: 54321 }, + }; + const { result } = renderUseLinkPropsHook({ + app: 'rison-app', + hash: 'rison-route', + search: { + type: 'host + host', + state: encode(state), + }, + }); + expect(result.current.href).toBe( + '/test-basepath/s/test-space/app/rison-app#rison-route?type=host%20%2B%20host&state=(refreshInterval:(pause:!t,value:0),time:(from:12345,to:54321))' + ); + expect(result.current.onClick).not.toBeDefined(); + }); + }); +}); diff --git a/x-pack/plugins/infra/public/hooks/use_link_props.tsx b/x-pack/plugins/infra/public/hooks/use_link_props.tsx new file mode 100644 index 0000000000000..e60ab32046832 --- /dev/null +++ b/x-pack/plugins/infra/public/hooks/use_link_props.tsx @@ -0,0 +1,109 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { useMemo } from 'react'; +import { stringify } from 'query-string'; +import url from 'url'; +import { url as urlUtils } from '../../../../../src/plugins/kibana_utils/public'; +import { usePrefixPathWithBasepath } from './use_prefix_path_with_basepath'; +import { useHistory } from '../utils/history_context'; + +type Search = Record; + +export interface LinkDescriptor { + app: string; + pathname?: string; + hash?: string; + search?: Search; +} + +interface LinkProps { + href?: string; + onClick?: (e: React.MouseEvent | React.MouseEvent) => void; +} + +export const useLinkProps = ({ app, pathname, hash, search }: LinkDescriptor): LinkProps => { + validateParams({ app, pathname, hash, search }); + + const history = useHistory(); + const prefixer = usePrefixPathWithBasepath(); + + const encodedSearch = useMemo(() => { + return search ? encodeSearch(search) : undefined; + }, [search]); + + const internalLinkResult = useMemo(() => { + // When the logs / metrics apps are first mounted a history instance is setup with a 'basename' equal to the + // 'appBasePath' received from Core's 'AppMountParams', e.g. /BASE_PATH/s/SPACE_ID/app/APP_ID. With internal + // linking we are using 'createHref' and 'push' on top of this history instance. So a pathname of /inventory used within + // the metrics app will ultimatey end up as /BASE_PATH/s/SPACE_ID/app/metrics/inventory. React-router responds to this + // as it is instantiated with the same history instance. + return history?.createHref({ + pathname: pathname ? formatPathname(pathname) : undefined, + search: encodedSearch, + }); + }, [history, pathname, encodedSearch]); + + const externalLinkResult = useMemo(() => { + // The URI spec defines that the query should appear before the fragment + // https://tools.ietf.org/html/rfc3986#section-3 (e.g. url.format()). However, in Kibana, apps that use + // hash based routing expect the query to be part of the hash. This will handle that. + const mergedHash = hash && encodedSearch ? `${hash}?${encodedSearch}` : hash; + + const link = url.format({ + pathname, + hash: mergedHash, + search: !hash ? encodedSearch : undefined, + }); + + return prefixer(app, link); + }, [hash, encodedSearch, pathname, prefixer, app]); + + const onClick = useMemo(() => { + // If these results are equal we know we're trying to navigate within the same application + // that the current history instance is representing + if (internalLinkResult && linksAreEquivalent(externalLinkResult, internalLinkResult)) { + return (e: React.MouseEvent | React.MouseEvent) => { + e.preventDefault(); + if (history) { + history.push({ + pathname: pathname ? formatPathname(pathname) : undefined, + search: encodedSearch, + }); + } + }; + } else { + return undefined; + } + }, [internalLinkResult, externalLinkResult, history, pathname, encodedSearch]); + + return { + href: externalLinkResult, + onClick, + }; +}; + +const encodeSearch = (search: Search) => { + return stringify(urlUtils.encodeQuery(search), { sort: false, encode: false }); +}; + +const formatPathname = (pathname: string) => { + return pathname[0] === '/' ? pathname : `/${pathname}`; +}; + +const validateParams = ({ app, pathname, hash, search }: LinkDescriptor) => { + if (!app && hash) { + throw new Error( + 'The metrics and logs apps use browserHistory. Please provide a pathname rather than a hash.' + ); + } +}; + +const linksAreEquivalent = (externalLink: string, internalLink: string): boolean => { + // Compares with trailing slashes removed. This handles the case where the pathname is '/' + // and 'createHref' will include the '/' but Kibana's 'getUrlForApp' will remove it. + return externalLink.replace(/\/$/, '') === internalLink.replace(/\/$/, ''); +}; diff --git a/x-pack/plugins/infra/public/pages/infrastructure/index.tsx b/x-pack/plugins/infra/public/pages/infrastructure/index.tsx index 2271147c9d088..b4ff7aeff696c 100644 --- a/x-pack/plugins/infra/public/pages/infrastructure/index.tsx +++ b/x-pack/plugins/infra/public/pages/infrastructure/index.tsx @@ -62,22 +62,25 @@ export const InfrastructurePage = ({ match }: RouteComponentProps) => { diff --git a/x-pack/plugins/infra/public/pages/infrastructure/snapshot/index.tsx b/x-pack/plugins/infra/public/pages/infrastructure/snapshot/index.tsx index ba0e9b436e4e7..dbb8b2d8e2952 100644 --- a/x-pack/plugins/infra/public/pages/infrastructure/snapshot/index.tsx +++ b/x-pack/plugins/infra/public/pages/infrastructure/snapshot/index.tsx @@ -6,7 +6,6 @@ import { EuiButton, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { identity } from 'fp-ts/lib/function'; import React, { useContext } from 'react'; import { SnapshotPageContent } from './page_content'; @@ -25,6 +24,7 @@ import { WithWaffleOptionsUrlState } from '../../../containers/waffle/with_waffl import { WithWaffleTimeUrlState } from '../../../containers/waffle/with_waffle_time'; import { useTrackPageview } from '../../../../../observability/public'; import { useKibana } from '../../../../../../../src/plugins/kibana_react/public'; +import { useLinkProps } from '../../../hooks/use_link_props'; export const SnapshotPage = () => { const uiCapabilities = useKibana().services.application?.capabilities; @@ -39,7 +39,10 @@ export const SnapshotPage = () => { useTrackPageview({ app: 'infra_metrics', path: 'inventory' }); useTrackPageview({ app: 'infra_metrics', path: 'inventory', delay: 15000 }); - const prependBasePath = useKibana().services.http?.basePath.prepend ?? identity; + const tutorialLinkProps = useLinkProps({ + app: 'kibana', + hash: '/home/tutorial_directory/metrics', + }); return ( @@ -77,7 +80,7 @@ export const SnapshotPage = () => { { {uiCapabilities?.infrastructure?.configureSource ? ( - + {i18n.translate('xpack.infra.configureSourceActionLabel', { defaultMessage: 'Change source configuration', })} diff --git a/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_detail.tsx b/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_detail.tsx index 55dd15158b96f..9eae632756a3f 100644 --- a/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_detail.tsx +++ b/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_detail.tsx @@ -10,6 +10,7 @@ import { Redirect, RouteComponentProps } from 'react-router-dom'; import { replaceMetricTimeInQueryString } from '../metrics/containers/with_metrics_time'; import { getFromFromLocation, getToFromLocation } from './query_params'; import { InventoryItemType } from '../../../common/inventory_models/types'; +import { LinkDescriptor } from '../../hooks/use_link_props'; type RedirectToNodeDetailProps = RouteComponentProps<{ nodeId: string; @@ -40,7 +41,16 @@ export const getNodeDetailUrl = ({ nodeId: string; to?: number; from?: number; -}) => { - const args = to && from ? `?to=${to}&from=${from}` : ''; - return `link-to/${nodeType}-detail/${nodeId}${args}`; +}): LinkDescriptor => { + return { + app: 'metrics', + pathname: `link-to/${nodeType}-detail/${nodeId}`, + search: + to && from + ? { + to: `${to}`, + from: `${from}`, + } + : undefined, + }; }; diff --git a/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_logs.tsx b/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_logs.tsx index 9c998085400ca..d9aaa2da7bbc8 100644 --- a/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_logs.tsx +++ b/x-pack/plugins/infra/public/pages/link_to/redirect_to_node_logs.tsx @@ -19,6 +19,7 @@ import { getFilterFromLocation, getTimeFromLocation } from './query_params'; import { useSource } from '../../containers/source/source'; import { findInventoryFields } from '../../../common/inventory_models'; import { InventoryItemType } from '../../../common/inventory_models/types'; +import { LinkDescriptor } from '../../hooks/use_link_props'; type RedirectToNodeLogsType = RouteComponentProps<{ nodeId: string; @@ -81,6 +82,14 @@ export const getNodeLogsUrl = ({ nodeId: string; nodeType: InventoryItemType; time?: number; -}) => { - return [`link-to/${nodeType}-logs/`, nodeId, ...(time ? [`?time=${time}`] : [])].join(''); +}): LinkDescriptor => { + return { + app: 'logs', + pathname: `link-to/${nodeType}-logs/${nodeId}`, + search: time + ? { + time: `${time}`, + } + : undefined, + }; }; diff --git a/x-pack/plugins/infra/public/pages/logs/page_content.tsx b/x-pack/plugins/infra/public/pages/logs/page_content.tsx index 48ead15b2a232..3ead026b10065 100644 --- a/x-pack/plugins/infra/public/pages/logs/page_content.tsx +++ b/x-pack/plugins/infra/public/pages/logs/page_content.tsx @@ -31,23 +31,27 @@ export const LogsPageContent: React.FunctionComponent = () => { const logAnalysisCapabilities = useLogAnalysisCapabilitiesContext(); const streamTab = { + app: 'logs', title: streamTabTitle, - path: '/stream', + pathname: '/stream', }; const logRateTab = { + app: 'logs', title: logRateTabTitle, - path: '/log-rate', + pathname: '/log-rate', }; const logCategoriesTab = { + app: 'logs', title: logCategoriesTabTitle, - path: '/log-categories', + pathname: '/log-categories', }; const settingsTab = { + app: 'logs', title: settingsTabTitle, - path: '/settings', + pathname: '/settings', }; return ( @@ -85,11 +89,11 @@ export const LogsPageContent: React.FunctionComponent = () => { - - - - - + + + + + )} diff --git a/x-pack/plugins/infra/public/pages/logs/stream/page_no_indices_content.tsx b/x-pack/plugins/infra/public/pages/logs/stream/page_no_indices_content.tsx index 739bad5689a96..7a84e67e8fc3d 100644 --- a/x-pack/plugins/infra/public/pages/logs/stream/page_no_indices_content.tsx +++ b/x-pack/plugins/infra/public/pages/logs/stream/page_no_indices_content.tsx @@ -6,20 +6,24 @@ import { EuiButton, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { identity } from 'fp-ts/lib/function'; import React from 'react'; import { NoIndices } from '../../../components/empty_states/no_indices'; import { ViewSourceConfigurationButton } from '../../../components/source_configuration'; import { useKibana } from '../../../../../../../src/plugins/kibana_react/public'; +import { useLinkProps } from '../../../hooks/use_link_props'; export const LogsPageNoIndicesContent = () => { const { - services: { application, http }, + services: { application }, } = useKibana<{}>(); const canConfigureSource = application?.capabilities?.logs?.configureSource ? true : false; - const prependBasePath = http?.basePath.prepend ?? identity; + + const tutorialLinkProps = useLinkProps({ + app: 'kibana', + hash: '/home/tutorial_directory/logging', + }); return ( { { {canConfigureSource ? ( - + {i18n.translate('xpack.infra.configureSourceActionLabel', { defaultMessage: 'Change source configuration', })} diff --git a/x-pack/plugins/infra/public/pages/metrics/components/invalid_node.tsx b/x-pack/plugins/infra/public/pages/metrics/components/invalid_node.tsx index 43f684cd5a585..b089e2237c2e5 100644 --- a/x-pack/plugins/infra/public/pages/metrics/components/invalid_node.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/components/invalid_node.tsx @@ -6,19 +6,20 @@ import { EuiButton, EuiEmptyPrompt, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n/react'; -import { identity } from 'fp-ts/lib/function'; import React from 'react'; - import { euiStyled } from '../../../../../observability/public'; import { ViewSourceConfigurationButton } from '../../../components/source_configuration'; -import { useKibana } from '../../../../../../../src/plugins/kibana_react/public'; +import { useLinkProps } from '../../../hooks/use_link_props'; interface InvalidNodeErrorProps { nodeName: string; } export const InvalidNodeError: React.FunctionComponent = ({ nodeName }) => { - const prependBasePath = useKibana().services.http?.basePath.prepend ?? identity; + const tutorialLinkProps = useLinkProps({ + app: 'kibana', + hash: '/home/tutorial_directory/metrics', + }); return ( = actions={ - + = - + > { - const { fields } = await http.post(`${WATCHER_API_ROOT}/fields`, { - body: JSON.stringify({ indexes }), + const { fields } = await http.post(`${INDEX_THRESHOLD_API_ROOT}/_fields`, { + body: JSON.stringify({ indexPatterns: indexes }), }); return fields; } @@ -62,8 +60,6 @@ export const loadIndexPatterns = async () => { return savedObjects; }; -const TimeSeriesQueryRoute = '/api/alerting_builtins/index_threshold/_time_series_query'; - interface GetThresholdAlertVisualizationDataParams { model: any; visualizeOptions: any; @@ -90,7 +86,7 @@ export async function getThresholdAlertVisualizationData({ interval: visualizeOptions.interval, }; - return await http.post(TimeSeriesQueryRoute, { + return await http.post(`${INDEX_THRESHOLD_API_ROOT}/_time_series_query`, { body: JSON.stringify(timeSeriesQueryParams), }); } diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/create_test_data.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/create_test_data.ts index 41c07c428a089..523c348e26049 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/create_test_data.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/create_test_data.ts @@ -24,9 +24,9 @@ const DOCUMENT_SOURCE = 'queryDataEndpointTests'; export async function createEsDocuments( es: any, esTestIndexTool: ESTestIndexTool, - startDate: string, - intervals: number, - intervalMillis: number + startDate: string = START_DATE, + intervals: number = 1, + intervalMillis: number = 1000 ) { const totalDocuments = intervals * 2; const startDateMillis = Date.parse(startDate) - intervalMillis / 2; diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/fields_endpoint.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/fields_endpoint.ts new file mode 100644 index 0000000000000..fa7aed2c035b9 --- /dev/null +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/fields_endpoint.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; + * you may not use this file except in compliance with the Elastic License. + */ + +import expect from '@kbn/expect'; + +import { Spaces } from '../../../../scenarios'; +import { FtrProviderContext } from '../../../../../common/ftr_provider_context'; +import { ESTestIndexTool, ES_TEST_INDEX_NAME, getUrlPrefix } from '../../../../../common/lib'; + +const API_URI = 'api/alerting_builtins/index_threshold/_fields'; + +// eslint-disable-next-line import/no-default-export +export default function fieldsEndpointTests({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const retry = getService('retry'); + const es = getService('legacyEs'); + const esTestIndexTool = new ESTestIndexTool(es, retry); + + describe('fields endpoint', () => { + before(async () => { + await esTestIndexTool.destroy(); + await esTestIndexTool.setup(); + }); + + after(async () => { + await esTestIndexTool.destroy(); + }); + + // this test will start failing if the fields/mappings of + // the ES_TEST_INDEX changes + it('should return fields from the test index', async () => { + const query = { indexPatterns: [ES_TEST_INDEX_NAME] }; + + const result = await runQueryExpect(query, 200); + expect(result.fields).to.be.an('array'); + + let field = getFieldNamed(result.fields, 'source'); + expect(field).to.eql({ + name: 'source', + type: 'keyword', + normalizedType: 'keyword', + aggregatable: true, + searchable: true, + }); + + field = getFieldNamed(result.fields, 'date'); + expect(field).to.eql({ + name: 'date', + type: 'date', + normalizedType: 'date', + aggregatable: true, + searchable: true, + }); + + field = getFieldNamed(result.fields, 'testedValue'); + expect(field).to.eql({ + name: 'testedValue', + type: 'long', + normalizedType: 'number', + aggregatable: true, + searchable: true, + }); + }); + + it('should return errors when expected', async () => { + expect(await runQueryExpect(null, 400)).to.eql( + bodyWithMessage('[request body]: expected a plain object value, but found [null] instead.') + ); + expect(await runQueryExpect({}, 400)).to.eql( + bodyWithMessage( + '[request body.indexPatterns]: expected value of type [array] but got [undefined]' + ) + ); + expect(await runQueryExpect({ indices: ['*'] }, 400)).to.eql( + bodyWithMessage( + '[request body.indexPatterns]: expected value of type [array] but got [undefined]' + ) + ); + expect(await runQueryExpect({ indexPatterns: 'foo' }, 400)).to.eql( + bodyWithMessage('[request body.indexPatterns]: could not parse array value from json input') + ); + expect(await runQueryExpect({ indexPatterns: [1] }, 400)).to.eql( + bodyWithMessage( + '[request body.indexPatterns.0]: expected value of type [string] but got [number]' + ) + ); + + function bodyWithMessage(message: string): any { + return { + error: 'Bad Request', + message, + statusCode: 400, + }; + } + }); + + it('should return an empty array for empty input', async () => { + const result = await runQueryExpect({ indexPatterns: [] }, 200); + expect(result.fields).to.be.an('array'); + expect(result.fields.length).to.be(0); + }); + + it('should handle indices that do not exist', async () => { + const NON_EXISTANT_INDEX_NAME = 'non-existent-index-name-foo'; + const exactResult = await runQueryExpect({ indexPatterns: [ES_TEST_INDEX_NAME] }, 200); + + let indexPatterns = [NON_EXISTANT_INDEX_NAME]; + let testResult = await runQueryExpect({ indexPatterns }, 200); + expect(testResult.fields.length).to.be(0); + + indexPatterns = [ES_TEST_INDEX_NAME, NON_EXISTANT_INDEX_NAME]; + testResult = await runQueryExpect({ indexPatterns }, 200); + expect(testResult).to.eql(exactResult); + + indexPatterns = [NON_EXISTANT_INDEX_NAME, ES_TEST_INDEX_NAME]; + testResult = await runQueryExpect({ indexPatterns }, 200); + expect(testResult).to.eql(exactResult); + }); + + it('should handle wildcards', async () => { + const exactResult = await runQueryExpect({ indexPatterns: [ES_TEST_INDEX_NAME] }, 200); + + let indexPatterns = [`*${ES_TEST_INDEX_NAME}`]; + let testResult = await runQueryExpect({ indexPatterns }, 200); + expect(testResult).to.eql(exactResult); + + indexPatterns = [`${ES_TEST_INDEX_NAME}*`]; + testResult = await runQueryExpect({ indexPatterns }, 200); + expect(testResult).to.eql(exactResult); + }); + + it('should handle aliases', async () => { + const result = await runQueryExpect({ indexPatterns: ['.kibana'] }, 200); + const field = getFieldNamed(result.fields, 'updated_at'); + expect(field).to.be.ok(); + expect(field.name).to.eql('updated_at'); + expect(field.type).to.eql('date'); + }); + }); + + function getFieldNamed(fields: any[], fieldName: string): any | undefined { + const matching = fields.filter(field => field.name === fieldName); + if (matching.length === 0) return; + if (matching.length === 1) return matching[0]; + throw new Error(`multiple fields named ${fieldName}`); + } + + async function runQueryExpect(requestBody: any, status: number): Promise { + const url = `${getUrlPrefix(Spaces.space1.id)}/${API_URI}`; + const res = await supertest + .post(url) + .set('kbn-xsrf', 'foo') + .send(requestBody); + + if (res.status !== status) { + // good place to put a console log for debugging unexpected results + // console.log(res.body) + throw new Error(`expected status ${status}, but got ${res.status}`); + } + + return res.body; + } +} diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/index.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/index.ts index 6fdc68889b66f..9158954f23364 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/index.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/index.ts @@ -9,6 +9,8 @@ import { FtrProviderContext } from '../../../../../common/ftr_provider_context'; // eslint-disable-next-line import/no-default-export export default function alertingTests({ loadTestFile }: FtrProviderContext) { describe('index_threshold', () => { - loadTestFile(require.resolve('./query_data_endpoint')); + loadTestFile(require.resolve('./time_series_query_endpoint')); + loadTestFile(require.resolve('./fields_endpoint')); + loadTestFile(require.resolve('./indices_endpoint')); }); } diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/indices_endpoint.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/indices_endpoint.ts new file mode 100644 index 0000000000000..6908398deb57b --- /dev/null +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/indices_endpoint.ts @@ -0,0 +1,125 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import expect from '@kbn/expect'; + +import { Spaces } from '../../../../scenarios'; +import { FtrProviderContext } from '../../../../../common/ftr_provider_context'; +import { ESTestIndexTool, ES_TEST_INDEX_NAME, getUrlPrefix } from '../../../../../common/lib'; +import { createEsDocuments } from './create_test_data'; + +const API_URI = 'api/alerting_builtins/index_threshold/_indices'; + +// eslint-disable-next-line import/no-default-export +export default function indicesEndpointTests({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const retry = getService('retry'); + const es = getService('legacyEs'); + const esTestIndexTool = new ESTestIndexTool(es, retry); + + describe('indices endpoint', () => { + before(async () => { + await esTestIndexTool.destroy(); + await esTestIndexTool.setup(); + await createEsDocuments(es, esTestIndexTool); + }); + + after(async () => { + await esTestIndexTool.destroy(); + }); + + it('should return the test index', async () => { + const query = { pattern: ES_TEST_INDEX_NAME }; + + const result = await runQueryExpect(query, 200); + expect(result.indices).to.eql([ES_TEST_INDEX_NAME]); + }); + + it('should return errors when expected', async () => { + expect(await runQueryExpect(null, 400)).to.eql( + bodyWithMessage('[request body]: expected a plain object value, but found [null] instead.') + ); + expect(await runQueryExpect({}, 400)).to.eql( + bodyWithMessage( + '[request body.pattern]: expected value of type [string] but got [undefined]' + ) + ); + expect(await runQueryExpect({ pattern: null }, 400)).to.eql( + bodyWithMessage('[request body.pattern]: expected value of type [string] but got [null]') + ); + expect(await runQueryExpect({ pattern: 1 }, 400)).to.eql( + bodyWithMessage('[request body.pattern]: expected value of type [string] but got [number]') + ); + + function bodyWithMessage(message: string): any { + return { + error: 'Bad Request', + message, + statusCode: 400, + }; + } + }); + + it('should return an empty array for empty input', async () => { + const result = await runQueryExpect({ pattern: '' }, 200); + expect(result.indices).to.be.an('array'); + expect(result.indices.length).to.be(0); + }); + + it('should handle indices that do not exist', async () => { + const NON_EXISTANT_INDEX_NAME = 'non-existent-index-name-foo'; + const exactResult = await runQueryExpect({ pattern: ES_TEST_INDEX_NAME }, 200); + expect(exactResult.indices).to.be.an('array'); + expect(exactResult.indices.length).to.be(1); + + let pattern = NON_EXISTANT_INDEX_NAME; + let testResult = await runQueryExpect({ pattern }, 200); + expect(testResult.indices.length).to.be(0); + + pattern = `${ES_TEST_INDEX_NAME},${NON_EXISTANT_INDEX_NAME}`; + testResult = await runQueryExpect({ pattern }, 200); + expect(testResult).to.eql(exactResult); + + pattern = `${NON_EXISTANT_INDEX_NAME},${ES_TEST_INDEX_NAME}`; + testResult = await runQueryExpect({ pattern }, 200); + expect(testResult).to.eql(exactResult); + }); + + it('should handle wildcards', async () => { + const exactResult = await runQueryExpect({ pattern: ES_TEST_INDEX_NAME }, 200); + + let pattern = `*${ES_TEST_INDEX_NAME}`; + let testResult = await runQueryExpect({ pattern }, 200); + expect(testResult).to.eql(exactResult); + + pattern = `${ES_TEST_INDEX_NAME}*`; + testResult = await runQueryExpect({ pattern }, 200); + expect(testResult).to.eql(exactResult); + }); + + it('should handle aliases', async () => { + const result = await runQueryExpect({ pattern: '.kibana' }, 200); + expect(result.indices).to.be.an('array'); + expect(result.indices.includes('.kibana')).to.be(true); + }); + }); + + async function runQueryExpect(requestBody: any, status: number): Promise { + const url = `${getUrlPrefix(Spaces.space1.id)}/${API_URI}`; + const res = await supertest + .post(url) + .set('kbn-xsrf', 'foo') + .send(requestBody); + + if (res.status !== status) { + // good place to put a console log for debugging unexpected results + // console.log(res.body) + throw new Error(`expected status ${status}, but got ${res.status}`); + } + + return res.body; + } +} diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/query_data_endpoint.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/time_series_query_endpoint.ts similarity index 97% rename from x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/query_data_endpoint.ts rename to x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/time_series_query_endpoint.ts index 8a6e89009b850..ee44c7f25cf61 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/query_data_endpoint.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/builtin_alert_types/index_threshold/time_series_query_endpoint.ts @@ -9,7 +9,7 @@ import expect from '@kbn/expect'; import { Spaces } from '../../../../scenarios'; import { FtrProviderContext } from '../../../../../common/ftr_provider_context'; import { ESTestIndexTool, ES_TEST_INDEX_NAME, getUrlPrefix } from '../../../../../common/lib'; -import { TimeSeriesQuery } from '../../../../../../../plugins/alerting_builtins/server/alert_types/index_threshold/routes'; +import { TimeSeriesQuery } from '../../../../../../../plugins/alerting_builtins/server/alert_types/index_threshold/lib/time_series_query'; import { createEsDocuments } from './create_test_data'; @@ -48,13 +48,13 @@ const START_DATE_MINUS_2INTERVALS = getStartDate(-2 * INTERVAL_MILLIS); */ // eslint-disable-next-line import/no-default-export -export default function queryDataEndpointTests({ getService }: FtrProviderContext) { +export default function timeSeriesQueryEndpointTests({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const retry = getService('retry'); const es = getService('legacyEs'); const esTestIndexTool = new ESTestIndexTool(es, retry); - describe('query_data endpoint', () => { + describe('time_series_query endpoint', () => { before(async () => { await esTestIndexTool.destroy(); await esTestIndexTool.setup(); diff --git a/x-pack/test/saved_object_api_integration/common/suites/export.ts b/x-pack/test/saved_object_api_integration/common/suites/export.ts index caf149a23cdbf..e6853096962ec 100644 --- a/x-pack/test/saved_object_api_integration/common/suites/export.ts +++ b/x-pack/test/saved_object_api_integration/common/suites/export.ts @@ -59,7 +59,7 @@ export function exportTestSuiteFactory(esArchiver: any, supertest: SuperTest