UX Component 'Dirty State'
Description
Just like standard UX Components controls (such as Textbox, Textarea, RadioButton, etc), the List control is bound to a UX component variable. When the value in any control changes the UX component is considered to be 'dirty'. So for example, if you open a UX and then select a row in a List, ghe UX will go from 'clean' to 'dirty'.
In some use cases you might not want the UX go to 'dirty' when the user is making selections in a List. You can easily do this by adding some code to the onBeforeSelect and onSelect event in the List. Here is the code to add to the List's onBeforeSelect event:
var flagUXIsDirty = false; //see if the UX is already dirty flagUXIsDirty = {dialog.object}._dirtyRows[0]; //store the dirty state of the UX in a variable in the List object this._flagUXIsDirty = flagUXIsDirty;
Here is the code to add to the List's onSelect event:
//if the UX was not dirty when you selected the row //set the UX state back to clean after the row is selected. //you need to use a timeout with a small delay. if(this._flagUXIsDirty == false) { setTimeout(function() { {dialog.object}._setRowState(1,false); },10); }