diff --git a/manage/config-dialog.js b/manage/config-dialog.js index 6b24fdaa..868f774b 100644 --- a/manage/config-dialog.js +++ b/manage/config-dialog.js @@ -9,6 +9,8 @@ function configDialog(style) { const elements = []; const colorpicker = window.colorpicker(); + document.addEventListener('mousedown', onMouseDown); + buildConfigForm(); renderValues(); @@ -29,6 +31,7 @@ function configDialog(style) { t('confirmCancel') ] }).then(({button, esc}) => { + document.removeEventListener('mousedown', onMouseDown); if (button !== 1) { colorpicker.hide(); } @@ -194,4 +197,10 @@ function configDialog(style) { window.addEventListener('keydown', messageBox.listeners.key, true); } } + + function onMouseDown(e) { + if (!e.target.closest('.colorpicker-popup')) { + colorpicker.hide(); + } + } }