From 3768ea5c6143972a5fee3a843e724879f3510962 Mon Sep 17 00:00:00 2001 From: r-neal-kelly Date: Thu, 4 Jan 2024 10:39:28 -0600 Subject: [PATCH] now on input in the hook scrolls to the parent element to make sure one can see what they are typing after parent expansion --- data/Books/Exodus/English/KJV 1872-1888/Chapter 18.txt | 5 +++++ js/keyboard/hook.js | 2 +- ts/keyboard/hook.ts | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 data/Books/Exodus/English/KJV 1872-1888/Chapter 18.txt diff --git a/data/Books/Exodus/English/KJV 1872-1888/Chapter 18.txt b/data/Books/Exodus/English/KJV 1872-1888/Chapter 18.txt new file mode 100644 index 000000000..44870ada2 --- /dev/null +++ b/data/Books/Exodus/English/KJV 1872-1888/Chapter 18.txt @@ -0,0 +1,5 @@ +⸨cen⸩CHAPTER XVIII⸼ +⸨i⸩₁ Jethro bringeth to Moses his wife and two sons. ₇ Moses entertaineth him. ₁₃ Jethroʼs counsel is accepted. ₂₇ Jethro departeth.⸨/i⸩ + +₁ ⸨sc⸩When⸨/sc⸩ ⸨i⸩ᵃ⸨/i⸩ Jethro, the priest of Midian, Mosesʼ father in law, heard of all that God had done for Moses, and for Israel his people, ⸨i⸩and⸨/i⸩ that the ⸨sc⸩Lord⸨/sc⸩ had brought Israel out of Egypt; +₂ \ No newline at end of file diff --git a/js/keyboard/hook.js b/js/keyboard/hook.js index 922b45b4f..99a9fd27e 100644 --- a/js/keyboard/hook.js +++ b/js/keyboard/hook.js @@ -1 +1 @@ -var __awaiter=this&&this.__awaiter||function(t,e,n,a){return new(n||(n=Promise))((function(o,i){function r(t){try{u(a.next(t))}catch(t){i(t)}}function _(t){try{u(a.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(r,_)}u((a=a.apply(t,e||[])).next())}))};import*as Language from"../model/language.js";import*as Languages from"../model/languages.js";export class Instance{On_Change_Layout(t,e){return __awaiter(this,void 0,void 0,(function*(){const n=null!=e?Languages.Singleton().Default_Global_Font_Styles(e.Language_Name()):Languages.Singleton().Default_Global_Font_Styles(Language.Name.ENGLISH);for(const e of Object.entries(n))t.style[e[0]]=e[1]}))}On_Key_Down(t){return __awaiter(this,void 0,void 0,(function*(){}))}On_Key_Up(t){return __awaiter(this,void 0,void 0,(function*(){}))}On_Insert({div:t,data:e,range:n}){return __awaiter(this,void 0,void 0,(function*(){const t=document.createTextNode(e);n.deleteContents(),n.insertNode(t);const a=document.getSelection();a&&a.collapse(t,t.nodeValue.length)}))}On_Paste(t){return __awaiter(this,void 0,void 0,(function*(){}))}On_Delete(t){return __awaiter(this,void 0,void 0,(function*(){}))}After_Insert_Or_Paste_Or_Delete(){return __awaiter(this,void 0,void 0,(function*(){}))}} \ No newline at end of file +var __awaiter=this&&this.__awaiter||function(e,t,n,a){return new(n||(n=Promise))((function(o,i){function r(e){try{_(a.next(e))}catch(e){i(e)}}function u(e){try{_(a.throw(e))}catch(e){i(e)}}function _(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(r,u)}_((a=a.apply(e,t||[])).next())}))};import*as Language from"../model/language.js";import*as Languages from"../model/languages.js";export class Instance{On_Change_Layout(e,t){return __awaiter(this,void 0,void 0,(function*(){const n=null!=t?Languages.Singleton().Default_Global_Font_Styles(t.Language_Name()):Languages.Singleton().Default_Global_Font_Styles(Language.Name.ENGLISH);for(const t of Object.entries(n))e.style[t[0]]=t[1]}))}On_Key_Down(e){return __awaiter(this,void 0,void 0,(function*(){}))}On_Key_Up(e){return __awaiter(this,void 0,void 0,(function*(){}))}On_Insert({div:e,data:t,range:n}){return __awaiter(this,void 0,void 0,(function*(){const e=document.createTextNode(t);n.deleteContents(),n.insertNode(e);const a=document.getSelection();a&&a.collapse(e,e.nodeValue.length),null!=e.parentElement&&e.parentElement.scrollIntoView()}))}On_Paste(e){return __awaiter(this,void 0,void 0,(function*(){}))}On_Delete(e){return __awaiter(this,void 0,void 0,(function*(){}))}After_Insert_Or_Paste_Or_Delete(){return __awaiter(this,void 0,void 0,(function*(){}))}} \ No newline at end of file diff --git a/ts/keyboard/hook.ts b/ts/keyboard/hook.ts index b3394e17e..b2c469e9d 100644 --- a/ts/keyboard/hook.ts +++ b/ts/keyboard/hook.ts @@ -63,6 +63,10 @@ export class Instance if (selection) { selection.collapse(node, (node.nodeValue as string).length); } + + if (node.parentElement != null) { + node.parentElement.scrollIntoView(); + } } async On_Paste(