From c4c31e0ddae0c0f80fb1df44566cb4f3149a5c46 Mon Sep 17 00:00:00 2001 From: myl7 Date: Fri, 19 Nov 2021 21:31:07 +0800 Subject: [PATCH] exclude .password from downloading --- components/FileListing.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/components/FileListing.tsx b/components/FileListing.tsx index b86de3f..a31a41b 100644 --- a/components/FileListing.tsx +++ b/components/FileListing.tsx @@ -208,9 +208,12 @@ const FileListing: FunctionComponent<{ query?: ParsedUrlQuery }> = ({ query }) = } }) + // Filtered file list helper + const getFiles = () => children.filter((c :any) => !c.folder && c.name !== '.password') + // File selection const genTotalSelected = (selected: {[key: string]: boolean}) => { - const selectInfo = children.filter((c :any) => !c.folder).map((c :any) => Boolean(selected[c.id])) + const selectInfo = getFiles().map((c :any) => Boolean(selected[c.id])) const [hasT, hasF] = [selectInfo.some(i => i), selectInfo.some(i => !i)] console.log(hasT, hasF) return hasT && hasF ? 1 : (!hasF ? 2 : 0) @@ -231,7 +234,7 @@ const FileListing: FunctionComponent<{ query?: ParsedUrlQuery }> = ({ query }) = setSelected({}) setTotalSelected(0) } else { - setSelected(Object.fromEntries(children.filter((c :any) => !c.folder).map((c :any) => [c.id, true]))) + setSelected(Object.fromEntries(getFiles().map((c :any) => [c.id, true]))) setTotalSelected(2) } } @@ -240,8 +243,7 @@ const FileListing: FunctionComponent<{ query?: ParsedUrlQuery }> = ({ query }) = const handleDownloadSelected = () => { const folderName = path.substr(path.lastIndexOf('/') + 1) const folder = folderName ? folderName : undefined - const files = children - .filter((c :any) => !c.folder) + const files = getFiles() .filter((c: any) => selected[c.id]) .map((c: any) => ({ name: c.name, url: c['@microsoft.graph.downloadUrl'] })) if (files.length == 1) {