From 9beba9b3bf9d28586f60829f79408ac444c6ed27 Mon Sep 17 00:00:00 2001 From: Wesley de Groot Date: Fri, 18 Mar 2022 15:52:46 +0100 Subject: [PATCH 1/2] Fix animation (#45) --- CodeEdit/SideBar/SideBarItem.swift | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CodeEdit/SideBar/SideBarItem.swift b/CodeEdit/SideBar/SideBarItem.swift index 7b11b2ff08..a45e438bd0 100644 --- a/CodeEdit/SideBar/SideBarItem.swift +++ b/CodeEdit/SideBar/SideBarItem.swift @@ -43,17 +43,15 @@ struct SideBarItem: View { func sidebarFolderItem(_ item: WorkspaceClient.FileItem) -> some View { DisclosureGroup(isExpanded: $isExpanded) { - if isExpanded { // Only load when expanded -> Improves performance massively ForEach(item.children!.sortItems(foldersOnTop: workspace.sortFoldersOnTop)) { child in SideBarItem(item: child, workspace: workspace, windowController: windowController) } - } } label: { Label(item.url.lastPathComponent, systemImage: item.systemImage) .accentColor(.secondary) .font(.callout) - } + } } } From 6dfa149eb003b53eca3ae0949cbb32dff37441f8 Mon Sep 17 00:00:00 2001 From: Wesley de Groot Date: Fri, 18 Mar 2022 16:12:17 +0100 Subject: [PATCH 2/2] This should improve speed --- CodeEdit/SideBar/SideBarItem.swift | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CodeEdit/SideBar/SideBarItem.swift b/CodeEdit/SideBar/SideBarItem.swift index a45e438bd0..f203f4cdbe 100644 --- a/CodeEdit/SideBar/SideBarItem.swift +++ b/CodeEdit/SideBar/SideBarItem.swift @@ -43,11 +43,21 @@ struct SideBarItem: View { func sidebarFolderItem(_ item: WorkspaceClient.FileItem) -> some View { DisclosureGroup(isExpanded: $isExpanded) { + if !isExpanded { + // Only load the labels + ForEach(item.children!.sortItems(foldersOnTop: workspace.sortFoldersOnTop)) { child in + Label(child.url.lastPathComponent, systemImage: child.systemImage) + .accentColor(child.iconColor) + .font(.callout) + } + } else { + // Only load when expanded -> Improves performance massively ForEach(item.children!.sortItems(foldersOnTop: workspace.sortFoldersOnTop)) { child in SideBarItem(item: child, workspace: workspace, windowController: windowController) } + } } label: { Label(item.url.lastPathComponent, systemImage: item.systemImage) .accentColor(.secondary)