Skip to content

Commit 1accde8

Browse files
committed
Extend to archives widget; fix indenting.
1 parent d77be4a commit 1accde8

File tree

2 files changed

+41
-25
lines changed

2 files changed

+41
-25
lines changed

src/wp-includes/widgets/class-wp-widget-archives.php

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,28 @@ public function widget( $args, $instance ) {
110110
<?php ob_start(); ?>
111111
<script>
112112
(function() {
113-
var dropdown = document.getElementById( "<?php echo esc_js( $dropdown_id ); ?>" );
114-
function onSelectChange() {
115-
if ( dropdown.options[ dropdown.selectedIndex ].value !== '' ) {
116-
document.location.href = this.options[ this.selectedIndex ].value;
117-
}
113+
var dropdown = document.getElementById( '<?php echo esc_js( $dropdown_id ); ?>' ), lastkey;
114+
function onSelectChange(e) {
115+
setTimeout(function() {
116+
lastKey = dropdown.getAttribute( 'data-lastkey' );
117+
if ( 'change' === e.type && 'escape' === lastKey ) {
118+
return;
119+
}
120+
if ( dropdown.options[ dropdown.selectedIndex ].value !== '' ) {
121+
document.location.href = this.options[ this.selectedIndex ].value;
122+
}
123+
}, 250 );
118124
}
125+
dropdown.addEventListener( 'keyup', function(e) {
126+
if ( 'Escape' === e.key ) {
127+
dropdown.setAttribute( 'data-lastkey', 'escape' );
128+
} else {
129+
dropdown.removeAttribute( 'data-lastkey' );
130+
}
131+
});
132+
dropdown.addEventListener( 'click', function() {
133+
dropdown.removeAttribute( 'data-lastkey' );
134+
});
119135
dropdown.onchange = onSelectChange;
120136
})();
121137
</script>

src/wp-includes/widgets/class-wp-widget-categories.php

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -99,27 +99,27 @@ public function widget( $args, $instance ) {
9999
(function() {
100100
var dropdown = document.getElementById( '<?php echo esc_js( $dropdown_id ); ?>' ), lastkey;
101101
function onCatChange(e) {
102-
setTimeout(function() {
103-
lastKey = dropdown.getAttribute( 'data-lastkey' );
104-
if ( 'change' === e.type && 'escape' === lastKey ) {
105-
return;
106-
}
107-
if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) {
108-
dropdown.parentNode.submit();
109-
}
110-
}, 250 );
102+
setTimeout(function() {
103+
lastKey = dropdown.getAttribute( 'data-lastkey' );
104+
if ( 'change' === e.type && 'escape' === lastKey ) {
105+
return;
106+
}
107+
if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) {
108+
dropdown.parentNode.submit();
109+
}
110+
}, 250 );
111111
}
112-
dropdown.addEventListener( 'keyup', function(e) {
113-
if ( 'Escape' === e.key ) {
114-
dropdown.setAttribute( 'data-lastkey', 'escape' );
115-
} else {
116-
dropdown.removeAttribute( 'data-lastkey' );
117-
}
118-
});
119-
dropdown.addEventListener( 'click', function() {
120-
dropdown.removeAttribute( 'data-lastkey' );
121-
});
122-
dropdown.onchange = onCatChange;
112+
dropdown.addEventListener( 'keyup', function(e) {
113+
if ( 'Escape' === e.key ) {
114+
dropdown.setAttribute( 'data-lastkey', 'escape' );
115+
} else {
116+
dropdown.removeAttribute( 'data-lastkey' );
117+
}
118+
});
119+
dropdown.addEventListener( 'click', function() {
120+
dropdown.removeAttribute( 'data-lastkey' );
121+
});
122+
dropdown.onchange = onCatChange;
123123
})();
124124
</script>
125125

0 commit comments

Comments
 (0)