From 2dd27cdd0026882d699b8801e129ffe158811de3 Mon Sep 17 00:00:00 2001 From: Henry Heino <46334387+personalizedrefrigerator@users.noreply.github.com> Date: Tue, 21 May 2024 02:14:39 -0700 Subject: [PATCH] Desktop: Note attachments screen: Allow searching for attachments (#10442) --- packages/app-desktop/gui/ResourceScreen.tsx | 79 ++++++++++++++++++--- 1 file changed, 68 insertions(+), 11 deletions(-) diff --git a/packages/app-desktop/gui/ResourceScreen.tsx b/packages/app-desktop/gui/ResourceScreen.tsx index 8036008967..871078a63c 100644 --- a/packages/app-desktop/gui/ResourceScreen.tsx +++ b/packages/app-desktop/gui/ResourceScreen.tsx @@ -7,6 +7,7 @@ const { themeStyle } = require('@joplin/lib/theme'); import bridge from '../services/bridge'; const prettyBytes = require('pretty-bytes'); import Resource from '@joplin/lib/models/Resource'; +import { LoadOptions } from '@joplin/lib/models/utils/types'; interface Style { width: number; @@ -31,6 +32,7 @@ interface State { resources: InnerResource[] | undefined; sorting: ActiveSorting; isLoading: boolean; + filter: string; } interface ResourceTable { @@ -42,6 +44,7 @@ interface ResourceTable { onResourceDelete: (resource: InnerResource)=> any; // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied onToggleSorting: (order: SortingOrder)=> any; + filter: string; themeId: number; style: Style; } @@ -89,6 +92,10 @@ const ResourceTableComp = (props: ResourceTable) => { fontWeight: 'bold', }; + const filteredResources = props.resources.filter( + (resource: InnerResource) => !props.filter || resource.title?.includes(props.filter) || resource.id.includes(props.filter), + ); + return (