@ionic/core
Version:
Base components for Ionic
24 lines (23 loc) • 993 B
JavaScript
import { isFocused, relocateInput } from './common';
export function enableHideCaretOnScroll(componentEl, inputEl, scrollEl) {
if (!scrollEl || !inputEl) {
return () => { return; };
}
console.debug('Input: enableHideCaretOnScroll');
const scrollHideCaret = (shouldHideCaret) => {
if (isFocused(inputEl)) {
relocateInput(componentEl, inputEl, shouldHideCaret);
}
};
const onBlur = () => relocateInput(componentEl, inputEl, false);
const hideCaret = () => scrollHideCaret(true);
const showCaret = () => scrollHideCaret(false);
scrollEl.addEventListener('ionScrollStart', hideCaret);
scrollEl.addEventListener('ionScrollEnd', showCaret);
inputEl.addEventListener('blur', onBlur);
return () => {
scrollEl.removeEventListener('ionScrollStart', hideCaret);
scrollEl.removeEventListener('ionScrollEnd', showCaret);
inputEl.addEventListener('ionBlur', onBlur);
};
}