Skip to content

Commit c559ac0

Browse files
authored
fix(ui5-multi-combobox): docs and API improvements (#438)
- suggestion module is no longer needed to run the component - documentation with keyboard handling is updated - sample page responsiveness is improved
1 parent 64985b2 commit c559ac0

File tree

3 files changed

+22
-7
lines changed

3 files changed

+22
-7
lines changed

packages/main/src/MultiComboBox.hbs

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
?disabled={{ctr.disabled}}
66
?readonly={{ctr.readonly}}
77
value-state="{{ctr.valueState}}"
8-
show-suggestions
98
@ui5-input="{{ctr._inputLiveChange}}"
109
@ui5-change={{ctr._inputChange}}
1110
@keydown="{{ctr._keydown}}">

packages/main/src/MultiComboBox.js

+14
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,18 @@ const metadata = {
192192
* <li> Drop-down arrow - expands\collapses the option list.</li>
193193
* <li> Option list - the list of available options.</li>
194194
* </ul>
195+
* <h3>Keyboard handling</h3>
196+
*
197+
* <h4>Tokens</h2>
198+
* <ul>
199+
* <li> Left/Right arrow keys - moves the focus selection form the currently focues token to the previous/next one (if available). </li>
200+
* <li> Delete - deletes the token and focuses the previous token. </li>
201+
* <li> Backspace - deletes the token and focus the next token. </li>
202+
* </ul>
203+
*
204+
* <h4>Picker</h3>
205+
* Alt + arrow down or F4 - opens the picker.
206+
*
195207
*
196208
* @constructor
197209
* @author SAP SE
@@ -327,10 +339,12 @@ class MultiComboBox extends UI5Element {
327339

328340
_handleKeyDown(event) {
329341
if (isShow(event) && !this.readonly && !this.disabled) {
342+
event.preventDefault();
330343
this._togglePopover();
331344
}
332345

333346
if (isDown(event) && this._getPopover()._isOpen && this.items.length) {
347+
event.preventDefault();
334348
const list = this.shadowRoot.querySelector(".ui5-multi-combobox-all-items-list");
335349
list._itemNavigation.current = 0;
336350
list.items[0].focus();

packages/main/test/sap/ui/webcomponents/main/samples/MultiComboBox.sample.html

+8-6
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33

44
<head>
55
<title>&lt;ui5-multi-combobox&gt;</title>
6-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no>
7+
78
<meta http-equiv="X-UA-Compatible" content="IE=edge">
89
<meta charset="utf-8">
910

@@ -31,7 +32,8 @@
3132
</script>
3233
<style>
3334
.snippet ui5-multi-combobox {
34-
width: 320px;
35+
flex: 1;
36+
min-width: 240px;
3537
margin: 0 8px 8px 0;
3638
}
3739

@@ -53,7 +55,7 @@ <h2 class="control-header">MultiComboBox</h2>
5355

5456
<section>
5557
<h3>Basic MultiComboBox</h3>
56-
<div class="snippet">
58+
<div class="snippet" style="display: flex; flex-wrap: wrap;">
5759
<ui5-multi-combobox placeholder="Type your value">
5860
<ui5-li selected>UI5</ui5-li>
5961
</ui5-multi-combobox>
@@ -82,7 +84,7 @@ <h3>Basic MultiComboBox</h3>
8284
<section>
8385
<h3>MultiComboBox with items</h3>
8486
<div class="snippet">
85-
<ui5-multi-combobox style="width: 540px" placeholder="Choose your countries">
87+
<ui5-multi-combobox style="width: 100%" placeholder="Choose your countries">
8688
<ui5-li selected>Argentina</ui5-li>
8789
<ui5-li>Bulgaria</ui5-li>
8890
<ui5-li>Denmark</ui5-li>
@@ -114,7 +116,7 @@ <h3>MultiComboBox with items</h3>
114116
<section>
115117
<h3>MultiComboBox with items and build-in user input validation</h3>
116118
<div class="snippet">
117-
<ui5-multi-combobox style="width: 540px" validate-input placeholder="Choose your countries">
119+
<ui5-multi-combobox style="width: 100%" validate-input placeholder="Choose your countries">
118120
<ui5-li>Argentina</ui5-li>
119121
<ui5-li selected>Bulgaria</ui5-li>
120122
<ui5-li>Denmark</ui5-li>
@@ -146,7 +148,7 @@ <h3>MultiComboBox with items and build-in user input validation</h3>
146148

147149
<section>
148150
<h3>MultiComboBox with Value State</h3>
149-
<div class="snippet">
151+
<div class="snippet" style="display: flex; flex-wrap: wrap;">
150152
<ui5-multi-combobox value-state="Success">
151153
<ui5-li>Fortune</ui5-li>
152154
<ui5-li>Luck</ui5-li>

0 commit comments

Comments
 (0)