Commit fa1188e9 authored by ioedeveloper's avatar ioedeveloper Committed by GitHub

Debug clashing names

parent 05f6f0ca
......@@ -100,13 +100,18 @@ class FileManager extends Plugin {
* @param {string} path path of the directory or file
* @returns {boolean} true if the path exists
*/
exists (path) {
async exists (path, type) {
const provider = this.fileProviderOf(path)
const result = provider.exists(path, (err, result) => {
const result = await provider.exists(path, (err, result) => {
if (err) return false
return result
})
if (type === 'file') {
return result && await this.isFile(path)
} else if (type === 'folder') {
return result && await this.isDirectory(path)
}
return result
}
......
......@@ -37,6 +37,7 @@ module.exports = {
() => { return exist },
(callback) => {
fileProvider.exists(name + counter + prefix + '.' + ext, (error, currentExist) => {
console.log('currentExists: ', currentExist)
if (error) {
callback(error)
} else {
......
......@@ -311,6 +311,8 @@ export const FileExplorer = (props: FileExplorerProps) => {
const fileManager = state.fileManager
helper.createNonClashingName(newFilePath, filesProvider, async (error, newName) => {
console.log('newFilePath: ', newFilePath)
console.log('newName: ', newName)
if (error) {
modal('Create File Failed', error, {
label: 'Close',
......@@ -336,7 +338,8 @@ export const FileExplorer = (props: FileExplorerProps) => {
const dirName = newFolderPath + '/'
try {
const exists = await fileManager.exists(dirName)
const exists = await fileManager.exists(dirName, 'folder')
console.log('exists: ', exists)
if (exists) return
await fileManager.mkdir(dirName)
......@@ -372,10 +375,11 @@ export const FileExplorer = (props: FileExplorerProps) => {
})
}
const renamePath = async (oldPath: string, newPath: string) => {
const renamePath = async (oldPath: string, newPath: string, type?: string) => {
try {
const fileManager = state.fileManager
const exists = await fileManager.exists(newPath)
const exists = await fileManager.exists(newPath, type)
console.log('exists: ', exists)
if (exists) {
modal('Rename File Failed', 'File name already exists', {
......@@ -814,9 +818,10 @@ export const FileExplorer = (props: FileExplorerProps) => {
const oldPath: string = state.focusEdit.element
const oldName = extractNameFromKey(oldPath)
const newPath = oldPath.replace(oldName, content)
const type: string = state.focusEdit.type
editRef.current.textContent = extractNameFromKey(oldPath)
renamePath(oldPath, newPath)
renamePath(oldPath, newPath, type)
}
setState(prevState => {
return { ...prevState, focusEdit: { element: null, isNew: false, type: '', lastEdit: '' } }
......
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