diff options
Diffstat (limited to 'webapp/components/user_settings/custom_theme_chooser.jsx')
-rw-r--r-- | webapp/components/user_settings/custom_theme_chooser.jsx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/webapp/components/user_settings/custom_theme_chooser.jsx b/webapp/components/user_settings/custom_theme_chooser.jsx index b080c879d..016751faa 100644 --- a/webapp/components/user_settings/custom_theme_chooser.jsx +++ b/webapp/components/user_settings/custom_theme_chooser.jsx @@ -119,11 +119,13 @@ class CustomThemeChooser extends React.Component { }); $('.color-picker').on('changeColor', this.onPickerChange); $('.group--code').on('change', this.onCodeThemeChange); + document.addEventListener('click', this.closeColorpicker); } componentWillUnmount() { $('.color-picker').off('changeColor', this.onPickerChange); $('.group--code').off('change', this.onCodeThemeChange); + document.removeEventListener('click', this.closeColorpicker); } componentDidUpdate() { @@ -136,6 +138,12 @@ class CustomThemeChooser extends React.Component { }); } + closeColorpicker(e) { + if (!$(e.target).closest('.color-picker').length && Utils.isMobile()) { + $('.color-picker').colorpicker('hide'); + } + } + onPickerChange(e) { const inputBox = e.target.childNodes[0]; if (document.activeElement === inputBox && inputBox.value.length !== HEX_CODE_LENGTH) { |