I have an interface that opens for a single record passed in via a rule input from a REST integration GET call. The interface opens as read-only be default. There is a button at the bottom labeled "Edit". When the user clicks this button, interface becomes editable. When the interface is editable, there is a button labeled "Cancel" at the bottom. When the user clicks the "Cancel" button, I need to discard any changes the user made, and revert back to the original copy of the record.
I have attempted to do this by calling the integration which is the GET by ID in the saveInto of the Cancel button. The value is successfully fetched, and I can view it when I put the result into a paragraph field, but when I assign this result back to the rule input, the fields of the interface are not updated and the user changes are not reverted.
Is there an easier way to discard the user changes and go back to the original record?
NOTE: The goal of the Cancel button is NOT to close the interface, but to cancel "edit mode".
Discussion posts and replies are publicly visible
What you are doing is the ideal way of doing it. Let's understand why this is not working. In the designer, when you are clicking on the cancel button, can you see the older values being saved in the RI? You can see those values in the variable pane of the interface.
Another way is using a local variable and saving the value of your RI in that variable. Then when you click on cancel, just save the local variable's value back to RI.
a!localVariables( local!integrationResult: ri!integrationResult, {} )