Skip to content

Commit a3934f0

Browse files
Merge pull request #50702 from phillip-kruger/dev-ui-keystroke
Dev UI: Remove global key press that cause issues
2 parents 324da28 + 522a6a6 commit a3934f0

File tree

1 file changed

+21
-39
lines changed

1 file changed

+21
-39
lines changed

extensions/devui/resources/src/main/resources/dev-ui/qwc/qwc-extensions.js

Lines changed: 21 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,16 @@ export class QwcExtensions extends observeState(LitElement) {
9696
width: 2em;
9797
height: 2em;
9898
}
99+
.extensionFilterInput {
100+
width: 99%;
101+
padding-left: 5px;
102+
padding-right: 5px;
103+
padding-top: unset;
104+
}
105+
vaadin-text-field::part(input-field):focus-within {
106+
outline: none;
107+
box-shadow: none;
108+
}
99109
`;
100110

101111
static properties = {
@@ -104,8 +114,7 @@ export class QwcExtensions extends observeState(LitElement) {
104114
_installedExtensions: {state: true, type: Array},
105115
_selectedFilters: {state: true, type: Array},
106116
_addExtensionsEnabled: {state: true, type: Boolean},
107-
_filterText: {state: true},
108-
_showFilterBar: {state: true}
117+
_filterText: {state: true}
109118
}
110119

111120
constructor() {
@@ -116,13 +125,11 @@ export class QwcExtensions extends observeState(LitElement) {
116125
this._selectedFilters = ["Favorites","Active","Inactive"];
117126
this._addExtensionsEnabled = false;
118127
this._filterText = '';
119-
this._showFilterBar = false;
120128
}
121129

122130
connectedCallback() {
123131
super.connectedCallback();
124132
window.addEventListener('extensions-filters-changed', this._onFiltersChanged);
125-
window.addEventListener('keydown', this._handleGlobalKeyDown);
126133
window.addEventListener('storage-changed', this._storageChange);
127134
if (allowExtensionManagement) {
128135
this.jsonRpc.getInstalledNamespaces().then(jsonRpcResponse => {
@@ -138,11 +145,14 @@ export class QwcExtensions extends observeState(LitElement) {
138145

139146
disconnectedCallback() {
140147
window.removeEventListener('extensions-filters-changed', this._onFiltersChanged);
141-
window.removeEventListener('keydown', this._handleGlobalKeyDown);
142148
window.removeEventListener('storage-changed', this._storageChange);
143149
super.disconnectedCallback();
144150
}
145151

152+
firstUpdated() {
153+
this.updateComplete.then(() => this.renderRoot.getElementById('searchInput')?.focus());
154+
}
155+
146156
render() {
147157
return html`
148158
${this._renderFilterbar()}
@@ -151,29 +161,21 @@ export class QwcExtensions extends observeState(LitElement) {
151161
}
152162

153163
_renderFilterbar(){
154-
if(this._showFilterBar){
155-
return html`<div style="padding: 10px;">
156-
<vaadin-text-field
157-
id="extensionFilterInput"
164+
return html`
165+
<vaadin-text-field id="searchInput"
166+
class="extensionFilterInput"
158167
theme="small"
159-
style="width: 100%;"
160-
placeholder="Filter extensions…"
168+
placeholder="Search extensions…"
161169
clear-button-visible
162170
.value=${this._filterText}
163171
@input=${this._onFilterInput}>
164-
<vaadin-icon slot="prefix" icon="font-awesome-solid:filter"></vaadin-icon>
165-
</vaadin-text-field>
166-
</div>`;
167-
}
172+
<vaadin-icon slot="prefix" icon="font-awesome-solid:magnifying-glass"></vaadin-icon>
173+
</vaadin-text-field>`;
168174
}
169175

170176
_onFilterInput(e) {
171177
const value = e.target.value.trim();
172178
this._filterText = value;
173-
174-
if (!value) {
175-
this._showFilterBar = false;
176-
}
177179
}
178180

179181
_renderGrid(){
@@ -517,26 +519,6 @@ export class QwcExtensions extends observeState(LitElement) {
517519
}
518520
}
519521

520-
_handleGlobalKeyDown = (e) => {
521-
if (!this._showFilterBar && e.key.length === 1 && !e.metaKey && !e.ctrlKey && !e.altKey) {
522-
this._showFilterBar = true;
523-
const key = e.key;
524-
this.updateComplete.then(() => {
525-
const input = this.shadowRoot.getElementById('extensionFilterInput');
526-
if (input) {
527-
input.value = key;
528-
input.focus();
529-
this._filterText = key;
530-
}
531-
});
532-
e.preventDefault(); // Stop the browser from processing the key further
533-
} else if (e.key === 'Escape' && this._showFilterBar) {
534-
this._filterText = '';
535-
this._showFilterBar = false;
536-
}
537-
}
538-
539-
540522
_onFiltersChanged = (event) => {
541523
this._selectedFilters = event.detail.filters;
542524
}

0 commit comments

Comments
 (0)