Will a Single select widget trigger be fired when the value is set by another trigger?

Hi there,
one question regarding the single select widget:

I fill the dropdown list by a table aggregation (works fine). If I change the single select value the trigger is fired and other depending fields are filled.

Now I added a button (for tests first) where I change the list value to one from the aggregation, but the single select widget trigger wont be fired.
I don’t change the source but the Data options Datasource “dd_Schläuche-1” by setting to a value from the aggregation list:

Is this behavior normal? The trigger event is “when input changes”, so I expect that the trigger should be fired.

Puzzling Chris

You are understanding correctly. The trigger will only fire when someone clicks on the dropdown option. Tulip doesn’t have too many places where background logic is fired when related factors change. This is understandable as it would be quite a lot of processing when user built dependencies increase. However, we can start to see some functionality like this when you utilize expressions to determine button validity. Really cool stuff.

You will usually have to check for changes manually with trigger logic.

1 Like

Ok, thanks for clarifying this.

It makes (a little bit) sense, because the trigger will fire for every change when the single select list is filled (so other languages handle this event).

But as long as I can not copy a trigger crossover to other control types, I need to create a lot of redundant trigger code; or have to change to custom widgets like the “On change” cw.

Are there any information whether and when this copy functionality will come?

Regards Chris

Intersting concept though - could there be app-level triggers that would fire off when conditions, such as the value of a variable changing, are met?

I’m thinking of this as almost an automation layer within the app, looking for changes to set an action in motion.

Rather than duplicating the trigger logic from your single select to all of your buttons that might achieve the same change, you could do this on a timer trigger at the app or step level by having the app check every 30 seconds as such:

A) If variable_last is blank, store variable_current to variable_last
B) If variable_last is equal to variable_current, do nothing
C) If variable_last is not equal to variable_current, do the thing your single select trigger would do

Obviously there is delay involved here but it could achieve what you are seeking.

yes, that’s possible with the On change custom widget from the library.
If you place this cw into the base layout it will monitor on every step the change of a variable and fire an event.