Skip to content

Commit

Permalink
Fix bug #3900
Browse files Browse the repository at this point in the history
  • Loading branch information
BenediktMehl committed Feb 3, 2025
1 parent 4240a82 commit 413ff8f
Showing 1 changed file with 25 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ import { createSelectorFactory, defaultMemoize } from "@ngrx/store"
import { filesSelector } from "../../store/files/files.selector"
import { getVisibleFileStates, isDeltaState } from "../../../model/files/files.helper"

function removeMatch(array: string[], target: string): string[] {
const matchIndex = array.indexOf(target)
function removeMatch<T>(array: T[], matchIndex: number): T[] {
return [...array.slice(0, matchIndex), ...array.slice(matchIndex + 1)]
}

Expand All @@ -21,12 +20,29 @@ export function onlyVisibleFilesMatterComparer(fileStates1: FileState[], fileSta
return false
}

if (isDeltaState(fileStates1) || isDeltaState(fileStates2)) {
const referenceFile1 = fileStates1.find(file => file.selectedAs === FileSelectionState.Reference)
const referenceFile2 = fileStates2.find(file => file.selectedAs === FileSelectionState.Reference)
console.log(referenceFile1, referenceFile2)
if (referenceFile1.file.fileMeta.fileChecksum !== referenceFile2.file.fileMeta.fileChecksum) {
return false
}

const comparisonFile1 = fileStates1.find(file => file.selectedAs === FileSelectionState.Comparison)
const comparisonFile2 = fileStates2.find(file => file.selectedAs === FileSelectionState.Comparison)
console.log(comparisonFile1, comparisonFile2)
if (comparisonFile1.file.fileMeta.fileChecksum !== comparisonFile2.file.fileMeta.fileChecksum) {
return false
}
return true
}

const visibleFileStates1 = fileStates1
.filter(file => file.selectedAs !== FileSelectionState.None)
.map(file => file.file.fileMeta.fileName)
.filter(file => file.selectedAs === FileSelectionState.Partial)
.map(file => file.file.fileMeta.fileChecksum)
let visibleFileStates2 = fileStates2
.filter(file => file.selectedAs !== FileSelectionState.None)
.map(file => file.file.fileMeta.fileName)
.filter(file => file.selectedAs === FileSelectionState.Partial)
.map(file => file.file.fileMeta.fileChecksum)

if (visibleFileStates1.length !== visibleFileStates2.length) {
return false
Expand All @@ -37,8 +53,9 @@ export function onlyVisibleFilesMatterComparer(fileStates1: FileState[], fileSta
return false
}

if (visibleFileStates2.includes(arrayMember)) {
visibleFileStates2 = removeMatch(visibleFileStates2, arrayMember)
const matchIndex = visibleFileStates2.indexOf(arrayMember)
if (matchIndex >= 0) {
visibleFileStates2 = removeMatch(visibleFileStates2, matchIndex)
return true
}

Expand Down

0 comments on commit 413ff8f

Please sign in to comment.