File tree 3 files changed +31
-1
lines changed
3 files changed +31
-1
lines changed Original file line number Diff line number Diff line change @@ -349,6 +349,20 @@ const metadata = {
349
349
item : { type : HTMLElement } ,
350
350
} ,
351
351
} ,
352
+
353
+ /**
354
+ * Fired when the user navigates to a suggestion item via the ARROW keys,
355
+ * as a preview, before the final selection.
356
+ *
357
+ * @event sap.ui.webcomponents.main.Input#suggestion-item-preview
358
+ * @param {HTMLElement } item The previewed item
359
+ * @public
360
+ */
361
+ "suggestion-item-preview" : {
362
+ detail : {
363
+ item : { type : HTMLElement } ,
364
+ } ,
365
+ } ,
352
366
} ,
353
367
} ;
354
368
@@ -785,6 +799,7 @@ class Input extends UI5Element {
785
799
786
800
onItemPreviewed ( item ) {
787
801
this . previewSuggestion ( item ) ;
802
+ this . fireEvent ( "suggestion-item-preview" , { item } ) ;
788
803
}
789
804
790
805
onOpen ( ) { }
Original file line number Diff line number Diff line change @@ -40,7 +40,8 @@ <h3>Input in Compact</h3>
40
40
</ div >
41
41
42
42
< h3 > Input suggestions with ui5-suggestion-item</ h3 >
43
- < ui5-input show-suggestions style ="width: 100% ">
43
+ < ui5-input id ="inputItemPreviewRes " placeholder ="preview item test "> </ ui5-input >
44
+ < ui5-input id ="inputItemPreview " show-suggestions style ="width: 100% ">
44
45
< ui5-suggestion-item text ="Cozy "> </ ui5-suggestion-item >
45
46
< ui5-suggestion-item text ="Compact "> </ ui5-suggestion-item >
46
47
< ui5-suggestion-item text ="Condensed "> </ ui5-suggestion-item >
@@ -309,6 +310,10 @@ <h3> Input with multiple icons</h3>
309
310
inputChange . addEventListener ( "ui5-change" , function ( event ) {
310
311
inputChangeResult . value = ++ inputChangeResultCounter ;
311
312
} ) ;
313
+
314
+ inputItemPreview . addEventListener ( "ui5-suggestion-item-preview" , function ( event ) {
315
+ inputItemPreviewRes . value = event . detail . item . textContent ;
316
+ } ) ;
312
317
</ script >
313
318
</ body >
314
319
</ html >
Original file line number Diff line number Diff line change @@ -129,6 +129,16 @@ describe("Input general interaction", () => {
129
129
assert . strictEqual ( inputChangeResult . getValue ( ) , "2" , "change is called twice" ) ;
130
130
} ) ;
131
131
132
+ it ( "fires suggestion-item-preview" , ( ) => {
133
+ const inputItemPreview = $ ( "#inputItemPreview" ) . shadow$ ( "input" ) ;
134
+ const inputItemPreviewRes = $ ( "#inputItemPreviewRes" ) ;
135
+
136
+ inputItemPreview . click ( ) ;
137
+ inputItemPreview . keys ( "ArrowDown" ) ;
138
+
139
+ assert . strictEqual ( inputItemPreviewRes . getValue ( ) , "Cozy" , "First item has been previewed" ) ;
140
+ } ) ;
141
+
132
142
it ( "handles suggestions" , ( ) => {
133
143
browser . url ( "http://localhost:8080/test-resources/pages/Input.html" ) ;
134
144
You can’t perform that action at this time.
0 commit comments