Skip to content

Commit ff79f07

Browse files
committed
[Feat]: #1755 remove hardcoded hook components
1 parent 668c989 commit ff79f07

1 file changed

Lines changed: 6 additions & 15 deletions

File tree

client/packages/lowcoder/src/comps/utils/hookCompOperator.ts

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,15 @@
11
import { HookComp } from "comps/hooks/hookComp";
22
import { EditorState } from "comps/editorState";
3+
import { singletonHookComp } from "comps/hooks/hookCompTypes";
34
import { wrapActionExtraInfo, type Comp } from "lowcoder-core";
45
import { messageInstance } from "lowcoder-design";
56
import { trans } from "i18n";
67

7-
type CopyableHookType = "modal" | "drawer";
8-
9-
type CopyableHookComp = HookComp & {
10-
children: HookComp["children"] & {
11-
compType: { getView: () => CopyableHookType };
12-
};
13-
};
14-
15-
const copyableHookTypes = new Set<CopyableHookType>(["modal", "drawer"]);
16-
178
export class HookCompOperator {
18-
private static copyHooks: CopyableHookComp[] = [];
9+
private static copyHooks: HookComp[] = [];
1910

2011
/**
21-
* Copy modals/drawers by name from selectedCompNames.
12+
* Copy non-singleton hook components by name from selectedCompNames.
2213
*/
2314
static copyComp(editorState: EditorState, compRecords: Record<string, Comp>) {
2415
const selectedNames = Array.from(editorState.selectedCompNames);
@@ -31,8 +22,8 @@ export class HookCompOperator {
3122
.filter((comp: any) => {
3223
const name = comp.children.name.getView();
3324
const compType = comp.children.compType.getView();
34-
return selectedNames.includes(name) && copyableHookTypes.has(compType);
35-
}) as CopyableHookComp[];
25+
return selectedNames.includes(name) && !singletonHookComp(compType);
26+
}) as HookComp[];
3627

3728
if (!selectedHookComps.length) {
3829
return false;
@@ -48,7 +39,7 @@ export class HookCompOperator {
4839
}
4940

5041
/**
51-
* Paste previously copied modals/drawers and re-generate nested component names.
42+
* Paste previously copied hook components and re-generate nested component names.
5243
*/
5344
static pasteComp(editorState: EditorState) {
5445
if (!this.copyHooks.length) {

0 commit comments

Comments
 (0)