@@ -83,7 +83,7 @@ function buildTree(elementRecord: Record<string, Array<ApplicationMeta | FolderM
8383 const elementMap : Record < string , NodeType > = { } ;
8484 let rootNode : NodeType = {
8585 name : "root" ,
86- id : "root " ,
86+ id : "" ,
8787 isFolder : true ,
8888 children : [ ] ,
8989 rename : val => rootNode . name = val ,
@@ -498,16 +498,54 @@ export default function ModulePanel() {
498498 const dispatch = useDispatch ( ) ;
499499 let elements = useSelector ( folderElementsSelector ) ;
500500 const { onDrag, searchValue } = useContext ( RightContext ) ;
501- const [ deleteFlag , setDeleteFlag ] = useState ( false ) ;
502501 const [ selectedID , setSelectedID ] = useState ( "" ) ;
503502 const [ selectedType , setSelectedType ] = useState ( false ) ;
503+ let sourceFolderId : string = "" ;
504+ let sourceId : string = "" ;
505+ let folderId : string = "" ;
506+ const tree = buildTree ( elements ) ;
507+ const getById = ( id : string ) : NodeType | undefined => getByIdFromNode ( tree , id ) ;
508+ let popedItem : DraggableTreeNode < any > [ ] = [ ] ;
509+ let popedItemSourceId = "" ;
510+
504511 useEffect ( ( ) => {
505- dispatch ( fetchAllModules ( { } ) ) ;
512+ dispatch ( fetchAllModules ( { } ) ) ;
506513 } , [ dispatch ] ) ;
507514
515+ const moveModule = ( ) => {
516+ console . log ( { sourceFolderId : sourceFolderId ,
517+ sourceId : sourceId ,
518+ folderId : folderId ,
519+ moveFlag : true } )
520+ try {
521+ if ( sourceId !== "" ) {
522+ dispatch (
523+ moveToFolder (
524+ {
525+ sourceFolderId : sourceFolderId ! ,
526+ sourceId : sourceId ! ,
527+ folderId : folderId ! ,
528+ moveFlag : true
529+ } ,
530+ ( ) => {
531+
532+
533+ } ,
534+ ( ) => { }
535+ )
536+ ) ;
537+ }
538+ } catch ( error ) {
539+ console . error ( "Error: Delete module in extension:" , error ) ;
540+ throw error ;
541+ } finally {
542+ folderId = "" ;
543+ sourceId = "" ;
544+ sourceFolderId = "" ;
545+ }
546+
547+ }
508548
509- //Convert elements into tree
510- const tree = buildTree ( elements ) ;
511549 const getByIdFromNode = ( root : NodeType | null , id : string ) : NodeType | undefined => {
512550 if ( ! root ) {
513551 return ;
@@ -525,11 +563,7 @@ export default function ModulePanel() {
525563 }
526564 return ;
527565 }
528-
529- const getById = ( id : string ) : NodeType | undefined => getByIdFromNode ( tree , id ) ;
530- let popedItem : DraggableTreeNode < any > [ ] = [ ] ;
531- let popedItemSourceId = ""
532- const convertRefTree = ( treeNode : NodeType ) => {
566+ const convertRefTree = ( treeNode : NodeType ) => { //Convert elements into tree
533567 const moduleResComp = getById ( treeNode . id ) ;
534568 const currentNodeType = moduleResComp ?. isFolder ;
535569
@@ -570,75 +604,25 @@ export default function ModulePanel() {
570604 data : moduleResComp ,
571605 addSubItem ( value ) {
572606 console . log ( "addSubItem" , node . id , value , node ) ;
607+ folderId = node . id ! ;
608+ moveModule ( ) ;
573609 // node.items.push(value)
574610 // const pushAction = node.items.pushAction({ value: value.id() });
575611 // node.items.dispatch(pushAction);
576612 } ,
577613 deleteItem ( index ) {
578- console . log ( "deleteItem" , node , index ) ;
579- popedItemSourceId = node . id ! ;
580- if ( ! deleteFlag ) {
581- popedItem = node . items . splice ( index , 1 ) ;
582- console . log ( popedItem ) ;
583- }
614+ console . log ( "deleteItem" , index , node ) ;
615+ sourceFolderId = node . id ! ;
616+ sourceId = node . items [ index ] . id ! ;
584617
585- // const deleteAction = node.children.items.deleteAction(index);
586- // node.children.items.dispatch(deleteAction);
587618 } ,
588619 addItem ( value ) {
589- console . log ( "additem" , "value" , value , node ) ;
590- node . items . push ( popedItem [ 0 ] )
591- popedItem = [ ] ;
592- // const pushAction = node.children.items.pushAction({ value: value.id() });
593- // node.children.items.dispatch(pushAction);
594- // if (popedItem[0]){
595- // dispatch(
596- // moveToFolder(
597- // {
598- // sourceFolderId: popedItemSourceId,
599- // sourceId: popedItem[0].id!,
600- // folderId: node.id!,
601- // moveFlag: true
602- // },
603- // () => {
604- //
605- //
606- // },
607- // () => {}
608- // )
609- // );
610- // node.items.push(popedItem[0]);
611- // popedItemSourceId = "";
612- // popedItem = [];
613- // }
620+ console . log ( "additem" , "value" , value , "node" , node ) ;
621+ folderId = node . id ! ;
622+ moveModule ( ) ;
614623 } ,
615624 moveItem ( from , to ) {
616625 console . log ( "moveItem" , node , from , to , node . id ) ;
617- if ( popedItem [ 0 ] ) {
618- node . items . push ( popedItem [ 0 ] ) ;
619-
620- dispatch (
621- moveToFolder (
622- {
623- sourceFolderId : popedItemSourceId ,
624- sourceId : popedItem [ 0 ] . id ! ,
625- folderId : node . id ! ,
626- moveFlag : true
627- } ,
628- ( ) => {
629-
630-
631- } ,
632- ( ) => { }
633- )
634- ) ;
635- popedItemSourceId = "" ;
636- popedItem = [ ] ;
637-
638- }
639- // popedItem = [];
640- // const moveAction = node.children.items.arrayMoveAction(from, to);
641- // node.children.items.dispatch(moveAction);
642626 } ,
643627 } ;
644628
@@ -652,7 +636,6 @@ export default function ModulePanel() {
652636 }
653637 return node ;
654638 } ;
655-
656639 const node = convertRefTree ( tree ) ;
657640 function onCopy ( type : boolean , id : string ) {
658641 console . log ( "onCopy" , type , id ) ;
@@ -665,8 +648,8 @@ export default function ModulePanel() {
665648 }
666649
667650 function onDelete ( type : boolean , id : string , node : NodeType ) {
668- setDeleteFlag ( true ) ;
669651 console . log ( "1111111111111111111111111" , type , id , node ) ;
652+
670653 if ( type ) {
671654 if ( node . children . length ) {
672655 messageInstance . error ( trans ( "module.folderNotEmpty" ) )
@@ -712,11 +695,10 @@ export default function ModulePanel() {
712695 }
713696 )
714697 )
715- setDeleteFlag ( false )
716698 } ,
717699 confirmBtnType : "delete" ,
718700 okText : trans ( "home.moveToTrash" ) ,
719- onCancel : ( ) => setDeleteFlag ( false )
701+ onCancel : ( ) => { }
720702 } ) ;
721703 } catch ( error ) {
722704 console . error ( "Error: Delete module in extension:" , error ) ;
0 commit comments