Skip to content

Commit 20147ea

Browse files
authored
[7.x] expression service docs (#78774) (#80184)
1 parent 273fec4 commit 20147ea

File tree

663 files changed

+12656
-150
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

663 files changed

+12656
-150
lines changed

docs/developer/plugin-list.asciidoc

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,20 @@ This API doesn't support angular, for registering angular dev tools, bootstrap a
7070
|WARNING: Missing README.
7171
7272
73-
|{kib-repo}blob/{branch}/src/plugins/expressions/README.md[expressions]
74-
|This plugin provides methods which will parse & execute an expression pipeline
73+
|<<kibana-expressions-plugin>>
74+
|Expression pipeline is a chain of functions that *pipe* its output to the
75+
input of the next function. Functions can be configured using arguments provided
76+
by the user. The final output of the expression pipeline can be rendered using
77+
one of the *renderers* registered in `expressions` plugin.
78+
79+
All the arguments to expression functions need to be serializable, as well as input and output.
80+
Expression functions should try to stay 'pure'. This makes functions easy to reuse and also
81+
make it possible to serialize the whole chain as well as output at every step of execution.
82+
83+
Expressions power visualizations in Dashboard and Lens, as well as, every
84+
*element* in Canvas is backed by an expression.
85+
86+
This plugin provides methods which will parse & execute an *expression pipeline*
7587
string for you, as well as a series of registries for advanced users who might
7688
want to incorporate their own functions, types, and renderers into the service
7789
for use in their own application.
@@ -520,5 +532,6 @@ in their infrastructure.
520532
|===
521533
522534
include::{kibana-root}/src/plugins/dashboard/README.asciidoc[leveloffset=+1]
535+
include::{kibana-root}/src/plugins/expressions/README.asciidoc[leveloffset=+1]
523536
include::{kibana-root}/x-pack/plugins/dashboard_enhanced/README.asciidoc[leveloffset=+1]
524537
include::{kibana-root}/x-pack/plugins/embeddable_enhanced/README.asciidoc[leveloffset=+1]
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md)
4+
5+
## API Reference
6+
7+
## Packages
8+
9+
| Package | Description |
10+
| --- | --- |
11+
| [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) | |
12+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [AnyExpressionFunctionDefinition](./kibana-plugin-plugins-expressions-public.anyexpressionfunctiondefinition.md)
4+
5+
## AnyExpressionFunctionDefinition type
6+
7+
Type to capture every possible expression function definition.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare type AnyExpressionFunctionDefinition = ExpressionFunctionDefinition<string, any, Record<string, any>, any>;
13+
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [AnyExpressionTypeDefinition](./kibana-plugin-plugins-expressions-public.anyexpressiontypedefinition.md)
4+
5+
## AnyExpressionTypeDefinition type
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
export declare type AnyExpressionTypeDefinition = ExpressionTypeDefinition<any, any, any>;
11+
```
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [ArgumentType](./kibana-plugin-plugins-expressions-public.argumenttype.md)
4+
5+
## ArgumentType type
6+
7+
This type represents all of the possible combinations of properties of an Argument in an Expression Function. The presence or absence of certain fields influence the shape and presence of others within each `arg` in the specification.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare type ArgumentType<T> = SingleArgumentType<T> | MultipleArgumentType<T> | UnresolvedSingleArgumentType<T> | UnresolvedMultipleArgumentType<T>;
13+
```
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [buildExpression](./kibana-plugin-plugins-expressions-public.buildexpression.md)
4+
5+
## buildExpression() function
6+
7+
Makes it easy to progressively build, update, and traverse an expression AST. You can either start with an empty AST, or provide an expression string, AST, or array of expression function builders to use as initial state.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare function buildExpression(initialState?: ExpressionAstFunctionBuilder[] | ExpressionAstExpression | string): ExpressionAstExpressionBuilder;
13+
```
14+
15+
## Parameters
16+
17+
| Parameter | Type | Description |
18+
| --- | --- | --- |
19+
| initialState | <code>ExpressionAstFunctionBuilder[] &#124; ExpressionAstExpression &#124; string</code> | |
20+
21+
<b>Returns:</b>
22+
23+
`ExpressionAstExpressionBuilder`
24+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [buildExpressionFunction](./kibana-plugin-plugins-expressions-public.buildexpressionfunction.md)
4+
5+
## buildExpressionFunction() function
6+
7+
Manages an AST for a single expression function. The return value can be provided to `buildExpression` to add this function to an expression.
8+
9+
Note that to preserve type safety and ensure no args are missing, all required arguments for the specified function must be provided up front. If desired, they can be changed or removed later.
10+
11+
<b>Signature:</b>
12+
13+
```typescript
14+
export declare function buildExpressionFunction<FnDef extends AnyExpressionFunctionDefinition = AnyExpressionFunctionDefinition>(fnName: InferFunctionDefinition<FnDef>['name'],
15+
initialArgs: {
16+
[K in keyof FunctionArgs<FnDef>]: FunctionArgs<FnDef>[K] | ExpressionAstExpressionBuilder | ExpressionAstExpressionBuilder[];
17+
}): ExpressionAstFunctionBuilder<FnDef>;
18+
```
19+
20+
## Parameters
21+
22+
| Parameter | Type | Description |
23+
| --- | --- | --- |
24+
| fnName | <code>InferFunctionDefinition&lt;FnDef&gt;['name']</code> | |
25+
| initialArgs | <code>{</code><br/><code> [K in keyof FunctionArgs&lt;FnDef&gt;]: FunctionArgs&lt;FnDef&gt;[K] &#124; ExpressionAstExpressionBuilder &#124; ExpressionAstExpressionBuilder[];</code><br/><code>}</code> | |
26+
27+
<b>Returns:</b>
28+
29+
`ExpressionAstFunctionBuilder<FnDef>`
30+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md) &gt; [columns](./kibana-plugin-plugins-expressions-public.datatable.columns.md)
4+
5+
## Datatable.columns property
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
columns: DatatableColumn[];
11+
```
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md)
4+
5+
## Datatable interface
6+
7+
A `Datatable` in Canvas is a unique structure that represents tabulated data.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export interface Datatable
13+
```
14+
15+
## Properties
16+
17+
| Property | Type | Description |
18+
| --- | --- | --- |
19+
| [columns](./kibana-plugin-plugins-expressions-public.datatable.columns.md) | <code>DatatableColumn[]</code> | |
20+
| [rows](./kibana-plugin-plugins-expressions-public.datatable.rows.md) | <code>DatatableRow[]</code> | |
21+
| [type](./kibana-plugin-plugins-expressions-public.datatable.type.md) | <code>typeof name</code> | |
22+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [kibana-plugin-plugins-expressions-public](./kibana-plugin-plugins-expressions-public.md) &gt; [Datatable](./kibana-plugin-plugins-expressions-public.datatable.md) &gt; [rows](./kibana-plugin-plugins-expressions-public.datatable.rows.md)
4+
5+
## Datatable.rows property
6+
7+
<b>Signature:</b>
8+
9+
```typescript
10+
rows: DatatableRow[];
11+
```

0 commit comments

Comments
 (0)