I am trying cascading dropdown with query rules. I have this SAIL expression but

I am trying cascading dropdown with query rules. I have this SAIL expression but it doesn't work: could you help me? Thanks!
=load(
local!selectedFoodType: tointeger(null),
local!fruitChoice:tointeger(null),
local!vegetableChoice,
a!formLayout(
label: "SAIL Example: Cascading Dropdowns",
firstColumnContents: {
a!dropdownField(
label: "Food Type",
choiceLabels: rule!getTypeExp(),
choiceValues: rule!getTypeExp(),
placeholderLabel: "--- Select Food Type ---",
value: local!selectedFoodType,
saveInto: local!selectedFoodType
),
if(local!selectedFoodType = "",{},
a!dropdownField(
label: "Fruits",
choiceLabels:rule!getFailureDescription(local!selectedFoodType),
choiceValues: rule!getFailureDescription(local!selectedFoodType),
placeholderLabel: "--- Select Fruit Type ---",
value: local!fruitChoice,
saveInto: local!f...

OriginalPostID-96788

OriginalPostID-96788

  Discussion posts and replies are publicly visible

Parents
  • Hi, you are right and now it works! My code is the following ("foods" is multiple, "choiceFoodType" and "fruitChoice" are single variables):
    = a!formLayout(
    label: "SAIL Example: Cascading Dropdowns",
    firstColumnContents: {
    a!dropdownField(
    label: "Food Type",
    choiceLabels: ri!foods,
    choiceValues: ri!foods,
    placeholderLabel: "--- Select Food Type ---",
    value: ri!choiceFoodType,
    saveInto: ri!choiceFoodType
    ),
    if(
    ri!choiceFoodType = "",
    {},
    a!dropdownField(
    label: "Fruits",
    choiceLabels: rule!getFailureDescription(
    ri!choiceFoodType
    ),
    choiceValues: rule!getFailureDescription(
    ri!choiceFoodType
    ),
    placeholderLabel: "--- Select Fruit Type ---",
    value: ri!fruitChoice,
    saveInto: ri!fruitChoice
    )
    )
    },
    buttons: a!buttonLayout(
    primaryButtons: a!buttonWidgetSubmit(
    label: "Submit"
    )
    )
    )
    One strange behavior I notice is the following: I choose in 1st dropdown one value (ex. "Fruits"), in the 2nd I have filtered values (ex."Banana","Orange"). I select "Orange" and then I come back to the 1st dropdown and I change to another value (ex. "Vegetables"). It show a message "The Requested Task Is Not Available
    The task may have been deleted or completed by another assignee.", but noone has taken the task because I am the only one in my test environment: maybe is it an error in my code? Thanks again!
Reply
  • Hi, you are right and now it works! My code is the following ("foods" is multiple, "choiceFoodType" and "fruitChoice" are single variables):
    = a!formLayout(
    label: "SAIL Example: Cascading Dropdowns",
    firstColumnContents: {
    a!dropdownField(
    label: "Food Type",
    choiceLabels: ri!foods,
    choiceValues: ri!foods,
    placeholderLabel: "--- Select Food Type ---",
    value: ri!choiceFoodType,
    saveInto: ri!choiceFoodType
    ),
    if(
    ri!choiceFoodType = "",
    {},
    a!dropdownField(
    label: "Fruits",
    choiceLabels: rule!getFailureDescription(
    ri!choiceFoodType
    ),
    choiceValues: rule!getFailureDescription(
    ri!choiceFoodType
    ),
    placeholderLabel: "--- Select Fruit Type ---",
    value: ri!fruitChoice,
    saveInto: ri!fruitChoice
    )
    )
    },
    buttons: a!buttonLayout(
    primaryButtons: a!buttonWidgetSubmit(
    label: "Submit"
    )
    )
    )
    One strange behavior I notice is the following: I choose in 1st dropdown one value (ex. "Fruits"), in the 2nd I have filtered values (ex."Banana","Orange"). I select "Orange" and then I come back to the 1st dropdown and I change to another value (ex. "Vegetables"). It show a message "The Requested Task Is Not Available
    The task may have been deleted or completed by another assignee.", but noone has taken the task because I am the only one in my test environment: maybe is it an error in my code? Thanks again!
Children
No Data