I have a behaviours script that will hide options in a multi-select field based upon what component is selected.
My question is can I generate a map of options if two components or more are selected? (the third else if statement is my attempt ;( )
Below is the part of the code I need help on:
if (componentImpl?.getName()?.equals("component1")) {
def optionsMap = options.findAll {
it.value in ["option4","option6"] // list of options you want to show
}.collectEntries {
[
(it.optionId.toString()): it.value
]
}
selectList.setFieldOptions(optionsMap)
}
else if (componentImpl?.getName()?.equals("Component2")) {
def optionsMap = options.findAll {
it.value in ["option1","option2","option3","option4"] // list of options you want to show
}.collectEntries {
[
(it.optionId.toString()): it.value
]
}
selectList.setFieldOptions(optionsMap)
}
else if ((componentImpl?.getName()?.equals("Component2")) && (componentImpl?.getName()?.equals("component1"))){
def optionsMap = options.findAll {
it.value in ["option1","option2","option3","option4","option4","option6"] // list of options you want to show
}.collectEntries {
[
(it.optionId.toString()): it.value
]
}
selectList.setFieldOptions(optionsMap)
}