Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Unverified Commit e35dc057 authored by Richard Steinmetz's avatar Richard Steinmetz Committed by GitHub
Browse files

Merge pull request #4151 from nextcloud/eh/noid/basic-editor-key-events

Add some basic key events to the editors
parents e8bcbcc3 360471c7
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -87,7 +87,6 @@

.shortcut-overview-modal {
	.modal-container {
		min-width: 600px;
		display: flex !important;
		flex-wrap: wrap;
		padding: 0 12px 12px 12px !important;
@@ -130,3 +129,10 @@
		}
	}
}

// Fix the shortcut overview on smaller screens
@media screen and (max-width: 800px) {
	.shortcut-overview-modal .modal-container .shortcut-section {
		width: 100%;
	}
}
+14 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@
  -->
<template>
	<Modal class="shortcut-overview-modal"
		size="normal"
		size="large"
		:title="$t('calendar', 'Shortcut overview')"
		@close="$emit('close')">
		<section v-for="category in shortcuts"
@@ -104,6 +104,19 @@ export default {
					keys: [['h']],
					label: t('calendar', 'Show shortcuts'),
				}],
			}, {
				categoryId: 'editor',
				categoryLabel: t('calendar', 'Editor'),
				shortcuts: [{
					keys: [['Escape']],
					label: t('calendar', 'Close editor'),
				}, {
					keys: [['Ctrl+Enter']],
					label: t('calendar', 'Save edited event'),
				}, {
					keys: [['Ctrl+Delete']],
					label: t('calendar', 'Delete edited event'),
				}],
			}]
		},
	},
+15 −0
Original line number Diff line number Diff line
@@ -429,6 +429,21 @@ export default {
			this.requiresActionOnRouteLeave = false
			this.closeEditor()
		},
		keyboardCloseEditor(event) {
			if (event.key === 'Escape') {
				this.cancel()
			}
		},
		keyboardSaveEvent(event) {
			if (event.key === 'Enter' && event.ctrlKey === true && !this.isReadOnly && !this.canCreateRecurrenceException) {
				this.saveAndLeave(false)
			}
		},
		keyboardDeleteEvent(event) {
			if (event.key === 'Delete' && event.ctrlKey === true && this.canDelete && !this.canCreateRecurrenceException) {
				this.deleteAndLeave(false)
			}
		},
		/**
		 * Saves a calendar-object
		 *
+10 −0
Original line number Diff line number Diff line
@@ -322,6 +322,16 @@ export default {
			return !eventComponent.isPartOfRecurrenceSet() || eventComponent.isExactForkOfPrimary
		},
	},
	mounted() {
		window.addEventListener('keydown', this.keyboardCloseEditor)
		window.addEventListener('keydown', this.keyboardSaveEvent)
		window.addEventListener('keydown', this.keyboardDeleteEvent)
	},
	beforeDestroy() {
		window.removeEventListener('keydown', this.keyboardCloseEditor)
		window.removeEventListener('keydown', this.keyboardSaveEvent)
		window.removeEventListener('keydown', this.keyboardDeleteEvent)
	},
	methods: {
		/**
		 * Updates the access-class of this event
+8 −0
Original line number Diff line number Diff line
@@ -243,6 +243,9 @@ export default {
		},
	},
	mounted() {
		window.addEventListener('keydown', this.keyboardCloseEditor)
		window.addEventListener('keydown', this.keyboardSaveEvent)
		window.addEventListener('keydown', this.keyboardDeleteEvent)
		this.$nextTick(() => {
			const isNew = this.$route.name === 'NewPopoverView'

@@ -254,6 +257,11 @@ export default {
				.$refs.trigger = this.getDomElementForPopover(isNew, this.$route)
		})
	},
	beforeDestroy() {
		window.removeEventListener('keydown', this.keyboardCloseEditor)
		window.removeEventListener('keydown', this.keyboardSaveEvent)
		window.removeEventListener('keydown', this.keyboardDeleteEvent)
	},
	methods: {
		showMore() {
			// Do not save yet