diff options
author | skjnldsv <skjnldsv@protonmail.com> | 2024-08-09 09:12:32 +0200 |
---|---|---|
committer | nextcloud-command <nextcloud-command@users.noreply.github.com> | 2024-08-09 11:58:37 +0000 |
commit | e4e12a35f556342a24f3758b6985cd3de8eba9aa (patch) | |
tree | 93049132be935707e1cec2823b54e1f4afaae5f2 /apps/files | |
parent | 81b01c26c5863d5432ab8582a1e2ef74ff6d838e (diff) | |
download | nextcloud-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.vue | 8 | ||||
-rw-r--r-- | apps/files/src/newMenu/newFolder.ts | 8 | ||||
-rw-r--r-- | apps/files/src/newMenu/newFromTemplate.ts | 2 |
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) |