Skip to content

Commit

Permalink
fix(files): cancel renaming on enter if no file name changes
Browse files Browse the repository at this point in the history
Signed-off-by: skjnldsv <[email protected]>
  • Loading branch information
skjnldsv committed Dec 12, 2024
1 parent 5df643c commit 0d5cda8
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
4 changes: 4 additions & 0 deletions apps/files/src/components/FileEntry/FileEntryName.vue
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,10 @@ export default defineComponent({
}

const oldName = this.source.basename
if (newName === oldName) {
this.stopRenaming()
return
}

try {
const status = await this.renamingStore.rename()
Expand Down
39 changes: 39 additions & 0 deletions cypress/e2e/files/files-renaming.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -140,4 +140,43 @@ describe('files: Rename nodes', { testIsolation: true }, () => {
.findByRole('textbox', { name: 'Filename' })
.should('not.exist')
})

it('cancel renaming on esc press', () => {
// All are visible by default
getRowForFile('file.txt').should('be.visible')

triggerActionForFile('file.txt', 'rename')

getRowForFile('file.txt')
.findByRole('textbox', { name: 'Filename' })
.should('be.visible')
.type('{selectAll}other.txt')
.should(haveValidity(''))
.type('{esc}')

// See it is not renamed
getRowForFile('other.txt').should('not.exist')
getRowForFile('file.txt')
.should('be.visible')
.find('input[type="text"]')
.should('not.exist')
})

it('cancel on enter if no new name is entered', () => {
// All are visible by default
getRowForFile('file.txt').should('be.visible')

triggerActionForFile('file.txt', 'rename')

getRowForFile('file.txt')
.findByRole('textbox', { name: 'Filename' })
.should('be.visible')
.type('{enter}')

// See it is not renamed
getRowForFile('file.txt')
.should('be.visible')
.find('input[type="text"]')
.should('not.exist')
})
})

0 comments on commit 0d5cda8

Please sign in to comment.