enhance(file):加入文件信息扫描功能。

This commit is contained in:
徐涛
2023-03-09 09:55:52 +08:00
parent c98a58b8bf
commit db70eb25d9
3 changed files with 23 additions and 14 deletions

View File

@@ -2,14 +2,15 @@ import { Box, Stack } from '@mantine/core';
import { useVirtualizer } from '@tanstack/react-virtual';
import EventEmitter from 'events';
import { filter, indexOf, isEmpty, length, map, pluck } from 'ramda';
import { FC, useContext, useEffect, useLayoutEffect, useMemo, useRef } from 'react';
import { FC, useContext, useLayoutEffect, useMemo, useRef } from 'react';
import { useLifecycles } from 'react-use';
import { EventBusContext } from '../EventBus';
import { useFileListStore } from '../states/files';
import { useZoomState } from '../states/zoom';
import { withinRange } from '../utils/offset_func';
export const ContinuationView: FC = () => {
const files = useFileListStore.use.files();
const { files } = useFileListStore();
const zoom = useZoomState.use.currentZoom();
const viewHeight = useZoomState.use.viewHeight();
const updateActives = useFileListStore.use.updateActiveFiles();
@@ -23,20 +24,21 @@ export const ContinuationView: FC = () => {
});
const items = virtualizer.getVirtualItems();
useEffect(() => {
ebus?.addListener('navigate_offset', ({ filename }) => {
let index = indexOf(filename, pluck('filename', files));
virtualizer.scrollToIndex(index);
});
ebus?.addListener('reset_views', () => {
virtualizer.scrollToOffset(0);
});
return () => {
useLifecycles(
() => {
ebus?.addListener('navigate_offset', ({ filename }) => {
let index = indexOf(filename, pluck('filename', files));
virtualizer.scrollToIndex(index);
});
ebus?.addListener('reset_views', () => {
virtualizer.scrollToOffset(0);
});
},
() => {
ebus?.removeAllListeners('navigate_offset');
ebus?.removeAllListeners('reset_views');
};
}, [ebus, files, virtualizer]);
}
);
useLayoutEffect(() => {
let rangeStart = virtualizer.scrollOffset;