File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 943943
944944 if (newName != null )
945945 {
946- requestData [" name" ] = newName ;
946+ // For rename action: name = old name, newName = new name
947+ if (action == " rename" && data != null && data .Length > 0 )
948+ {
949+ requestData [" name" ] = data [0 ].Name ; // Old name
950+ requestData [" newName" ] = newName ; // New name
951+ }
952+ else
953+ {
954+ // For create folder action: name = folder name
955+ requestData [" name" ] = newName ;
956+ }
947957 }
948958
949959 if (searchString != null )
Original file line number Diff line number Diff line change 483483 <div class =" mfm-modal-overlay" @onclick =" CloseRenameDialog" >
484484 <div class =" mfm-dialog" @onclick:stopPropagation =" true" >
485485 <h3 >Rename </h3 >
486- <input type =" text" @bind =" RenameText" @ref =" renameInput" class =" mfm-input" />
486+ <input type =" text" @bind =" RenameText" @bind:event =" oninput" @ref =" renameInput"
487+ class =" mfm-input" @onkeydown =" OnRenameKeyDown" />
487488 <div class =" mfm-dialog-actions" >
488489 <button class =" mfm-btn mfm-btn-secondary" @onclick =" CloseRenameDialog" >Cancel </button >
489490 <button class =" mfm-btn mfm-btn-primary" @onclick =" ConfirmRename" >Rename </button >
Original file line number Diff line number Diff line change @@ -737,21 +737,47 @@ private void CloseDeleteConfirmDialog()
737737
738738 #region Rename
739739
740- private void RenameSelected ( )
740+ private async Task RenameSelected ( )
741741 {
742742 if ( SelectedItems . Count != 1 ) return ;
743743 RenameItem = SelectedItems . First ( ) ;
744744 RenameText = RenameItem . Name ;
745745 ShowRenameDialog = true ;
746746 ClearSelection ( ) ;
747+ await FocusAndSelectRenameInput ( ) ;
747748 }
748749
749- private void StartRenameItem ( FileManagerDirectoryContent item )
750+ private async Task StartRenameItem ( FileManagerDirectoryContent item )
750751 {
751752 RenameItem = item ;
752753 RenameText = item . Name ;
753754 ShowRenameDialog = true ;
754755 CloseContextMenu ( ) ;
756+ await FocusAndSelectRenameInput ( ) ;
757+ }
758+
759+ private async Task FocusAndSelectRenameInput ( )
760+ {
761+ StateHasChanged ( ) ;
762+ await Task . Delay ( 50 ) ;
763+ try
764+ {
765+ await renameInput . FocusAsync ( ) ;
766+ await JSRuntime . InvokeVoidAsync ( "eval" , "document.activeElement.select()" ) ;
767+ }
768+ catch { }
769+ }
770+
771+ private async Task OnRenameKeyDown ( KeyboardEventArgs e )
772+ {
773+ if ( e . Key == "Enter" )
774+ {
775+ await ConfirmRename ( ) ;
776+ }
777+ else if ( e . Key == "Escape" )
778+ {
779+ CloseRenameDialog ( ) ;
780+ }
755781 }
756782
757783 private async Task ConfirmRename ( )
You can’t perform that action at this time.
0 commit comments