ballerina-core 1.0.40 → 1.0.43
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
|
@@ -3,7 +3,7 @@ import { ApiConverters, BoolExpr, BuiltIns, FieldName, FormsConfigMerger, Inject
|
|
|
3
3
|
|
|
4
4
|
export type FieldConfig = {
|
|
5
5
|
renderer: string;
|
|
6
|
-
label
|
|
6
|
+
label?: string;
|
|
7
7
|
tooltip?: string;
|
|
8
8
|
api: { stream?: string, enumOptions?: string };
|
|
9
9
|
elementRenderer?: string;
|
|
@@ -478,7 +478,7 @@ export const FormsConfig = {
|
|
|
478
478
|
formDef.fields = formDef.fields.set(
|
|
479
479
|
fieldName, {
|
|
480
480
|
renderer: fieldConfig.renderer,
|
|
481
|
-
label: fieldConfig.label
|
|
481
|
+
label: fieldConfig.label,
|
|
482
482
|
tooltip: fieldConfig.tooltip,
|
|
483
483
|
elementTooltip: fieldConfig.elementTooltip,
|
|
484
484
|
elementRenderer: fieldConfig.elementRenderer,
|
|
@@ -24,7 +24,7 @@ const parseOptions = (leafPredicates: any, options: any) => {
|
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
export const FieldView = //<Context, FieldViews extends DefaultFieldViews, EnumFieldConfigs extends {}, EnumSources extends {}>() => <ViewType extends keyof FieldViews, ViewName extends keyof FieldViews[ViewType]>
|
|
27
|
-
<T,>(fieldConfig:FieldConfig, fieldViews: any, viewType: any, viewName: any,
|
|
27
|
+
<T,>(fieldConfig:FieldConfig, fieldViews: any, viewType: any, viewName: any, label: string | undefined, tooltip: string | undefined, enumFieldConfigs: EnumOptionsSources, enumSources: any, leafPredicates: any, injectedPrimitives?: InjectedPrimitives<T>): any =>
|
|
28
28
|
{
|
|
29
29
|
if (viewType == "maybeBoolean")
|
|
30
30
|
return MaybeBooleanForm<any & FormLabel, Unit>()
|
|
@@ -208,8 +208,8 @@ export const ParseForm = <T,>(
|
|
|
208
208
|
).withView(((fieldViews as any)[viewType] as any)[viewName]() as any)
|
|
209
209
|
.mapContext<any>(_ => ({ ..._, label, tooltip }))
|
|
210
210
|
} else { // the list argument is a primitive
|
|
211
|
-
const elementForm = FieldView(fieldConfig, fieldViews, fieldNameToElementViewCategory(formFieldElementRenderers)(fieldName) as any, elementRendererName,
|
|
212
|
-
const initialFormState = FieldFormState(fieldConfig, fieldViews, fieldNameToElementViewCategory(formFieldElementRenderers)(fieldName) as any, elementRendererName,
|
|
211
|
+
const elementForm = FieldView(fieldConfig, fieldViews, fieldNameToElementViewCategory(formFieldElementRenderers)(fieldName) as any, elementRendererName, elementLabel, elementTooltip, EnumOptionsSources, fieldsOptionsConfig, leafPredicates, injectedPrimitives)
|
|
212
|
+
const initialFormState = FieldFormState(fieldConfig, fieldViews, fieldNameToElementViewCategory(formFieldElementRenderers)(fieldName) as any, elementRendererName, InfiniteStreamSources, fieldsInfiniteStreamsConfig, injectedPrimitives);
|
|
213
213
|
formConfig[fieldName] = ListForm<any, any, any & FormLabel, Unit>(
|
|
214
214
|
{ Default: () => initialFormState },
|
|
215
215
|
{ Default: () => initialElementValue },
|
|
@@ -239,7 +239,7 @@ export const ParseForm = <T,>(
|
|
|
239
239
|
const initialValueValue = defaultValue(valueType)
|
|
240
240
|
const getFormAndInitialState = (elementRenderers:any, rendererName:any, fieldConfig:FieldConfig) => {
|
|
241
241
|
const formDef = otherForms.get(rendererName)
|
|
242
|
-
const elementLabel = elementRenderers[fieldName].label
|
|
242
|
+
const elementLabel = elementRenderers[fieldName].label
|
|
243
243
|
const elementTooltip = elementRenderers[fieldName].tooltip
|
|
244
244
|
if (formDef != undefined) {
|
|
245
245
|
return [
|
|
@@ -248,7 +248,7 @@ export const ParseForm = <T,>(
|
|
|
248
248
|
]
|
|
249
249
|
} else {
|
|
250
250
|
const categoryName = fieldNameToElementViewCategory(elementRenderers)(fieldName) as any
|
|
251
|
-
const form = FieldView(fieldConfig, fieldViews, categoryName, rendererName,
|
|
251
|
+
const form = FieldView(fieldConfig, fieldViews, categoryName, rendererName, elementLabel, elementTooltip, EnumOptionsSources, fieldsOptionsConfig, leafPredicates, injectedPrimitives)
|
|
252
252
|
const initialFormState = FieldFormState(fieldConfig, fieldViews, categoryName, rendererName, fieldName, InfiniteStreamSources, fieldsInfiniteStreamsConfig, injectedPrimitives);
|
|
253
253
|
return [
|
|
254
254
|
form,
|
|
@@ -272,7 +272,7 @@ export const ParseForm = <T,>(
|
|
|
272
272
|
).withView(((fieldViews as any)[viewType] as any)[viewName]() as any)
|
|
273
273
|
.mapContext<any>(_ => ({ ..._, label, tooltip }))
|
|
274
274
|
} else {
|
|
275
|
-
formConfig[fieldName] = FieldView(fieldConfig, fieldViews, viewType, viewName,
|
|
275
|
+
formConfig[fieldName] = FieldView(fieldConfig, fieldViews, viewType, viewName, label, tooltip, EnumOptionsSources, fieldsOptionsConfig, leafPredicates, injectedPrimitives);
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
}
|
|
@@ -409,6 +409,15 @@ export const parseForms =
|
|
|
409
409
|
if (formsConfig.forms.has(field.elementRenderer))
|
|
410
410
|
traverse(formsConfig.forms.get(field.elementRenderer)!)
|
|
411
411
|
}
|
|
412
|
+
if (fieldType?.kind == "application" && fieldType?.value == "Map" && fieldType?.args.length == 2 && field.mapRenderer != undefined) {
|
|
413
|
+
const mapRenderer = field.mapRenderer
|
|
414
|
+
if (mapRenderer && formsConfig.forms.has(mapRenderer.keyRenderer.renderer)) {
|
|
415
|
+
traverse(formsConfig.forms.get(mapRenderer.keyRenderer.renderer)!)
|
|
416
|
+
}
|
|
417
|
+
if (mapRenderer && formsConfig.forms.has(mapRenderer.valueRenderer.renderer)) {
|
|
418
|
+
traverse(formsConfig.forms.get(mapRenderer.valueRenderer.renderer)!)
|
|
419
|
+
}
|
|
420
|
+
}
|
|
412
421
|
} catch (error) {
|
|
413
422
|
errors.push(`unhandled error: ${JSON.stringify(error)} -> ${formDef.name}`)
|
|
414
423
|
}
|
|
@@ -591,6 +600,9 @@ export const revertKeyword = (fieldName: string): string => {
|
|
|
591
600
|
|
|
592
601
|
export const replaceKeywords = (obj: any, kind: "from api" | "to api"): any => {
|
|
593
602
|
const replacementFn = kind == "from api" ? replaceKeyword : revertKeyword;
|
|
603
|
+
if(obj instanceof Date && !isNaN(obj.valueOf())) {
|
|
604
|
+
return obj;
|
|
605
|
+
}
|
|
594
606
|
if (Array.isArray(obj) || List.isList(obj)) {
|
|
595
607
|
return obj.map((item) =>
|
|
596
608
|
typeof item == "string"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
|
|
2
|
-
export type FormLabel = { label
|
|
2
|
+
export type FormLabel = { label?: string; tooltip?: string; };
|