ballerina-core 1.0.63 → 1.0.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -18,6 +18,7 @@ export type RawRenderer = {
|
|
|
18
18
|
elementRenderer?: any;
|
|
19
19
|
keyRenderer?: any;
|
|
20
20
|
valueRenderer?: any;
|
|
21
|
+
details?: any;
|
|
21
22
|
}
|
|
22
23
|
export type ParsedRenderer<T> =
|
|
23
24
|
(
|
|
@@ -33,73 +34,80 @@ export type ParsedRenderer<T> =
|
|
|
33
34
|
tooltip?: string;
|
|
34
35
|
visible?: BoolExpr<any>;
|
|
35
36
|
disabled?: BoolExpr<any>;
|
|
37
|
+
details?: any;
|
|
36
38
|
}
|
|
37
39
|
export const ParsedRenderer = {
|
|
38
40
|
Default: {
|
|
39
|
-
primitive: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, label?: string, tooltip?: string ): ParsedRenderer<T> => ({
|
|
41
|
+
primitive: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, label?: string, tooltip?: string, details?: string ): ParsedRenderer<T> => ({
|
|
40
42
|
kind: "primitive",
|
|
41
43
|
type,
|
|
42
44
|
renderer,
|
|
43
45
|
label,
|
|
44
46
|
tooltip,
|
|
47
|
+
details,
|
|
45
48
|
visible: BoolExpr.Default(visible),
|
|
46
49
|
disabled: disabled != undefined ?
|
|
47
50
|
BoolExpr.Default(disabled)
|
|
48
51
|
: BoolExpr.Default.false(),
|
|
49
52
|
}),
|
|
50
|
-
form: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, label?: string, tooltip?: string ): ParsedRenderer<T> => ({
|
|
53
|
+
form: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, label?: string, tooltip?: string, details?: string ): ParsedRenderer<T> => ({
|
|
51
54
|
kind: "form",
|
|
52
55
|
type,
|
|
53
56
|
renderer,
|
|
54
57
|
label,
|
|
55
58
|
tooltip,
|
|
59
|
+
details,
|
|
56
60
|
visible: BoolExpr.Default(visible),
|
|
57
61
|
disabled: disabled != undefined ?
|
|
58
62
|
BoolExpr.Default(disabled)
|
|
59
63
|
: BoolExpr.Default.false(),
|
|
60
64
|
}),
|
|
61
|
-
enum: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, options: string, label?: string, tooltip?: string ): ParsedRenderer<T> => ({
|
|
65
|
+
enum: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, options: string, label?: string, tooltip?: string, details?: string ): ParsedRenderer<T> => ({
|
|
62
66
|
kind: "enum",
|
|
63
67
|
type,
|
|
64
68
|
renderer,
|
|
65
69
|
label,
|
|
66
70
|
tooltip,
|
|
71
|
+
details,
|
|
67
72
|
visible: BoolExpr.Default(visible),
|
|
68
73
|
disabled: disabled != undefined ?
|
|
69
74
|
BoolExpr.Default(disabled)
|
|
70
75
|
: BoolExpr.Default.false(),
|
|
71
76
|
options
|
|
72
77
|
}),
|
|
73
|
-
stream: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, stream: string, label?: string, tooltip?: string ): ParsedRenderer<T> => ({
|
|
78
|
+
stream: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, stream: string, label?: string, tooltip?: string, details?: string): ParsedRenderer<T> => ({
|
|
74
79
|
kind: "stream",
|
|
75
80
|
type,
|
|
76
81
|
renderer,
|
|
77
82
|
label,
|
|
78
83
|
tooltip,
|
|
84
|
+
details,
|
|
79
85
|
visible: BoolExpr.Default(visible),
|
|
80
86
|
disabled: disabled != undefined ?
|
|
81
87
|
BoolExpr.Default(disabled)
|
|
82
88
|
: BoolExpr.Default.false(),
|
|
83
89
|
stream
|
|
84
90
|
}),
|
|
85
|
-
list: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, elementRenderer: ParsedRenderer<T>, label?: string, tooltip?: string ): ParsedRenderer<T> => ({
|
|
91
|
+
list: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, elementRenderer: ParsedRenderer<T>, label?: string, tooltip?: string, details?: string ): ParsedRenderer<T> => ({
|
|
86
92
|
kind: "list",
|
|
87
93
|
type,
|
|
88
94
|
renderer,
|
|
89
95
|
label,
|
|
90
96
|
tooltip,
|
|
97
|
+
details,
|
|
91
98
|
visible: BoolExpr.Default(visible),
|
|
92
99
|
disabled: disabled != undefined ?
|
|
93
100
|
BoolExpr.Default(disabled)
|
|
94
101
|
: BoolExpr.Default.false(),
|
|
95
102
|
elementRenderer
|
|
96
103
|
}),
|
|
97
|
-
map: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, keyRenderer: ParsedRenderer<T>, valueRenderer: ParsedRenderer<T>, label?: string, tooltip?: string ): ParsedRenderer<T> => ({
|
|
104
|
+
map: <T>(type: ParsedType<T>, renderer: string, visible: any, disabled: any, keyRenderer: ParsedRenderer<T>, valueRenderer: ParsedRenderer<T>, label?: string, tooltip?: string, details?: string ): ParsedRenderer<T> => ({
|
|
98
105
|
kind: "map",
|
|
99
106
|
type,
|
|
100
107
|
renderer,
|
|
101
108
|
label,
|
|
102
109
|
tooltip,
|
|
110
|
+
details,
|
|
103
111
|
visible: BoolExpr.Default(visible),
|
|
104
112
|
disabled: disabled != undefined ?
|
|
105
113
|
BoolExpr.Default(disabled)
|
|
@@ -111,17 +119,17 @@ export const ParsedRenderer = {
|
|
|
111
119
|
Operations: {
|
|
112
120
|
ParseRenderer: <T>(fieldType: ParsedType<T>, field: RawRenderer, types: Map<string, ParsedType<T>>): ParsedRenderer<T> => {
|
|
113
121
|
if(fieldType.kind == "primitive")
|
|
114
|
-
return ParsedRenderer.Default.primitive(fieldType, field.renderer, field.visible, field.disabled, field.label, field.tooltip)
|
|
122
|
+
return ParsedRenderer.Default.primitive(fieldType, field.renderer, field.visible, field.disabled, field.label, field.tooltip, field.details)
|
|
115
123
|
if(fieldType.kind == "form")
|
|
116
|
-
return ParsedRenderer.Default.form(fieldType, field.renderer, field.visible, field.disabled, field.label, field.tooltip)
|
|
124
|
+
return ParsedRenderer.Default.form(fieldType, field.renderer, field.visible, field.disabled, field.label, field.tooltip, field.details)
|
|
117
125
|
if(fieldType.kind == "application" && "options" in field)
|
|
118
|
-
return ParsedRenderer.Default.enum(fieldType, field.renderer, field.visible, field.disabled, field.options, field.label, field.tooltip)
|
|
126
|
+
return ParsedRenderer.Default.enum(fieldType, field.renderer, field.visible, field.disabled, field.options, field.label, field.tooltip, field.details)
|
|
119
127
|
if(fieldType.kind == "application" && "stream" in field)
|
|
120
|
-
return ParsedRenderer.Default.stream(fieldType, field.renderer, field.visible, field.disabled, field.stream, field.label, field.tooltip)
|
|
128
|
+
return ParsedRenderer.Default.stream(fieldType, field.renderer, field.visible, field.disabled, field.stream, field.label, field.tooltip, field.details)
|
|
121
129
|
if(fieldType.kind == "application" && fieldType.value == "List")
|
|
122
|
-
return ParsedRenderer.Default.list(fieldType, field.renderer, field.visible, field.disabled, ParsedRenderer.Operations.ParseRenderer(fieldType.args[0], field.elementRenderer, types), field.label, field.tooltip)
|
|
130
|
+
return ParsedRenderer.Default.list(fieldType, field.renderer, field.visible, field.disabled, ParsedRenderer.Operations.ParseRenderer(fieldType.args[0], field.elementRenderer, types), field.label, field.tooltip, field.details)
|
|
123
131
|
if(fieldType.kind == "application" && fieldType.value == "Map")
|
|
124
|
-
return ParsedRenderer.Default.map(fieldType, field.renderer, field.visible, field.disabled, ParsedRenderer.Operations.ParseRenderer(fieldType.args[0], field.keyRenderer, types), ParsedRenderer.Operations.ParseRenderer(fieldType.args[1], field.valueRenderer, types), field.label, field.tooltip)
|
|
132
|
+
return ParsedRenderer.Default.map(fieldType, field.renderer, field.visible, field.disabled, ParsedRenderer.Operations.ParseRenderer(fieldType.args[0], field.keyRenderer, types), ParsedRenderer.Operations.ParseRenderer(fieldType.args[1], field.valueRenderer, types), field.label, field.tooltip, field.details)
|
|
125
133
|
if(fieldType.kind == "lookup"){
|
|
126
134
|
return ParsedRenderer.Operations.ParseRenderer(types.get(fieldType.name)!, field, types)
|
|
127
135
|
}
|
|
@@ -153,13 +161,13 @@ export const ParsedRenderer = {
|
|
|
153
161
|
case "enum":
|
|
154
162
|
case "stream":
|
|
155
163
|
return ValueOrErrors.Default.return({
|
|
156
|
-
renderer: ParsedRenderer.Operations.FormRenderers(parsedRenderer, parsingContext.formViews, viewKind, parsedRenderer.renderer, parsedRenderer.label, parsedRenderer.tooltip, parsingContext.enumOptionsSources, parsingContext.leafPredicates, parsingContext.injectedPrimitives),
|
|
164
|
+
renderer: ParsedRenderer.Operations.FormRenderers(parsedRenderer, parsingContext.formViews, viewKind, parsedRenderer.renderer, parsedRenderer.label, parsedRenderer.tooltip, parsedRenderer.details, parsingContext.enumOptionsSources, parsingContext.leafPredicates, parsingContext.injectedPrimitives),
|
|
157
165
|
initialValue: parsingContext.defaultValue(parsedRenderer.type),
|
|
158
166
|
initialState: ParsedRenderer.Operations.FormStates(parsedRenderer, viewKind, parsedRenderer.renderer, parsingContext.infiniteStreamSources, parsingContext.injectedPrimitives)
|
|
159
167
|
})
|
|
160
168
|
case "form":
|
|
161
169
|
return ValueOrErrors.Default.return({
|
|
162
|
-
renderer: parsingContext.forms.get(parsedRenderer.renderer)!.form.withView(parsingContext.nestedContainerFormView).mapContext<any>(_ => ({ ..._, label: parsedRenderer.label, tooltip: parsedRenderer.tooltip })),
|
|
170
|
+
renderer: parsingContext.forms.get(parsedRenderer.renderer)!.form.withView(parsingContext.nestedContainerFormView).mapContext<any>(_ => ({ ..._, label: parsedRenderer.label, tooltip: parsedRenderer.tooltip, details: parsedRenderer.details, })),
|
|
163
171
|
initialValue: parsingContext.defaultValue(parsedRenderer.type),
|
|
164
172
|
initialState: parsingContext.forms.get(parsedRenderer.renderer)!.initialFormState
|
|
165
173
|
})
|
|
@@ -170,7 +178,7 @@ export const ParsedRenderer = {
|
|
|
170
178
|
{ Default: () => parsedElementRenderer.initialValue },
|
|
171
179
|
parsedElementRenderer.renderer,
|
|
172
180
|
).withView(((parsingContext.formViews)[viewKind])[parsedRenderer.renderer]() as any)
|
|
173
|
-
.mapContext<any>(_ => ({ ..._, label: parsedRenderer.label, tooltip: parsedRenderer.tooltip })),
|
|
181
|
+
.mapContext<any>(_ => ({ ..._, label: parsedRenderer.label, tooltip: parsedRenderer.tooltip, details: parsedRenderer.details })),
|
|
174
182
|
initialValue: parsingContext.defaultValue(parsedRenderer.type),
|
|
175
183
|
initialState: ListFieldState<any, any>().Default(Map())
|
|
176
184
|
})
|
|
@@ -186,7 +194,7 @@ export const ParsedRenderer = {
|
|
|
186
194
|
parsedKeyRenderer.renderer,
|
|
187
195
|
parsedValueRenderer.renderer
|
|
188
196
|
).withView(((parsingContext.formViews)[viewKind])[parsedRenderer.renderer]() as any)
|
|
189
|
-
.mapContext<any>(_ => ({ ..._, label: parsedRenderer.label, tooltip: parsedRenderer.tooltip })),
|
|
197
|
+
.mapContext<any>(_ => ({ ..._, label: parsedRenderer.label, tooltip: parsedRenderer.tooltip, details: parsedRenderer.details })),
|
|
190
198
|
initialValue: parsingContext.defaultValue(parsedRenderer.type),
|
|
191
199
|
initialState: MapFieldState<any, any, any, any>().Default(Map())
|
|
192
200
|
})
|
|
@@ -196,32 +204,32 @@ export const ParsedRenderer = {
|
|
|
196
204
|
return ValueOrErrors.Default.throw(List([`error: the kind for ${viewKind}::${parsedRenderer} cannot be found`]));
|
|
197
205
|
}
|
|
198
206
|
},
|
|
199
|
-
FormRenderers: <T,>(rendererConfig: ParsedRenderer<T>, formViews: Record<string, Record<string, any>>, viewKind: string, viewName: any, label: string | undefined, tooltip: string | undefined, enumOptionsSources: EnumOptionsSources, leafPredicates: any, injectedPrimitives?: InjectedPrimitives<T>): any => {
|
|
207
|
+
FormRenderers: <T,>(rendererConfig: ParsedRenderer<T>, formViews: Record<string, Record<string, any>>, viewKind: string, viewName: any, label: string | undefined, tooltip: string | undefined, details: string | undefined, enumOptionsSources: EnumOptionsSources, leafPredicates: any, injectedPrimitives?: InjectedPrimitives<T>): any => {
|
|
200
208
|
if (viewKind == "maybeBoolean")
|
|
201
209
|
return MaybeBooleanForm<any & FormLabel, Unit>()
|
|
202
210
|
.withView(formViews[viewKind][viewName]())
|
|
203
|
-
.mapContext<any & CommonFormState & Value<boolean>>(_ => ({ ..._, label
|
|
211
|
+
.mapContext<any & CommonFormState & Value<boolean>>(_ => ({ ..._, label, tooltip, details }))
|
|
204
212
|
if (viewKind == "boolean")
|
|
205
213
|
return BooleanForm<any & FormLabel, Unit>()
|
|
206
214
|
.withView(formViews[viewKind][viewName]())
|
|
207
|
-
.mapContext<any & CommonFormState & Value<boolean>>(_ => ({ ..._, label
|
|
215
|
+
.mapContext<any & CommonFormState & Value<boolean>>(_ => ({ ..._, label, tooltip, details }))
|
|
208
216
|
if (viewKind == "date")
|
|
209
217
|
return DateForm<any & FormLabel, Unit>()
|
|
210
218
|
.withView(formViews[viewKind][viewName]())
|
|
211
|
-
.mapContext<any & DateFormState & Value<Maybe<Date>>>(_ => ({ ..._, label
|
|
219
|
+
.mapContext<any & DateFormState & Value<Maybe<Date>>>(_ => ({ ..._, label, tooltip, details }))
|
|
212
220
|
if (viewKind == "number")
|
|
213
221
|
return NumberForm<any & FormLabel, Unit>()
|
|
214
222
|
.withView(formViews[viewKind][viewName]())
|
|
215
|
-
.mapContext<any & CommonFormState & Value<number>>(_ => ({ ..._, label
|
|
223
|
+
.mapContext<any & CommonFormState & Value<number>>(_ => ({ ..._, label, tooltip, details }))
|
|
216
224
|
if (viewKind == "string")
|
|
217
225
|
return StringForm<any & FormLabel, Unit>()
|
|
218
226
|
.withView(formViews[viewKind][viewName]())
|
|
219
|
-
.mapContext<any & CommonFormState & Value<string>>(_ => ({ ..._, label
|
|
227
|
+
.mapContext<any & CommonFormState & Value<string>>(_ => ({ ..._, label, tooltip, details }))
|
|
220
228
|
if (viewKind == "enumSingleSelection" && rendererConfig.kind == "enum")
|
|
221
229
|
return EnumForm<any & FormLabel & BaseEnumContext<Value<CollectionReference>>, Unit, Value<CollectionReference>>()
|
|
222
230
|
.withView(formViews[viewKind][viewName]())
|
|
223
231
|
.mapContext<any & EnumFormState<any & BaseEnumContext<Value<CollectionReference>>, Value<CollectionReference>> & Value<CollectionSelection<Value<CollectionReference>>>>(_ => ({
|
|
224
|
-
..._, label
|
|
232
|
+
..._, label, tooltip, details, getOptions: () => {
|
|
225
233
|
return ((enumOptionsSources as any)(rendererConfig.options)() as Promise<any>).then(options => Map(options.map((o: {value: CollectionReference}) => [o.value.id, o])))
|
|
226
234
|
}
|
|
227
235
|
}))
|
|
@@ -229,28 +237,28 @@ export const ParsedRenderer = {
|
|
|
229
237
|
return EnumMultiselectForm<any & FormLabel & BaseEnumContext<Value<CollectionReference>>, Unit, Value<CollectionReference>>()
|
|
230
238
|
.withView(formViews[viewKind][viewName]() )
|
|
231
239
|
.mapContext<any & EnumFormState<any & BaseEnumContext<Value<CollectionReference>>, Value<CollectionReference>> & Value<OrderedMap<Guid, CollectionReference>>>(_ => ({
|
|
232
|
-
..._, label
|
|
240
|
+
..._, label, details, tooltip, getOptions: () => ((enumOptionsSources as any)(rendererConfig.options)() as Promise<any>).then(options => OrderedMap(options.map((o: {value: CollectionReference}) => [o.value.id, o])))
|
|
233
241
|
}))
|
|
234
242
|
if (viewKind == "streamSingleSelection")
|
|
235
243
|
return SearchableInfiniteStreamForm<CollectionReference, any & FormLabel, Unit>()
|
|
236
244
|
.withView(formViews[viewKind][viewName]() )
|
|
237
|
-
.mapContext<any & SearchableInfiniteStreamState<CollectionReference> & Value<CollectionSelection<CollectionReference>>>(_ => ({ ..._, label
|
|
245
|
+
.mapContext<any & SearchableInfiniteStreamState<CollectionReference> & Value<CollectionSelection<CollectionReference>>>(_ => ({ ..._, label, tooltip, details }))
|
|
238
246
|
if (viewKind == "streamMultiSelection")
|
|
239
247
|
return InfiniteMultiselectDropdownForm<CollectionReference, any & FormLabel, Unit>()
|
|
240
248
|
.withView(formViews[viewKind][viewName]() )
|
|
241
|
-
.mapContext<any & FormLabel & CommonFormState & SearchableInfiniteStreamState<CollectionReference> & Value<OrderedMap<Guid, CollectionReference>>>(_ => ({ ..._, label
|
|
249
|
+
.mapContext<any & FormLabel & CommonFormState & SearchableInfiniteStreamState<CollectionReference> & Value<OrderedMap<Guid, CollectionReference>>>(_ => ({ ..._, label, tooltip, details }))
|
|
242
250
|
if (viewKind == "base64File")
|
|
243
251
|
return Base64FileForm<any & FormLabel, Unit>()
|
|
244
252
|
.withView(((formViews )[viewKind] )[viewName]() )
|
|
245
|
-
.mapContext<any & FormLabel & CommonFormState & Value<string>>(_ => ({ ..._, label
|
|
253
|
+
.mapContext<any & FormLabel & CommonFormState & Value<string>>(_ => ({ ..._, label, tooltip, details }))
|
|
246
254
|
if (viewKind == "secret")
|
|
247
255
|
return SecretForm<any & FormLabel, Unit>()
|
|
248
256
|
.withView(formViews[viewKind][viewName]() )
|
|
249
|
-
.mapContext<any & FormLabel & CommonFormState & Value<string>>(_ => ({ ..._, label
|
|
257
|
+
.mapContext<any & FormLabel & CommonFormState & Value<string>>(_ => ({ ..._, label, tooltip, details }))
|
|
250
258
|
// check injectedViews
|
|
251
259
|
if (injectedPrimitives?.injectedPrimitives.has(viewKind as keyof T)) { //TODO error handling instead of cast
|
|
252
260
|
const injectedPrimitive = injectedPrimitives.injectedPrimitives.get(viewKind as keyof T) //TODO error handling instead of cast
|
|
253
|
-
return injectedPrimitive?.fieldView(formViews, viewKind, viewName, label, tooltip)
|
|
261
|
+
return injectedPrimitive?.fieldView(formViews, viewKind, viewName, label, tooltip, details)
|
|
254
262
|
}
|
|
255
263
|
return `error: the view for ${viewKind as string}::${viewName as string} cannot be found`;
|
|
256
264
|
},
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
|
|
2
|
-
export type FormLabel = { label?: string; tooltip?: string; };
|
|
2
|
+
export type FormLabel = { label?: string; tooltip?: string; details?: string; };
|