When a picklist in a field editor is marked to "required" and "none" is not allowed, after cancelling changes in the model, the model immediately has changes again because a value is getting re-established on the field when the original value of the record is null/empty.
This manifests itself when the model is marked to "prevent users from leaving page". When you click a "Cancel" button, then cancel changes and navigate away, the "model has changes" message appears because even though the model changes were cancelled, the picklist field was immediately changed again.
Not sure how to really work around or solve for this one due to the way model data is processed by components, etc.
Steps to Reproduce:
1) Locate a contact in the org and ensure the "Salutation" field is empty/blank
2) Create page using XML below
3) Preview page using contact from #1
4) Click "Cancel & Go"
Sample Page XML
This manifests itself when the model is marked to "prevent users from leaving page". When you click a "Cancel" button, then cancel changes and navigate away, the "model has changes" message appears because even though the model changes were cancelled, the picklist field was immediately changed again.
Not sure how to really work around or solve for this one due to the way model data is processed by components, etc.
Steps to Reproduce:
1) Locate a contact in the org and ensure the "Salutation" field is empty/blank
2) Create page using XML below
3) Preview page using contact from #1
4) Click "Cancel & Go"
Sample Page XML
<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" showheader="true" tabtooverride="Contact"> <models>
<model id="Contact" limit="1" query="true" createrowifnonefound="false" sobject="Contact" adapter="" type="" doclone="">
<fields>
<field id="FirstName"/>
<field id="LastName"/>
<field id="CreatedDate"/>
<field id="Salutation"/>
</fields>
<conditions>
<condition type="param" enclosevalueinquotes="true" operator="=" field="Id" value="id"/>
</conditions>
<actions/>
</model>
</models>
<components>
<pagetitle model="Contact" uniqueid="sk-FkT5s-71">
<maintitle>
<template>{{FirstName}} {{LastName}}</template>
</maintitle>
<subtitle>
<template>{{Model.label}}</template>
</subtitle>
<actions>
<action type="multi" label="Cancel & Go" icon="sk-icon-cancel">
<actions>
<action type="cancel">
<models>
<model>Contact</model>
</models>
</action>
<action type="redirect" window="self" url="http://www.skuidify.com"/>;
</actions>
</action>
</actions>
</pagetitle>
<basicfieldeditor showsavecancel="false" showheader="true" model="Contact" mode="edit" uniqueid="sk-FkT5t-72" buttonposition="">
<columns>
<column width="50%">
<sections>
<section title="Basics">
<fields>
<field id="FirstName"/>
<field id="LastName"/>
<field id="Salutation" valuehalign="" type="" required="true"/>
</fields>
</section>
</sections>
</column>
<column width="50%">
<sections>
<section title="System Info">
<fields>
<field id="CreatedDate"/>
</fields>
</section>
</sections>
</column>
</columns>
</basicfieldeditor>
</components>
<resources>
<labels/>
<css/>
<javascript/>
</resources>
<styles>
<styleitem type="background" bgtype="none"/>
</styles>
</skuidpage>