Skip to content

Commit e2baff3

Browse files
authored
[data.search.aggs]: Create agg types function for terms agg. (#63541)
* Minor cleanup on AggConfigJson interface. * Add types for terms agg params & mapping. * Add terms agg expression function. * Register agg functions with expressions service. * Add unit tests for terms expression function. * Update API docs. * AggConfigJson -> AggConfigSerialized * Add serialize(), enforce serializable params, fix subexpressions in terms agg fn. * Simplify getAggTypesFunctions * it() -> test() * Add help text. * Ensure serialize() is used by agg param type. * Add toExpressionAst to AggConfig. * Add json arg to terms agg fn. * Update docs. * Fix typo which caused functional test failures. * Add AggParam.toExpressionAst so AggConfig.toExpressionAst can return function ast instead of expression ast. * Clean up overlooked items.
1 parent 95ac47d commit e2baff3

31 files changed

+810
-152
lines changed

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigoptions.enabled.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigoptions.id.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigoptions.md

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,12 @@
22

33
[Home](./index.md) > [kibana-plugin-plugins-data-public](./kibana-plugin-plugins-data-public.md) > [AggConfigOptions](./kibana-plugin-plugins-data-public.aggconfigoptions.md)
44

5-
## AggConfigOptions interface
5+
## AggConfigOptions type
66

77
<b>Signature:</b>
88

99
```typescript
10-
export interface AggConfigOptions
10+
export declare type AggConfigOptions = Assign<AggConfigSerialized, {
11+
type: IAggType;
12+
}>;
1113
```
12-
13-
## Properties
14-
15-
| Property | Type | Description |
16-
| --- | --- | --- |
17-
| [enabled](./kibana-plugin-plugins-data-public.aggconfigoptions.enabled.md) | <code>boolean</code> | |
18-
| [id](./kibana-plugin-plugins-data-public.aggconfigoptions.id.md) | <code>string</code> | |
19-
| [params](./kibana-plugin-plugins-data-public.aggconfigoptions.params.md) | <code>Record&lt;string, any&gt;</code> | |
20-
| [schema](./kibana-plugin-plugins-data-public.aggconfigoptions.schema.md) | <code>string</code> | |
21-
| [type](./kibana-plugin-plugins-data-public.aggconfigoptions.type.md) | <code>IAggType</code> | |
22-

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigoptions.params.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigoptions.schema.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggconfigoptions.type.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.makeagg.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
<b>Signature:</b>
88

99
```typescript
10-
makeAgg: (agg: TAggConfig, state?: any) => TAggConfig;
10+
makeAgg: (agg: TAggConfig, state?: AggConfigSerialized) => TAggConfig;
1111
```

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.aggparamtype.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ export declare class AggParamType<TAggConfig extends IAggConfig = IAggConfig> ex
2121
| Property | Modifiers | Type | Description |
2222
| --- | --- | --- | --- |
2323
| [allowedAggs](./kibana-plugin-plugins-data-public.aggparamtype.allowedaggs.md) | | <code>string[]</code> | |
24-
| [makeAgg](./kibana-plugin-plugins-data-public.aggparamtype.makeagg.md) | | <code>(agg: TAggConfig, state?: any) =&gt; TAggConfig</code> | |
24+
| [makeAgg](./kibana-plugin-plugins-data-public.aggparamtype.makeagg.md) | | <code>(agg: TAggConfig, state?: AggConfigSerialized) =&gt; TAggConfig</code> | |
2525

docs/development/plugins/data/public/kibana-plugin-plugins-data-public.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949

5050
| Interface | Description |
5151
| --- | --- |
52-
| [AggConfigOptions](./kibana-plugin-plugins-data-public.aggconfigoptions.md) | |
5352
| [AggParamOption](./kibana-plugin-plugins-data-public.aggparamoption.md) | |
5453
| [DataPublicPluginSetup](./kibana-plugin-plugins-data-public.datapublicpluginsetup.md) | |
5554
| [DataPublicPluginStart](./kibana-plugin-plugins-data-public.datapublicpluginstart.md) | |
@@ -118,6 +117,7 @@
118117

119118
| Type Alias | Description |
120119
| --- | --- |
120+
| [AggConfigOptions](./kibana-plugin-plugins-data-public.aggconfigoptions.md) | |
121121
| [AggParam](./kibana-plugin-plugins-data-public.aggparam.md) | |
122122
| [CustomFilter](./kibana-plugin-plugins-data-public.customfilter.md) | |
123123
| [EsQuerySortValue](./kibana-plugin-plugins-data-public.esquerysortvalue.md) | |

src/plugins/data/public/plugin.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ export class DataPublicPlugin implements Plugin<DataPublicPluginSetup, DataPubli
139139
return {
140140
autocomplete: this.autocomplete.setup(core),
141141
search: this.searchService.setup(core, {
142+
expressions,
142143
getInternalStartServices,
143144
packageInfo: this.packageInfo,
144145
query: queryService,

0 commit comments

Comments
 (0)