Skip to content

Commit 06e3753

Browse files
Heller07timja
andauthored
Fix unsaved changes warning in new Manage Jenkins UI (jenkinsci#26314)
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
1 parent 9b6147f commit 06e3753

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

core/src/main/resources/lib/form/confirm.js

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,5 +117,39 @@
117117
}
118118

119119
window.onbeforeunload = confirmExit;
120-
window.addEventListener("load", initConfirm);
120+
121+
function initWhenFormReady() {
122+
const configForm =
123+
document.getElementsByName("config")[0] ||
124+
document.getElementsByName("viewConfig")[0];
125+
126+
if (configForm) {
127+
initConfirm();
128+
return true;
129+
}
130+
return false;
131+
}
132+
133+
function initWhenReady() {
134+
if (initWhenFormReady()) {
135+
return;
136+
}
137+
138+
const observer = new MutationObserver(function () {
139+
if (initWhenFormReady()) {
140+
observer.disconnect();
141+
}
142+
});
143+
144+
observer.observe(document.body, {
145+
childList: true,
146+
subtree: true,
147+
});
148+
}
149+
150+
if (document.readyState === "complete") {
151+
initWhenReady();
152+
} else {
153+
window.addEventListener("load", initWhenReady);
154+
}
121155
})();

0 commit comments

Comments
 (0)