提交 f63407a8 编写于 作者: A Antonio Muñiz

[JENKINS-21720] JS alert preventig to leave a configuration page even without formulary changes

上级 5b4b66d8
......@@ -33,9 +33,6 @@
}
function initConfirm() {
// Timeout is needed since some events get sent on page load for some reason.
// Shouldn't hurt anything for this to only start monitoring events after a few millis;.
setTimeout(function() {
var configForm = document.getElementsByName("config");
if (configForm.length > 0) {
configForm = configForm[0]
......@@ -78,7 +75,6 @@
for ( var i = 0; i < inputs.length; i++) {
$(inputs[i]).on('input', confirm);
}
}, 100);
}
window.onbeforeunload = confirmExit;
......
......@@ -41,6 +41,19 @@ function updateListBox(listBox,url,config) {
}
Behaviour.specify("SELECT.select", 'select', 1000, function(e) {
function hasChanged(selectEl, originalValue) {
var firstValue = selectEl.options[0].value;
var selectedValue = selectEl.value;
if (originalValue == "" && selectedValue == firstValue) {
// There was no value pre-selected but after the call to updateListBox the first value is selected by
// default. This must not be considered a change.
return false;
} else {
return originalValue != selectedValue;
}
};
// controls that this SELECT box depends on
refillOnChange(e,function(params) {
var value = e.value;
......@@ -60,7 +73,9 @@ Behaviour.specify("SELECT.select", 'select', 1000, function(e) {
fireEvent(e,"filled"); // let other interested parties know that the items have changed
// if the update changed the current selection, others listening to this control needs to be notified.
if (e.value!=value) fireEvent(e,"change");
if (hasChanged(e, value)) {
fireEvent(e,"change");
}
}
});
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册