@@ -49,11 +49,11 @@ function addSpaceListener() {
49
49
if ( spaceListenerAdded ) return ;
50
50
spaceListenerAdded = true ;
51
51
document . addEventListener ( 'keydown' , e => {
52
- if ( e . keyCode !== 32 ) return ;
52
+ if ( e . key !== ' ' ) return ;
53
53
spacePressed = true ;
54
54
} ) ;
55
55
document . addEventListener ( 'keyup' , e => {
56
- if ( e . keyCode !== 32 ) return ;
56
+ if ( e . key !== ' ' ) return ;
57
57
spacePressed = false ;
58
58
} ) ;
59
59
}
@@ -244,6 +244,7 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
244
244
onSubscribe : this . _updateActiveFiltersSubscriber . bind ( this ) ,
245
245
updateSubscribers : this . _updateActiveFiltersSubscribers . bind ( this )
246
246
} ) ;
247
+ this . _spacePressedDuringLastSelection = false ;
247
248
}
248
249
249
250
static get focusElementSelector ( ) {
@@ -617,7 +618,7 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
617
618
return html `
618
619
< d2l-list-item
619
620
id ="${ itemId } "
620
- @d2l-list-item-selected ="${ ifDefined ( item . additionalContent ? this . _handleListItemSelelcted : undefined ) } "
621
+ @d2l-list-item-selected ="${ item . additionalContent ? this . _handleListItemSelected : undefined } "
621
622
?selection-disabled ="${ item . disabled } "
622
623
?hidden ="${ item . hidden } "
623
624
key ="${ item . key } "
@@ -896,18 +897,23 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
896
897
}
897
898
898
899
async _handleExpandCollapse ( e ) {
899
- const eventPromise = e . target . expanded ? e . detail . expandComplete : e . detail . collapseComplete ;
900
+ const expanded = e . target . expanded ;
901
+ const eventPromise = expanded ? e . detail . expandComplete : e . detail . collapseComplete ;
900
902
const parentListItem = e . target . closest ( 'd2l-list-item' ) ;
901
903
parentListItem . classList . add ( 'expanding-content' ) ;
902
904
903
905
await eventPromise ;
904
906
parentListItem . classList . remove ( 'expanding-content' ) ;
907
+
908
+ if ( expanded && ! hasDisplayedKeyboardTooltip && this . _spacePressedDuringLastSelection ) {
909
+ await new Promise ( resolve => requestAnimationFrame ( resolve ) ) ;
910
+ this . _displayKeyboardTooltip = true ;
911
+ hasDisplayedKeyboardTooltip = true ;
912
+ }
905
913
}
906
914
907
- _handleListItemSelelcted ( ) {
908
- if ( hasDisplayedKeyboardTooltip || ! spacePressed ) return ;
909
- this . _displayKeyboardTooltip = true ;
910
- hasDisplayedKeyboardTooltip = true ;
915
+ _handleListItemSelected ( ) {
916
+ this . _spacePressedDuringLastSelection = spacePressed ;
911
917
}
912
918
913
919
_handleSearch ( e ) {
0 commit comments