It seems like when a user cancels out of form after making changes, the obvious thing that should happen is:
The JavaScript Code is as follows:
onCancelbuttonsessionitemidClick: function(button, e, eOpts) { var form = button.up('form').getForm(), formWindow = button.up('window'), session = form.getRecord(), store = this.getSessionsStore(); if (form.isDirty()) { Ext.Msg.show({ title:'Save Changes?', msg: 'Save Your Changes Before Exiting?', buttons: Ext.Msg.YESNOCANCEL, fn: function(text) { if (text == 'yes') { form.updateRecord(); store.sync(); formWindow.destroy(); } else if (text === 'no') { formWindow.destroy(); } else if (text === 'cancel') { // do nothing } } }); } else { formWindow.destroy(); } },