Question
Saving Map variable in editable grid
Hi,
I have a local variable with Map type. I have 2 fields inside a variable (Field label and Field Type)
I need to save the variable in a loop by clicking on the Add dynamic link. Please help me out here since the current code is not working.
local!manualDynamicField:a!map(
manualdynamicFieldLabel:"",
manualdynamicFieldType:""
),
a!gridLayout(
label: "Manual Dynamic Fields",
labelPosition: "ABOVE",
headerCells: {
a!gridLayoutHeaderCell(label: "Field Label"),
a!gridLayoutHeaderCell(label: "Field Type"),
a!gridLayoutHeaderCell(label: "")
},
columnConfigs: {
a!gridLayoutColumnConfig(width: "MEDIUM"),
a!gridLayoutColumnConfig(width: "MEDIUM"),
a!gridLayoutColumnConfig(width: "ICON")
},
rows: a!forEach(
local!manualDynamicField,
{
a!gridRowLayout(
contents: {
a!textField(
label: "",
labelPosition: "ABOVE",
value: index(fv!item,"manualdynamicFieldLabel",{}),
saveInto: {
a!save(
index(fv!item,"manualdynamicFieldLabel",{}),
concat("###", save!value, "###")
),
a!save(
local!manualDynamicFieldToAdd,
difference(
index(local!manualDynamicField,"manualdynamicFieldLabel",{}),
local!manualDynamicFieldCopy
)
),
a!save(
local!manualDynamicFieldToRemove,
difference(
local!manualDynamicFieldCopy,
index(local!manualDynamicField,"manualdynamicFieldLabel",{})
)
),
if(
a!isNullOrEmpty(local!manualDynamicFieldToAdd),
{},
{
a!save(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{657f4be1-54fc-4b71-8af5-94fc937f67a1}templateEnglish'],
append(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{657f4be1-54fc-4b71-8af5-94fc937f67a1}templateEnglish'],
local!manualDynamicFieldToAdd
)
),
a!save(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{a94f4383-91a2-48fd-a9bf-cd64a4bf3a16}templateFrench'],
append(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{a94f4383-91a2-48fd-a9bf-cd64a4bf3a16}templateFrench'],
local!manualDynamicFieldToAdd
)
)
}
),
if(
a!isNullOrEmpty(local!manualDynamicFieldToRemove),
{},
{
a!save(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{657f4be1-54fc-4b71-8af5-94fc937f67a1}templateEnglish'],
substitute(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{657f4be1-54fc-4b71-8af5-94fc937f67a1}templateEnglish'],
local!manualDynamicFieldToRemove,
"",
1
)
),
a!save(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{a94f4383-91a2-48fd-a9bf-cd64a4bf3a16}templateFrench'],
substitute(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{a94f4383-91a2-48fd-a9bf-cd64a4bf3a16}templateFrench'],
local!manualDynamicFieldToRemove,
"",
1
)
)
}
),
a!save(
local!manualDynamicFieldCopy,
index(local!manualDynamicField,"manualdynamicFieldLabel",{})
)
},
refreshAfter: "UNFOCUS",
validations: {}
),
a!dropdownField(
label: "",
labelPosition: "ABOVE",
choiceLabels: {"Text","Dropdown","Radio Button"},
choiceValues: {"Text","Dropdown","Radio Button"},
placeholder: "Select a Value",
value: local!manualDynamicFieldTypetoAdd,
saveInto: {
local!manualDynamicFieldTypetoAdd
}
),
a!richTextDisplayField(
value: {
a!richTextIcon(
icon: "times",
color: "NEGATIVE",
linkStyle: "STANDALONE",
link: a!dynamicLink(
value: "",
saveInto: {
a!save(
local!manualDynamicField.manualdynamicFieldLabel,
remove(ri!manualDynamicFields, fv!index)
),
a!save(
local!manualDynamicFieldToAdd,
difference(
local!manualDynamicField.manualdynamicFieldLabel,
local!manualDynamicFieldCopy
)
),
a!save(
local!manualDynamicFieldToRemove,
difference(
local!manualDynamicFieldCopy,
local!manualDynamicField.manualdynamicFieldLabel
)
),
if(
a!isNullOrEmpty(local!manualDynamicFieldToAdd),
{},
{
a!save(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{657f4be1-54fc-4b71-8af5-94fc937f67a1}templateEnglish'],
append(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{657f4be1-54fc-4b71-8af5-94fc937f67a1}templateEnglish'],
local!manualDynamicFieldToAdd
)
),
a!save(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{a94f4383-91a2-48fd-a9bf-cd64a4bf3a16}templateFrench'],
append(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{a94f4383-91a2-48fd-a9bf-cd64a4bf3a16}templateFrench'],
local!manualDynamicFieldToAdd
)
)
}
),
if(
a!isNullOrEmpty(local!manualDynamicFieldToRemove),
{},
{
a!save(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{657f4be1-54fc-4b71-8af5-94fc937f67a1}templateEnglish'],
substitute(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{657f4be1-54fc-4b71-8af5-94fc937f67a1}templateEnglish'],
local!manualDynamicFieldToRemove,
"",
1
)
),
a!save(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{a94f4383-91a2-48fd-a9bf-cd64a4bf3a16}templateFrench'],
substitute(
ri!record['recordType!{bf842322-0f8a-429a-873a-f0d69ec9d438}UWG Amendment Reference.relationships.{cbd28086-f4ea-4c46-a88b-e1a617136bb8}amendmentReferenceMaster.fields.{a94f4383-91a2-48fd-a9bf-cd64a4bf3a16}templateFrench'],
local!manualDynamicFieldToRemove,
"",
1
)
)
}
),
a!save(
local!manualDynamicFieldCopy,
local!manualDynamicField.manualdynamicFieldLabel
)
}
)
)
}
)
}
)
}
),
addRowLink: a!dynamicLink(
label: "Add Field",
value: "",
saveInto: {
a!save(
local!manualDynamicField,
append(local!manualDynamicField, save!value)
)
}
),
selectionSaveInto: {},
validations: {},
shadeAlternateRows: true
)