diff --git a/web/src/elements/table/Table.ts b/web/src/elements/table/Table.ts index 67369571a..682329cba 100644 --- a/web/src/elements/table/Table.ts +++ b/web/src/elements/table/Table.ts @@ -292,11 +292,15 @@ export abstract class Table extends AKElement { private renderRowGroup(items: T[]): TemplateResult[] { return items.map((item) => { - const itemSelectHandler = (ev?: InputEvent | PointerEvent) => { + const itemSelectHandler = (ev: InputEvent | PointerEvent) => { let checked = false; - if (ev instanceof InputEvent) { - checked = (ev.target as HTMLInputElement).checked; + const target = ev.target as HTMLElement; + if (ev.type === "input") { + checked = (target as HTMLInputElement).checked; } else if (ev instanceof PointerEvent) { + if (target.classList.contains("ignore-click")) { + return; + } checked = this.selectedElements.indexOf(item) === -1; } if (checked) { @@ -335,11 +339,15 @@ export abstract class Table extends AKElement { > ${this.checkbox ? html` - ` : html``} @@ -351,7 +359,8 @@ export abstract class Table extends AKElement { ) > -1 ? "pf-m-expanded" : ""}" - @click=${() => { + @click=${(ev: Event) => { + ev.stopPropagation(); const idx = this.expandedElements.indexOf(item); if (idx <= -1) { // Element is not expanded, add it