Kinetic Configurator - Exit Conditions

We are trying to move our configurators over to Kinetic and one thing that we are trying to keep constant on all of our configurators involves preventing exiting the configurator if certain conditions aren’t met. In all of our configurators, we have a button called CalcTotal that will run the price calculation as well as fill in some other fields we need in the background. When any field gets changed, it sets the label for that button to “Calculate Total”, then when the button is pressed and the calculations are run, it changes the label to say “All Set”. We were hoping to be able to prevent people from exiting the page if the label for that button still says “Calculate Total”. I’ve got this working in classic configurators, but am having a real tough time implementing this in Application Studio.

I’m using an event with this trigger:
image

I think this expression is where I’m going wrong, but it looks like it matches the way the example is formatted. It’s making me wonder if I can even look at a fields label?
image

If anyone has any advice for me, that would be greatly appreciated!

Ended up switching the way this is done. Instead of trying to base the condition off of a field label, I’m using a hidden checkbox field (which I probably should have done in the first place).

I’ve got a new issue now where while I can use the condition correctly, I cannot seem to get the Event Cancel widget to do what I want it to, and maybe it just doesn’t do what I thought it did. I was hoping it would just stop the person from saving and leaving the configurator. However, what it seems to do is prevent Document Rules from being executed, but still exits the configurator. Could anyone shed some light on how that widget is to be properly used?

You should be able to set Args.Cancel to true in the page leave code to prevent user from leaving a page and thus saving configurator. I did open a ticket on this that Args.Cancel wasn’t being respected, I haven’t checked recently to see if/when that would be fixed.

When this works I usually have a text box that I put messages in telling user what needs to be done. Using a read only expression I populate the text box based on what still needs to be filled in or addressed. Then in the Page leave event I put a check to see that the text box is empty, if not I set args.Cancel = true;