If a user is entering several files of the same type, the user likely wants the same settings (for example, `modulepreload` for all JS files). It is annoying to force the user to keep re-checking the boxes.
}
}
+ let previousType = '';
form.addEventListener('submit', async e => {
e.preventDefault();
const { url, sriHash, preload, esm } = e.target.elements;
const { type, ...sri } = await getSri(url.value);
- // Reset checkboxes if form submitted via "Hash!" button
- if (e?.submitter?.tagName === 'BUTTON') {
+ // Reset checkboxes if form submitted via "Hash!" button and type has changed
+ if (e?.submitter?.tagName === 'BUTTON' && type !== previousType) {
+ previousType = type;
preload.checked = false;
esm.checked = false;
if (type === 'text/javascript' || type === 'application/javascript') {