(function() { function showOptionsList(_input) { let ol = $(_input).next('.data-option-list'); if(ol.length && !ol.is(':visible')) { ol.show(); } } function hideOptionsList(_input) { let ol = $(_input).next('.data-option-list'); if(ol.length && ol.is(':visible')) { ol.hide(); } } function init() { $(document) .off('mousedown.option-list', '.data-option-list>div') .on('mousedown.option-list', '.data-option-list>div', function(_e) { _e.stopPropagation(); _e.preventDefault(); markEventAsConsumed(_e); $(this).parent().prev('input[data-option-list]').val('').focus(); document.execCommand('insertText', false, $(this).text()); $(this).closest('.data-option-list').hide(); return false; }); $(document) .off('click.trigger-option-list', 'input[data-option-list]') .on('click.trigger-option-list', 'input[data-option-list]', function() { showOptionsList(this); }) .off('focus.trigger-option-list', 'input[data-option-list]') .on('focus.trigger-option-list', 'input[data-option-list]', function() { showOptionsList(this); }) .off('blur.trigger-option-list', 'input[data-option-list]') .on('blur.trigger-option-list', 'input[data-option-list]', function() { hideOptionsList(this); }); } addMCInitializer('option-list', init); })();