Skip to content

Commit cc64dec

Browse files
committed
Reimpl. escape key handling in frontend
1 parent 7b7ff11 commit cc64dec

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/components/breadcrumb/SubgraphBreadcrumb.vue

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
</template>
1212

1313
<script setup lang="ts">
14+
import { useEventListener } from '@vueuse/core'
1415
import Breadcrumb from 'primevue/breadcrumb'
1516
import type { MenuItem, MenuItemCommandEvent } from 'primevue/menuitem'
1617
import { computed } from 'vue'
@@ -52,6 +53,18 @@ const home = computed(() => ({
5253
const handleItemClick = (event: MenuItemCommandEvent) => {
5354
event.item.command?.(event)
5455
}
56+
57+
// Escape exits from the current subgraph.
58+
useEventListener(document, 'keydown', (event) => {
59+
if (event.key === 'Escape') {
60+
const canvas = useCanvasStore().getCanvas()
61+
if (!canvas.graph) throw new TypeError('Canvas has no graph')
62+
63+
canvas.setGraph(
64+
navigationStore.navigationStack.at(-2) ?? canvas.graph.rootGraph
65+
)
66+
}
67+
})
5568
</script>
5669

5770
<style>

0 commit comments

Comments
 (0)