Skip to content

Commit 73d1368

Browse files
filter full docs map on changes
1 parent d138408 commit 73d1368

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

src/cloud/components/FolderPage/index.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import Spinner from '../../../design/components/atoms/Spinner'
3131
import ViewsList from '../Views'
3232
import { getMapValues } from '../../../design/lib/utils/array'
3333
import { getDefaultTableView } from '../../lib/views/table'
34+
import { filterIter } from '../../lib/utils/iterator'
3435

3536
const FolderPage = () => {
3637
const { pageFolder, team, currentUserIsCoreMember, pageData } = usePage()
@@ -58,9 +59,11 @@ const FolderPage = () => {
5859
if (currentFolder == null) {
5960
return []
6061
}
61-
return currentFolder.childDocsIds
62-
.filter((docId) => docsMap.has(docId))
63-
.map((docId) => docsMap.get(docId) as SerializedDocWithSupplemental)
62+
63+
return filterIter(
64+
(doc) => doc.parentFolderId === currentFolder.id,
65+
docsMap.values()
66+
)
6467
}, [docsMap, currentFolder])
6568

6669
const childFolders = useMemo(() => {

src/cloud/lib/utils/iterator.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
export function filterIter<T>(
2+
predicate: (value: T) => boolean,
3+
iter: Iterable<T>
4+
) {
5+
const result = []
6+
for (const item of iter) {
7+
if (predicate(item)) {
8+
result.push(item)
9+
}
10+
}
11+
return result
12+
}

0 commit comments

Comments
 (0)