## Description
This PR fixes two issues with List Widget that inject values like
`currentItem` into the evaluation context.
1. The issue related to having an escape character or a new line \n in
the code for the widget. For example `{{(() => "123 \n 123")()}}` or
```
Date:
{{currentIndex}}
```
2. Where JS Code with text like `Returned:{{ currentItem.name === "Blue"
? "Yes": "No"}}` would always evaluate to `No`. This happens because the
text is converted into a function, and we need to inject some contexts
so that the eval can run without error. After conversion, we have
`{{((currentItem) => "Returned:" + currentItem.name === "Blue" ? "Yes":
"No")(Text1.currentItem)}}` , which, when passed to eval, comes out as
No
Fixes #14200
Fixes #15162
## Type of change
- Bug fix (non-breaking change which fixes an issue)
## How Has This Been Tested?
- Manual
- Jest
- Cypress
### Test Plan
> Add Testsmith test cases links that relate to this PR
### Issues raised during DP testing
> Link issues raised during DP testing for better visiblity and tracking
(copy link from comments dropped on this PR)
## Checklist:
### Dev activity
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] PR is being merged under a feature flag
### QA activity:
- [ ] Test plan has been approved by relevant developers
- [ ] Test plan has been peer reviewed by QA
- [ ] Cypress test cases have been added and approved by either SDET or
manual QA
- [ ] Organized project review call with relevant stakeholders after
Round 1/2 of QA
- [ ] Added Test Plan Approved label after reveiwing all Cypress test
1460 lines
57 KiB
TypeScript
1460 lines
57 KiB
TypeScript
import { klona } from "klona";
|
|
import { isEmpty, startCase } from "lodash";
|
|
import { isDynamicValue } from "utils/DynamicBindingUtils";
|
|
import type { FieldThemeStylesheet, SchemaItem } from "./constants";
|
|
import {
|
|
ARRAY_ITEM_KEY,
|
|
DataType,
|
|
FieldType,
|
|
ROOT_SCHEMA_KEY,
|
|
} from "./constants";
|
|
|
|
export const schemaItemStyles = {
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
};
|
|
|
|
export const schemaItemFactory = (item: any): SchemaItem => {
|
|
return {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: startCase(item.identifier),
|
|
isVisible: true,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue: `{{((sourceData, formData, fieldState) => (sourceData.${item.identifier}))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}`,
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
sourceData: "Test name",
|
|
isCustomField: false,
|
|
accessor: item.identifier || "",
|
|
identifier: item.identifier || "",
|
|
originalIdentifier: item.identifier || "",
|
|
position: 0,
|
|
...item,
|
|
};
|
|
};
|
|
|
|
export const replaceBindingWithValue = (schemaItem: SchemaItem) => {
|
|
if (isEmpty(schemaItem)) return {} as SchemaItem;
|
|
|
|
const updatedSchemaItem = klona(schemaItem);
|
|
|
|
Object.keys(updatedSchemaItem).forEach((k) => {
|
|
const key = k as keyof SchemaItem;
|
|
|
|
if (key === "children") {
|
|
const schema = schemaItem[key];
|
|
Object.keys(schema).forEach((itemKey) => {
|
|
updatedSchemaItem.children[itemKey] = replaceBindingWithValue(
|
|
schemaItem.children[itemKey],
|
|
);
|
|
});
|
|
}
|
|
|
|
if (isDynamicValue(schemaItem[key])) {
|
|
updatedSchemaItem[key] = "test" as never;
|
|
}
|
|
});
|
|
|
|
return updatedSchemaItem;
|
|
};
|
|
|
|
const initialDataset = {
|
|
dataSource: {
|
|
name: "Test name",
|
|
age: 20,
|
|
dob: "10/12/2021",
|
|
boolean: true,
|
|
hobbies: ["travelling", "skating", "off-roading"],
|
|
"%%": "%",
|
|
हिन्दि: "हिन्दि",
|
|
education: [
|
|
{
|
|
college: "String field ",
|
|
number: 1,
|
|
graduationDate: "10/12/2021",
|
|
boolean: true,
|
|
},
|
|
],
|
|
address: {
|
|
Line1: "String field ",
|
|
city: "1",
|
|
},
|
|
},
|
|
|
|
schemaOutput: {
|
|
__root_schema__: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "",
|
|
isVisible: true,
|
|
children: {
|
|
name: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Name",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.name))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "Test name",
|
|
isCustomField: false,
|
|
accessor: "name",
|
|
identifier: "name",
|
|
originalIdentifier: "name",
|
|
position: 0,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
age: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Age",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.NUMBER,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.age))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.NUMBER_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: 20,
|
|
isCustomField: false,
|
|
accessor: "age",
|
|
identifier: "age",
|
|
originalIdentifier: "age",
|
|
position: 1,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
dob: {
|
|
closeOnSelection: false,
|
|
dateFormat: "MM/DD/YYYY",
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Dob",
|
|
maxDate: "2121-12-31T18:29:00.000Z",
|
|
minDate: "1920-12-31T18:30:00.000Z",
|
|
shortcuts: false,
|
|
isVisible: true,
|
|
convertToISO: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
'{{((sourceData, formData, fieldState) => (moment(sourceData.dob, "MM/DD/YYYY").format("YYYY-MM-DDTHH:mm:ss.sssZ")))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}',
|
|
fieldType: FieldType.DATEPICKER,
|
|
timePrecision: "minute",
|
|
sourceData: "10/12/2021",
|
|
isCustomField: false,
|
|
accessor: "dob",
|
|
identifier: "dob",
|
|
originalIdentifier: "dob",
|
|
position: 2,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
boolean: {
|
|
alignWidget: "LEFT",
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
isVisible: true,
|
|
labelTextSize: "0.875rem",
|
|
label: "Boolean",
|
|
children: {},
|
|
dataType: DataType.BOOLEAN,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.boolean))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.SWITCH,
|
|
sourceData: true,
|
|
isCustomField: false,
|
|
accessor: "boolean",
|
|
identifier: "boolean",
|
|
originalIdentifier: "boolean",
|
|
position: 3,
|
|
backgroundColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
hobbies: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Hobbies",
|
|
isVisible: true,
|
|
serverSideFiltering: false,
|
|
options: [
|
|
{ label: "Blue", value: "BLUE" },
|
|
{ label: "Green", value: "GREEN" },
|
|
{ label: "Red", value: "RED" },
|
|
],
|
|
children: {},
|
|
dataType: DataType.ARRAY,
|
|
defaultValue: `{{((sourceData, formData, fieldState) => (sourceData.hobbies))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}`,
|
|
fieldType: FieldType.MULTISELECT,
|
|
isFilterable: false,
|
|
sourceData: ["travelling", "skating", "off-roading"],
|
|
isCustomField: false,
|
|
accessor: "hobbies",
|
|
identifier: "hobbies",
|
|
originalIdentifier: "hobbies",
|
|
position: 4,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
__: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "%%",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
'{{((sourceData, formData, fieldState) => (sourceData["%%"]))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}',
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "%",
|
|
isCustomField: false,
|
|
accessor: "%%",
|
|
identifier: "__",
|
|
originalIdentifier: "%%",
|
|
position: 5,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
xn__j2bd4cyac6f: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "हिन्दि",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
'{{((sourceData, formData, fieldState) => (sourceData["हिन्दि"]))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}',
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "हिन्दि",
|
|
isCustomField: false,
|
|
accessor: "हिन्दि",
|
|
identifier: "xn__j2bd4cyac6f",
|
|
originalIdentifier: "हिन्दि",
|
|
position: 6,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
education: {
|
|
backgroundColor: "#FAFAFA",
|
|
isCollapsible: true,
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
isVisible: true,
|
|
labelTextSize: "0.875rem",
|
|
label: "Education",
|
|
children: {
|
|
__array_item__: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Array Item",
|
|
isVisible: true,
|
|
children: {
|
|
college: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "College",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "String field ",
|
|
isCustomField: false,
|
|
accessor: "college",
|
|
identifier: "college",
|
|
originalIdentifier: "college",
|
|
position: 0,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
number: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Number",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.NUMBER,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.NUMBER_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: 1,
|
|
isCustomField: false,
|
|
accessor: "number",
|
|
identifier: "number",
|
|
originalIdentifier: "number",
|
|
position: 1,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
graduationDate: {
|
|
closeOnSelection: false,
|
|
dateFormat: "MM/DD/YYYY",
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Graduation Date",
|
|
maxDate: "2121-12-31T18:29:00.000Z",
|
|
minDate: "1920-12-31T18:30:00.000Z",
|
|
shortcuts: false,
|
|
isVisible: true,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.DATEPICKER,
|
|
timePrecision: "minute",
|
|
convertToISO: false,
|
|
sourceData: "10/12/2021",
|
|
isCustomField: false,
|
|
accessor: "graduationDate",
|
|
identifier: "graduationDate",
|
|
originalIdentifier: "graduationDate",
|
|
position: 2,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
boolean: {
|
|
alignWidget: "LEFT",
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
isVisible: true,
|
|
labelTextSize: "0.875rem",
|
|
label: "Boolean",
|
|
children: {},
|
|
dataType: DataType.BOOLEAN,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.SWITCH,
|
|
sourceData: true,
|
|
isCustomField: false,
|
|
accessor: "boolean",
|
|
identifier: "boolean",
|
|
originalIdentifier: "boolean",
|
|
position: 3,
|
|
backgroundColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
},
|
|
dataType: DataType.OBJECT,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.OBJECT,
|
|
sourceData: {
|
|
college: "String field ",
|
|
number: 1,
|
|
graduationDate: "10/12/2021",
|
|
boolean: true,
|
|
},
|
|
isCustomField: false,
|
|
accessor: ARRAY_ITEM_KEY,
|
|
identifier: ARRAY_ITEM_KEY,
|
|
originalIdentifier: ARRAY_ITEM_KEY,
|
|
position: -1,
|
|
},
|
|
},
|
|
dataType: DataType.ARRAY,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.education))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.ARRAY,
|
|
sourceData: [
|
|
{
|
|
boolean: true,
|
|
college: "String field ",
|
|
graduationDate: "10/12/2021",
|
|
number: 1,
|
|
},
|
|
],
|
|
isCustomField: false,
|
|
accessor: "education",
|
|
identifier: "education",
|
|
originalIdentifier: "education",
|
|
position: 7,
|
|
},
|
|
address: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Address",
|
|
isVisible: true,
|
|
children: {
|
|
Line1: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Line 1",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.address.Line1))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "String field ",
|
|
isCustomField: false,
|
|
accessor: "Line1",
|
|
identifier: "Line1",
|
|
originalIdentifier: "Line1",
|
|
position: 0,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
city: {
|
|
isSpellCheck: false,
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "City",
|
|
isVisible: true,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.address.city))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "1",
|
|
isCustomField: false,
|
|
accessor: "city",
|
|
identifier: "city",
|
|
originalIdentifier: "city",
|
|
position: 1,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
},
|
|
dataType: DataType.OBJECT,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.address))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.OBJECT,
|
|
sourceData: { Line1: "String field ", city: "1" },
|
|
isCustomField: false,
|
|
accessor: "address",
|
|
identifier: "address",
|
|
originalIdentifier: "address",
|
|
position: 8,
|
|
},
|
|
},
|
|
dataType: DataType.OBJECT,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.OBJECT,
|
|
sourceData: {
|
|
name: "Test name",
|
|
age: 20,
|
|
dob: "10/12/2021",
|
|
boolean: true,
|
|
hobbies: ["travelling", "skating", "off-roading"],
|
|
"%%": "%",
|
|
education: [
|
|
{
|
|
college: "String field ",
|
|
number: 1,
|
|
graduationDate: "10/12/2021",
|
|
boolean: true,
|
|
},
|
|
],
|
|
address: {
|
|
Line1: "String field ",
|
|
city: "1",
|
|
},
|
|
हिन्दि: "हिन्दि",
|
|
},
|
|
isCustomField: false,
|
|
accessor: ROOT_SCHEMA_KEY,
|
|
identifier: ROOT_SCHEMA_KEY,
|
|
originalIdentifier: ROOT_SCHEMA_KEY,
|
|
position: -1,
|
|
},
|
|
},
|
|
};
|
|
|
|
const withRemovedKeyFromInitialDataset = {
|
|
dataSource: {
|
|
name: "Test name",
|
|
age: 20,
|
|
dob: "10/12/2021",
|
|
hobbies: ["travelling", "skating", "off-roading"],
|
|
हिन्दि: "हिन्दि",
|
|
education: [
|
|
{
|
|
college: "String field ",
|
|
number: 1,
|
|
graduationDate: "10/12/2021",
|
|
boolean: true,
|
|
},
|
|
],
|
|
address: {
|
|
Line1: "String field ",
|
|
city: "1",
|
|
},
|
|
},
|
|
|
|
schemaOutput: {
|
|
__root_schema__: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "",
|
|
isVisible: true,
|
|
children: {
|
|
name: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Name",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.name))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "Test name",
|
|
isCustomField: false,
|
|
accessor: "name",
|
|
identifier: "name",
|
|
originalIdentifier: "name",
|
|
position: 0,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
age: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Age",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.NUMBER,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.age))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.NUMBER_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: 20,
|
|
isCustomField: false,
|
|
accessor: "age",
|
|
identifier: "age",
|
|
originalIdentifier: "age",
|
|
position: 1,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
dob: {
|
|
closeOnSelection: false,
|
|
dateFormat: "MM/DD/YYYY",
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Dob",
|
|
maxDate: "2121-12-31T18:29:00.000Z",
|
|
minDate: "1920-12-31T18:30:00.000Z",
|
|
shortcuts: false,
|
|
isVisible: true,
|
|
convertToISO: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
'{{((sourceData, formData, fieldState) => (moment(sourceData.dob, "MM/DD/YYYY").format("YYYY-MM-DDTHH:mm:ss.sssZ")))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}',
|
|
fieldType: FieldType.DATEPICKER,
|
|
timePrecision: "minute",
|
|
sourceData: "10/12/2021",
|
|
isCustomField: false,
|
|
accessor: "dob",
|
|
identifier: "dob",
|
|
originalIdentifier: "dob",
|
|
position: 2,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
hobbies: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Hobbies",
|
|
isVisible: true,
|
|
serverSideFiltering: false,
|
|
options: [
|
|
{ label: "Blue", value: "BLUE" },
|
|
{ label: "Green", value: "GREEN" },
|
|
{ label: "Red", value: "RED" },
|
|
],
|
|
children: {},
|
|
dataType: DataType.ARRAY,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.hobbies))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.MULTISELECT,
|
|
isFilterable: false,
|
|
sourceData: ["travelling", "skating", "off-roading"],
|
|
isCustomField: false,
|
|
accessor: "hobbies",
|
|
identifier: "hobbies",
|
|
originalIdentifier: "hobbies",
|
|
position: 4,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
xn__j2bd4cyac6f: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "हिन्दि",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
'{{((sourceData, formData, fieldState) => (sourceData["हिन्दि"]))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}',
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "हिन्दि",
|
|
isCustomField: false,
|
|
accessor: "हिन्दि",
|
|
identifier: "xn__j2bd4cyac6f",
|
|
originalIdentifier: "हिन्दि",
|
|
position: 6,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
education: {
|
|
backgroundColor: "#FAFAFA",
|
|
isCollapsible: true,
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
isVisible: true,
|
|
labelTextSize: "0.875rem",
|
|
label: "Education",
|
|
children: {
|
|
__array_item__: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Array Item",
|
|
isVisible: true,
|
|
children: {
|
|
college: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "College",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "String field ",
|
|
isCustomField: false,
|
|
accessor: "college",
|
|
identifier: "college",
|
|
originalIdentifier: "college",
|
|
position: 0,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
number: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Number",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.NUMBER,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.NUMBER_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: 1,
|
|
isCustomField: false,
|
|
accessor: "number",
|
|
identifier: "number",
|
|
originalIdentifier: "number",
|
|
position: 1,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
graduationDate: {
|
|
closeOnSelection: false,
|
|
dateFormat: "MM/DD/YYYY",
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Graduation Date",
|
|
maxDate: "2121-12-31T18:29:00.000Z",
|
|
minDate: "1920-12-31T18:30:00.000Z",
|
|
shortcuts: false,
|
|
isVisible: true,
|
|
convertToISO: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.DATEPICKER,
|
|
timePrecision: "minute",
|
|
sourceData: "10/12/2021",
|
|
isCustomField: false,
|
|
accessor: "graduationDate",
|
|
identifier: "graduationDate",
|
|
originalIdentifier: "graduationDate",
|
|
position: 2,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
boolean: {
|
|
alignWidget: "LEFT",
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
isVisible: true,
|
|
labelTextSize: "0.875rem",
|
|
label: "Boolean",
|
|
children: {},
|
|
dataType: DataType.BOOLEAN,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.SWITCH,
|
|
sourceData: true,
|
|
isCustomField: false,
|
|
accessor: "boolean",
|
|
identifier: "boolean",
|
|
originalIdentifier: "boolean",
|
|
position: 3,
|
|
backgroundColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
},
|
|
dataType: DataType.OBJECT,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.OBJECT,
|
|
sourceData: {
|
|
college: "String field ",
|
|
number: 1,
|
|
graduationDate: "10/12/2021",
|
|
boolean: true,
|
|
},
|
|
isCustomField: false,
|
|
accessor: ARRAY_ITEM_KEY,
|
|
identifier: ARRAY_ITEM_KEY,
|
|
originalIdentifier: ARRAY_ITEM_KEY,
|
|
position: -1,
|
|
},
|
|
},
|
|
dataType: DataType.ARRAY,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.education))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.ARRAY,
|
|
sourceData: [
|
|
{
|
|
boolean: true,
|
|
college: "String field ",
|
|
graduationDate: "10/12/2021",
|
|
number: 1,
|
|
},
|
|
],
|
|
isCustomField: false,
|
|
accessor: "education",
|
|
identifier: "education",
|
|
originalIdentifier: "education",
|
|
position: 7,
|
|
},
|
|
address: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Address",
|
|
isVisible: true,
|
|
children: {
|
|
Line1: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Line 1",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.address.Line1))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "String field ",
|
|
isCustomField: false,
|
|
accessor: "Line1",
|
|
identifier: "Line1",
|
|
originalIdentifier: "Line1",
|
|
position: 0,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
city: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "City",
|
|
isSpellCheck: false,
|
|
isVisible: true,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.address.city))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "1",
|
|
isCustomField: false,
|
|
accessor: "city",
|
|
identifier: "city",
|
|
originalIdentifier: "city",
|
|
position: 1,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
},
|
|
dataType: DataType.OBJECT,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.address))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.OBJECT,
|
|
sourceData: { Line1: "String field ", city: "1" },
|
|
isCustomField: false,
|
|
accessor: "address",
|
|
identifier: "address",
|
|
originalIdentifier: "address",
|
|
position: 8,
|
|
},
|
|
},
|
|
dataType: DataType.OBJECT,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.OBJECT,
|
|
sourceData: {
|
|
name: "Test name",
|
|
age: 20,
|
|
dob: "10/12/2021",
|
|
hobbies: ["travelling", "skating", "off-roading"],
|
|
हिन्दि: "हिन्दि",
|
|
education: [
|
|
{
|
|
college: "String field ",
|
|
number: 1,
|
|
graduationDate: "10/12/2021",
|
|
boolean: true,
|
|
},
|
|
],
|
|
address: {
|
|
Line1: "String field ",
|
|
city: "1",
|
|
},
|
|
},
|
|
isCustomField: false,
|
|
accessor: ROOT_SCHEMA_KEY,
|
|
identifier: ROOT_SCHEMA_KEY,
|
|
originalIdentifier: ROOT_SCHEMA_KEY,
|
|
position: -1,
|
|
},
|
|
},
|
|
};
|
|
|
|
const withRemovedAddedKeyToInitialDataset = {
|
|
dataSource: {
|
|
name: "Test name",
|
|
age: 20,
|
|
dob: "10/12/2021",
|
|
gender: "male",
|
|
hobbies: ["travelling", "skating", "off-roading"],
|
|
हिन्दि: "हिन्दि",
|
|
education: [
|
|
{
|
|
college: "String field ",
|
|
number: 1,
|
|
graduationDate: "10/12/2021",
|
|
boolean: true,
|
|
},
|
|
],
|
|
address: {
|
|
Line1: "String field ",
|
|
city: "1",
|
|
},
|
|
},
|
|
|
|
schemaOutput: {
|
|
__root_schema__: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "",
|
|
isVisible: true,
|
|
children: {
|
|
name: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Name",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.name))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "Test name",
|
|
isCustomField: false,
|
|
accessor: "name",
|
|
identifier: "name",
|
|
originalIdentifier: "name",
|
|
position: 0,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
age: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Age",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.NUMBER,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.age))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.NUMBER_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: 20,
|
|
isCustomField: false,
|
|
accessor: "age",
|
|
identifier: "age",
|
|
originalIdentifier: "age",
|
|
position: 1,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
dob: {
|
|
closeOnSelection: false,
|
|
dateFormat: "MM/DD/YYYY",
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Dob",
|
|
maxDate: "2121-12-31T18:29:00.000Z",
|
|
minDate: "1920-12-31T18:30:00.000Z",
|
|
shortcuts: false,
|
|
isVisible: true,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
convertToISO: false,
|
|
defaultValue:
|
|
'{{((sourceData, formData, fieldState) => (moment(sourceData.dob, "MM/DD/YYYY").format("YYYY-MM-DDTHH:mm:ss.sssZ")))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}',
|
|
fieldType: FieldType.DATEPICKER,
|
|
timePrecision: "minute",
|
|
sourceData: "10/12/2021",
|
|
isCustomField: false,
|
|
accessor: "dob",
|
|
identifier: "dob",
|
|
originalIdentifier: "dob",
|
|
position: 2,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
hobbies: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Hobbies",
|
|
isVisible: true,
|
|
serverSideFiltering: false,
|
|
options: [
|
|
{ label: "Blue", value: "BLUE" },
|
|
{ label: "Green", value: "GREEN" },
|
|
{ label: "Red", value: "RED" },
|
|
],
|
|
children: {},
|
|
dataType: DataType.ARRAY,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.hobbies))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.MULTISELECT,
|
|
isFilterable: false,
|
|
sourceData: ["travelling", "skating", "off-roading"],
|
|
isCustomField: false,
|
|
accessor: "hobbies",
|
|
identifier: "hobbies",
|
|
originalIdentifier: "hobbies",
|
|
position: 3,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
xn__j2bd4cyac6f: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "हिन्दि",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
'{{((sourceData, formData, fieldState) => (sourceData["हिन्दि"]))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}',
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "हिन्दि",
|
|
isCustomField: false,
|
|
accessor: "हिन्दि",
|
|
identifier: "xn__j2bd4cyac6f",
|
|
originalIdentifier: "हिन्दि",
|
|
position: 4,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
education: {
|
|
backgroundColor: "#FAFAFA",
|
|
isCollapsible: true,
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
isVisible: true,
|
|
labelTextSize: "0.875rem",
|
|
label: "Education",
|
|
children: {
|
|
__array_item__: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Array Item",
|
|
isVisible: true,
|
|
children: {
|
|
college: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "College",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "String field ",
|
|
isCustomField: false,
|
|
accessor: "college",
|
|
identifier: "college",
|
|
originalIdentifier: "college",
|
|
position: 0,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
number: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Number",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.NUMBER,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.NUMBER_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: 1,
|
|
isCustomField: false,
|
|
accessor: "number",
|
|
identifier: "number",
|
|
originalIdentifier: "number",
|
|
position: 1,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
graduationDate: {
|
|
closeOnSelection: false,
|
|
dateFormat: "MM/DD/YYYY",
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Graduation Date",
|
|
maxDate: "2121-12-31T18:29:00.000Z",
|
|
minDate: "1920-12-31T18:30:00.000Z",
|
|
shortcuts: false,
|
|
isVisible: true,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.DATEPICKER,
|
|
timePrecision: "minute",
|
|
sourceData: "10/12/2021",
|
|
convertToISO: false,
|
|
isCustomField: false,
|
|
accessor: "graduationDate",
|
|
identifier: "graduationDate",
|
|
originalIdentifier: "graduationDate",
|
|
position: 2,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
boolean: {
|
|
alignWidget: "LEFT",
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
isVisible: true,
|
|
labelTextSize: "0.875rem",
|
|
label: "Boolean",
|
|
children: {},
|
|
dataType: DataType.BOOLEAN,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.SWITCH,
|
|
sourceData: true,
|
|
isCustomField: false,
|
|
accessor: "boolean",
|
|
identifier: "boolean",
|
|
originalIdentifier: "boolean",
|
|
position: 3,
|
|
backgroundColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
},
|
|
dataType: DataType.OBJECT,
|
|
defaultValue: undefined,
|
|
fieldType: FieldType.OBJECT,
|
|
sourceData: {
|
|
college: "String field ",
|
|
number: 1,
|
|
graduationDate: "10/12/2021",
|
|
boolean: true,
|
|
},
|
|
isCustomField: false,
|
|
accessor: ARRAY_ITEM_KEY,
|
|
identifier: ARRAY_ITEM_KEY,
|
|
originalIdentifier: ARRAY_ITEM_KEY,
|
|
position: -1,
|
|
},
|
|
},
|
|
dataType: DataType.ARRAY,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.education))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.ARRAY,
|
|
sourceData: [
|
|
{
|
|
boolean: true,
|
|
college: "String field ",
|
|
graduationDate: "10/12/2021",
|
|
number: 1,
|
|
},
|
|
],
|
|
isCustomField: false,
|
|
accessor: "education",
|
|
identifier: "education",
|
|
originalIdentifier: "education",
|
|
position: 5,
|
|
},
|
|
address: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Address",
|
|
isVisible: true,
|
|
children: {
|
|
Line1: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Line 1",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.address.Line1))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "String field ",
|
|
isCustomField: false,
|
|
accessor: "Line1",
|
|
identifier: "Line1",
|
|
originalIdentifier: "Line1",
|
|
position: 0,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
city: {
|
|
isSpellCheck: false,
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "City",
|
|
isVisible: true,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.address.city))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "1",
|
|
isCustomField: false,
|
|
accessor: "city",
|
|
identifier: "city",
|
|
originalIdentifier: "city",
|
|
position: 1,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
},
|
|
dataType: DataType.OBJECT,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.address))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.OBJECT,
|
|
sourceData: { Line1: "String field ", city: "1" },
|
|
isCustomField: false,
|
|
accessor: "address",
|
|
identifier: "address",
|
|
originalIdentifier: "address",
|
|
position: 6,
|
|
},
|
|
gender: {
|
|
isDisabled: false,
|
|
isRequired: false,
|
|
labelTextSize: "0.875rem",
|
|
label: "Gender",
|
|
isVisible: true,
|
|
isSpellCheck: false,
|
|
children: {},
|
|
dataType: DataType.STRING,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData.gender))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.TEXT_INPUT,
|
|
iconAlign: "left",
|
|
sourceData: "male",
|
|
isCustomField: false,
|
|
accessor: "gender",
|
|
identifier: "gender",
|
|
originalIdentifier: "gender",
|
|
position: 7,
|
|
accentColor:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.colors.primaryColor)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
borderRadius:
|
|
"{{((sourceData, formData, fieldState) => ((appsmith.theme.borderRadius.appBorderRadius)))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
boxShadow: "none",
|
|
},
|
|
},
|
|
dataType: DataType.OBJECT,
|
|
defaultValue:
|
|
"{{((sourceData, formData, fieldState) => (sourceData))(JSONForm1.sourceData, JSONForm1.formData, JSONForm1.fieldState)}}",
|
|
fieldType: FieldType.OBJECT,
|
|
sourceData: {
|
|
name: "Test name",
|
|
age: 20,
|
|
dob: "10/12/2021",
|
|
gender: "male",
|
|
hobbies: ["travelling", "skating", "off-roading"],
|
|
हिन्दि: "हिन्दि",
|
|
education: [
|
|
{
|
|
college: "String field ",
|
|
number: 1,
|
|
graduationDate: "10/12/2021",
|
|
boolean: true,
|
|
},
|
|
],
|
|
address: {
|
|
Line1: "String field ",
|
|
city: "1",
|
|
},
|
|
},
|
|
isCustomField: false,
|
|
accessor: ROOT_SCHEMA_KEY,
|
|
identifier: ROOT_SCHEMA_KEY,
|
|
originalIdentifier: ROOT_SCHEMA_KEY,
|
|
position: -1,
|
|
},
|
|
},
|
|
};
|
|
|
|
const fieldThemeStylesheets = {
|
|
CHECKBOX: {
|
|
backgroundColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
CURRENCY_INPUT: {
|
|
accentColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
DATEPICKER: {
|
|
accentColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
EMAIL_INPUT: {
|
|
accentColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
MULTISELECT: {
|
|
accentColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
MULTILINE_TEXT_INPUT: {
|
|
accentColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
NUMBER_INPUT: {
|
|
accentColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
PASSWORD_INPUT: {
|
|
accentColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
PHONE_NUMBER_INPUT: {
|
|
accentColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
RADIO_GROUP: {
|
|
backgroundColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
boxShadow: "none",
|
|
},
|
|
SELECT: {
|
|
accentColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
SWITCH: {
|
|
backgroundColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
boxShadow: "none",
|
|
},
|
|
TEXT_INPUT: {
|
|
accentColor: "{{appsmith.theme.colors.primaryColor}}",
|
|
borderRadius: "{{appsmith.theme.borderRadius.appBorderRadius}}",
|
|
boxShadow: "none",
|
|
},
|
|
} as unknown as FieldThemeStylesheet;
|
|
|
|
export default {
|
|
initialDataset,
|
|
withRemovedKeyFromInitialDataset,
|
|
withRemovedAddedKeyToInitialDataset,
|
|
fieldThemeStylesheets,
|
|
};
|