(e)
| 164 | } |
| 165 | |
| 166 | export function fileListContextMenuHandler(e) { |
| 167 | e.preventDefault(); |
| 168 | |
| 169 | // Check row if needed |
| 170 | const row = e.target.closest('tr'); |
| 171 | if (row) { |
| 172 | const cb = row.querySelector('.file-checkbox'); |
| 173 | if (cb && !cb.checked) { |
| 174 | cb.checked = true; |
| 175 | updateRowHighlight(cb); |
| 176 | } |
| 177 | } |
| 178 | |
| 179 | const state = currentSelection(); |
| 180 | configureVisibility(state); |
| 181 | placeMenu(e.clientX, e.clientY); |
| 182 | |
| 183 | // Stash for click handlers |
| 184 | window.__filr_ctx_state = state; |
| 185 | window.__filr_ctx_row = row || null; |
| 186 | } |
| 187 | |
| 188 | // --- add near top --- |
| 189 | let __ctxBoundOnce = false; |
nothing calls this directly
no test coverage detected