From 01707d9e6376ff04a7b39381eb6b131717a721fe Mon Sep 17 00:00:00 2001 From: Florrie Date: Mon, 4 Jun 2018 09:57:08 -0300 Subject: ListScrollForm - don't bubble key presses E.g. if up is pressed in a ListScrollForm, don't tell the parent element that up was pressed. --- ui/form/ListScrollForm.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'ui') diff --git a/ui/form/ListScrollForm.js b/ui/form/ListScrollForm.js index dcdb562..581c82f 100644 --- a/ui/form/ListScrollForm.js +++ b/ui/form/ListScrollForm.js @@ -52,37 +52,41 @@ module.exports = class ListScrollForm extends Form { } keyPressed(keyBuf) { + let ret + handleKeyPress: { if (this.layoutType === 'horizontal') { if (telc.isLeft(keyBuf)) { this.previousInput() - break handleKeyPress + ret = false; break handleKeyPress } else if (telc.isRight(keyBuf)) { this.nextInput() - break handleKeyPress + ret = false; break handleKeyPress } } else if (this.layoutType === 'vertical') { if (telc.isUp(keyBuf)) { this.previousInput() - break handleKeyPress + ret = false; break handleKeyPress } else if (telc.isDown(keyBuf)) { this.nextInput() - break handleKeyPress + ret = false; break handleKeyPress } } if (telc.isPageUp(keyBuf)) { this.previousPage() - break handleKeyPress + ret = false; break handleKeyPress } else if (telc.isPageDown(keyBuf)) { this.nextPage() - break handleKeyPress + ret = false; break handleKeyPress } - super.keyPressed(keyBuf) + ret = super.keyPressed(keyBuf) } this.scrollSelectedElementIntoView() + + return ret } scrollSelectedElementIntoView() { -- cgit 1.3.0-6-gf8a5