[fix] list selection
This commit is contained in:
parent
de11f318e9
commit
d98420c8d9
1 changed files with 10 additions and 13 deletions
|
|
@ -40,8 +40,11 @@ class ListComponent extends HTMLElement {
|
||||||
const listItem = document.createElement('li');
|
const listItem = document.createElement('li');
|
||||||
listItem.innerHTML = `<a href="#"><i class='codicon codicon-${this.#iconKinds[item.kind]}'></i>
|
listItem.innerHTML = `<a href="#"><i class='codicon codicon-${this.#iconKinds[item.kind]}'></i>
|
||||||
<span>${item.name} - ${item.detail}</span></a>`;
|
<span>${item.name} - ${item.detail}</span></a>`;
|
||||||
// Adding a click event listener for user interaction
|
|
||||||
listItem.addEventListener('click', () => {
|
listItem.addEventListener('click', function (e) {
|
||||||
|
shad.querySelectorAll('li.selected').forEach(item => { item.className = ''; });
|
||||||
|
e.currentTarget.className = 'selected';
|
||||||
|
|
||||||
console.log('Item clicked:', item, listItem);
|
console.log('Item clicked:', item, listItem);
|
||||||
// You can dispatch a custom event here if needed.
|
// You can dispatch a custom event here if needed.
|
||||||
this.dispatchEvent(new CustomEvent('itemSelected', {
|
this.dispatchEvent(new CustomEvent('itemSelected', {
|
||||||
|
|
@ -50,12 +53,6 @@ class ListComponent extends HTMLElement {
|
||||||
composed: true
|
composed: true
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
list.addEventListener('click', function (e) {
|
|
||||||
if (e.target.tagName === 'LI') {
|
|
||||||
shad.querySelectorAll('li.selected').forEach(item=>{item.className = '';});
|
|
||||||
e.target.className = 'selected';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
list.appendChild(listItem);
|
list.appendChild(listItem);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue