feat:搜索后展开所在目录

This commit is contained in:
shixiaohua 2024-03-27 08:46:34 +08:00
parent 1247134435
commit ebbb784f21
4 changed files with 18 additions and 51 deletions

View File

@ -17,7 +17,6 @@ import DirDeleteFile from "./DirDeleteFile";
import DirAddDir from "./DirAddDir";
import {createPortal} from "react-dom";
import {isArray} from "@craco/craco/lib/utils";
// const defaultData = [];
//
const dataList = [];
const generateList = (data) => {
@ -26,7 +25,7 @@ const generateList = (data) => {
const {key, title, icon} = node;
dataList.push({
key,
title,
"title":title.props.children,
icon
});
if (node.children) {
@ -34,7 +33,7 @@ const generateList = (data) => {
}
}
};
// generateList(defaultData);
const getParentKey = (key, tree) => {
let parentKey;
for (let i = 0; i < tree.length; i++) {
@ -50,12 +49,6 @@ const getParentKey = (key, tree) => {
return parentKey;
};
const menuItemClickMap = new Map();
menuItemClickMap.set('1', <DirAddDir/>);
menuItemClickMap.set('b', 2);
menuItemClickMap.set('c', 3);
function generateChildList(fileList) {
const result = []
for (let i = 0; i < fileList.length; i++) {
@ -170,6 +163,7 @@ const ItemTree = (prop) => {
const [autoExpandParent, setAutoExpandParent] = useState(false);
// let filePath = useSelector(state => state.dirMessage.data);
const [defaultValueState, setDefaultValueState] = useState(flushTree(prop.filePath));
generateList(defaultValueState);
const [state, setState] = useState();
useEffect(() => {
setDefaultValueState(flushTree(prop.filePath))
@ -190,36 +184,6 @@ const ItemTree = (prop) => {
}
})
}
const itemTreeAddFile = (dirMessage)=>{
setDefaultValueState(flushTree(dirMessage))
// return
// let newFile = {
// "fileName": getFileFullNameByPath(filePath),
// "filePath": filePath,
// "dirFlag": false,
// "children": []
// }
// //
// let fileDir = getFileDirByPath(filePath)
// let updateValueState = [...prop.filePath]
// updateValueState.forEach(file=>{
// if (fileDir===file.filePath && file.dirFlag){
// file.children=[...file.children,newFile]
// } else if (fileDir.startsWith(file.filePath) && file.dirFlag ){
// treeItemChildAddFile(file.children,newFile,fileDir)
// }
// })
// setDefaultValueState(flushTree(updateValueState))
}
function treeItemChildAddFile(treeItemList,newFile,fileDir){
treeItemList.forEach(file=>{
if (fileDir===file.filePath && file.dirFlag){
file.children=[...file.children,newFile]
} else if (fileDir.startsWith(file.filePath) && file.dirFlag){
treeItemChildAddFile(file.children,newFile,fileDir)
}
})
}
const onChange = (e) => {
const {value} = e.target;

View File

@ -100,7 +100,7 @@ export default function ContextMenuPlugin(){
const items = await navigator.clipboard.read();
const item = items[0];
console.log("navigator.clipboard.read:item",item)
const permission = await navigator.permissions.query({
// @ts-expect-error These types are incorrect.
name: 'clipboard-read',
@ -109,7 +109,7 @@ export default function ContextMenuPlugin(){
alert('Not allowed to paste from clipboard.');
return;
}
// image/png
for (const type of item.types) {
const dataString = await (await item.getType(type)).text();
data.setData(type, dataString);

View File

@ -86,16 +86,18 @@ const SaveFilePlugin=(props)=> {
// 后期不再读取文件直接读取文件MD5
importFile(filePath).then(value => {
let save
let save =true;
let oldFileMd5
let newFileMd5 =md5(resultSave)
if (props.filePath.endsWith(".md")){
// editorState
oldFileMd5 = md5(value.toString());
save = (isEmpty(value)) || newFileMd5 !== oldFileMd5;
}else {
oldFileMd5 = md5(JSON.stringify(JSON.parse(value.toString())));
save = (isEmpty(value)) || newFileMd5 !== oldFileMd5;
if (!value){
if (props.filePath.endsWith(".md")){
// editorState
oldFileMd5 = md5(value.toString());
save = (isEmpty(value)) || newFileMd5 !== oldFileMd5;
}else {
oldFileMd5 = md5(JSON.stringify(JSON.parse(value.toString())));
save = (isEmpty(value)) || newFileMd5 !== oldFileMd5;
}
}
if (save) {
overWriteFile(filePath, resultSave).then(()=>{

View File

@ -375,6 +375,7 @@ function BlockOptionsDropdownList({
};
const formatCode = () => {
console.log('blockType !== "code"',blockType)
if (blockType !== "code") {
editor.update(() => {
const selection = $getSelection();
@ -528,7 +529,7 @@ export default function ToolbarPlugin() {
);
}, [editor, updateToolbar]);
const codeLanguges = useMemo(() => getCodeLanguages(), []);
const codeLanguages = useMemo(() => getCodeLanguages(), []);
const onCodeLanguageSelect = useCallback(
(e) => {
editor.update(() => {
@ -605,7 +606,7 @@ export default function ToolbarPlugin() {
<Select
className="toolbar-item code-language"
onChange={onCodeLanguageSelect}
options={codeLanguges}
options={codeLanguages}
value={codeLanguage}
/>
<i className="chevron-down inside"/>