Commit 4b6f9282 authored by ioedeveloper's avatar ioedeveloper

Fixed rename bug

parent 4ba22378
// eslint-disable-next-line @typescript-eslint/no-unused-vars // eslint-disable-next-line @typescript-eslint/no-unused-vars
import React, { useEffect, useRef } from 'react' import React, { useEffect, useRef, useState } from 'react'
import { FileType } from '../types' import { FileType } from '../types'
export interface FileLabelProps { export interface FileLabelProps {
...@@ -17,6 +17,7 @@ export const FileLabel = (props: FileLabelProps) => { ...@@ -17,6 +17,7 @@ export const FileLabel = (props: FileLabelProps) => {
const { file, focusEdit, editModeOff } = props const { file, focusEdit, editModeOff } = props
const isEditable = focusEdit.element === file.path const isEditable = focusEdit.element === file.path
const labelRef = useRef(null) const labelRef = useRef(null)
const [defaultValue, setDefaultValue] = useState<string>(null)
useEffect(() => { useEffect(() => {
if (isEditable) { if (isEditable) {
...@@ -26,16 +27,22 @@ export const FileLabel = (props: FileLabelProps) => { ...@@ -26,16 +27,22 @@ export const FileLabel = (props: FileLabelProps) => {
} }
}, [isEditable]) }, [isEditable])
useEffect(() => {
setDefaultValue(labelRef.current.innerText)
}, [labelRef.current])
const handleEditInput = (event: React.KeyboardEvent<HTMLDivElement>) => { const handleEditInput = (event: React.KeyboardEvent<HTMLDivElement>) => {
if (event.which === 13) { if (event.which === 13) {
event.preventDefault() event.preventDefault()
editModeOff(labelRef.current.innerText) editModeOff(labelRef.current.innerText)
labelRef.current.innerText = defaultValue
} }
} }
const handleEditBlur = (event: React.SyntheticEvent) => { const handleEditBlur = (event: React.SyntheticEvent) => {
event.stopPropagation() event.stopPropagation()
editModeOff(labelRef.current.innerText) editModeOff(labelRef.current.innerText)
labelRef.current.innerText = defaultValue
} }
return ( return (
......
import { MenuItems } from '../types'
export const contextMenuActions: MenuItems = [{ export const contextMenuActions: MenuItems = [{
id: 'newFile', id: 'newFile',
name: 'New File', name: 'New File',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment