mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-12 04:18:54 +00:00
feat: improve search ux
This commit is contained in:
@@ -41,7 +41,10 @@ const styles = style9.create({
|
||||
overflowX: 'hidden',
|
||||
overflowY: 'hidden',
|
||||
},
|
||||
result_hide: {
|
||||
resultItem: {
|
||||
width: '100%',
|
||||
},
|
||||
resultHide: {
|
||||
opacity: 0,
|
||||
},
|
||||
});
|
||||
@@ -53,7 +56,9 @@ const query_blocks = (
|
||||
search: string,
|
||||
callback: (result: QueryResult) => void
|
||||
) => {
|
||||
(editor as BlockEditor).search(search).then(pages => callback(pages));
|
||||
(editor as BlockEditor)
|
||||
.search(search)
|
||||
.then(pages => callback(pages.filter(b => !!b.content)));
|
||||
};
|
||||
|
||||
export const QueryBlocks = throttle(query_blocks, 500);
|
||||
@@ -100,19 +105,20 @@ export const Search = (props: SearchProps) => {
|
||||
<MuiBox
|
||||
sx={{ maxHeight: `${result.length * 28 + 32 + 20}px` }}
|
||||
className={styles('result', {
|
||||
result_hide: !result.length,
|
||||
resultHide: !result.length,
|
||||
})}
|
||||
>
|
||||
{result
|
||||
// 过滤掉空标题的文档
|
||||
.filter(block => block.content)
|
||||
.map(block => (
|
||||
<BlockPreview
|
||||
key={block.id}
|
||||
block={block}
|
||||
onClick={() => handle_navigate(block.id)}
|
||||
/>
|
||||
))}
|
||||
{result.map(block => (
|
||||
<BlockPreview
|
||||
className={styles('resultItem')}
|
||||
key={block.id}
|
||||
block={block}
|
||||
onClick={() => {
|
||||
handle_navigate(block.id);
|
||||
props.onClose();
|
||||
}}
|
||||
/>
|
||||
))}
|
||||
</MuiBox>
|
||||
</Box>
|
||||
</TransitionsModal>
|
||||
|
||||
@@ -29,7 +29,7 @@ export class FullTextSearchPlugin extends BasePlugin {
|
||||
if (this.#root) {
|
||||
this.editor.setHotKeysScope();
|
||||
this.#root.unmount();
|
||||
this.#root = undefined;
|
||||
// this.#root = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,8 +26,11 @@ const styles = style9.create({
|
||||
lineHeight: '17px',
|
||||
textAlign: 'justify',
|
||||
letterSpacing: '1.5px',
|
||||
marginLeft: '21px',
|
||||
marginLeft: '8px',
|
||||
color: '#4C6275',
|
||||
textOverflow: 'ellipsis',
|
||||
overflow: 'hidden',
|
||||
whiteSpace: 'nowrap',
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
export { BaseButton } from './base-button';
|
||||
export { ListButton } from './list-button';
|
||||
export { ListButton } from './ListButton';
|
||||
export { IconButton } from './IconButton';
|
||||
|
||||
Reference in New Issue
Block a user