summaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
authorskjnldsv <skjnldsv@protonmail.com>2024-08-09 09:12:32 +0200
committernextcloud-command <nextcloud-command@users.noreply.github.com>2024-08-09 11:58:37 +0000
commite4e12a35f556342a24f3758b6985cd3de8eba9aa (patch)
tree93049132be935707e1cec2823b54e1f4afaae5f2 /apps/files
parent81b01c26c5863d5432ab8582a1e2ef74ff6d838e (diff)
downloadnextcloud-server-e4e12a35f556342a24f3758b6985cd3de8eba9aa.tar.gz
nextcloud-server-e4e12a35f556342a24f3758b6985cd3de8eba9aa.zip
fix(files): trim names on new node creation
Signed-off-by: skjnldsv <skjnldsv@protonmail.com> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/src/components/NewNodeDialog.vue8
-rw-r--r--apps/files/src/newMenu/newFolder.ts8
-rw-r--r--apps/files/src/newMenu/newFromTemplate.ts2
3 files changed, 11 insertions, 7 deletions
diff --git a/apps/files/src/components/NewNodeDialog.vue b/apps/files/src/components/NewNodeDialog.vue
index 582d53c05de..2b662d96b10 100644
--- a/apps/files/src/components/NewNodeDialog.vue
+++ b/apps/files/src/components/NewNodeDialog.vue
@@ -118,15 +118,15 @@ function submit() {
// Reset local name on props change
watch(() => props.defaultName, () => {
- localDefaultName.value = getUniqueName(props.defaultName, props.otherNames)
+ localDefaultName.value = getUniqueName(props.defaultName, props.otherNames).trim()
})
// Validate the local name
watchEffect(() => {
- if (props.otherNames.includes(localDefaultName.value)) {
+ if (props.otherNames.includes(localDefaultName.value.trim())) {
validity.value = t('files', 'This name is already in use.')
} else {
- validity.value = getFilenameValidity(localDefaultName.value)
+ validity.value = getFilenameValidity(localDefaultName.value.trim())
}
const input = nameInput.value?.$el.querySelector('input')
if (input) {
@@ -144,7 +144,7 @@ watch(() => props.open, () => {
onMounted(() => {
// on mounted lets use the unique name
- localDefaultName.value = getUniqueName(localDefaultName.value, props.otherNames)
+ localDefaultName.value = getUniqueName(localDefaultName.value, props.otherNames).trim()
nextTick(() => focusInput())
})
</script>
diff --git a/apps/files/src/newMenu/newFolder.ts b/apps/files/src/newMenu/newFolder.ts
index a570fa71c61..feab032270c 100644
--- a/apps/files/src/newMenu/newFolder.ts
+++ b/apps/files/src/newMenu/newFolder.ts
@@ -48,7 +48,8 @@ export const entry = {
async handler(context: Folder, content: Node[]) {
const name = await newNodeName(t('files', 'New folder'), content)
if (name !== null) {
- const { fileid, source } = await createNewFolder(context, name)
+ const { fileid, source } = await createNewFolder(context, name.trim())
+
// Create the folder in the store
const folder = new Folder({
source,
@@ -65,9 +66,12 @@ export const entry = {
},
})
+ // Show success
+ emit('files:node:created', folder)
showSuccess(t('files', 'Created new folder "{name}"', { name: basename(source) }))
logger.debug('Created new folder', { folder, source })
- emit('files:node:created', folder)
+
+ // Navigate to the new folder
window.OCP.Files.Router.goToRoute(
null, // use default route
{ view: 'files', fileid: folder.fileid },
diff --git a/apps/files/src/newMenu/newFromTemplate.ts b/apps/files/src/newMenu/newFromTemplate.ts
index 9c8e405b911..356fc5e1611 100644
--- a/apps/files/src/newMenu/newFromTemplate.ts
+++ b/apps/files/src/newMenu/newFromTemplate.ts
@@ -69,7 +69,7 @@ export function registerTemplateEntries() {
if (name !== null) {
// Create the file
const picker = await templatePicker
- picker.open(name, provider)
+ picker.open(name.trim(), provider)
}
},
} as Entry)