diff --git a/plugins/view-resources/src/components/TableView.svelte b/plugins/view-resources/src/components/TableView.svelte index 2d80fca602..97126b1dce 100644 --- a/plugins/view-resources/src/components/TableView.svelte +++ b/plugins/view-resources/src/components/TableView.svelte @@ -34,6 +34,7 @@ let sortKey = 'modifiedOn' let sortOrder = SortingOrder.Descending + let selectRow: number | undefined = undefined let objects: Doc[] @@ -55,21 +56,9 @@ const client = getClient() let checking: boolean = false - const findNode = (el: HTMLElement, name: string): any => { - while (el.parentNode !== null) { - if (el.classList.contains(name)) return el - el = el.parentNode as HTMLElement - } - return false - } - - const showMenu = (ev: MouseEvent, object: Doc): void => { - const elRow: HTMLElement = findNode(ev.target as HTMLElement, 'tr-body') - const elBtn: HTMLElement = findNode(ev.target as HTMLElement, 'menuRow') - elRow.classList.add('fixed') - showPopup(Menu, { object }, elBtn, (() => { - elRow.classList.remove('fixed') - })) + const showMenu = (ev: MouseEvent, object: Doc, row: number): void => { + selectRow = row + showPopup(Menu, { object }, ev.target as HTMLElement, (() => { selectRow = undefined })) } function changeSorting(key: string) { @@ -120,13 +109,13 @@ {#if objects} {#each objects as object, row (object._id)} - + {#each model as attribute, cell} {#if !cell}
- +
{:else} @@ -211,7 +200,7 @@ &:hover .firstCell .menuRow { visibility: visible; } } - :global(.fixed) { + .fixed { background-color: var(--theme-table-bg-hover); .checkCell { visibility: visible; } .menuRow { visibility: visible; }