From 726e7d9edef5fc04bf5ccc00c668aecd08d91a3b Mon Sep 17 00:00:00 2001 From: laynester Date: Wed, 2 Nov 2022 17:23:36 -0400 Subject: [PATCH] navigator show more & force collapsed --- .../search/NavigatorSearchResultView.tsx | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/components/navigator/views/search/NavigatorSearchResultView.tsx b/src/components/navigator/views/search/NavigatorSearchResultView.tsx index a85daaca..0c25833e 100644 --- a/src/components/navigator/views/search/NavigatorSearchResultView.tsx +++ b/src/components/navigator/views/search/NavigatorSearchResultView.tsx @@ -1,8 +1,9 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; -import { NavigatorSearchResultList } from '@nitrots/nitro-renderer'; +import { NavigatorSearchComposer, NavigatorSearchResultList } from '@nitrots/nitro-renderer'; import { FC, useEffect, useState } from 'react'; -import { LocalizeText, NavigatorSearchResultViewDisplayMode } from '../../../../api'; +import { LocalizeText, NavigatorSearchResultViewDisplayMode, SendMessageComposer } from '../../../../api'; import { AutoGrid, AutoGridProps, Column, Flex, Grid, Text } from '../../../../common'; +import { useNavigator } from '../../../../hooks'; import { NavigatorSearchResultItemView } from './NavigatorSearchResultItemView'; export interface NavigatorSearchResultViewProps extends AutoGridProps @@ -16,11 +17,13 @@ export const NavigatorSearchResultView: FC = pro const [ isExtended, setIsExtended ] = useState(true); const [ displayMode, setDisplayMode ] = useState(0); + const { topLevelContext = null } = useNavigator(); + const getResultTitle = () => { let name = searchResult.code; - if(!name || !name.length) return searchResult.data; + if(!name || !name.length || LocalizeText('navigator.searchcode.title.' + name) == ('navigator.searchcode.title.' + name)) return searchResult.data; if(name.startsWith('${')) return name.slice(2, (name.length - 1)); @@ -36,12 +39,19 @@ export const NavigatorSearchResultView: FC = pro return NavigatorSearchResultViewDisplayMode.LIST; }); } + + const showMore = () => + { + if(searchResult.action == 1) SendMessageComposer(new NavigatorSearchComposer(searchResult.code, '')); + else if(searchResult.action == 2 && topLevelContext) SendMessageComposer(new NavigatorSearchComposer(topLevelContext.code,'')); + } useEffect(() => { if(!searchResult) return; - //setIsExtended(searchResult.closed); + setIsExtended(!searchResult.closed); + setDisplayMode(searchResult.mode); }, [ searchResult ]); @@ -54,7 +64,11 @@ export const NavigatorSearchResultView: FC = pro { LocalizeText(getResultTitle()) } - = NavigatorSearchResultViewDisplayMode.THUMBNAILS) ? 'bars' : null) } className="text-secondary" onClick={ toggleDisplayMode } /> + + = NavigatorSearchResultViewDisplayMode.THUMBNAILS) ? 'bars' : null) } className="text-secondary" onClick={ toggleDisplayMode } /> + { (searchResult.action > 0) && } + + { isExtended && <> {