Skip to content

Commit 39dbd40

Browse files
committed
Added Renaming folders.
1 parent c8daa8d commit 39dbd40

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

client/packages/lowcoder/src/pages/editor/right/ModulePanel.tsx

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import {showAppSnapshotSelector} from "@lowcoder-ee/redux/selectors/appSnapshotS
3131
import {DraggableTreeNode, DraggableTreeNodeItemRenderProps} from "@lowcoder-ee/components/DraggableTree/types";
3232
import RefTreeComp from "@lowcoder-ee/comps/comps/refTreeComp";
3333
import { EmptyContent } from "components/EmptyContent";
34-
import {deleteFolder, moveToFolder} from "@lowcoder-ee/redux/reduxActions/folderActions";
34+
import {deleteFolder, moveToFolder, updateFolder} from "@lowcoder-ee/redux/reduxActions/folderActions";
3535
import {HomeResInfo} from "@lowcoder-ee/util/homeResUtils";
3636
const ItemWrapper = styled.div`
3737
display: flex;
@@ -300,6 +300,10 @@ interface ModuleSidebarItemProps extends DraggableTreeNodeItemRenderProps {
300300
onSelect: () => void;
301301
onDelete: () => void;
302302
onToggleFold: () => void;
303+
selectedID: string;
304+
setSelectedID: (id: string) => void;
305+
selectedType: boolean;
306+
setSelectedType: (id: boolean) => void;
303307
}
304308

305309
const empty = (
@@ -321,13 +325,18 @@ const empty = (
321325
);
322326

323327
function ModuleSidebarItem(props: ModuleSidebarItemProps) {
328+
const dispatch = useDispatch();
324329
const {
325330
id,
326331
resComp,
327332
isOver,
328333
isOverlay,
329334
path,
330335
isFolded,
336+
selectedID,
337+
setSelectedID,
338+
selectedType,
339+
setSelectedType,
331340
onDelete,
332341
onCopy,
333342
onSelect,
@@ -338,13 +347,11 @@ function ModuleSidebarItem(props: ModuleSidebarItemProps) {
338347
const [editing, setEditing] = useState(false);
339348
const editorState = useContext(EditorContext);
340349
const readOnly = useSelector(showAppSnapshotSelector);
341-
const [selectedModuleResName, setSelectedModuleResName] = useState("");
342-
const [selectedModuleResType, setSelectedModuleResType] = useState(false);
343350
const level = path.length - 1;
344351
const type = resComp.isFolder;
345352
const name = resComp.name;
346353
const icon = resComp.isFolder?<FileFolderIcon /> : <ModuleDocIcon width={"16px"} height={"16px"}/>;
347-
const isSelected = type === selectedModuleResType && id === selectedModuleResName;
354+
const isSelected = type === selectedType && id === selectedID;
348355
const isFolder = type;
349356

350357
const handleFinishRename = (value: string) => {
@@ -358,20 +365,15 @@ function ModuleSidebarItem(props: ModuleSidebarItemProps) {
358365
success = true;
359366
}
360367
if (success) {
361-
setSelectedModuleResName(compId);
362-
setSelectedModuleResType(type);
368+
setSelectedID(compId);
369+
setSelectedType(type);
363370
setError(undefined);
371+
dispatch(updateFolder({ id: selectedID, name: value }));
364372
}
365373
};
366374

367375
const handleNameChange = (value: string) => {
368-
let err = "";
369-
if (resComp.checkName) {
370-
err = resComp.checkName(value);
371-
} else {
372-
err = editorState.checkRename(name, value);
373-
}
374-
setError(err);
376+
value === "" ? setError("Cannot Be Empty") : setError("");
375377
};
376378

377379
const handleClickItem = () => {
@@ -422,6 +424,8 @@ export default function ModulePanel() {
422424
// const reload = () => elements = useSelector(folderElementsSelector);
423425
const { onDrag, searchValue } = useContext(RightContext);
424426
const [deleteFlag, setDeleteFlag] = useState(false);
427+
const [selectedID, setSelectedID] = useState("");
428+
const [selectedType, setSelectedType] = useState(false);
425429
useEffect(() => {
426430
dispatch(fetchAllModules({}));
427431
}, [dispatch]);
@@ -575,14 +579,14 @@ export default function ModulePanel() {
575579
};
576580

577581
const node = convertRefTree(tree);
578-
console.log("started!!!!", node)
579582
function onCopy(type: boolean, id: string) {
580583
console.log("onCopy", type, id);
581584
}
582585

583586
function onSelect(type: boolean, id: string, meta: any) {
587+
setSelectedID(id);
588+
setSelectedType(type);
584589
console.log("onSelect", type, id, meta)
585-
// return <ModuleItem onDrag={onDrag} key={id} meta={meta} />
586590
}
587591

588592
function onDelete(type: boolean, id: string, node: NodeType) {
@@ -683,6 +687,10 @@ export default function ModulePanel() {
683687
onToggleFold={onToggleFold}
684688
onCopy={() => onCopy(isFolder, id)}
685689
onSelect={() => onSelect(isFolder, id, resComp)}
690+
selectedID={selectedID}
691+
setSelectedID={setSelectedID}
692+
selectedType={selectedType}
693+
setSelectedType={setSelectedType}
686694
onDelete={() => {
687695
(onDelete(isFolder, id, resComp))
688696
}}

0 commit comments

Comments
 (0)