Bladeren bron

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

collapse folders with no changes in history view

GitOrigin-RevId: 120845bfb3d645ab9ebb287b00516b5a0f6666c0
Jimmy Domagala-Tang 2 jaren geleden
bovenliggende
commit
9759a29d75

+ 19 - 1
services/web/frontend/js/features/history/components/file-tree/history-file-tree-folder.tsx

@@ -13,6 +13,22 @@ type HistoryFileTreeFolderProps = {
   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({
   name,
   folders,
@@ -20,7 +36,9 @@ function HistoryFileTreeFolder({
 }: HistoryFileTreeFolderProps) {
   const { t } = useTranslation()
 
-  const [expanded, setExpanded] = useState(true)
+  const [expanded, setExpanded] = useState(() => {
+    return hasChanges({ name, folders, docs })
+  })
 
   const icons = (
     <>