(element: HTMLElement)
| 241 | } |
| 242 | |
| 243 | function getPreviousPageElement(element: HTMLElement): HTMLElement | undefined { |
| 244 | const root = element.closest('[role="tree"]') |
| 245 | if (!root) { |
| 246 | return |
| 247 | } |
| 248 | |
| 249 | const items = Array.from(root.querySelectorAll('[role="treeitem"]')) as HTMLElement[] |
| 250 | if (items.length === 0) { |
| 251 | return |
| 252 | } |
| 253 | |
| 254 | const itemLabel = items[0].firstElementChild as HTMLElement |
| 255 | const pageSize = getPageSize(root, itemLabel) |
| 256 | const page = Math.floor(items.indexOf(element) / pageSize) |
| 257 | const offset = items.indexOf(element) - pageSize * page |
| 258 | |
| 259 | return items[Math.max(0, (page - 1) * pageSize + offset)] |
| 260 | } |
no test coverage detected