@@ -31,7 +31,7 @@ import {showAppSnapshotSelector} from "@lowcoder-ee/redux/selectors/appSnapshotS
3131import { DraggableTreeNode , DraggableTreeNodeItemRenderProps } from "@lowcoder-ee/components/DraggableTree/types" ;
3232import RefTreeComp from "@lowcoder-ee/comps/comps/refTreeComp" ;
3333import { 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" ;
3535import { HomeResInfo } from "@lowcoder-ee/util/homeResUtils" ;
3636const 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
305309const empty = (
@@ -321,13 +325,18 @@ const empty = (
321325) ;
322326
323327function 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