From aef4589916d957b977f1047f4d551d45264e2467 Mon Sep 17 00:00:00 2001 From: eight Date: Tue, 5 Dec 2017 09:12:06 +0800 Subject: [PATCH] Change: hide colorpicker on click --- vendor-overwrites/colorpicker/colorpicker.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/vendor-overwrites/colorpicker/colorpicker.js b/vendor-overwrites/colorpicker/colorpicker.js index f18e0c85..7e24631f 100644 --- a/vendor-overwrites/colorpicker/colorpicker.js +++ b/vendor-overwrites/colorpicker/colorpicker.js @@ -178,6 +178,8 @@ HUE_COLORS.forEach(color => Object.assign(color, stringToColor(color.hex))); + $root.tabIndex = 0; + initialized = true; } @@ -552,7 +554,7 @@ function onMouseUp(event) { if (releaseMouse(event, ['saturation', 'hue', 'opacity']) && !event.target.closest('.codemirror-colorview, .colorpicker-popup, .CodeMirror')) { - hide(); + // hide(); } } @@ -604,6 +606,14 @@ } } + function onClick(event) { + setTimeout(() => { + if (!document.activeElement.closest('.colorpicker-popup')) { + hide(); + } + }); + } + //endregion //region Event utilities @@ -661,6 +671,7 @@ function registerEvents() { window.addEventListener('keydown', onKeyDown, true); window.addEventListener('close-colorpicker-popup', onCloseRequest, true); + window.addEventListener('click', onClick); $root.addEventListener('mouseleave', snooze); $root.addEventListener('mouseenter', stopSnoozing); $root.addEventListener('input', setFromInputs); @@ -682,6 +693,7 @@ function unregisterEvents() { window.removeEventListener('keydown', onKeyDown, true); window.removeEventListener('close-colorpicker-popup', hide, true); + window.removeEventListener('click', onClick); $root.removeEventListener('mouseleave', snooze); $root.removeEventListener('mouseenter', stopSnoozing); $root.removeEventListener('input', setFromInputs);