Skip to content

Commit 6f9a777

Browse files
committed
✨ 增加搜索面板选中全部搜索结果的功能按钮
1 parent dc5ddec commit 6f9a777

File tree

1 file changed

+18
-8
lines changed

1 file changed

+18
-8
lines changed

app/src/pages/_fixed_panel/_searching_content_panel.tsx

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ import { useEffect, useState } from "react";
22
import { cn } from "../../utils/cn";
33
import IconButton from "../../components/IconButton";
44
import { Stage } from "../../core/stage/Stage";
5-
import { CaseSensitive, CaseUpper } from "lucide-react";
5+
import { CaseSensitive, CaseUpper, SquareDashedMousePointer } from "lucide-react";
66
import Input from "../../components/Input";
77
import { StageManager } from "../../core/stage/stageManager/StageManager";
88
import { Camera } from "../../core/stage/Camera";
9+
import { TextRiseEffect } from "../../core/service/feedbackService/effectEngine/concrete/TextRiseEffect";
910

1011
/**
1112
* 搜索内容的面板
@@ -30,6 +31,16 @@ export default function SearchingContentPanel({ open = false, className = "" }:
3031
}
3132
}, [open]);
3233

34+
const selectAllResult = () => {
35+
for (const result of searchResults) {
36+
const node = StageManager.getStageObjectByUUID(result.uuid);
37+
if (node) {
38+
node.isSelected = true;
39+
}
40+
}
41+
Stage.effectMachine.addEffect(TextRiseEffect.default(`${searchResults.length}个结果已全部选中`));
42+
};
43+
3344
return (
3445
<div
3546
className={cn(
@@ -40,13 +51,11 @@ export default function SearchingContentPanel({ open = false, className = "" }:
4051
className,
4152
)}
4253
>
43-
<div className="flex items-center justify-between">
44-
<h1>搜索内容</h1>
45-
<div className="text-panel-details-text flex h-8 items-center justify-center text-xs">
46-
{isCaseSensitive ? "大小写敏感" : "大小写不敏感"}
47-
</div>
48-
</div>
49-
54+
{searchResults.length > 0 && (
55+
<IconButton onClick={selectAllResult} tooltip={"将全部结果选中"}>
56+
<SquareDashedMousePointer />
57+
</IconButton>
58+
)}
5059
<div className="flex items-center justify-between">
5160
<Input
5261
placeholder="请输入要搜索的内容"
@@ -81,6 +90,7 @@ export default function SearchingContentPanel({ open = false, className = "" }:
8190
setIsCaseSensitive(currentResult);
8291
Stage.contentSearchEngine.isCaseSensitive = currentResult;
8392
}}
93+
tooltip={isCaseSensitive ? "当前状态:大小写敏感" : "当前状态:大小写不敏感"}
8494
>
8595
{isCaseSensitive ? <CaseSensitive /> : <CaseUpper />}
8696
</IconButton>

0 commit comments

Comments
 (0)