Merge pull request #14703 from overleaf/jdt-collapse-history-folders

collapse folders with no changes in history view

GitOrigin-RevId: 120845bfb3d645ab9ebb287b00516b5a0f6666c0
This commit is contained in:
Jimmy Domagala-Tang 2023-09-22 10:10:42 -04:00 committed by Copybot
parent a2bb8a3ecd
commit 9759a29d75

View file

@ -13,6 +13,22 @@ type HistoryFileTreeFolderProps = {
docs: HistoryDoc[] docs: HistoryDoc[]
} }
function hasChanges(fileTree: HistoryFileTree): boolean {
const hasSameLevelChanges = fileTree.docs?.some(
(doc: HistoryDoc) => (doc as any).operation !== undefined
)
if (hasSameLevelChanges) {
return true
}
const hasNestedChanges = fileTree.folders?.some(folder => {
return hasChanges(folder)
})
if (hasNestedChanges) {
return true
}
return false
}
function HistoryFileTreeFolder({ function HistoryFileTreeFolder({
name, name,
folders, folders,
@ -20,7 +36,9 @@ function HistoryFileTreeFolder({
}: HistoryFileTreeFolderProps) { }: HistoryFileTreeFolderProps) {
const { t } = useTranslation() const { t } = useTranslation()
const [expanded, setExpanded] = useState(true) const [expanded, setExpanded] = useState(() => {
return hasChanges({ name, folders, docs })
})
const icons = ( const icons = (
<> <>