tabSettings.active = tabSettings.active ? $('#tab_' + tabSettings.active).prevAll().length : 0;
$("#mainTabContainer")
.on('tabsbeforeactivate', function(e, ui) {
- // Warn of unsaved changes - requires formNavigate.tpl to be included in each tab
- if (CRM.utils.initialValueChanged(ui.oldPanel)) {
+ // CRM-14353 - Warn of unsaved changes for all forms except those which have opted out
+ if (CRM.utils.initialValueChanged($('form:not([data-warn-changes=false])', ui.oldPanel))) {
CRM.alert(ts('Your changes in the <em>%1</em> tab have not been saved.', {1: ui.oldTab.text()}), ts('Unsaved Changes'), 'warning');
}
})