From 85b44973ed23c75f670e6e26a5fe6bf167c137bf Mon Sep 17 00:00:00 2001 From: ilhan orhan Date: Wed, 26 Aug 2020 14:13:55 +0300 Subject: [PATCH] feat(ui5-multi-input): fire value-help-trigger with F4, ALT/OPTION + ARROW_UP/DOWN (#2145) Fire the value-help-trigger when F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used. FIXES #2143 BREAKING CHANGE value-help-icon-press is renamed to value-help-trigger --- packages/main/src/MultiInput.js | 20 ++++++++--- packages/main/test/pages/MultiInput.html | 19 +++++++++-- .../test/pages/MultiInput_Suggestions.html | 2 +- packages/main/test/specs/MultiInput.spec.js | 34 +++++++++++++++---- yarn.lock | 2 +- 5 files changed, 61 insertions(+), 16 deletions(-) diff --git a/packages/main/src/MultiInput.js b/packages/main/src/MultiInput.js index 883b962294c6..20f0793fe1fe 100644 --- a/packages/main/src/MultiInput.js +++ b/packages/main/src/MultiInput.js @@ -1,4 +1,5 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js"; +import { isShow } from "@ui5/webcomponents-base/dist/Keys.js"; import Input from "./Input.js"; import MultiInputTemplate from "./generated/templates/MultiInputTemplate.lit.js"; import styles from "./generated/themes/MultiInput.css.js"; @@ -14,7 +15,7 @@ const metadata = { properties: /** @lends sap.ui.webcomponents.main.MultiInput.prototype */ { /** * Determines whether a value help icon will be should in the end of the input. - * Pressing the icon will fire value-help-icon-press event. + * Pressing the icon will fire value-help-trigger event. * * @type {boolean} * @defaultvalue false @@ -54,12 +55,13 @@ const metadata = { }, events: /** @lends sap.ui.webcomponents.main.MultiInput.prototype */ { /** - * Fired when value state icon is pressed. + * Fired when the value help icon is pressed + * and F4 or ALT/OPTION + ARROW_UP/ARROW_DOWN keyboard keys are used. * - * @event sap.ui.webcomponents.main.MultiInput#value-help-icon-press + * @event sap.ui.webcomponents.main.MultiInput#value-help-trigger * @public */ - "value-help-icon-press": {}, + "value-help-trigger": {}, /** * Fired when a token is about to be deleted. @@ -120,7 +122,7 @@ class MultiInput extends Input { valueHelpPress(event) { this.closePopover(); - this.fireEvent("value-help-icon-press", {}); + this.fireEvent("value-help-trigger", {}); } showMorePress(event) { @@ -159,6 +161,14 @@ class MultiInput extends Input { this.expandedTokenizer = true; } + _onkeydown(event) { + super._onkeydown(event); + + if (isShow(event)) { + this.valueHelpPress(); + } + } + _onfocusout(event) { super._onfocusout(event); const relatedTarget = event.relatedTarget; diff --git a/packages/main/test/pages/MultiInput.html b/packages/main/test/pages/MultiInput.html index bbdbcb6200ab..e9fd2a5b169e 100644 --- a/packages/main/test/pages/MultiInput.html +++ b/packages/main/test/pages/MultiInput.html @@ -179,6 +179,13 @@

Tokens + Suggestions

+
+

Test value-help-trigger with F4 and Alt + ArrowUp/Down

+ + + + +