livebook/assets/js/focus_on_update/index.js
2021-05-21 01:59:00 +02:00

21 lines
381 B
JavaScript

/**
* A hook used to focus an element whenever it receives LV update.
*/
const FocusOnUpdate = {
mounted() {
this.__focus();
},
updated() {
if (this.el !== document.activeElement) {
this.__focus();
}
},
__focus() {
this.el.focus();
this.el.selectionStart = this.el.selectionEnd = this.el.value.length;
},
};
export default FocusOnUpdate;