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 )
Discussion posts and replies are publicly visible
You can't save into index() like this. The index() function returns an evaluated value equating to the index or property within the target value (if any), but it does not give a save-able pointer to the actual value itself, like you'd get if you saved into the target "fv!item.manualdynamicfieldlabel" here. The way you have this should, i expect, result in a pretty severe error message.