diff options
Diffstat (limited to 'packages/frontend/src/components/MkFileCaptionEditWindow.vue')
| -rw-r--r-- | packages/frontend/src/components/MkFileCaptionEditWindow.vue | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/packages/frontend/src/components/MkFileCaptionEditWindow.vue b/packages/frontend/src/components/MkFileCaptionEditWindow.vue index 39551e6b3c..8ff6308fb1 100644 --- a/packages/frontend/src/components/MkFileCaptionEditWindow.vue +++ b/packages/frontend/src/components/MkFileCaptionEditWindow.vue @@ -17,7 +17,7 @@ SPDX-License-Identifier: AGPL-3.0-only <template #header>{{ i18n.ts.describeFile }}</template> <MkSpacer :marginMin="20" :marginMax="28"> <MkDriveFileThumbnail :file="file" fit="contain" style="height: 193px; margin-bottom: 16px;"/> - <MkTextarea v-model="caption" autofocus :placeholder="i18n.ts.inputNewDescription"> + <MkTextarea v-model="caption" autofocus :placeholder="i18n.ts.inputNewDescription" @keydown="onKeydown($event)"> <template #label>{{ i18n.ts.caption }}</template> </MkTextarea> </MkSpacer> @@ -46,6 +46,16 @@ const dialog = shallowRef<InstanceType<typeof MkModalWindow>>(); const caption = ref(props.default); +function onKeydown(ev: KeyboardEvent) { + if (ev.key === 'Enter' && (ev.ctrlKey || ev.metaKey)) ok(); + + if (ev.key === 'Escape') { + emit('closed'); + dialog.value?.close(); + } +} + + async function ok() { emit('done', caption.value); dialog.value?.close(); |