(event: DelegateEvent<MouseEvent, HTMLElement>)
| 40 | } |
| 41 | |
| 42 | function batchToggle(event: DelegateEvent<MouseEvent, HTMLElement>): void { |
| 43 | event.stopImmediatePropagation(); |
| 44 | |
| 45 | const files = $$(fileSelector); |
| 46 | const thisFile = closestElement(fileSelector, event.delegateTarget); |
| 47 | const isThisBeingFileChecked = isChecked(thisFile); |
| 48 | |
| 49 | const selectedFiles = getItemsBetween(files, previousFile, thisFile); |
| 50 | for (const file of selectedFiles) { |
| 51 | if ( |
| 52 | file !== thisFile |
| 53 | // `checkVisibility` excludes filtered-out files |
| 54 | // https://github.com/refined-github/refined-github/issues/7819 |
| 55 | && file.checkVisibility() |
| 56 | && isChecked(file) !== isThisBeingFileChecked |
| 57 | ) { |
| 58 | $(viewedToggleSelector, file).click(); |
| 59 | } |
| 60 | } |
| 61 | } |
| 62 | |
| 63 | function markAsViewedSelector(file: HTMLElement): string { |
| 64 | const checkedState = isChecked(file) ? `:not(${checkedSelector})` : checkedSelector; |
no test coverage detected